Vlastní formulář pro odeslání nového tiketu
The system form for submitting a new ticket to the Alvao WebApp can be replaced by a custom form with specific content and behavior. Vlastní formulář může také obsahovat více lístků najednou, a proto může být použit na podporu složitých obchodních procesů, jako je zapojení nového zaměstnance. Vlastní formuláře jsou pro ALVAO SaaS nejsou k dispozici.
Namísto vlastních formulářů, doporučujeme použít kombinaci standardní formuláře pro odeslání nového požadavku na službu a vlastní javascript na formuláři pro odeslání nového požadavku.
The custom form can also be a generic Alvao WebApp page that is not used to create tickets. Vytvoření takové stránky vyžaduje pokročilé znalosti programování.
Ve vlastním formuláři můžete použít Alvao.API pro zpracování tiketů, však používání API vyžaduje pokročilé znalosti programování.
Šablony pro vytvoření vlastních formulářů lze nalézt v *\Custom\Templates* v instalační složce Alvao WebApp.
Seznam standardních šablon:
Název | L 343, 22.12.2009, s. 1). |
---|---|
Novinka | Příklad formuláře pro vytváření více tiketů v spolu navzájem. Ukazuje také, jak použít některé z ovládacích prvků a jak pracovat s elementem k nahlášení času vytvořenému tiketu. |
EmptyPage | Prázdná šablona. Used for pages that are not intended for making tickets. Tento typ stránky se používá pouze pro speciální účely, jako je obsah vlastních záložek na tiketu. |
Soubor .cshtml definuje vzhled formuláře, . s soubor, umístěný ve složce \Code, popisuje logiku odesílání dat z vyplněného formuláře.
Příprava nového formuláře
Ve složce \Custom nejprve vytvořte složku pro funkčnost, kterou bude nový vlastní formulář pokrývat, např. HrProcessAutomation (pro automatizaci HR procesu). Více formulářů může být umístěno v jedné složce s funkcemi.
Ve složce \Custom\Templates pak zvolte šablonu formuláře, která bude co nejblíže vašemu záměru. Zkopírujte obsah složky šablony do složky Vlastní<name of functionality> . Přejmenujte soubory .cshtml a .cs. Dejte oběma souborům (.cshtml a .cs) stejný název. Doporučujeme začít název formuláře s názvem funkce , pak název služby, pro kterou je služba určena, a nakonec operace, např. HrProcessAutomation_Onboarding_NewTicket, kde HrProcessAutomation je název funkce, Onboarding je název služby a NewTicket je název operace.
Názvy všech formulářů, které se používají napříč všemi funkcemi, musí být jedinečné.
Nyní musíte také upravit vnitřek formuláře podle nového jména:
- V souboru .cs na začátku souboru za slovem jmenný prostor, uveďte název jmenného prostoru Alvao.WebApp.Custom.<function_name>. Pro název funkce zadejte název složky na disku, kde se nachází formulář, např. Alvao.WebApp.Custom.HrProcessAutomation.
- V souboru .cs na začátku souboru pro třídu klíčové slovo změňte název třídy. Název třídy musí být <the name of the cshtml page>Controller, např. ve tvaru HrProcessAutomation_Onboarding_NewTicket.cshtml bude třída pojmenována HrProcessAutomation_Onboarding_NewTicketController.
Definice rozvržení formuláře
Soubor .cshtml obsahuje popis rozvržení formuláře a specifikuje prvky, které mají být zobrazeny. Když uživatel odesílá data, data zadaná do zobrazených prvků se pak převedou na text, a tento text pak lze dále použít v definici chování.
V . shtml soubor, upravte pouze část oddělenou mezi řádkou <div id="CustomFormContent" > a </div>, prvky formuláře jsou převedeny na text pouze v této části. Prvky mimo CustomFormContent nebudou převedeny na text tiketu, ale budou zobrazeny ve formuláři.
Následující prvky formuláře jsou převedeny na text tiketu:
Název prvku | Metoda převodu | Veselí |
---|---|---|
<label> | Zobrazený text je vložen do textu tiketu a a za ním následuje dvojtečka. | Ne |
Editor "StringField" | Text, který uživatel napíše do vstupního řádku, je vložen do textu tiketu. If you add the value "UniquedId = Model.TicketBodyGuid" to the element parameter, it will be possible to enter formatted text (HTML). Poznámka Na formulář nemůže být více než jeden HTML formátovaný prvek. | Ano |
Editor "BoolField" | Zobrazený text je vložen do textu tiketu a za ním následuje Ano nebo Ne, jak je vybráno uživatelem. | Ano |
Editor "DateTimeField" | Datum zadané uživatelem je vloženo do textu tiketu . | Ano |
Editor "DropDownListField" | Vybraná položka je vložena do textu tiketu. | Ano |
Editor "RadioButtonList" | Vybraná položka je vložena do textu tiketu. | Ano |
Editor "CheckBoxList" | Všechny vybrané položky jsou vloženy postupně do textu tiketu . | Ano |
Editor "Dvojité pole" | Do textu tiketu je vloženo celé nebo desetinné číslo zadané uživatelem . | Ano |
Editor "ColumnsControl" | Všechna zobrazená pole jsou vložena postupně do textu tiketu. Vloží také hodnoty přímo do vlastností na základě tiketu. | Ano |
Editor "AttachmentField" | Přílohy budou vloženy k vytvoření zprávy. | Ne |
Prvky, které nejsou uvedeny v tabulce, nejsou do textu vloženy. Příklady použití všechny prvky naleznete v šabloně NewTicket .
Přidáním třídy "btn-command" v souboru .cshtml do tlačítka se zajistí, že je tlačítko zkopírováno jako příkaz do příkazového řádku.
Formát čísla ve dvojitém poli je zkontrolován, když je formulář odeslán a pokud není správný, je zvýrazněn červenou a zadejte číslo ve správném formátu je zobrazeno. Správný český formát pro zápis desetinného čísla je desetinný bod.
Použít vlastní pole
Viz tabulka příkladů získávání vlastních polí:
Druh údajů | Příklad kódu |
---|---|
bool |
|
Datum a čas |
Poznámka If you want to get different rime standard than UTC you will need to convert the value to the local time:
|
počítadlo intu |
|
počítadlo intu (nelokalizované) |
|
dvojnásobný |
|
Definice chování formulářů
Popis chování je v souboru .cs. V první části kódu je poznámka značkou oblasti, která je určena k úpravě. Nenarušujte s ostatními částmi kódu!
Nejdůležitější je zde vytváření letenek. Příklad vytvoření tiketu v souboru, který můžete použít k provedení vlastních úprav.
Základní struktura příkazu k vytvoření tiketu je následující:
Vytvořte ticket ("Název služby, "Název tiketu", "Vlastní text tiketu" + Tikettělesa);
Kde je TicketBody již připravený text tiketu, který byl vytvořen převodem formulářů do textu. V případě potřeby může být ve všech zobrazených polích použito doplnění textu. Pro vložení řádku zalomení do aktuálního textu použijte značku \n.
Je-li prvek "StringField" použit na formuláři, který může být použit k zadání textu v HTML formátu, použijte řetězec "<br>"
Název služby musí být vyplněn přesně tak, jak se v administraci zobrazí název služby. Dílčí služby jsou odděleny / znakem, např. "Interní/osobnostní/Employee Entry". Musíte zadat úplnou cestu od kořenové služby.
Verze příkazu k vytvoření tiketu je také k dispozici, která je rozšířena pro vytvoření odkazů:
CreateTicket ("Název služby, "Název tiketu", "Vlastní text tiketu" + TicketBody, MainTicketId, TicketRelationType.IsChildOf);
Kde MainTicketId je číslo propojeného tiketu. Příklad získání ID z hlavního tiketu je také součástí šablony. Hodnota TicketRelationType.SystemTicketRelationType.IsChildOf definuje typ odkazu:
Hodnota | Link Type |
---|---|
RelatesTo | Týká se |
IsParentOf | IsParentOf |
IsChildOf | Je dítětem |
Prefeedespřed | Předchází před |
SledovatPo | Sleduje po |
Bloky | Bloky |
IsBlockedBy | Je zablokováno |
IsDuplicatedBy | Je duplikován |
Duplikáty | Duplikáty |
Např. v případě TicketRelationType.SystemTicketRelationType. sChildOf, aktuálně vytvořený tiket bude dítě, a tiket s číslem uvedeným v MainTicketId bude rodičem.
Pro přístup k hodnotám vlastních polí použijte následující strukturu (například pro pole "NoveName" a "NoveNumber"):
string NoveName = ((ColumnsControl)Model.ColumnsControl["ColumnsControl0"]).Values.Find(Col => Col.Column.sColumn == "NoveJmeno").Hodnota jako string;int NoveCislo = (int)((ColumnsControl)Model.ColumnsControl["ColumnsControl0"]).Values.Find(Col => Column.sColumn.sColumn == "NoveCislo").Hodnota;
Připojování formuláře k aplikaci
Pokud v nastavení služby zadáte cestu k formuláři, tento formulář se zobrazí na Alvao WebApp namísto standardního formuláře pro odeslání nového tiketu. Viz také Service Desk service settings.
- V Administrace - Service Desk - Služby, vyberte službu, ve které chcete zobrazit vlastní formulář.
- V sekci Nový formulář tiketu příkazového panelu, přepněte režim ze systémového návrhu na vlastní formulář (URL).
- Zadejte cestu k vlastnímu formuláři ve formuláři ~/Custom/<name of the functionality>/<name of the form without the .cshtml> rozšíření.
Dynamické přepínání jazyka
Při úpravě .cs a .cshtml souborů můžete použít soubory .resx, které obsahují lokalizované řetězce pro každý jazyk. Každý uživatel pak zobrazí tyto řetězce ze souboru v souladu s jejich preferovaným jazykem. Není-li soubor .resx vytvořen pro jazyk, použije se soubor .resx pro angličtinu.
Vytváření souboru .resx pro jazyk
Nejprve vytvořte soubor .resx pro angličtinu. Z Vlastní\Templates\Resources, zkopírujte soubor SampleController.resx do složky Vlastní<functionality>\Resources a přejmenujte ho na <cshtml page name>Controller.resx.
Otevřít tento soubor v textovém editoru. Za řádek "<!-- Vložte -->" vložte řádky:
<data name="name" xml:space="preserve">
<value&>název</value>
</data>
Výsledek by měl být následující:
<!-- Insert -->
<data name="name" xml:space="preserve">
<value>name</value>
</data>
<!-- Do not change -->
</root>
Řádky:
<data name="name" xml:space="preserve">
<value>název</value>
</data>
lze znovu zkopírovat a upravit pro vytvoření více lokalizovaných řetězců. Každý <datový název="name" hodnota musí být v souboru jedinečná.
<datový název=" name" specifikuje jméno používané jako parametr ve funkci GetResources() popsané v Use . esx soubor v .cs a .cshtml souborech. <value> Jméno</value> specifikuje hodnotu, kterou tato funkce vrací.
Vytvořme nyní soubor .resx pro český jazyk. Zkopírujte upravený <cshtml page name>Controller.resx. do stejné složky a pojmenovat ji <cshtml page name>Controller.cs.resx. Upravte <value>Název</value> tak, aby v tomto souboru byl následující text:
<!-- Insert -->
<data name="name" xml:space="preserve">
<value>name</value>
</data>
<!-- Do not change -->
</root>
Neměňte žádné další části resx souborů.
Stejně jako <cshtml page name>Controller.cs. soubor esx je zkopírován a upraven, soubory pro další jazyky, které lze nastavit jako preferované jazyky uživatele lze kopírovat a upravovat. Tyto soubory jsou vždy pojmenovány <cshtml page name>Controller.<language abbreviation>.resx (například <cshtml page name>Controller.de.resx). Jazykové zkratky, které lze použít, jsou definovány na:
https://msdn.microsoft.com/en-us/goglobal/bb896001
Používá .resx soubor v .cs a .cshtml souborech
Některé položky vytvořené v .resx souborech lze použít v .cs i .cshtml souborech.
V souboru .cshtml použijte řetězec štítek = "Jméno" namísto řetězce label = Model.GetResource("name"). Uživatel, který nastavil angličtinu jako preferovaný jazyk, uvidí štítek pole Jméno. Ostatní uživatelé uvidí jméno.
Při použití v .cs souboru by bylo dosaženo stejné funkce pomocí GetResource("name"), namísto řetězce.