View | Details | Raw Unified | Return to bug 17674
Collapse All | Expand All

(-)a/C4/Serials.pm (+18 lines)
Lines 87-92 BEGIN { Link Here
87
      HasItems
87
      HasItems
88
      &GetSubscriptionsFromBorrower
88
      &GetSubscriptionsFromBorrower
89
      &subscriptionCurrentlyOnOrder
89
      &subscriptionCurrentlyOnOrder
90
      &GetSerialItemsInformations
90
91
91
    );
92
    );
92
}
93
}
Lines 2723-2729 sub _can_do_on_subscription { Link Here
2723
    }
2724
    }
2724
    return 0;
2725
    return 0;
2725
}
2726
}
2727
=head1 GetSerialItemsInformations
2728
=cut
2729
sub GetSerialItemsInformations{
2730
my (@serialid)=@_;
2731
my $i=0;
2732
my @serialitemsinformation;
2733
my $dbh = C4::Context->dbh;
2734
foreach my $sid(@serialid){
2735
        my $sth = $dbh->prepare("select count(i.itemnumber) as countitems,s.itemnumber as itemnumber  from items i  natural join  serialitems s where s.serialid=?");
2736
        $sth->execute($sid);
2737
        my $line   = $sth->fetchrow_hashref;
2738
        if($line->{'countitems'}){
2739
            push @serialitemsinformation,$line;
2740
        }
2741
}
2742
    return @serialitemsinformation;
2726
2743
2744
}
2727
=head2 findSerialsByStatus
2745
=head2 findSerialsByStatus
2728
2746
2729
    @serials = findSerialsByStatus($status, $subscriptionid);
2747
    @serials = findSerialsByStatus($status, $subscriptionid);
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt (-3 / +76 lines)
Lines 14-19 Link Here
14
14
15
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> &rsaquo; Serial collection information for  <i>[% bibliotitle %]</i></div>
15
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> &rsaquo; Serial collection information for  <i>[% bibliotitle %]</i></div>
16
16
17
[% IF ( delete ) %]
18
 <div class="yui-g">
19
 <div id="circ_needsconfirmation" class="dialog alert">
20
   <h3>Are you sure delete <b> [% serialnumber %] </b> selected serials</h3>
21
   <form action="/cgi-bin/koha/serials/serials-collection.pl/#">
22
           <h5>Delete associated items <input type="radio" name="delitems" value="Yes">Yes
23
           <input type="radio" name="delitems" value="No" checked>No</h5>
24
           <h5>Number of items available <b>: [% countitems %] </b> </h5>
25
           <input type="hidden" name="subscriptionid" value="[% subscriptionid %]" />
26
           <input type="hidden" name="serialsid" value="[% serialsid %]" />
27
           <input type="hidden" name="confdelete" value="1" />
28
           <input type="submit" class="approve" value="Yes, delete"/>
29
       </form>
30
       <form action=""/cgi-bin/koha/serials/serials-collection.pl/#">
31
           <input type="hidden" name="subscriptionid" value="[% subscriptionid %]" />
32
           <input type="submit" class="deny" value="No, don't delete"/>
33
       </form>
34
   </div>
35
 </div>
36
 [% END %]
17
<div id="doc3" class="yui-t2">
37
<div id="doc3" class="yui-t2">
18
   
38
   
19
   <div id="bd">
39
   <div id="bd">
Lines 116-121 Link Here
116
                <input type="button" value="Generate next" onclick="javascript:generateNext([% subscriptionidlist %])" />
136
                <input type="button" value="Generate next" onclick="javascript:generateNext([% subscriptionidlist %])" />
117
                [% IF ( subscriptions.size == 1 and !serialsadditems ) %]&nbsp;<input type="button" value="Multi receiving" onclick="javascript:generateReceive([% subscriptionidlist %])" />[% END %]
137
                [% IF ( subscriptions.size == 1 and !serialsadditems ) %]&nbsp;<input type="button" value="Multi receiving" onclick="javascript:generateReceive([% subscriptionidlist %])" />[% END %]
