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

(-)a/C4/Serials.pm (+18 lines)
Lines 85-90 BEGIN { Link Here
85
      &CountIssues
85
      &CountIssues
86
      HasItems
86
      HasItems
87
      &subscriptionCurrentlyOnOrder
87
      &subscriptionCurrentlyOnOrder
88
      &GetSerialItemsInformations
88
89
89
    );
90
    );
90
}
91
}
Lines 2594-2600 sub _can_do_on_subscription { Link Here
2594
    }
2595
    }
2595
    return 0;
2596
    return 0;
2596
}
2597
}
2598
=head1 GetSerialItemsInformations
2599
=cut
2600
sub GetSerialItemsInformations{
2601
my (@serialid)=@_;
2602
my $i=0;
2603
my @serialitemsinformation;
2604
my $dbh = C4::Context->dbh;
2605
foreach my $sid(@serialid){
2606
        my $sth = $dbh->prepare("select count(i.itemnumber) as countitems,s.itemnumber as itemnumber  from items i  natural join  serialitems s where s.serialid=?");
2607
        $sth->execute($sid);
2608
        my $line   = $sth->fetchrow_hashref;
2609
        if($line->{'countitems'}){
2610
            push @serialitemsinformation,$line;
2611
        }
2612
}
2613
    return @serialitemsinformation;
2597
2614
2615
}
2598
=head2 findSerialsByStatus
2616
=head2 findSerialsByStatus
2599
2617
2600
    @serials = findSerialsByStatus($status, $subscriptionid);
2618
    @serials = findSerialsByStatus($status, $subscriptionid);
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt (-3 / +80 lines)
Lines 16-21 Link Here
16
16
17
<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 | html %]</i></div>
17
<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 | html %]</i></div>
18
18
19
[% IF ( delete ) %]
20
 <div class="yui-g">
21
 <div id="circ_needsconfirmation" class="dialog alert">
22
   <h3>Are you sure delete <b> [% serialnumber %] </b> selected serials</h3>
23
   <form action="/cgi-bin/koha/serials/serials-collection.pl/#">
24
           <h5>Delete associated items <input type="radio" name="delitems" value="Yes">Yes
25
           <input type="radio" name="delitems" value="No" checked>No</h5>
26
           <h5>Number of items available <b>: [% countitems %] </b> </h5>
27
           <input type="hidden" name="subscriptionid" value="[% subscriptionid %]" />
28
           <input type="hidden" name="serialsid" value="[% serialsid %]" />
29
           <input type="hidden" name="confdelete" value="1" />
30
           <input type="submit" class="approve" value="Yes, delete"/>
31
       </form>
32
       <form action=""/cgi-bin/koha/serials/serials-collection.pl/#">
33
           <input type="hidden" name="subscriptionid" value="[% subscriptionid %]" />
34
           <input type="submit" class="deny" value="No, don't delete"/>
35
       </form>
36
   </div>
37
 </div>
38
 [% END %]
19
<div id="doc3" class="yui-t2">
39
<div id="doc3" class="yui-t2">
20
   
40
   
21
   <div id="bd">
41
   <div id="bd">
Lines 121-126 Link Here
121
                    <div class="btn-group"><input type="button" value="Multi receiving" href="#multi_receiving" class="btn btn-default btn-sm" data-toggle="modal"></div>
141
                    <div class="btn-group"><input type="button" value="Multi receiving" href="#multi_receiving" class="btn btn-default btn-sm" data-toggle="modal"></div>
122
                [% END %]
142
                [% END %]
123
            [% END %]
143
            [% END %]
144
            <input type="button" value="Delete selected issues" onclick="javascript:deleteIssues([% subscriptionidlist %])"/>
124
        </p>
145
        </p>
125
    [% END %]
146
    [% END %]
126
      <span class="checkall">
147
      <span class="checkall">
Lines 162-173 Link Here
162
                    disabled
183
                    disabled
163
                  [% ELSE %]
184
                  [% ELSE %]
164
                    [% IF ( serial.subscriptionexpired ) %]
185
                    [% IF ( serial.subscriptionexpired ) %]
165
                    <input type="checkbox" name="serialid" value="[% serial.serialid | html %]" disabled="disabled" />
186
                       <input type="checkbox" name="serialid" value="[% serial.serialid | html %]" disabled="disabled" />
166
                    [% ELSE %]
187
                    [% ELSE %]
167
                      [% IF ( serial.checked ) %]
188
                      [% IF ( serial.checked ) %]
168
                    <input type="checkbox" class="checkboxed" name="serialid" checked="checked" value="[% serial.serialid | html %]" />
189
                         [% IF ( delete ) %]
190
                            <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid | html %]" [% IF ( delete ) %] readonly [% END %] [% IF serialsid.grep("${serial.serialid}").size %] checked [% END %] />
191
                         [% ELSE %]
192
                            <input type="checkbox" class="checkboxed" name="serialid" checked="checked" value="[% serial.serialid | html %]" />
193
                         [% END %]
169
                      [% ELSE %]
194
                      [% ELSE %]
170
                    <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid | html %]" />
195
                         [% IF ( delete ) %]
196
                            <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid | html %]" [% IF ( delete ) %] readonly [% END %] [% IF serialsid.grep("${serial.serialid}").size %] checked [% END %] />
197
                         [% ELSE %]
198
                            <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid | html %]" />
199
                         [% END %]
171
                      [% END %]
200
                      [% END %]
