Bug 7944 - attribute error could be clearer
authorOwen Leonard <oleonard@myacpl.org>
Fri, 18 Jul 2014 18:18:12 +0000 (14:18 -0400)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Mon, 11 Aug 2014 18:45:59 +0000 (15:45 -0300)
If you try to create a patron and enter an extended attribute value
which is required to be unique but exists in another record the error
you receive is not clear. It uses the attribute code instead of the
description. This patch adds description to the output.

To test you must have ExtendedPatronAttributes enabled.

- Edit or create an extended patron attribute and designate it a unique
  identifier.
- Edit a patron and add a value to that attribute.
- Edit another patron and try to add the same value.

You should get an error which includes both the description of the
attribute you tried to modify and the value you submitted.

Signed-off-by: Christopher Brannon <christopher@debian.brannon.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, no problems found.
Passes tests and Qa script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
members/memberentry.pl

index 6745d62..da52fb7 100644 (file)
                                <li id="ERROR_password_mismatch">Passwords do not match.</li>
                        [% END %]
             [% IF ( ERROR_extended_unique_id_failed ) %]
-                <li id="ERROR_extended_unique_id_failed">The attribute value 
-                    [% ERROR_extended_unique_id_failed_value %] is already in use by another patron record.</li>
+                <li id="ERROR_extended_unique_id_failed"><strong>[% ERROR_extended_unique_id_failed_description %]</strong> attribute value <i>[% ERROR_extended_unique_id_failed_value %]</i> is already in use by another patron record.</li>
                        [% END %]
                        </ul>
                </div>
index 49f728e..3c7f648 100755 (executable)
@@ -338,8 +338,13 @@ if ($op eq 'save' || $op eq 'insert'){
     $extended_patron_attributes = parse_extended_patron_attributes($input);
     foreach my $attr (@$extended_patron_attributes) {
         unless (C4::Members::Attributes::CheckUniqueness($attr->{code}, $attr->{value}, $borrowernumber)) {
+            my $attr_info = C4::Members::AttributeTypes->fetch($attr->{code});
             push @errors, "ERROR_extended_unique_id_failed";
-            $template->param(ERROR_extended_unique_id_failed_value => "$attr->{code}/$attr->{value}");
+            $template->param(
+                ERROR_extended_unique_id_failed_code => $attr->{code},
+                ERROR_extended_unique_id_failed_value => $attr->{value},
+                ERROR_extended_unique_id_failed_description => $attr_info->description()
+            );
         }
     }
   }