118
            [% END %]
138
            [% END %]
139
            <input type="button" value="Delete selected issues" onclick="javascript:deleteIssues([% subscriptionidlist %])"/>
119
        </p>
140
        </p>
120
    [% END %]
141
    [% END %]
121
      <span class="checkall">
142
      <span class="checkall">
Lines 157-168 Link Here
157
                    disabled
178
                    disabled
158
                  [% ELSE %]
179
                  [% ELSE %]
159
                    [% IF ( serial.subscriptionexpired ) %]
180
                    [% IF ( serial.subscriptionexpired ) %]
160
                    <input type="checkbox" name="serialid" value="[% serial.serialid %]" disabled="disabled" />
181
                       <input type="checkbox" name="serialid" value="[% serial.serialid %]" disabled="disabled" />
161
                    [% ELSE %]
182
                    [% ELSE %]
162
                      [% IF ( serial.checked ) %]
183
                      [% IF ( serial.checked ) %]
163
                    <input type="checkbox" class="checkboxed" name="serialid" checked="checked" value="[% serial.serialid %]" />
184
                         [% IF ( delete ) %]
185
                            <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid %]" [% IF ( delete ) %] readonly [% END %] [% IF serialsid.grep("${serial.serialid}").size %] checked [% END %] />
186
                         [% ELSE %]
187
                            <input type="checkbox" class="checkboxed" name="serialid" checked="checked" value="[% serial.serialid %]" />
188
                         [% END %]
164
                      [% ELSE %]
189
                      [% ELSE %]
165
                    <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid %]" />
190
                         [% IF ( delete ) %]
191
                            <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid %]" [% IF ( delete ) %] readonly [% END %] [% IF serialsid.grep("${serial.serialid}").size %] checked [% END %] />
192
                         [% ELSE %]
193
                            <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid %]" />
194
                         [% END %]
166
                      [% END %]
195
                      [% END %]
167
                    [% END %]
196
                    [% END %]
168
                  [% END %]
197
                  [% END %]
Lines 278-283 Link Here
278
                document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid+'&nbissues='+nbissues;
307
                document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid+'&nbissues='+nbissues;
279
            }
308
            }
280
        }
309
        }
310
311
        function deleteIssues(subscriptionid) {
312
            var serialnumber=0;
313
            var serials="";
314
            var serialids = document.edition.serialid;
315
            for(i=0;i<serialids.length;i++){
316
                if (serialids[i].checked==true){
317
                    if (serials.length==0){
318
                        serials+=serialids[i].value;
319
                    }else{
320
                        serials+="!"+serialids[i].value;
321
                    }
322
                    serialnumber ++;
323
                }
324
            }
325
            if(serialnumber==0){
326
                alert("No serials selected");
327
            }else{
328
                document.location = 'serials-collection.pl?subscriptionid='+subscriptionid+'&op=delete&serialsid='+serials+'&serialnumber='+serialnumber;
329
            }
330
        }
331
332
        function addsubscriptionid() {
333
            var tab=new Array();
334
            var serialids = document.edition.serialid;
335
            for (i=0; i<serialids.length; i++){
336
              if (serialids[i].checked == true){
337
                var found=false;
338
                for (var val in tab){
339
                  if (tab[val] == document.getElementsByName("subs")[i].getAttribute('val')){found = true;}
340
                }
341
                if (found == false){
342
                  tab=tab.concat((document.getElementsByName("subs")[i].getAttribute('val')));
343
                }
344
              }
345
            }
346
            var string="";
347
            for (var val in tab){
348
              string = string + tab[val] + ",";
349
            }
350
            string=string.substring(0,string.length -1);
351
            document.edition.subscriptionid.value=string;
352
        }
