Bug 13875: Columns configuration - Allow underscore in table name

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>
This commit is contained in:
Jonathan Druart 2015-03-19 16:39:13 +01:00 committed by Tomas Cohen Arazi
parent 53b3eebf5c
commit 94836adbfb
2 changed files with 15 additions and 14 deletions

View File

@ -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;

View File

@ -22,42 +22,43 @@
<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>