Final patch for serials planning bugs
This patch resolves bug 1580 and addresses the modification of firstacquidate as per hdl's comments. I have also removed some useless javascript from subscription-detail, and just reported the number of irregular issues there (previously was reporting nothing since the js was broken). Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This commit is contained in:
parent
830d1f19b4
commit
0c66ac6702
|
|
@ -1262,8 +1262,6 @@ C<$date> is a C4::Dates object.
|
|||
|
||||
sub ModNextExpected($$) {
|
||||
my ($subscriptionid,$date) = @_;
|
||||
warn $subscriptionid;
|
||||
warn $date->output('iso');
|
||||
my $dbh = C4::Context->dbh;
|
||||
#FIXME: Would expect to only set planneddate, but we set both on new issue creation, so updating it here
|
||||
my $sth = $dbh->prepare('UPDATE serial SET planneddate=?,publisheddate=? WHERE subscriptionid=? AND status=?');
|
||||
|
|
|
|||
|
|
@ -892,6 +892,7 @@ function Check(f) {
|
|||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
init_pattern();
|
||||
<!-- TMPL_IF name="mod" -->
|
||||
set_num_pattern_from_template_vars();
|
||||
<!-- TMPL_IF name="hemisphere" -->
|
||||
|
|
@ -902,7 +903,6 @@ $(document).ready(function() {
|
|||
<!-- TMPL_IF name="irregularity" -->
|
||||
irregularity_check();
|
||||
<!-- /TMPL_IF -->
|
||||
init_pattern();
|
||||
$('#numberpattern').change( function() {
|
||||
reset_num_pattern();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -24,61 +24,6 @@ var textbox = '';
|
|||
}
|
||||
}
|
||||
|
||||
function irregularity(){
|
||||
var periodicity = '<!-- TMPL_VAR NAME="periodicity"-->';
|
||||
switch(periodicity){
|
||||
case "1":
|
||||
var names = new Array(_("Monday"),_("Tuesday"),_("Wednesday"),_("Thursday"),_("Friday"),_("Saturday"),_("Sunday"));
|
||||
break;
|
||||
case "2":
|
||||
<!-- TMPL_IF NAME="weekarrayjs" -->
|
||||
var names = new Array(<!-- TMPL_VAR NAME="weekarrayjs" -->);
|
||||
<!-- /TMPL_IF -->
|
||||
break;
|
||||
case "3":
|
||||
<!-- TMPL_IF NAME="weekarrayjs" -->
|
||||
var names = new Array(<!-- TMPL_VAR NAME="weekarrayjs" -->);
|
||||
<!-- /TMPL_IF -->
|
||||
break;
|
||||
case "4":
|
||||
<!-- TMPL_IF NAME="weekarrayjs" -->
|
||||
var names = new Array(<!-- TMPL_VAR NAME="weekarrayjs" -->);
|
||||
<!-- /TMPL_IF -->
|
||||
break;
|
||||
case "5":
|
||||
var names = new Array(_("January"),_("February"),_("March"),_("April"),_("May"),_("June"),_("July"),_("August"),_("September"),_("October"),_("November"),_("December"));
|
||||
break;
|
||||
case "6":
|
||||
var names = new Array(_("January"),_("February"),_("March"),_("April"),_("May"),_("June"),_("July"),_("August"),_("September"),_("October"),_("November"),_("December"));
|
||||
break;
|
||||
case "7":
|
||||
var names = new Array(_("January"),_("February"),_("March"),_("April"),_("May"),_("June"),_("July"),_("August"),_("September"),_("October"),_("November"),_("December"));
|
||||
break;
|
||||
case "8":
|
||||
var names = new Array(_("Autumn"),_("Winter"),_("Spring"),_("Summer"),_("Fall"));
|
||||
break;
|
||||
case "9":
|
||||
var names = new Array(_("January"),_("February"),_("March"),_("April"),_("May"),_("June"),_("July"),_("August"),_("September"),_("October"),_("November"),_("December"));
|
||||
break;
|
||||
case "10":
|
||||
expected =1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
<!-- TMPL_IF NAME="irregularity" -->
|
||||
var irregular = '<!-- TMPL_VAR NAME="irregularity" -->';
|
||||
var irregarray = irregular.split('|');
|
||||
var irregtext = '<p>';
|
||||
for(var i=0;i<irregarray.length;i++){
|
||||
irregtext += names[i]+' ';
|
||||
}
|
||||
irregtext += '</p>';
|
||||
document.getElementById("irreg").innerHTML = irregtext;
|
||||
<!-- /TMPL_IF -->
|
||||
}
|
||||
|
||||
function confirm_deletion() {
|
||||
var is_confirmed = confirm(_("Are you sure you want to delete this subscription?"));
|
||||
if (is_confirmed) {
|
||||
|
|
@ -241,13 +186,11 @@ function popup(subscriptionid) {
|
|||
<!--/TMPL_IF-->
|
||||
</tr>
|
||||
</table>
|
||||
<!-- TMPL_IF NAME="irregularity" -->
|
||||
<p><label>Irregularity:</label>
|
||||
<div id="irreg"></div>
|
||||
<!-- TMPL_IF NAME="irregular_issues" -->
|
||||
<p><label>Irregularity:</label> <!-- TMPL_VAR name="irregular_issues" --> issues
|
||||
</p>
|
||||
<!-- /TMPL_IF -->
|
||||
<p><label>First arrival:</label>
|
||||
<!--TMPL_VAR name="firstacquidate" -->
|
||||
<p><label>First arrival:</label> <!--TMPL_VAR name="firstacquidate" -->
|
||||
</p>
|
||||
<!-- TMPL_IF name="numberlength" --><p><label>Number of issues:</label> <!-- TMPL_VAR name="numberlength" --></p><!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF name="weeklength" --><p><label>Number of weeks:</label> <!-- TMPL_VAR name="weeklength" --></p><!-- /TMPL_IF -->
|
||||
|
|
|
|||
|
|
@ -116,10 +116,8 @@ if ($op eq 'mod' || $op eq 'dup' || $op eq 'modsubscription') {
|
|||
$irregularity = $subs->{'irregularity'};
|
||||
$numberpattern = $subs->{'numberpattern'};
|
||||
$nextexpected = GetNextExpected($subscriptionid);
|
||||
$nextexpected->{ isfirstissue => ($nextexpected->{planneddate}->output('iso') eq $firstissuedate)};
|
||||
# firstacquidate is taken to be the upcoming issue's planned date if we're modifying the sub
|
||||
$nextexpected->{'isfirstissue'} = $nextexpected->{planneddate}->output('iso') eq $firstissuedate ;
|
||||
$subs->{nextacquidate} = $nextexpected->{planneddate}->output() if($op eq 'mod');
|
||||
|
||||
unless($op eq 'modsubscription') {
|
||||
if($subs->{numberlength} > 0){
|
||||
$sublength = $subs->{numberlength};
|
||||
|
|
@ -287,11 +285,10 @@ if ($op eq 'addsubscription') {
|
|||
my $librariannote = $query->param('librariannote');
|
||||
my $history_only = $query->param('history_only');
|
||||
# If it's a mod, we need to check the current 'expected' issue, and mod it in the serials table if necessary.
|
||||
# Here firstacquidate is interpreted as nextacquidate.
|
||||
|
||||
if ( $nextacquidate ne $nextexpected->{planneddate}->output('iso') ) {
|
||||
ModNextExpected($subscriptionid,C4::Dates->new($nextacquidate,'iso'));
|
||||
$firstissuedate = $nextexpected->{planneddate}->output('iso') if($nextexpected->{isfirstissue});
|
||||
# if we have not received any issues yet, then we also must change the firstacquidate for the subs.
|
||||
$firstissuedate = $nextacquidate if($nextexpected->{isfirstissue});
|
||||
}
|
||||
|
||||
if ($history_only) {
|
||||
|
|
|
|||
|
|
@ -64,24 +64,6 @@ my ($user, $sessionID, $flags);
|
|||
($user, $cookie, $sessionID, $flags)
|
||||
= checkauth($query, 0, {catalogue => 1}, "intranet");
|
||||
|
||||
my $weekarrayjs='';
|
||||
my $count = 0;
|
||||
my ($year, $month, $day) = Today;
|
||||
my $firstday = Day_of_Year($year,$month,$day);
|
||||
my ($wkno,$yr) = Week_of_Year($year,$month,$day); # week starting monday
|
||||
my $weekno = $wkno;
|
||||
for(my $i=$firstday;$i<($firstday+365);$i=$i+7){
|
||||
$count = $i;
|
||||
if($wkno > 52){$year++; $wkno=1;}
|
||||
if($count>365){$count=$i-365;}
|
||||
my ($y,$m,$d) = Add_Delta_Days($year,1,1, $count - 1);#Date_NthDayOfYear($year,$count);
|
||||
# padding Add_Delta_Days;
|
||||
my $output = sprintf("%04d-%02d-%02d",$y , $m, $d );
|
||||
$weekarrayjs .= "'Wk $wkno: ".format_date($output)."',";
|
||||
$wkno++;
|
||||
}
|
||||
chop($weekarrayjs);
|
||||
|
||||
# COMMENT hdl : IMHO, we should think about passing more and more data hash to template->param rather than duplicating code a new coding Guideline ?
|
||||
|
||||
$subs->{startdate} = format_date($subs->{startdate});
|
||||
|
|
@ -110,13 +92,12 @@ $template->param(
|
|||
C4::Context->userenv->{flags} !=1 &&
|
||||
C4::Context->userenv->{branch} && $subs->{branchcode} &&
|
||||
(C4::Context->userenv->{branch} ne $subs->{branchcode})),
|
||||
"periodicity".($subs->{periodicity}?$subs->{periodicity}:'0') => 1,
|
||||
"arrival".$subs->{dow} => 1,
|
||||
"numberpattern".$subs->{numberpattern} => 1,
|
||||
intranetstylesheet => C4::Context->preference("intranetstylesheet"),
|
||||
intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
|
||||
irregular_issues => scalar(split(/,/,$subs->{irregularity})),
|
||||
);
|
||||
$template->param(
|
||||
"periodicity".($subs->{periodicity}?$subs->{periodicity}:'0') => 1,
|
||||
"arrival".$subs->{dow} => 1,
|
||||
"numberpattern".$subs->{numberpattern} => 1,
|
||||
intranetstylesheet => C4::Context->preference("intranetstylesheet"),
|
||||
intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
|
||||
);
|
||||
|
||||
output_html_with_http_headers $query, $cookie, $template->output;
|
||||
|
|
|
|||
Loading…
Reference in New Issue