diff --git a/admin/inc/class.admin_customfields.inc.php b/admin/inc/class.admin_customfields.inc.php index 4d77cd927c..523c7406c2 100644 --- a/admin/inc/class.admin_customfields.inc.php +++ b/admin/inc/class.admin_customfields.inc.php @@ -43,6 +43,11 @@ class admin_customfields */ protected $use_private = false; + /** + * Allow custom fields to be readonly for certain users/groups + */ + protected $use_readonly = false; + /** * userdefiened types e.g. type of infolog * @@ -341,6 +346,7 @@ class admin_customfields die(lang('Error! No appname found')); } $this->use_private = !isset($_GET['use_private']) || (boolean)$_GET['use_private'] || !empty($content['use_private']); + $this->use_readonly = !isset($_GET['use_readonly']) || (boolean)$_GET['use_readonly'] || !empty($content['use_readonly']); // Read fields, constructor doesn't always know appname $this->fields = Api\Storage\Customfields::get($this->appname,true); @@ -453,6 +459,7 @@ class admin_customfields //echo 'customfields=
'; print_r($this->fields); echo "\n"; $content['cf_order'] = (count($this->fields)+1) * 10; $content['use_private'] = $this->use_private; + $content['use_readonly'] = $this->use_readonly; if($cf_id) { diff --git a/admin/lang/egw_de.lang b/admin/lang/egw_de.lang index c7a455930e..ad26922d9c 100644 --- a/admin/lang/egw_de.lang +++ b/admin/lang/egw_de.lang @@ -269,6 +269,7 @@ custom 1 admin de Benutzerdefiniert 1 custom 2 admin de Benutzerdefiniert 2 custom 3 admin de Benutzerdefiniert 3 custom fields admin de Benutzerdefinierte Felder +custom fields tab admin de Benutzerdefinierte Felder Tab custom translation admin de Eigene Übersetzung customfield '%1' added admin de Benutzerdefiniertes Feld '%1' hinzugefügt customfield '%1' deleted admin de Benutzerdefiniertes Feld '%1' gelöscht @@ -660,6 +661,7 @@ must change password upon next login admin de Muss das Passwort beim nächsten L name must not be empty !!! admin de Name darf nicht leer sein! name of account admin de Name des Kontos name of organisation admin de Name der Organisation +name of tab to create and show field in admin de Name des anzulegenden Tabs in dem das Feld angezeigt wird name of the egroupware instance, eg. default admin de Name der EGroupware-Instanz, z.B. default new group name admin de Neuer Gruppenname new name admin de Neuer Name @@ -813,6 +815,7 @@ search peer servers admin de Serververbund durchsuchen secret deleted, two factor authentication disabled. admin de Geheimnis gelöscht, 2-Faktor-Authentifizierung deaktiviert. secure connection admin de Sichere Verbindung security admin de Sicherheit +select accounts for which the custom field should be readonly admin de Benutzer auswählen, für die dieses benutzerdefinierte Feld schreibgeschützt sein soll. select accounts for which the custom field should be visible admin de Benutzer auswählen, für die dieses benutzerdefinierte Feld sichtbar sein soll. select group managers admin de Gruppenmanager auswählen select language to define language based message. language 'english' is default page for all languages therefore for setting a general message across all languages you only need to set the 'english' page. admin de Wählen Sie die Sprache, um eine sprachabhängige Nachricht zu definieren. Sprache 'Englisch' ist die Standardseite für alle Sprachen, daher müssen Sie für die Einstellung einer allgemeinen Nachricht für allen Sprachen nur die Seite 'Englisch' erstellen. diff --git a/admin/lang/egw_en.lang b/admin/lang/egw_en.lang index 15b845484d..09c17105cb 100644 --- a/admin/lang/egw_en.lang +++ b/admin/lang/egw_en.lang @@ -269,6 +269,7 @@ custom 1 admin en Custom 1 custom 2 admin en Custom 2 custom 3 admin en Custom 3 custom fields admin en Custom fields +custom fields tab admin en custom fields tab custom translation admin en Custom translation customfield '%1' added admin en Customfield '%1' added customfield '%1' deleted admin en Customfield '%1' deleted @@ -660,6 +661,7 @@ must change password upon next login admin en Must change password upon next log name must not be empty !!! admin en Name must not be empty! name of account admin en Name of account name of organisation admin en Name of organization +name of tab to create and show field in admin en Name of tab to create and show field in name of the egroupware instance, eg. default admin en Name of the EGroupware instance new group name admin en New group name new name admin en New name @@ -813,6 +815,7 @@ search peer servers admin en Search peer servers secret deleted, two factor authentication disabled. admin en Secret deleted, two factor authentication disabled. secure connection admin en Secure connection security admin en Security +select accounts for which the custom field should be readonly admin en Select accounts for which the custom field should be readonly select accounts for which the custom field should be visible admin en Select accounts the custom field should be visible for. select group managers admin en Select group managers select language to define language based message. language 'english' is default page for all languages therefore for setting a general message across all languages you only need to set the 'english' page. admin en Select language to define language based message. Language 'english' is default page for all languages therefore for setting a general message across all languages you only need to set the 'english' page. diff --git a/admin/templates/default/customfield_edit.xet b/admin/templates/default/customfield_edit.xet index 9fba04128f..4020751051 100644 --- a/admin/templates/default/customfield_edit.xet +++ b/admin/templates/default/customfield_edit.xet @@ -31,22 +31,29 @@