Plugin Správa používateľov – e1_useradministration


Plugin slúži na správu používateľov v ERPIO One cez ERPIO App a nastavenie kategórii pre jednotlivých používateľov. Plugin môže založenému používateľovi poslať e-mail s prihlasovacími údajmi a príp. ďalšími potrebnými informáciami.

Zakladá sa typ používateľa, ktorý sa môže prihlasovať do aplikácie, ale nemôže sa prihlasovať do konfigurácie na webe.

Plugin vyžaduje, aby bola vo workspace založená aspoň jedna kategória.

Príklady použitia:

Inštalácia pluginu

Stiahnutie pluginu

Konfigurácia pluginu

Potrebné údaje sa zadajú do konfiguračného súboru e1_ws_createuser.config, ktorý sa ukladá vedľa pluginu.

Nastavenie v konfiguračnom súbore:

<?xml version="1.0" encoding="utf-8" ?>
  <appSettings>
    <add key="useradministration_e1" value="https://my.erpio.one" />
    <add key="useradministration_e1u" value="UserName" />
    <add key="useradministration_e1p" value="UserPassword" />
    <add key="useradministration_e1h" value="hash" />
    <add key="useradministration_token" value="" />
    <add key="useradministration_workspace" value="WorkspaceID" />
    <add key="useradministration_defaultCountry" value="SK" />
    <add key="useradministration_server" value="" />
    <add key="useradministration_port" value="" />
    <add key="useradministration_from" value="" />
    <add key="useradministration_fromName" value="" />
    <add key="useradministration_useCredentials" value="" />
    <add key="useradministration_useSslTls" value="" />
    <add key="useradministration_user" value="" />
    <add key="useradministration_password" value="" />
    <add key="useradministration_useHTMLBody" value="" />
    <add key="useradministration_verboseLog" value="false" />
    <add key="useradministration_forceGWSQL" value="false" />
 </appSettings>

useradministration_token -> NECHAT PRÁZDNÉ

Pre zabezpečenie prihlasovacích údajov v konfiguračnom súbore slúži kľúč:

<add key="useradministration_e1h" value="hash" />

ktorý zabezpečí to, že po spustení brány sa prihlasovacie údaje v konfiguračnom údaje zahashujú (stanú sa nečitateľné ľudskému oku). O tom, že sú údaje “zahashované” hovorí následne hodnota kľúča useradministration_e1h, ktorá sa zmení na hashed.

Popis nastavení:

Názov v konfiguPopis
useradministration_e1Cesta na server ERPIO One
useradministration_tokenAccess token používateľa, ktorý má práva na vytváranie ďalších používateľov. Ako získať access token
useradministration_workspaceID Vášho workspace (môžete ho nájsť na Dashboarde)
useradministration_defaultCountryISO kód predvolenej krajiny, napr. SK
suseradministration_erverSMTP server, z ktorého sa majú e-maily posielať
useradministration_portPort, ktorý používa SMTP server
useradministration_fromE-mail odosielateľa, ktorý sa zobrazí v odoslanej správe
useradministration_fromNameMeno odosielateľa, ktorý sa zobrazí v odoslanej správe
useradministration_useCredentialstrue/false – či je potrebné sa k SMTP serveru prihlasovať
useradministration_useSslTlstrue/false – či SMTP server používa SSL/TLS
useradministration_userPrihlasovacie meno pre prihlásenie k SMTP serveru
useradministration_passwordHeslo pre prihlásenie k SMTP serveru
useradministration_useHTMLBodytrue/false – či odoslaná spr
useradministration_verboseLogtrue/false – zapne podrobnejší výpis do logovacej tabuľky
useradministration_forceGWSQLtrue/false – v prípade existencie parametra s názvom __gwsqlinternal, ktorý štandardne znamená, že SQL príkazy sa vykonajú voči internej databáze, zabezpečí, že príkaz sa výkoná voči SQL pripojeniu brány

Plugin obsahuje model Users Administration.

Do poľa SQL command v Datasource je nutné zadať nejakú hodnotu, inak sa v ďalších krokoch môže objavovať chyba typu Command is empty. Ako hodnotu je možné použiť:

  • SQL príkaz na získanie tabuľky s používateľmi s externého systému, tabuľka musí obsahovať stĺpec UserName, výsledná tabuľka je INNER JOIN zoznamu používateľov z ERPIO One a zoznamu z Vášho SQL príkazu, napr.
