{            
// HLAVICKA

    id: "vyrizeni_poptavky_demo",
    version: "1.02",
    name: "Vyřízení poptávky",
    title: {tpl: "Vyřízení poptávky ${cislo_poptavky}"},
    start_phase: "start",
    deploy_phase: "deploy",
    
    description: "Vyřízení poptávky",
    description_extended: [
    ],

    // PARAMETRY
    variables: [
    {
        id: "obchodni_konzultanti",
        name: "Osoby zodpovědné za vyřízení poptávky",
        type: "users",
        parameter: true,
        required: true    
    },

    // VSTUPY              
    {
        id: "client_contact",
        name: "Klient",
        type: "contact",
        input: true,
        required: true, 
        display: true
    },{
        id: "obchodnik",
        name: "Osoba zodpovědná za vyřízení poptávky",
        type: "user",
        select: {var: "obchodni_konzultanti"},
        input: true,
        required: true,
        display: true
    },{
        id: "popis_poptavky",
        name: "Popis poptávky",
        type: "multiline-text",
        input: true,
        display: true
    },{
        id: "poptavka_prijata",
        name: "Poptávka přijatá",
        type: "document",
		doctype: "poptavky_prijate_demo",
        input: true,
        display: true
    },
    
    // PROMENNE 
    {
        id: "termin_vyrizeni_poptavky",
        name: "Termín vyřízení poptávky",
        type: "date",
        display: true
    },{
        id: "cislo_poptavky",
        name: "Číslo poptávky",
        type: "text",
        display: true
    },{
        id: "nabidka_vydana",
        name: "Nabídka vydaná",
        type: "document",
        display: true
    },{
        id: "duvod_neuspokojeni",
        name: "Důvod neuspokojení",
        type: "text",
        display: true
    },{
        id: "nestartovat_cn",
        name: "Nestartovat proces vytvoření CN",
        type: "boolean",
        display: true
    },{
        id: "nestartovat_nabidku",
        name: "Nestartovat proces vyjednávání nabídky",
        type: "boolean",
        display: true
    }],
    
    // DEPLOY FAZE    
    phases: [{
        id: "deploy",
        name: "deploy",
        steps: [{
            action: "setSchemaPrivilege",
            condition: {js: "first_deployed_version"},
            inputs: {
                holder: "x/all",
                right: "start"
            }
        },{
            action: "setSchemaParameters",
            condition: {js: "first_deployed_version"},
            inputs: {
                parameters: {
                    obchodni_konzultanti: {js: "process_deployer ? [process_deployer.id] : ['u/1']"}
                }
            }
        },{
            action: "sequenceCreate",
            name: "Příprava číslovací sekvence",
            inputs: {
                sequence: "cisla_poptavek_demo",
                format: "${year}/${counter,4,year}"
            }
        },{
            action: "documentTypeCreate",
            name: "Založení typu dokumentu",
            inputs: {
                id: 'poptavky_prijate_demo',
                name: 'Poptávky přijaté demo',
                acl: [],
                properties: [
                {
                    id: 'cislo_poptavky',
                    name: 'Číslo poptávky',
                    type: 'text',
                    show_in_tables: true,
                    suggestions: false,
                    user_editable: true
                },{
                    id: 'obchodnik',
                    name: 'Osoba zodpovědná za vyřízení poptávky',
                    type: 'text',
                    show_in_tables: true,
                    suggestions: false,
                    user_editable: true
                },{
                    id: 'popis_poptavky',
                    name: 'Popis poptávky',
                    type: 'text',
                    show_in_tables: false,
                    suggestions: false,
                    user_editable: true
                },{
                    id: 'rozpoctar',
                    name: 'Rozpočtář',
                    type: 'text',
                    show_in_tables: true,
                    suggestions: false,
                    user_editable: true
                }]
            }
        }]
    },

    // FAZE START
    {
        id: "start",
        name: "Start",
        steps: [{
            action: "sequenceNext",
            name: "Přidělení čísla",
            inputs: {
                sequence: "cisla_poptavek_demo"
            },
            outputs: {
                cislo_poptavky: {out: "sequenceNext"}
            }
        },{
            action: "setVariable",
            condition: {js: "!termin_vyrizeni_poptavky"},
            inputs: {
                variable: "termin_vyrizeni_poptavky",
                value: {js: "dateRoll(new Date(),'+3d')"}
            }
        }],
        transitions : [{
            target: "vyridit_poptavku",
            condition: {js: "popis_poptavky || poptavka_prijata"}
        },{
            target: "vlozeni_podkladu",
            condition: {js: "!popis_poptavky && !poptavka_prijata"}
        }]
    },
    
	// FAZE VLOZENI PODKLADU
    {
        id: "vlozeni_podkladu",
        name: "Vložení podkladu",
        steps: [{
            action: "userTask",
            name: "Vložení podkladu",
            auto_outputs: true,
            inputs: {
                subject: {tpl: "Vložte prosím dokument poptávky nebo její popis"},
                assignee: {var: "obchodnik"},
                deadline: {js: "new Date()"},
                form : {
                    hint: 'Je potřeba vložit poptávku nebo vyplnit její popis, aby mohlo dojít k jejímu vyřízení',
                    items : [
                        "poptavka_prijata:w",
                        "popis_poptavky:w!",
                        {
                            id: "option",
                            type: "button",
                            options: [{
                                text: "Vloženo",
                                hint: "Stisknutím tohoto tlačítka dojde k vyřízení poptávky",
                                icon: "icon-16-done",
							                 	requiredFields: [{oneof: ["poptavka_prijata", "popis_poptavky"]}]
                            }]
                        }
                    ]
                }
            } 
        }],
        transitions : [{
            target: "vyridit_poptavku"
        }]
    },
	
    //FAZE VYRIDIT POPTAVKU
    {
        id: "vyridit_poptavku",
        name: "vyřídit poptávku",
        steps: [{
            action: "userTask",
            name: "vyřídit poptávku",
            auto_outputs: true,
            inputs: {
                subject: {tpl: 'Vyřídit poptávku pro ${client_contact.display_name} ${cislo_poptavky}'},
                assignee: {var: "obchodnik"},
                deadline: {var: "termin_vyrizeni_poptavky"},
                form: {
                    hint: 'Zde rozhodněte, jakým způsobem se má s poptávkou naložit',
                    items: [
                        "popis_poptavky",
                        "poptavka_prijata",
                        "nabidka_vydana:w",
                        {
                            id: "option",
                            type: "button",
                            options: [{
                                text: "Poptávku vyřídíme",
                                hint: "Pokud jste nevložili nabídku, tak stisknutím tohoto tlačítka dojde k tvorbě cenové nabídky.Pokud ano, tak se o vložené nabídce bude vyjednávat",
                                icon: "icon-16-done"
                            },{
                                text: "Poptávku neuspokojíme",
                                hint: "Toto tlačítko použijte pro případ, kdy poptávka neodpovídá Vašemu nabízenému sortimentu výrobků nebo služeb",
                                icon: "icon-16-thumb-down"
                            }]
                        }
                    ]
                }
            }
        },{
            action: "documentUpdate",
            name: "Aktualizace stavu dokumentu",
			condition: {js: "poptavka_prijata"},
            inputs: {
                document: {var: 'poptavka_prijata'},
                properties: {
                    cislo_poptavky: {var: 'cislo_poptavky'},
                    obchodnik: {var: 'obchodnik.name'},
                    popis_poptavky: {var: 'popis_poptavky'},
                    rozpoctar: {var: 'obchodnik.name'}
                }
            }
        },{
            action: "processStart",
            name: "Start podprocesu",
            condition: {js: "option=='Poptávku vyřídíme'"},
            inputs: {
                def_id: "nabidka_demo",
                inputs: {
                    client_contact: {var: "client_contact"},
                    obchodnik: {var: "obchodnik"},
                    nabidka_vydana: {var: "nabidka_vydana"},
                    cislo_nabidky: {var: "cislo_poptavky"},
                    popis_poptavky: {var: 'popis_poptavky'},
                    poptavka_prijata: {var: 'poptavka_prijata'}
                }
            }
        }],
        transitions : [{
            target: "end_neuspokojime",
            condition: {js: "option == 'Poptávku neuspokojíme'"}
        },{
            target: "end",
            condition: {js: "option == 'Poptávku vyřídíme'"}
        }] 
    },
    
    // FAZE KONEC
    {
        id: "end_neuspokojime",
        name: "Konec procesu: poptávku nelze uspokojit"
    },
    
    // FAZE KONEC
    {
        id: "end",
        name: "Konec procesu: Nastartován proces nabídky"
    }]
}