[Rt-commit] rt branch, 3.8-trunk, updated. rt-3.8.8-96-g4b18e2f

Emannuel Lacour elacour at bestpractical.com
Tue Jun 22 07:36:27 EDT 2010


The branch, 3.8-trunk has been updated
       via  4b18e2f094154a506cd7c916501324c2f972d63f (commit)
      from  45a18e0cb2c541562d09893a7fc1418f462862db (commit)

Summary of changes:
 lib/RT/CustomFieldValue_Overlay.pm        |    2 +-
 lib/RT/CustomField_Overlay.pm             |    5 +++--
 lib/RT/I18N/fr.po                         |    8 ++++++++
 share/html/Admin/Elements/CustomFieldTabs |    2 +-
 4 files changed, 13 insertions(+), 4 deletions(-)

- Log -----------------------------------------------------------------
commit 4b18e2f094154a506cd7c916501324c2f972d63f
Author: Emmanuel Lacour <elacour at easter-eggs.com>
Date:   Tue Jun 22 13:37:08 2010 +0200

    New right "AdminCustomFieldValues" on Customfields to allow delegation of adding/modifying/removing CustomFields Values

diff --git a/lib/RT/CustomFieldValue_Overlay.pm b/lib/RT/CustomFieldValue_Overlay.pm
index 5511e52..9fe6c55 100644
--- a/lib/RT/CustomFieldValue_Overlay.pm
+++ b/lib/RT/CustomFieldValue_Overlay.pm
@@ -79,7 +79,7 @@ sub Create {
     unless ( $cf->id ) {
         return (0, $self->loc("Couldn't load Custom Field #[_1]", $cf_id));
     }
-    unless ( $cf->CurrentUserHasRight('AdminCustomField') ) {
+    unless ( $cf->CurrentUserHasRight('AdminCustomField') || $cf->CurrentUserHasRight('AdminCustomFieldValues') ) {
         return (0, $self->loc('Permission Denied'));
     }
 
diff --git a/lib/RT/CustomField_Overlay.pm b/lib/RT/CustomField_Overlay.pm
index 355dd20..e156227 100755
--- a/lib/RT/CustomField_Overlay.pm
+++ b/lib/RT/CustomField_Overlay.pm
@@ -112,6 +112,7 @@ RT::CustomField->_ForObjectType( 'RT::Group' => "Groups", );
 our $RIGHTS = {
     SeeCustomField            => 'See custom fields',       # loc_pair
     AdminCustomField          => 'Create, delete and modify custom fields',        # loc_pair
+    AdminCustomFieldValues    => 'Create, delete and modify custom fields values',        # loc_pair
     ModifyCustomField         => 'Add, delete and modify custom field values for objects' #loc_pair
 };
 
@@ -400,7 +401,7 @@ sub AddValue {
     my $self = shift;
     my %args = @_;
 
-    unless ($self->CurrentUserHasRight('AdminCustomField')) {
+    unless ($self->CurrentUserHasRight('AdminCustomField') || $self->CurrentUserHasRight('AdminCustomFieldValues')) {
         return (0, $self->loc('Permission Denied'));
     }
 
@@ -429,7 +430,7 @@ Does not remove this value for any article which has had it selected
 sub DeleteValue {
     my $self = shift;
     my $id = shift;
-    unless ( $self->CurrentUserHasRight('AdminCustomField') ) {
+    unless ( $self->CurrentUserHasRight('AdminCustomField') || $self->CurrentUserHasRight('AdminCustomFieldValues') ) {
         return (0, $self->loc('Permission Denied'));
     }
 
diff --git a/lib/RT/I18N/fr.po b/lib/RT/I18N/fr.po
index 8f5aa6f..622ff2e 100755
--- a/lib/RT/I18N/fr.po
+++ b/lib/RT/I18N/fr.po
@@ -790,6 +790,10 @@ msgstr "AdminCcs"
 msgid "AdminCustomField"
 msgstr "GérerChampPersonnalisé"
 
+#: lib/RT/CustomField_Overlay.pm:115
+msgid "AdminCustomFieldValues"
+msgstr "GérerValeursDeChampPersonnalisé"
+
 #: lib/RT/Group_Overlay.pm:87
 msgid "AdminGroup"
 msgstr "GérerGroupes"
@@ -1784,6 +1788,10 @@ msgstr "Créer des tickets hors-ligne"
 msgid "Create, delete and modify custom fields"
 msgstr "Ajouter, supprimer et modifier des champs personnalisés"
 
+#: lib/RT/CustomField_Overlay.pm:115
+msgid "Create, delete and modify custom fields values"
+msgstr "Ajouter, supprimer et modifier des valeurs de champs personnalisés"
+
 #: lib/RT/Queue_Overlay.pm:88
 msgid "Create, delete and modify queues"
 msgstr "Ajouter, supprimer et modifier les files"
diff --git a/share/html/Admin/Elements/CustomFieldTabs b/share/html/Admin/Elements/CustomFieldTabs
index 30f5adf..fb95394 100644
--- a/share/html/Admin/Elements/CustomFieldTabs
+++ b/share/html/Admin/Elements/CustomFieldTabs
@@ -88,10 +88,10 @@ if ($id) {
     }
 }
 
-if ($session{'CurrentUser'}->HasRight( Object => $RT::System, Right => 'AdminCustomField')) {
   $tabs->{"A"} = { title => loc('Select'),
                         path => "Admin/CustomFields/",
                            };
+if ($session{'CurrentUser'}->HasRight( Object => $RT::System, Right => 'AdminCustomField')) {
   $tabs->{"B"} = { title => loc('Create'),
                         path => "Admin/CustomFields/Modify.html?Create=1",
                         separator => 1,

-----------------------------------------------------------------------


More information about the Rt-commit mailing list