353
281
        function print_slip(subscriptionid,issue){
354
        function print_slip(subscriptionid,issue){
282
            var myurl = 'routing-preview.pl?ok=1&subscriptionid='+subscriptionid+'&issue='+issue;
355
            var myurl = 'routing-preview.pl?ok=1&subscriptionid='+subscriptionid+'&issue='+issue;
283
            window.open(myurl,'PrintSlip','width=500,height=500,toolbar=no,scrollbars=yes');
356
            window.open(myurl,'PrintSlip','width=500,height=500,toolbar=no,scrollbars=yes');
(-)a/serials/serials-collection.pl (-3 / +33 lines)
Lines 24-29 use CGI qw ( -utf8 ); Link Here
24
use C4::Auth;
24
use C4::Auth;
25
use C4::Koha;
25
use C4::Koha;
26
use C4::Serials;
26
use C4::Serials;
27
use C4::Items;
27
use C4::Letters;
28
use C4::Letters;
28
use C4::Output;
29
use C4::Output;
29
use C4::Context;
30
use C4::Context;
Lines 47-57 my ($template, $loggedinuser, $cookie) Link Here
47
my $biblionumber = $query->param('biblionumber');
48
my $biblionumber = $query->param('biblionumber');
48
my @subscriptionid = $query->multi_param('subscriptionid');
49
my @subscriptionid = $query->multi_param('subscriptionid');
49
50
51
my $serialsid=$query->param('serialsid');
52
my $serialnumber=$query->param('serialnumber');
53
my $confdelete=$query->param('confdelete');
54
my $delitems=$query->param('delitems');
50
@subscriptionid= uniq @subscriptionid;
55
@subscriptionid= uniq @subscriptionid;
51
@subscriptionid= sort @subscriptionid;
56
@subscriptionid= sort @subscriptionid;
52
my $subscriptiondescs;
57
my $subscriptiondescs;
53
my $subscriptions;
58
my $subscriptions;
54
59
my $delete;
60
my $countitems=0;
61
my @ids=split("!",$serialsid);
62
my @serialitemsinformation=GetSerialItemsInformations(@ids);
63
my $subscriptionid = $subscriptionid[0];
55
if($op eq 'gennext' && @subscriptionid){
64
if($op eq 'gennext' && @subscriptionid){
56
    my $subscriptionid = $subscriptionid[0];
65
    my $subscriptionid = $subscriptionid[0];
57
    my $sth = $dbh->prepare("
66
    my $sth = $dbh->prepare("
Lines 101-106 if($op eq 'gennext' && @subscriptionid){ Link Here
101
    print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid);
110
    print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid);
102
}
111
}
103
112
113
if($op eq 'delete'){
114
    $delete=1;
115
    foreach my $line (@serialitemsinformation){
116
        $countitems+=$line->{'countitems'};
117
    }
118
}
119
if($confdelete){
120
    for my $id(@ids){
121
        ModSerialStatus($id,"","","","",6);
122
    }
123
    if($delitems eq "Yes"){
124
        foreach my $line (@serialitemsinformation){
125
            DelItem($line);
126
        }
127
    }
128
print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid);
129
}
104
my $subscriptioncount;
130
my $subscriptioncount;
105
my ($location, $callnumber);
131
my ($location, $callnumber);
106
if (@subscriptionid){
132
if (@subscriptionid){
Lines 172-177 $template->param( Link Here
172
          callnumber	       => $callnumber,
198
          callnumber	       => $callnumber,
173
          uc(C4::Context->preference("marcflavour")) => 1,
199
          uc(C4::Context->preference("marcflavour")) => 1,
174
          serialsadditems   => $subscriptiondescs->[0]{'serialsadditems'},
200
          serialsadditems   => $subscriptiondescs->[0]{'serialsadditems'},
175
          );
201
          subscriptionid =>$subscriptionid,
202
          delete =>$delete,
203
          serialsid =>$serialsid,
204
          serialnumber =>$serialnumber,
205
          countitems =>$countitems,
206
      );
176
207
177
output_html_with_http_headers $query, $cookie, $template->output;
208
output_html_with_http_headers $query, $cookie, $template->output;
178
- 

Return to bug 17674