172
                    [% END %]
201
                    [% END %]
173
                  [% END %]
202
                  [% END %]
Lines 279-284 Link Here
279
    [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
308
    [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
280
309
281
    <script type="text/javascript">
310
    <script type="text/javascript">
311
        function generateReceive(subscriptionid) {
312
            if(nbissues=prompt(_("How many issues do you want to receive ?"))){
313
                document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid+'&nbissues='+nbissues;
314
            }
315
        }
316
317
        function deleteIssues(subscriptionid) {
318
            var serialnumber=0;
319
            var serials="";
320
            var serialids = document.edition.serialid;
321
            for(i=0;i<serialids.length;i++){
322
                if (serialids[i].checked==true){
323
                    if (serials.length==0){
324
                        serials+=serialids[i].value;
325
                    }else{
326
                        serials+="!"+serialids[i].value;
327
                    }
328
                    serialnumber ++;
329
                }
330
            }
331
            if(serialnumber==0){
332
                alert("No serials selected");
333
            }else{
334
                document.location = 'serials-collection.pl?subscriptionid='+subscriptionid+'&op=delete&serialsid='+serials+'&serialnumber='+serialnumber;
335
            }
336
        }
337
338
        function addsubscriptionid() {
339
            var tab=new Array();
340
            var serialids = document.edition.serialid;
341
            for (i=0; i<serialids.length; i++){
342
              if (serialids[i].checked == true){
343
                var found=false;
344
                for (var val in tab){
345
                  if (tab[val] == document.getElementsByName("subs")[i].getAttribute('val')){found = true;}
346
                }
347
                if (found == false){
348
                  tab=tab.concat((document.getElementsByName("subs")[i].getAttribute('val')));
349
                }
350
              }
351
            }
352
            var string="";
353
            for (var val in tab){
354
              string = string + tab[val] + ",";
355
            }
356
            string=string.substring(0,string.length -1);
357
            document.edition.subscriptionid.value=string;
358
        }
282
359
283
        function print_slip(subscriptionid,issue){
360
        function print_slip(subscriptionid,issue){
284
            var myurl = 'routing-preview.pl?ok=1&subscriptionid='+subscriptionid+'&issue='+issue;
361
            var myurl = 'routing-preview.pl?ok=1&subscriptionid='+subscriptionid+'&issue='+issue;
(-)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 50-60 my ($template, $loggedinuser, $cookie) Link Here
50
my $biblionumber = $query->param('biblionumber');
51
my $biblionumber = $query->param('biblionumber');
51
my @subscriptionid = $query->multi_param('subscriptionid');
52
my @subscriptionid = $query->multi_param('subscriptionid');
52
53
54
my $serialsid=$query->param('serialsid');
55
my $serialnumber=$query->param('serialnumber');
56
my $confdelete=$query->param('confdelete');
57
my $delitems=$query->param('delitems');
53
@subscriptionid= uniq @subscriptionid;
58
@subscriptionid= uniq @subscriptionid;
54
@subscriptionid= sort @subscriptionid;
59
@subscriptionid= sort @subscriptionid;
55
my $subscriptiondescs;
60
my $subscriptiondescs;
56
my $subscriptions;
61
my $subscriptions;
57
62
my $delete;
63
my $countitems=0;
64
my @ids=split("!",$serialsid);
65
my @serialitemsinformation=GetSerialItemsInformations(@ids);
66
my $subscriptionid = $subscriptionid[0];
58
if($op eq 'gennext' && @subscriptionid){
67
if($op eq 'gennext' && @subscriptionid){
59
    my $subscriptionid = $subscriptionid[0];
68
    my $subscriptionid = $subscriptionid[0];
60
    my $sth = $dbh->prepare("
69
    my $sth = $dbh->prepare("
Lines 106-111 if($op eq 'gennext' && @subscriptionid){ Link Here
106
    print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid);
115
    print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid);
107
}
116
}
108
117
118
if($op eq 'delete'){
119
    $delete=1;
120
    foreach my $line (@serialitemsinformation){
121
        $countitems+=$line->{'countitems'};
122
    }
123
}
124
if($confdelete){
125
    for my $id(@ids){
126
        ModSerialStatus($id,"","","","",6);
127
    }
128
    if($delitems eq "Yes"){
129
        foreach my $line (@serialitemsinformation){
130
            DelItem($line);
131
        }
132
    }
133
print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid);
134
}
109
my $subscriptioncount;
135
my $subscriptioncount;
110
my ($location, $callnumber);
136
my ($location, $callnumber);
111
if (@subscriptionid){
137
if (@subscriptionid){
Lines 177-182 $template->param( Link Here
177
          callnumber	       => $callnumber,
203
          callnumber	       => $callnumber,
178
          uc(C4::Context->preference("marcflavour")) => 1,
204
          uc(C4::Context->preference("marcflavour")) => 1,
179
          serialsadditems   => $subscriptiondescs->[0]{'serialsadditems'},
205
          serialsadditems   => $subscriptiondescs->[0]{'serialsadditems'},
180
          );
206
          subscriptionid =>$subscriptionid,
207
          delete =>$delete,
208
          serialsid =>$serialsid,
209
          serialnumber =>$serialnumber,
210
          countitems =>$countitems,
211
      );
181
212
182
output_html_with_http_headers $query, $cookie, $template->output;
213
output_html_with_http_headers $query, $cookie, $template->output;
183
- 

Return to bug 17674