Version 12 (modified by TS, 12 years ago)

--

Przewodnik wdrożeniowca > Konfiguracja Custom Widgets / Dodatku

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:

<?php

final class Test {

    public static function init() {

        // wyświetla monit eDokumentowy
        JScript::alert(Translator::translate('Witaj to ja Twój plugin'));

        // wyświetla monit JavaScriptowy alert
        JScript::add('alert(666)');        

    }

}

print_r($args);

Test::init();

?>

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:
    • 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