* InfoLog: config which fields are editable for status "archive", default all
This commit is contained in:
parent
f9545835fa
commit
9f2d952fdf
|
@ -129,6 +129,10 @@ class infolog_bo
|
|||
* @var string "yes": archived entries can not be changed, "but_admins" noone but admins can change archived entries
|
||||
*/
|
||||
var $archived_readonly;
|
||||
/**
|
||||
* @var array fields editable for status archived
|
||||
*/
|
||||
var $archived_editable;
|
||||
/**
|
||||
* Instance of infolog_tracking, only instaciated if needed!
|
||||
*
|
||||
|
@ -302,6 +306,7 @@ class infolog_bo
|
|||
}
|
||||
}
|
||||
}
|
||||
$this->archived_editable = $config_data['archived_editable'] ?? null;
|
||||
|
||||
$this->limit_modified_n_month = $config_data['limit_modified_n_month'] ?? null;
|
||||
}
|
||||
|
|
|
@ -2239,7 +2239,7 @@ class infolog_ui
|
|||
unset($preserv['msg']);
|
||||
unset($preserv['links']); unset($preserv['link_to']);
|
||||
|
||||
// for no edit rights or implizit edit of responsible user make all fields readonly, but status and percent
|
||||
// for no edit rights or implicit edit of responsible user make all fields readonly, but status and percent
|
||||
if ($info_id && !$this->bo->check_access($content, Acl::EDIT) && !$undelete)
|
||||
{
|
||||
$readonlys['__ALL__'] = true; // make all fields not explicitly set readonly
|
||||
|
@ -2258,6 +2258,17 @@ class infolog_ui
|
|||
{
|
||||
$readonlys['action'] = true;
|
||||
}
|
||||
// if only certain fields are editable in status "archived", set all r/o and then allow the given one plus buttons
|
||||
elseif ($content['info_status'] === 'archive' && $this->bo->archived_editable)
|
||||
{
|
||||
$readonlys['__ALL__'] = true; // make all fields not explicitly set readonly
|
||||
foreach($this->bo->archived_editable as $name)
|
||||
{
|
||||
$readonlys[$name] = false;
|
||||
}
|
||||
$readonlys['button[edit]'] = $readonlys['button[save]'] = $readonlys['button[apply]'] = $readonlys['no_notifications'] = false;
|
||||
$readonlys['action'] = $readonlys['button[cancel]'] = false; // always allowed
|
||||
}
|
||||
// ToDo: use the old status before the delete
|
||||
if ($info_id && !empty($undelete))
|
||||
{
|
||||
|
@ -2265,7 +2276,8 @@ class infolog_ui
|
|||
$this->tmpl->setElementAttribute('button[save]', 'label', 'Un-Delete');
|
||||
}
|
||||
|
||||
if (!($readonlys['button[delete]'] = !$info_id || !$this->bo->check_access($content, Acl::DELETE)))
|
||||
if (!($readonlys['button[delete]'] = !$info_id || !$this->bo->check_access($content, Acl::DELETE) ||
|
||||
$content['info_status'] === 'archive' && $this->bo->archived_readonly))
|
||||
{
|
||||
$content['info_anz_subs'] = $this->bo->anzSubs($info_id); // to determine js confirmation of delete or not
|
||||
}
|
||||
|
@ -2632,6 +2644,7 @@ class infolog_ui
|
|||
Api\Config::save_value('implicit_rights', $this->bo->implicit_rights = $content['implicit_rights'] == 'edit' ? 'edit' : 'read', 'infolog');
|
||||
Api\Config::save_value('history', $this->bo->history = $content['history'], 'infolog');
|
||||
Api\Config::save_value('archived_readonly', $this->bo->archived_readonly = $content['archived_readonly'], 'infolog');
|
||||
Api\Config::save_value('archived_editable', $this->bo->archived_editable = $content['archived_editable'], 'infolog');
|
||||
Api\Config::save_value('index_load_cfs', implode(',', (array)$content['index_load_cfs']), 'infolog');
|
||||
Api\Config::save_value('sub_prefix', $content['sub_prefix'], 'infolog');
|
||||
Api\Config::save_value('allow_past_due_date', $content['allow_past_due_date'], 'infolog');
|
||||
|
@ -2681,7 +2694,8 @@ class infolog_ui
|
|||
'history_no_delete' => lang('Yes, noone can purge deleted items'),
|
||||
),
|
||||
'index_load_cfs' => $this->bo->enums['type'],
|
||||
'notification_type' => array('~global~' => 'all') + $this->bo->enums['type']
|
||||
'notification_type' => array('~global~' => 'all') + $this->bo->enums['type'],
|
||||
'archived_editable' => $excludefields,
|
||||
);
|
||||
$preserve['notification_old_type'] = $content['notification_type'];
|
||||
$this->tmpl->read('infolog.config');
|
||||
|
|
|
@ -183,6 +183,7 @@ edit rights (full edit rights incl. making someone else responsible!) infolog de
|
|||
edit status infolog de Status ändern
|
||||
edit the entry infolog de Eintrag bearbeiten
|
||||
edit this entry infolog de Diesen Eintrag bearbeiten
|
||||
editable fields for status 'archived' admin de Bearbeitbare Felder für Status 'Archiviert'
|
||||
empty for all infolog de Leer für alle
|
||||
encrypt description infolog de Beschreibung verschlüsseln
|
||||
end infolog de Ende
|
||||
|
@ -193,8 +194,8 @@ enter a custom phone/email, leave empty if linked entry should be used infolog d
|
|||
enter a textual description of the log-entry infolog de Geben Sie eine textliche Beschreibung des Eintrags ein
|
||||
enter the query pattern infolog de Geben Sie ein Suchmuster ein
|
||||
entry and all files infolog de Eintrag und alle Dateien
|
||||
entry can not be changed anymore, after status is set infolog de Eintrag kann NICHT mehr geändert werden, nach dem der Status gesetzt wurde
|
||||
entry can not be changed by anybody, but egroupware admins infolog de Eintrag kann NICHT mehr geändert werden von jedem, außer EGroupware Administratoren
|
||||
entry can not be changed anymore, after status is set admin de Eintrag kann NICHT mehr geändert werden, nach dem der Status gesetzt wurde
|
||||
entry can not be changed by anybody, but egroupware admins admin de Eintrag kann NICHT mehr geändert werden von jedem, außer EGroupware Administratoren
|
||||
error: importing the ical infolog de Fehler beim Import der iCal
|
||||
error: no mail (mailbox / uid) given! infolog de Fehler: keine Mail (Mailbox / UID) angegeben!
|
||||
error: saving the entry infolog de Fehler: beim Speichern des Eintrags
|
||||
|
@ -226,7 +227,7 @@ general fields: infolog de Allgemeine Felder:
|
|||
general settings infolog de Allgemeine Einstellungen:
|
||||
global categories infolog de Globale Kategorien
|
||||
group owner for infolog de Gruppeneigentümer für
|
||||
handling of status 'archived' infolog de Behandlung des Status 'Archiviert'
|
||||
handling of status 'archived' admin de Behandlung des Status 'Archiviert'
|
||||
high infolog de Hoch
|
||||
history infolog de Historie
|
||||
history logging infolog de Protokollierung der Historie
|
||||
|
@ -317,7 +318,7 @@ no entries found, try again ... infolog de Kein Einträge gefunden, noch einmal
|
|||
no filter infolog de Kein Filter
|
||||
no links or attachments infolog de Keine Verknüpfungen oder Anhänge
|
||||
no project infolog de Kein Projekt
|
||||
no special handling infolog de Keine spezielle Behandlung
|
||||
no special handling admin de Keine spezielle Behandlung
|
||||
nonactive infolog de Nicht aktiv
|
||||
none infolog de Keine
|
||||
normal infolog de Normal
|
||||
|
|
|
@ -183,6 +183,7 @@ edit rights (full edit rights incl. making someone else responsible!) infolog en
|
|||
edit status infolog en Edit status
|
||||
edit the entry infolog en Edit the entry
|
||||
edit this entry infolog en Edit this entry
|
||||
editable fields for status 'archived' admin en Editable fields for status 'archived'
|
||||
empty for all infolog en Empty for all
|
||||
encrypt description infolog en Encrypt description
|
||||
end infolog en End
|
||||
|
@ -193,8 +194,8 @@ enter a custom phone/email, leave empty if linked entry should be used infolog e
|
|||
enter a textual description of the log-entry infolog en Enter text description of the InfoLog entry
|
||||
enter the query pattern infolog en Enter the query pattern
|
||||
entry and all files infolog en Entry and all files
|
||||
entry can not be changed anymore, after status is set infolog en Entry can NOT be changed anymore, after status is set
|
||||
entry can not be changed by anybody, but egroupware admins infolog en Entry can NOT be changed by anybody, but EGroupware admins
|
||||
entry can not be changed anymore, after status is set admin en Entry can NOT be changed anymore, after status is set
|
||||
entry can not be changed by anybody, but egroupware admins admin en Entry can NOT be changed by anybody, but EGroupware admins
|
||||
error: importing the ical infolog en Error: importing the iCal
|
||||
error: no mail (mailbox / uid) given! infolog en Error: no mail (Mailbox / UID) given!
|
||||
error: saving the entry infolog en Error saving the entry!
|
||||
|
@ -226,7 +227,7 @@ general fields: infolog en General fields:
|
|||
general settings infolog en General settings
|
||||
global categories infolog en Global categories
|
||||
group owner for infolog en Group owner for
|
||||
handling of status 'archived' infolog en Handling of status 'archived'
|
||||
handling of status 'archived' admin en Handling of status 'archived'
|
||||
high infolog en High
|
||||
history infolog en History
|
||||
history logging infolog en History logging
|
||||
|
@ -317,7 +318,7 @@ no entries found, try again ... infolog en No entries found, try again ...
|
|||
no filter infolog en No filter
|
||||
no links or attachments infolog en No links or attachments
|
||||
no project infolog en No project
|
||||
no special handling infolog en No special handling
|
||||
no special handling admin en No special handling
|
||||
nonactive infolog en Non active
|
||||
none infolog en None
|
||||
normal infolog en Normal
|
||||
|
|
|
@ -37,6 +37,10 @@
|
|||
<option value="but_admins">Entry can NOT be changed by anybody, but EGroupware admins</option>
|
||||
</et2-select>
|
||||
</row>
|
||||
<row>
|
||||
<et2-description value="Editable fields for status 'archived'"></et2-description>
|
||||
<et2-select id="archived_editable" multiple="true" placeholder="all"></et2-select>
|
||||
</row>
|
||||
<row class="th">
|
||||
<et2-description value="Other configurations" span="all"></et2-description>
|
||||
</row>
|
||||
|
|
Loading…
Reference in New Issue