= [wiki:DeployerGuide Przewodnik wdrożeniowca] > Konfiguracja Custom Widgets /Pluginu = #tytul == Wprowadzenie == W systemie eDokumenty istnieje możliwość definiowania własnych przycisków na pasku tzw. pluginów lub custom widgets - tzw. toolbarze. W obecnej chwili funkcjonalność ta jest obsługiwana tylko w modułach Dokumenty oraz Klienci. == Tworzenie własnego przycisku == Wszelkie informacja odnośnie dodatków są przechowywane w tabeli {{{custom_widgets}}}, która zawiera 9 kolumn. Zanim jednak wprowadzimy dane do tabeli należy przygotować skrypt oraz ikonę dla przycisku, który ten skrypt będzie uruchamiał. === Tworzenie skryptu === Skrypt ma postać pliku z rozszerzeniem ''.inc'' (np. Test.inc). Jest to klasa zapisana przy pomocy języka PHP. Listing przykładowej klasy został umieszczony poniżej: {{{ }}} Jak widać powyżej w skrypcie można wykorzystywać także język JavaScript. Jednakże należy mieć na uwadze, że błędny lub szkodliwy skrypt może wpłynąć negatywnie na stabilność systemu !!! Utworzony skrypt umieszczamy w katalogu {{{public_html/apps/edokumenty/scripts}}} === Przygotowanie grafiki/ikony === Ikona musi mieć rozmiar 24x24px format np. png i być umieszczona w katalogu: {{{public_html/framework/img/toolbarIcons/24x24/}}}. === Wstawianie danych do tabeli ''custom_widgets'' === Aby stawić odpowiednie dane można albo wykorzystać narzędzie pgAdmin, lub też wywołać polecenie SQL: {{{ INSERT INTO custom_widgets (type__, params, c_path, label1, label2, adduid) VALUES ('button', '{"script":"Test.inc","image":"24x24\/ikona.png"}', 'adocuments/toolbar','Mój przycisk', 'Mój przycisk', 2); }}} Gdzie kolumny: - ''type__'' = button - typ: przycisk - ''params'' = {"script":"Test.inc","image":"24x24\/ikona.png"} - parametry dodatku w formacie JSON, w tym: * parametr {{{script}}} to nazwa pliku z katalogu {{{public_html/apps/edokumenty/scripts}}} * {{{image}}} - oznacza ikonę z katalogu {{{public_html/framework/img/toolbarIcons/24x24/ikona.png}}}. Nazwa ikony musi być poprzedzona ''24x24\/nazwa.rozszerzenie'', w tym przykładzie ''24x24\/ikona.png''. - c_path - przyjmuje dwie wartości: {{{contacts/toolbar}}} dla modułu Klienci lub {{{adocuments/toolbar}}} dla modułu Dokumenty. Jest to ścieżka dostępu do paska narzędziowego odpowiedniego modułu. - label1 - Opis, który pokaże się w tooltipie (dymku podpowiedzi) - label2 - Nazwa na pasku narzędziowym (może być pusta). Istotą działania modułu dodatkowego jest przekazywanie danych z zaznaczonych elementów pod kluczami * {{{contid}}} dla modułu Klienci * {{{doc_id}}} dla modułu Dokumenty == Uprawnienia == Domyślnie każdy użytkownik ma dostęp do utworzonego w ten sposób przycisku. Ograniczenie dostępu jest realizowane poprzez tabelę access, kórej opis jest zamieszczony w artykule: [http://support.edokumenty.eu/trac/wiki/DeployerGuide/Others/SettingRightsForFields] Dane do ustawiania uprawnień dla przycisku: - clsnam = CUSTOM_WIDGET - keyval = custom_widgets.cswgid