SELECT
TabCisZam.PrijmeniJmeno,
Email.Spojeni AS UserName
FROM TabCisZam
INNER JOIN TabCisZam_EXT ON TabCisZam.ID = TabCisZam_EXT.ID
INNER JOIN TabKontakty Email ON TabKontakty.IDCisZam = TabCisZam.ID AND TabKontakty.Druh = 6 AND TabKontakty.Prednastaveno = 1
WHERE ISNULL(TabCisZam_EXT._AktivnyObchodnik,0) = 1
  • Podmienku, ktorá sa doplní do WHERE klauzuly zdrojovej DataTable, napr. UserName NOT LIKE '%@erpio.%'
  • v prípade, že nič z predchádzajúcich bodob nepotrebuje, tak ľubovoľný text – odporúčaná je hodnota none

Pre set nad týmto modelom sú dostupné nasledovné akcie:

  • Add user – Akcia na vytváranie používateľov – pridá nového používateľa do workspace. Ak neexistuje vôbec v ERPIO One, tak sa vytvorí so zadaným heslom. Ak uz používateľ so zadaným e-mailom v ERPIO One existuje, tak sa len pridá do vybraného workspace (heslo sa nemení). Detailnejší popis akcie nájdete nižšie v texte.

  • Edit user – Akcia na editáciu používateľov – je možné upraviť práva pre jednotlivé kategórie

  • Remove user – Akcia na vyradenie používateľov – vyradí vybraného používateľa z workspace. Má stále prístup do ERPIO One do iných workspace, v ktorých je pridaný

Add user – Akcia na vytváranie používateľov

Plugin má preddefinovanú akciu Add user, ktorá sa ponúkne pri vytváraní akcie nad setom vychádzajúcim z tohto pluginu. Kliknutím na šípku dole sa nastavenia aplikujú na novovytváranú akciu.

Akcia pridá nasledovné predvolené parametre:

Názov parametraPopis
@UserNameE-mailová adresa nového používateľa
@FirstNameMeno nového používateľa (používa sa len v texte e-mailu, nie je potrebné vypĺňať)
@LastNamePriezvisko nového používateľa (používa sa len v texte e-mailu, nie je potrebné vypĺňať)
@PasswordHeslo pre nového používateľa, môže si ho následne zmeniť v aplikácii. Heslo musí spĺňať nasledovné podmienky:
– dĺžka musí byť medzi 6 až 30 znakov
– musí obsahovať aspoň jedno malé písmeno
– musí obsahovať aspoň jednu číslicu
– musí obsahovať aspoň jedno veľké písmeno
@WorkspaceNameNázov workspacu, do ktorého sa vytvára používateľ (používa sa pre štatistické účely, je potrebné vyplniť)
@sendMailtrue/false – či sa má odosielať e-mail
@ccE-mailová adresa, na ktorú sa má poslať kópia e-mailu
@bccE-mailová adresa, na ktorú sa má poslať skrytá kópia e-mailu
@subjectPredmet e-mailu
@bodyTelo správy
@BeforeCreateUserSQLSQL príkaz, ktorý sa spúšta ešte pred pokusom o vytvorenie používateľa v E1, v prípade, že vyhodí výnimku, tak sa proces vytvárania používateľa ukončí
@cat_XXXXJednotlivé existujúce kategórie vo workspace. Ak chcem nastavovať tieto kategórie, tak plugin očakáva, že budú nastavené na input type cCheckBox

Príklad nastavenia parametrov:

Príklad textu e-mailu (@body), v texte je možné použiť parametre @UserName, @Password, @FirstName, @LastName. Tieto budú vo výslednej správe nahradené hodnotami z akcie:

Dobry den @FirstName,<br/>
<br/>
boli ste pozvany na vyuzivanie mobilného prístupu k firemnym udajom.<br/>
<br/>
Budete potrebovať aplikaciu ERPIO APP, stiahnite si ju z linkov pre jednotlive platformy <a href="https://erpio.app/#download">www.erpio.app</a>.<br/>
<br/>
Vase prihlasovacie udaje:<br/>
<br/>
Prihlasovacie meno - @Email<br/>
Heslo - @Password<br/>
<br/>
Predvolene heslo si zmenite priamo v aplikacii.<br/>
<br/>
V pripade potreby nas kontaktujte na support@erpio.one.<br/>
<br/>
S pozdravom<br/>
<br/>
Vas ERPIO Team

