Bug 9533: batch item modification form now shows default field values only by request

This patch makes the pre-population of the fields for the batch
item editor with the default values from the default framework
optional and off by default.

Test Plan:
1) Apply patch
2) Add default values for cost and replacement cost to the
   default framework.
3) Browse to Tools / Batch item modification
4) Choose a file, or entire some barcodes in the text area
5) Ensure that the 'Populate fields with default values from default
   framework' is *not* checked
6) Click 'Continue'
7) Observe that the fields for cost and replacement cost are blank
8) Click the 'back' button on your browser
9) Check the checkbox to enable the default value
10) Click 'Continue'
11) Observe that the fields for cost and replacement cost now contain
    the default values you assigned them in the default MARC framework

Signed-off-by: David Cook <dcook@prosentient.com.au>

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Switch works correctly, all tests and QA script pass.

Note: there is a bug with default values for all non text input
fields. Default values won't be applied for those fields as the
pull downs are not preselected correctly with the default values
defined in the framework.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
Kyle Hall 2013-04-17 09:33:55 -04:00 committed by Galen Charlton
parent 0397e7ea64
commit 2d32ab3814
2 changed files with 17 additions and 4 deletions

View file

@ -43,11 +43,25 @@
</ol>
</fieldset>
<input type="hidden" name="op" value="show" />
<fieldset class="rows">
<legend>Use default values</legend>
<ol class="radio">
<li>
<label>
<input type="checkbox" name="use_default_values" id="use_default_values" />
Populate fields with default values from default framework
</label>
</li>
</ol>
</fieldset>
[% IF ( del ) %]<input type="hidden" name="del" value="1" />[% END %]
<fieldset class="action">
<input type="submit" value="Continue" class="button" />
<a class="cancel" href="/cgi-bin/koha/tools/tools-home.pl">Cancel</a>
</fieldset>
</form>
</div>
</div>

View file

@ -47,7 +47,7 @@ my $del_records = $input->param('del_records');
my $completedJobID = $input->param('completedJobID');
my $runinbackground = $input->param('runinbackground');
my $src = $input->param('src');
my $use_default_values = $input->param('use_default_values');
my $template_name;
my $template_flag;
@ -78,8 +78,7 @@ my $itemrecord;
my $nextop="";
my @errors; # store errors found while checking data BEFORE saving item.
my $items_display_hashref;
my $frameworkcode="";
my $tagslib = &GetMarcStructure(1,$frameworkcode);
my $tagslib = &GetMarcStructure(1);
my $deleted_items = 0; # Number of deleted items
my $deleted_records = 0; # Number of deleted records ( with no items attached )
@ -308,7 +307,7 @@ foreach my $tag (sort keys %{$tagslib}) {
$subfield_data{repeatable} = $tagslib->{$tag}->{$subfield}->{repeatable};
my ($x,$value);
$value =~ s/"/&quot;/g;
unless ($value) {
if ( !$value && $use_default_values) {
$value = $tagslib->{$tag}->{$subfield}->{defaultvalue};
# get today date & replace YYYY, MM, DD if provided in the default value
my ( $year, $month, $day ) = split ',', $today_iso; # FIXME: iso dates don't have commas!