Przewodnik wdrożeniowca > Ograniczenie edycji zdarzeń

Domyślnie po oznaczeniu zdarzenia (zadanie, rozmowa itd) jako załatwione nie ma możliwość edycji danych.

W gałęzi praw Przywileje istnieje prawo "Edycja zdarzeń po załatwieniu", które umożliwia jak sama nazwa wskazuje na edycję takich zdarzeń.

Istnieje jednak dodatkowe ustawienie, które pozwala dodać opóźnienie egzekwowania tego mechanizmu poprzez definicję stałej ALLOW_EDIT_EVENTS_CLAUSE.

Domyślnie wartość jest ustawiona na

define('ALLOW_EDIT_EVENTS_CLAUSE', '((is_fix IS TRUE AND fixdat IS NOT NULL AND
 ((CURRENT_TIMESTAMP - INTERVAL \'24 hours\') < fixdat)) OR (is_fix IS NOT TRUE))');

co oznacza, iż można edytować wszystkie zdarzenie, które nie są zakończone oraz te które zostały zakończone (mają ustawioną datę zakończenia oraz wartość is_fix = TRUE) nie dłużej niż 24 godziny temu.

Stała ta ma wpływ na edycję wszystkich zdarzeń (załatwionych i niezałatwionych) toteż należy uważać przy modyfikacji.

Drugi przykład pozwala na ograniczenie edycji zdarzeń po terminie przewidzianym na zakończenie (kolumna Do na liście zdarzeń) gdzie czas jaki upłynął od terminu zakończenia do chwili obecnej jest dłuższy niż 24 godziny

define('ALLOW_EDIT_EVENTS_CLAUSE', '((end___ IS NOT NULL AND ((CURRENT_TIMESTAMP - INTERVAL \'24 hours\') < end___)) OR (end___ IS NULL))');

Trzeci przykład to kombinacja 2 poprzednich: ograniczenie załatwionych zdarzeń oraz tych opóźnionych dłużej niż 24 godziny.

define('ALLOW_EDIT_EVENTS_CLAUSE', '((is_fix IS TRUE AND fixdat IS NOT NULL AND
 ((CURRENT_TIMESTAMP - INTERVAL \'24 hours\') < fixdat)) OR (is_fix IS NOT TRUE AND
 ((end___ IS NOT NULL AND ((CURRENT_TIMESTAMP - INTERVAL \'24 hours\') < end___)) OR (end___ IS NULL))))');

Aby wyłączyć tą stałą wystarczy ją usunąć lub poprzedzić 2 slashami ''