Bug 13875: Columns configuration - Allow underscore in table name
authorJonathan Druart <jonathan.druart@biblibre.com>
Thu, 19 Mar 2015 15:39:13 +0000 (16:39 +0100)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Wed, 8 Apr 2015 17:51:59 +0000 (14:51 -0300)
This is a bug fix for bug the columns configuration feature, and
specialy for bug 13864.

Test plan:
Apply patches on bug 13864 and save columns for the late orders (in the
columns configuration admin page).
Confirm that they are correctly saved.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
works as expected

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
admin/columns_settings.pl
koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt

index c0c117b..e61782c 100755 (executable)
@@ -27,7 +27,7 @@ if ( $action eq 'save' ) {
     my @columnids = $input->param("columnid");
     my @columns;
     for my $columnid (@columnids) {
-        next unless $columnid =~ m|^([^_]*)_([^_]*)_(.*)$|;
+        next unless $columnid =~ m|^([^#]*)#([^#]*)#(.*)$|;
         my $is_hidden = $input->param( $columnid . '_hidden' ) // 0;
         my $cannot_be_toggled =
           $input->param( $columnid . '_cannot_be_toggled' ) // 0;
index f812709..b1a8565 100644 (file)
               <thead><tr><th>Column name</th><th>Is hidden by default</th><th>Cannot be toggled</th></tr></thead>
               <tbody>
               [% FOR column IN tables.$pagename.$tablename %]
+                [% SET value = pagename _ '#' _ tablename _ '#' _ column.columnname %]
                 <tr>
                   <td>
                     [% column.columnname %]
-                    <input type="hidden" name="columnid" value="[% pagename %]_[% tablename %]_[% column.columnname %]" />
+                    <input type="hidden" name="columnid" value="[% value %]" />
                   </td>
                   <td>
                     [% IF column.is_hidden %]
                       [% IF column.cannot_be_modified %]
-                        <input type="checkbox" name="[% pagename %]_[% tablename %]_[% column.columnname %]_hidden" value="1" checked="checked" disabled="disabled" />
-                        <input type="hidden" name="[% pagename %]_[% tablename %]_[% column.columnname %]_hidden" value="1" />
+                        <input type="checkbox" name="[% value %]_hidden" value="1" checked="checked" disabled="disabled" />
+                        <input type="hidden" name="[% value %]_hidden" value="1" />
                       [% ELSE %]
-                        <input type="checkbox" name="[% pagename %]_[% tablename %]_[% column.columnname %]_hidden" value="1" checked="checked" />
+                        <input type="checkbox" name="[% value %]_hidden" value="1" checked="checked" />
                       [% END %]
                     [% ELSE %]
                       [% IF column.cannot_be_modified %]
-                        <input type="checkbox" name="[% pagename %]_[% tablename %]_[% column.columnname %]_hidden" value="1" disabled="disabled" />
-                        <input type="hidden" name="[% pagename %]_[% tablename %]_[% column.columnname %]_hidden" value="0" />
+                        <input type="checkbox" name="[% value %]_hidden" value="1" disabled="disabled" />
+                        <input type="hidden" name="[% value %]_hidden" value="0" />
                       [% ELSE %]
-                        <input type="checkbox" name="[% pagename %]_[% tablename %]_[% column.columnname %]_hidden" value="1" />
+                        <input type="checkbox" name="[% value %]_hidden" value="1" />
                       [% END %]
                     [% END %]
                   </td>
                   <td>
                     [% IF column.cannot_be_toggled %]
                       [% IF column.cannot_be_modified %]
-                        <input type="checkbox" name="[% pagename %]_[% tablename %]_[% column.columnname %]_cannot_be_toggled" value="1" checked="checked" disabled="disabled" />
-                        <input type="hidden" name="[% pagename %]_[% tablename %]_[% column.columnname %]_cannot_be_toggled" value="1" />
+                        <input type="checkbox" name="[% value %]_cannot_be_toggled" value="1" checked="checked" disabled="disabled" />
+                        <input type="hidden" name="[% value %]_cannot_be_toggled" value="1" />
                       [% ELSE %]
-                        <input type="checkbox" name="[% pagename %]_[% tablename %]_[% column.columnname %]_cannot_be_toggled" value="1" checked="checked" />
+                        <input type="checkbox" name="[% value %]_cannot_be_toggled" value="1" checked="checked" />
                       [% END %]
                     [% ELSE %]
                       [% IF column.cannot_be_modified %]
-                        <input type="checkbox" name="[% pagename %]_[% tablename %]_[% column.columnname %]_cannot_be_toggled" value="1" disabled="disabled" />
-                        <input type="hidden" name="[% pagename %]_[% tablename %]_[% column.columnname %]_cannot_be_toggled" value="0" />
+                        <input type="checkbox" name="[% value %]_cannot_be_toggled" value="1" disabled="disabled" />
+                        <input type="hidden" name="[% value %]_cannot_be_toggled" value="0" />
                       [% ELSE %]
-                        <input type="checkbox" name="[% pagename %]_[% tablename %]_[% column.columnname %]_cannot_be_toggled" value="1" />
+                        <input type="checkbox" name="[% value %]_cannot_be_toggled" value="1" />
                       [% END %]
                     [% END %]
                   </td>