SetVersion ($DBversion);
}
+$DBversion = "3.09.00.XXX";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ my $gst_booksellers = $dbh->selectcol_arrayref("SELECT DISTINCT(gstrate) FROM aqbooksellers");
+ my $gist_syspref = C4::Context->preference("gist");
+ # remove the undef values and construct and array with the syspref and the supplier values
+ my @gstrates = map { defined $_ ? $_ : () } @$gst_booksellers;
+ push @gstrates, split ('\|', $gist_syspref);
+ # we want to compare integer (or float)
+ $_ = $_ + 0 for @gstrates;
+ use List::MoreUtils qw/uniq/;
+ # remove duplicate values
+ @gstrates = uniq sort @gstrates;
+ my $new_syspref_value = join '|', @gstrates;
+ # update the syspref with the new values
+ my $sth = $dbh->prepare("UPDATE systempreferences set value=? WHERE variable='gist'");
+ $sth->execute( $new_syspref_value );
+
+ print "Upgrade to $DBversion done (Bug 8832, Set the syspref gist with the existing values)\n";
+ SetVersion ($DBversion);
+}
+
=head1 FUNCTIONS
=head2 TableExists($table)
[% END %]
</li>
[% END %]
- <li>
- [% IF ( close ) %]
- <span class="label">Tax rate: </span>
- <input type="hidden" size="20" name="gstrate" id="gstrate" value="[% gstrate %]" />[% gstrate %]%
- [% ELSE %]
- <label for="gst">Tax rate: </label>
- <select name="gstrate" id="gstrate" onchange="updateCosts();">
- [% FOREACH gst IN gst_values %]
- [% IF ( gst.option == gstrate ) %]
- <option value="[% gst.option %]" selected="selected">[% gst.option * 100 | format("%.1f") %]%</option>
- [% ELSE %]
- <option value="[% gst.option %]">[% gst.option * 100 | format("%.1f") %]%</option>
- [% END %]
+ [% IF ( gst_values ) %]
+ <li>
+ [% IF ( close ) %]
+ <span class="label">Tax rate: </span>
+ <input type="hidden" size="20" name="gstrate" id="gstrate" value="[% gstrate %]" />[% gstrate %]%
+ [% ELSE %]
+ <label for="gst">Tax rate: </label>
+ <select name="gstrate" id="gstrate" onchange="updateCosts();">
+ [% FOREACH gst IN gst_values %]
+ [% IF ( gst.option == gstrate ) %]
+ <option value="[% gst.option %]" selected="selected">[% gst.option * 100 | format("%.1f") %]%</option>
+ [% ELSE %]
+ <option value="[% gst.option %]">[% gst.option * 100 | format("%.1f") %]%</option>
+ [% END %]
+ [% END %]
+ </select>
[% END %]
- </select>
- [% END %]
- </li>
+ [% ELSE %]
+ <input type="hidden" name="gstrate" value="0" />
+ </li>
+ [% END %]
<li>
<label for="discount">Discount: </label>
[% IF ( close ) %]
<label for="invoice_gstno">Don't include tax</label> <input type="radio" id="invoice_gstno" name="invoice_gst" value="0" checked="checked" />
[% END %]</li>
</ol>
- <ol>
- <li>
+ [% IF gst_values %]
+ <ol>
+ <li>
<label for="gst">Tax rate</label>
<select name="gstrate" id="gstrate">
[% FOREACH gst IN gst_values %]
[% END %]
[% END %]
</select>
- </li>
- </ol>
+ </li>
+ </ol>
+ [% ELSE %]
+ <input type="hidden" name="gstrate" value="0" />
+ [% END %]
<ol>
<li><label for="discount">Discount</label>
<input type="text" size="6" id="discount" name="discount" value="[% discount %]" />%</li>