= Dodatkowe moduły i zakładki = #tytul
=== Menu ===
1. [#dodatkowe_zakladki Dodatkowe zakładki][[BR]]
1.1 [#ograniczenia_do_zakladek Ograniczanie widoczności zakładek]
2. [#dodatkowe_moduly Dodatkowe moduły][[BR]]
2.1 [#definiowanie_modulow Definiowanie dodatkowych modułów][[BR]]
2.2 [#ograniczanie_modulow Ograniczanie widoczności modułów][[BR]]
2.3 [#filtry Filtry][[BR]]
2.4 [#obrazek Ikona modułu][[BR]]
== Dodatkowe zakładki == #dodatkowe_zakladki
System eDokumenty umożliwia dodawanie customowych zakładek do kartoteki
- sprawy
- kontrahenta
- urządzenia
- dokumentu
Zakładki te oparte są na raportach oraz pliku konfiguracyjnym xml znajdującym się w
{{{
$APP_PATH\var\tpl\tabs
$APP_PATH oznacza /home/edokumenty/public_html/apps/edokumenty
lub
C:\Program files\BetaSoft\eDokumenty\public_html\apps\edokumenty
}}}
Jeśli {{{katalog var\tpl\tabs}}} jest pusty należy skopiować szablony plików xml z {{{$APP_PATH\var\tpl_default\tabs}}}.
Nazwy obsługiwanych plików xml
- sprawy - process_tpl.xml
- kontrahenta - contact_tpl.xml
- urządzenia - device_tpl.xml
- dokumentu - document_tpl.xml
- ewidencji - evidence_tpl.xml
Aby dodać dodatkową zakładkę do jednej z wyżej wymienionych kartotek należy utworzyć odpowiedni raport oraz wyedytować wybrany plik xml dla danej kartoteki.
Definicja pliku xml
{{{
}}}
[[BR]]
Zakładka dla dokumentu dodatkowo przyjmuje parametr '''dctpid''' (ID typu dokumentu) np.
{{{
}}}
Zakładka pojawi się tylko w dokumentach o dctpid = 1. Brak tego parametru spowoduje dodanie zakładki dla wszystkich typów. Można też podać więcej identyfikatorów typu po przecinku (np. dctpid="1,3,5,6,9").
[[BR]]
Zakładka dla sprawy dodatkowo przyjmuje parametr '''dos_id''' (ID teczki z wykazu akt) np.
{{{
}}}
Zakładka pojawi się tylko w sprawach o dos_id = 1. Brak tego parametru spowoduje dodanie zakładki dla wszystkich spraw. Można też podać więcej identyfikatorów typu po przecinku (np. dos_id="1,3,5,6,9").
''Przejdź do [#tytul Menu]''
=== Ograniczanie widoczności zakładek === #ograniczenia_do_zakladek
Widoczność Zakładki może również być ograniczona poprzez parametr grp_id (np. grp_id="2,5,10") który ograniczy widoczność zakładki wyłącznie do członków wymienionych po przecinku grup.
''Przejdź do [#tytul Menu]''
== Dodatkowe moduły == #dodatkowe_moduly
System eDokumenty umożliwia tworzenie własnych modułów w oparciu o podobny mechanizm.
=== Definiowanie dodatkowych modułów === #definiowanie_modulow
W systemie można również skonfigurować w oparciu o ten sam mechanizm własny moduł.
Na wersji demonstracyjnej moduły dostępne przez użytkownika ''jmamon'' "Delegacje" oraz "Urlopy" dla użytkownika ''serwis'' są utworzone poprzez utworzenie następującego pliku w katalogu {{{$APP_PATH/var/tpl/CustomModules.xml}}}
Edycja tego pliku nie jest konieczna z poziomu konsoli. Dostęp do tego pliku jest możliwy z poziomu edokumentów. W Panelu sterowania szukamy odnośnika Szablony Systemowe. Uruchomi się okienko z plikami ''Szablonów Systemowych''
[[BR]][[Image(szablony_systemowe.jpg)]][[BR]] (''Szablony systemowe'')[[BR]]
W okienku tym wyszukujemy plik '"CustomModules.xml'', klikamy na niego, a następnie zapisujemy na dysku. Edytujemy zmiany, po czym usuwamy istniejący na serwerze plik i wgrywamy nową wersję.
{{{
}}}
== Przycisk tworzący sprawę ==
Przyciski mogą też do listy parametrów obsługiwać klucze z bean-ów, dla przykładu:
{{{
App.createDialog('createProcessForm','SimpleProcessCreatingForm','./modules
/AProcesses/forms/SimpleProcessCreatingForm.inc','Zakadanie','513',
({clsnam:'DOSS',strpid:351,devcid:'{devcid}',contid:'{contid}'}).toJSONString(), null, 'fast')
}}}
Sprawa automatycznie otrzyma atrybuty id urządzenia oraz id kontrahenta urządzenia.
Na razie zaimplementowano w urządzeniu.
''Przejdź do [#tytul Menu]''
=== Ograniczanie widoczności modułów === #ograniczanie_modulow
Prawa dostępu do modułów (inaczej widoczność modułów) są rozwiązane w bardziej skomplikowany sposób. Do tworzonego modułu dodatkowego należy dodać do tabeli '''right_def''' definicje prawa (UWAGA !!! jeżeli tego prawa nie ma w tej tabeli) ''bswfms.custom_module'', a potem szczegółowe prawo do zakładki np. do zakładki ''Delegacje'' może to być: ''bswfms.custom_module.delegations''.
W w/w tabeli należy wypełnić następujące pola
* prn_id - (dla ''bswfms.custom_module'' będzie to prawdopodobnie 1, a do ''bswfms.custom_module.delegations'' wartość pola def_id rekordu ''bswfms.custom_module'' - Musi być zapewniona struktura drzewiasta!)
* define - nazwa prawa np. ''bswfms.custom_module.delegations''
* group_ - ustawić należy SYSTEM
* commen - nazwa prawa wyświetlana w systemie. np.: ''Delegations: delegacje''.
Następnym krokiem w procesie jest ustawienie praw dla modułów w pliku ''CustomModules.xml'' w definicji właściwości ''rights'' modułu
{{{
...
...
}}}
gdzie wstawiamy wartość pola ''define'' danego prawa.
Po zdefiniowaniu praw w tabeli oraz w pliku ''CustomModules.xml'' należy przejść do menu ''Pracownicy'', a następnie wybrać ''Grupy''. Jeżeli danej grupy nie ma, to tworzymy ją. Po zapisaniu grupy pojawiają się nowe zakładki. Przechodzimy do zakładki ''Pracownicy'' gdzie wprowadzamy wybranych przez nas użytkowników, a następnie klikamy w zakładkę ''Prawa do systemu'', gdzie ze struktury drzewiastej praw wybieramy odpowiednie prawo i przypisujemy dostęp do prawa.
''Przejdź do [#tytul Menu]''
=== Filtry === #filtry
Na chwilę obecną jest dostepny tylko jeden filtr, którego można zdefiniować bezpośrednio z poziomu xml:
{{{
}}}
Dodatkowe filtry są realizowane za pomocą definiowanych filtrów dla raportów zgodnie z dokumentacją:
[wiki:UserGuide/AdvancedConfiguration/DefiningReports/ReportParams Filtry dla raportów]
''Przejdź do [#tytul Menu]''
=== Ikona modułu === #obrazek
Ikony w formacie .gif bądź .png o maksymalnym rozmiarze 36px x 36px wrzucamy do katalogu {{{public_html/framework/img/PageToolBar}}}.
''Przejdź do [#tytul Menu]''