Do poľa pre command SQL môžete zadať SQL príkaz, ktorý sa vykoná voči SQL pripojeniu brány.

V príkaze môžete použiť parameter @IsNewUser (typ boolean, v MS SQL BIT), pomocou ktorého je možné zistiť, či sa vytváral nový user, alebo už user s daným e-mailom existoval.

Príklad SQL príkazu:

Edit user – Akcia na editáciu používateľov

Plugin má preddefinovanú akciu Edit user, ktorá sa ponúkne pri vytváraní akcie nad setom vychádzajúcim z tohto pluginu. Kliknutím na šípku dole sa nastavenia aplikujú na novovytváranú akciu.

Akcia pridá nasledovné predvolené parametre:

Názov parametraPopis
@IDUSrInterný identifikátor používateľa
@UserNamePrihlasovacie meno
@cat_XXXXJednotlivé existujúce kategórie vo workspace. Ak chcem nastavovať tieto kategórie, tak plugin očakáva, že budú nastavené na input type cCheckBox

Príklad nastavenia parametrov:

Remove user – Akcia na vyradenie používateľov

Plugin má preddefinovanú akciu Edit user, ktorá sa ponúkne pri vytváraní akcie nad setom vychádzajúcim z tohto pluginu. Kliknutím na šípku dole sa nastavenia aplikujú na novovytváranú akciu.

Akcia pridá nasledovné predvolené parametre:

Názov parametraPopis
@UserNamePrihlasovacie meno

Príklad nastavenia parametrov:

Generovanie hesla

V parametri @Password akcie Add user je možné využiť integrovaný generátor hesla, stačí nastaviť getter, cez ikonu ceruzky, vyberiete rovnaký set ako je ten pluginový a do SQL Command zadáte hodnotu GeneratePassword.

Hromadné akcie

Plugin umožňuje využitím akcií typu Data repeater(pump) hromadné vytváranie a aj vyradenie používateľov vo workspace.

CreateUsers

Pole query musí obsahovať reťazec CreateUsers. Môžem tam zadať aj SQL príkaz, ktorý sa vykoná voči SQL pripojenu brány. Slúži na vytvorenie používateľov na základe už existujúceho datasetu napr. v databáze zamestnancov a pod. Pri akciách typu pumpa je dôležité si uvedomiť, že do cieľ sa posielajú len parametre, ktoré majú mapovanie na stĺpec (vyplnený stĺpec v Column Value), čiže si v zdrojovom sete musím pripraviť všetky potrebné údaje aj ako napr. predmet e-mailu, text e-mailu a pod. Akcia má rovnaké parametre ako akcia Add user.

RemoveUsers

Pole query musí obsahovať reťazec RemoveUsers. Môžem tam zadať aj SQL príkaz, ktorý sa vykoná voči SQL pripojenu brány. Slúži na odstránenie používateľov z workspacu na základe už existujúceho datasetu napr. v databáze zamestnancov a pod. Pri akciách typu pumpa je dôležité si uvedomiť, že do cieľ sa posielajú len parametre, ktoré majú mapovanie na stĺpec (vyplnený stĺpec v Column Value), čiže si v zdrojovom sete musím pripraviť všetky potrebné údaje aj ako napr. predmet e-mailu, text e-mailu a pod. Akcia má rovnaké parametre ako akcia Remove user.

UPOZORNENIE

V prípade, že neskôr pridávate novú kategóriu tak, aby sa prejavila v tejto správe používateľov, je potrebné urobiť tieto kroky:

  • reštartovať bránu, aby si plugin mohol načítať nanovo definície akcií
  • íst do Datasource a dať si znovu načítať stĺpce, aktualizovať zoznam stĺpcov o novo pridanú kategóriu
  • ísť do akcíí v sete Add user/Edit user a dať znovu vyplniť parametre (šípka dolu pri výbere pluginovej akcie), čím sa doplní parameter pre novú kategóriu, nastaviť mu Input type na cCheckbox a dať ho ako editovateľný, príp. upraviť poradie parametrov podľa potreby