Bugzilla – Attachment 11602 Details for
Bug 8629
update of statistics fields on fund selection in order creation/edition
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[SIGNED-OFF] Bug 8629: update of statistics fields on fund selection in order creation/edition
SIGNED-OFF-Bug-8629-update-of-statistics-fields-on.patch (text/plain), 10.39 KB, created by
Marc Véron
on 2012-08-14 12:32:31 UTC
(
hide
)
Description:
[SIGNED-OFF] Bug 8629: update of statistics fields on fund selection in order creation/edition
Filename:
MIME Type:
Creator:
Marc Véron
Created:
2012-08-14 12:32:31 UTC
Size:
10.39 KB
patch
obsolete
>From 59649883cdd9e1f1e6ed9550985fab1e7baf9574 Mon Sep 17 00:00:00 2001 >From: Fridolyn SOMERS <fridolyn.somers@biblibre.com> >Date: Mon, 13 Aug 2012 13:55:11 +0200 >Subject: [PATCH] [SIGNED-OFF] Bug 8629: update of statistics fields on fund selection in order creation/edition >Content-Type: text/plain; charset="utf-8" > >Signed-off-by: Marc Veron <veron@veron.ch> > >Followed test plan in comment #1 >Behaves as described in the test plan. >Useful feature! >--- > acqui/addorderiso2709.pl | 6 -- > acqui/fetch_sort_dropbox.pl | 54 ++++++++++++------- > acqui/neworderempty.pl | 4 -- > koha-tmpl/intranet-tmpl/prog/en/js/acq.js | 10 +++- > .../prog/en/modules/acqui/addorderiso2709.tt | 28 ++++++----- > .../prog/en/modules/acqui/neworderempty.tt | 7 ++- > 6 files changed, 61 insertions(+), 48 deletions(-) > >diff --git a/acqui/addorderiso2709.pl b/acqui/addorderiso2709.pl >index 002fbf5..b1b4910 100755 >--- a/acqui/addorderiso2709.pl >+++ b/acqui/addorderiso2709.pl >@@ -298,10 +298,7 @@ if ($budget) { # its a mod .. > } > } elsif ( scalar(@$budgets) ) { > $CGIsort1 = GetAuthvalueDropbox( @$budgets[0]->{'sort1_authcat'}, '' ); >-} else { >- $CGIsort1 = GetAuthvalueDropbox( '', '' ); > } >- > # if CGIsort is successfully fetched, the use it > # else - failback to plain input-field > if ($CGIsort1) { >@@ -317,10 +314,7 @@ if ($budget) { > } > } elsif ( scalar(@$budgets) ) { > $CGIsort2 = GetAuthvalueDropbox( @$budgets[0]->{sort2_authcat}, '' ); >-} else { >- $CGIsort2 = GetAuthvalueDropbox( '', '' ); > } >- > if ($CGIsort2) { > $template->param( CGIsort2 => $CGIsort2 ); > } else { >diff --git a/acqui/fetch_sort_dropbox.pl b/acqui/fetch_sort_dropbox.pl >index 2dfeb81..ce47fb7 100755 >--- a/acqui/fetch_sort_dropbox.pl >+++ b/acqui/fetch_sort_dropbox.pl >@@ -54,40 +54,54 @@ Sort number. 1 or 2 for the moment. > my $input = new CGI; > > my $budget_id = $input->param('budget_id'); >-my $sort_id = $input->param('sort'); >+my $sort_nb = $input->param('sort'); >+die "sort parameter can only be 1 or 2" unless ($sort_nb == 1 || $sort_nb == 2); > > my ( $template, $loggedinuser, $cookie ) = get_template_and_user( > { template_name => "acqui/ajax.tmpl", > query => $input, > type => "intranet", > authnotrequired => 0, >- flagsrequired => {editcatalogue => 'edit_catalogue'}, >+ flagsrequired => {acquisition => 'order_manage'}, > debug => 0, > } > ); > >-my $budget = GetBudget($budget_id); >-my $dropbox_values = GetAuthvalueDropbox( $budget->{'sort'.$sort_id.'_authcat'}, '' ); >+my $ret_html; >+my $name = 'sort'.$sort_nb; >+my $authcat_field = 'sort'.$sort_nb.'_authcat'; > >-my @authorised_values; >-my %authorised_lib; >+my $budget = GetBudget($budget_id); > >-foreach ( @$dropbox_values) { >- push @authorised_values, $_->{value}; >- $authorised_lib{$_->{value}} = $_->{label}; >-} >+if ( $budget && $budget->{$authcat_field} ) { >+ # with custom Asort* planning values >+ my $dropbox_values = GetAuthvalueDropbox( $budget->{$authcat_field}, '' ); > >-my $budget_authvalue_dropbox = CGI::scrolling_list( >- -values => \@authorised_values, >- -labels => \%authorised_lib, >- -default => $authorised_values[0], >-); >+ my @authorised_values; >+ my %authorised_lib; >+ my $default_value; > >+ foreach ( @$dropbox_values) { >+ push @authorised_values, $_->{value}; >+ $authorised_lib{$_->{value}} = $_->{label}; >+ $default_value = $_->{value} if $_->{'default'}; >+ } > >-# strip off select tags >-$budget_authvalue_dropbox =~ s/^\<select.*?\"\>//; >-$budget_authvalue_dropbox =~ s/\<\/select\>$//; >-chomp $budget_authvalue_dropbox; >+ $ret_html = CGI::scrolling_list( >+ -values => \@authorised_values, >+ -labels => \%authorised_lib, >+ -default => $default_value, >+ -override => 1, >+ -size => 1, >+ -multiple => 0, >+ -name => $name, >+ -id => $name, >+ ); >+ >+} else { >+ # free input >+ $ret_html = '<input type="text" size="20" name="'.$name.'" id="'.$name.'" />'; >+} > >-$template->param( return => $budget_authvalue_dropbox ); >+$template->param( 'return' => $ret_html ); > output_html_with_http_headers $input, $cookie, $template->output; >diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl >index a461a1b..4a3eb49 100755 >--- a/acqui/neworderempty.pl >+++ b/acqui/neworderempty.pl >@@ -281,8 +281,6 @@ if ($budget) { # its a mod .. > } > } elsif(@{$budgets}){ > $CGIsort1 = GetAuthvalueDropbox( @$budgets[0]->{'sort1_authcat'}, '' ); >-}else{ >- $CGIsort1 = GetAuthvalueDropbox( '', '' ); > } > > # if CGIsort is successfully fetched, the use it >@@ -300,8 +298,6 @@ if ($budget) { > } > } elsif(@{$budgets}) { > $CGIsort2 = GetAuthvalueDropbox( @$budgets[0]->{sort2_authcat}, '' ); >-}else{ >- $CGIsort2 = GetAuthvalueDropbox( '', '' ); > } > > if ($CGIsort2) { >diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/acq.js b/koha-tmpl/intranet-tmpl/prog/en/js/acq.js >index 2efeba0..028dae4 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/js/acq.js >+++ b/koha-tmpl/intranet-tmpl/prog/en/js/acq.js >@@ -744,7 +744,7 @@ function fetchSortDropbox(f) { > > for (i=1;i<=2;i++) { > >- var sort_dropbox = document.getElementById('sort'+i); >+ var sort_zone = document.getElementById('sort'+i+'_zone'); > var url = '../acqui/fetch_sort_dropbox.pl?sort='+i+'&budget_id='+budgetId; > > var xmlhttp = null; >@@ -764,7 +764,13 @@ for (i=1;i<=2;i++) { > } > }; > // rc = eval ( xmlhttp.responseText ); >- sort_dropbox.innerHTML = xmlhttp.responseText; >+ var retRootType = xmlhttp.responseXML.firstChild.nodeName; >+ var existingInputs = sort_zone.getElementsByTagName('input'); >+ if (existingInputs.length > 0 && retRootType == 'input') { >+ // when sort is already an input, do not override to preseve value >+ return; >+ } >+ sort_zone.innerHTML = xmlhttp.responseText; > } > } > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/addorderiso2709.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/addorderiso2709.tt >index 7a7e72a..71ae462 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/addorderiso2709.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/addorderiso2709.tt >@@ -188,7 +188,7 @@ > </li> > <li><div class="hint">The 2 following fields are available for your own usage. They can be useful for statistical purposes</div> > <label for="sort1">Planning value1: </label> >- >+ <span id="sort1_zone"> > [% IF CGIsort1 %] > <select id="sort1" size="1" name="sort1"> > [% FOREACH sort_opt IN CGIsort1 %] >@@ -202,23 +202,25 @@ > [% ELSE %] > <input type="text" id="sort1" size="20" name="sort1" value="[% sort1 %]" /> > [% END %] >+ </span> > </li> > <li> > <label for="sort2">Planning value2: </label> >- >- [% IF CGIsort2 %] >- <select id="sort2" size="1" name="sort1"> >- [% FOREACH sort_opt IN CGIsort2 %] >- [% IF sort_opt.default %] >- <option value="[% sort_opt.id %]" selected="selected">[% sort_opt.label %]</option> >- [% ELSE %] >- <option value="[% sort_opt.id %]">[% sort_opt.label %]</option> >+ <span id="sort2_zone"> >+ [% IF CGIsort2 %] >+ <select id="sort2" size="1" name="sort1"> >+ [% FOREACH sort_opt IN CGIsort2 %] >+ [% IF sort_opt.default %] >+ <option value="[% sort_opt.id %]" selected="selected">[% sort_opt.label %]</option> >+ [% ELSE %] >+ <option value="[% sort_opt.id %]">[% sort_opt.label %]</option> >+ [% END %] > [% END %] >+ </select> >+ [% ELSE %] >+ <input type="text" id="sort2" size="20" name="sort2" value="[% sort2 %]" /> > [% END %] >- </select> >- [% ELSE %] >- <input type="text" id="sort2" size="20" name="sort2" value="[% sort2 %]" /> >- [% END %] >+ </span> > </li> > <li> > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt >index 566318f..0195dd8 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt >@@ -508,7 +508,7 @@ $(document).ready(function() > </li> > <li><div class="hint">The 2 following fields are available for your own usage. They can be useful for statistical purposes</div> > <label for="sort1">Statistic 1: </label> >- >+ <span id="sort1_zone"> > [% IF CGIsort1 %] > <select id="sort1" size="1" name="sort1"> > [% FOREACH sort_opt IN CGIsort1 %] >@@ -520,13 +520,13 @@ $(document).ready(function() > [% END %] > </select> > [% ELSE %] >- > <input type="text" id="sort1" size="20" name="sort1" value="[% sort1 %]" /> > [% END %] >+ </span> > </li> > <li> > <label for="sort2">Statistic 2: </label> >- >+ <span id="sort2_zone"> > [% IF CGIsort2 %] > <select id="sort2" size="1" name="sort2"> > [% FOREACH sort_opt IN CGIsort2 %] >@@ -540,6 +540,7 @@ $(document).ready(function() > [% ELSE %] > <input type="text" id="sort2" size="20" name="sort2" value="[% sort2 %]" /> > [% END %] >+ </span> > </li> > </ol> > </fieldset> >-- >1.7.2.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 8629
:
11575
| 11602