Jak se dá změnit PlaceCode pracoviště v xTrace studiu

Na základě požadavku od firmy Ademco se naprogramovala nová funkcionalita do xTrace studia. V záložce tool je nová položka Update Workplace... (viz. obrázek č. 1)

Tools Update Workplace...

Obr. č.1 - první pohled v xTrace studiu (kde je Update WorkPlace)

form UpdateWorkPlace

Obr. č.2 - okno, kde se provádí změna PlaceCode pracoviště V části Division and WorkPlaceType je možné vyfiltrovat pracoviště podle typu a divize. V pravé části je možné vidět všechna vyfiltrovaná pracoviště (možnost filtrovat podle PlaceCode nebo názvu pracoviště - např. 041.09 - HandAssy L3/4). V levé dolní části lze vidět vybrané pracoviště, u kterého se změní PlaceCode (Old PlaceCode). Toto pole je logicky ve stavu readOnly. Pod tímto polem se nachází pole New PlaceCode. Do textového pole New PlaceCode zadává uživatel nový PlaceCode předvybraného pracoviště. Po kliknutí na Update se zavolá uložená procedura sg_UpdateWorkPlace z databáze.

Důležitá poznámka

Je nutno zmínit metodu CheckUserPermission, která, jak už její název napovídá, zkontroluje, zda přihlášený uživatel má dostatečné oprávnění provádět všechny změny v databázi potřebné k úspěšné změně PlaceCode u pracoviště.

Zde je uvedena část metody CheckUserPermission, ve které je nadefinovaný select do databáze pro kontrolu oprávnění. using (SqlCommand cmd = new SqlCommand("SELECT * FROM fn_my_permissions(NULL, 'DATABASE')" + "WHERE permission_name = 'ALTER'" + "OR permission_name = 'UPDATE'" + "OR permission_name = 'CREATE VIEW'"))

Jak je možné vidět, uživatel musí mít permission ALTER, UPDATE a CREATE VIEW, aby vůbec mohl provádět změnu PlaceCode pracoviště. Pro uživatele to znamená, že pokud nemá tyto oprávnění v databázi, tak má položky Create WorkPlace... Update WorkPlace... a Create (update) workplace service... zablokované (zašedlé a nemůže na ně kliknout). Tato kontrola probíhá po 2. přihlášení uživatele. První je připojení k DB a druhé je připojení se jako uživatel xTrace (username a password jako na webu)