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

(-)a/C4/Serials.pm (+35 lines)
Lines 53-58 BEGIN { Link Here
53
      &check_routing &updateClaim &removeMissingIssue
53
      &check_routing &updateClaim &removeMissingIssue
54
      &CountIssues
54
      &CountIssues
55
      HasItems
55
      HasItems
56
      &getAttachedSubscriptions 
56
57
57
    );
58
    );
58
}
59
}
Lines 2161-2166 sub in_array { # used in next sub down Link Here
2161
    return 0;
2162
    return 0;
2162
}
2163
}
2163
2164
2165
=head2 getAttachedSubscriptions
2166
2167
($count,@routinglist) = getAttachedSubscriptions($borrowernumber)
2168
2169
this gets the info from subscriptionroutinglist for each $subscriptionid
2170
2171
return :
2172
a count of the serial subscription routing lists to which a patron belongs,
2173
with the titles of those serial subscriptions as an array. Each element of the array
2174
contains a hash_ref with subscriptionID and title of subscription.
2175
2176
=cut
2177
2178
sub getAttachedSubscriptions {
2179
    my ($borrowernumber) = @_;
2180
    my $dbh              = C4::Context->dbh;
2181
    my $sth              = $dbh->prepare(
2182
        "SELECT subscription.subscriptionid, biblio.title
2183
			FROM subscription
2184
			JOIN biblio ON biblio.biblionumber = subscription.biblionumber
2185
			JOIN subscriptionroutinglist ON subscriptionroutinglist.subscriptionid = subscription.subscriptionid
2186
			WHERE subscriptionroutinglist.borrowernumber = ? ORDER BY title ASC
2187
                               "
2188
    );
2189
    $sth->execute($borrowernumber);
2190
    my @routinglist;
2191
    my $count = 0;
2192
    while ( my $line = $sth->fetchrow_hashref ) {
2193
        $count++;
2194
        push( @routinglist, $line );
2195
    }
2196
    return ( $count, @routinglist );
2197
}
2198
2164
=head2 GetNextDate
2199
=head2 GetNextDate
2165
2200
2166
$resultdate = GetNextDate($planneddate,$subscription)
2201
$resultdate = GetNextDate($planneddate,$subscription)
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc (+1 lines)
Lines 69-74 Link Here
69
	 [% IF ( CAN_user_updatecharges ) %]
69
	 [% IF ( CAN_user_updatecharges ) %]
70
	[% IF ( finesview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrowernumber %]">Fines</a></li>
70
	[% IF ( finesview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrowernumber %]">Fines</a></li>
71
	[% END %]
71
	[% END %]
72
	[% IF ( routinglistview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/routing-lists.pl?borrowernumber=[% borrowernumber %]">Routing Lists</a></li>
72
	[% IF ( intranetreadinghistory ) %][% IF ( readingrecordview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/readingrec.pl?borrowernumber=[% borrowernumber %]">Circulation History</a></li>[% END %]
73
	[% IF ( intranetreadinghistory ) %][% IF ( readingrecordview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/readingrec.pl?borrowernumber=[% borrowernumber %]">Circulation History</a></li>[% END %]
73
	[% IF ( CAN_user_parameters ) %][% IF ( logview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/tools/viewlog.pl?do_it=1&amp;modules=MEMBERS&amp;modules=circulation&amp;object=[% borrowernumber %]&amp;src=circ">Modification Log</a></li>[% END %]
74
	[% IF ( CAN_user_parameters ) %][% IF ( logview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/tools/viewlog.pl?do_it=1&amp;modules=MEMBERS&amp;modules=circulation&amp;object=[% borrowernumber %]&amp;src=circ">Modification Log</a></li>[% END %]
74
    [% IF ( EnhancedMessagingPreferences ) %]
75
    [% IF ( EnhancedMessagingPreferences ) %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/routing-lists.tt (+80 lines)
Line 0 Link Here
1
[% INCLUDE 'doc-head-open.inc' %]
2
<title>Subscription Routing Lists for [% INCLUDE 'patron-title.inc' %]</title>
3
[% INCLUDE 'doc-head-close.inc' %]
4
</head>
5
<body>
6
[% INCLUDE 'header.inc' %]
7
[% INCLUDE 'patron-search.inc' %]
8
9
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>  &rsaquo; Subscription Routing Lists for [% INCLUDE 'patron-title.inc' %]</div>
10
11
<div id="doc3" class="yui-t2">
12
    <div id="bd">
13
    <div id="yui-main">
14
    <div class="yui-b">
15
[% INCLUDE 'circ-toolbar.inc' %]
16
17
<!-- Search Bar -->
18
<p class="tip">Search Subscriptions:</p>
19
<form action="/cgi-bin/koha/serials/serials-home.pl" method="get" target="_blank">[% IF ( routing ) %]<input type="hidden" name="routing" value="[% routing %]" />[% END %]<input type="hidden" name="searched" value="1" /> <label for="ISSN_filter">ISSN:</label> <input type="text" size="10" maxlength="11" name="ISSN_filter" id="ISSN_filter" value="[% ISSN_filter %]" /> <label for="title_filter">Title:</label> <input type="text" size="20" maxlength="40" name="title_filter" id="title_filter" value="[% title_filter %]" /><input type="submit" value="Search" class="submit" />
20
</form>
21
<!-- Search Bar End -->
22
23
<h1>
24
[% IF ( countSubscrip ) %]
25
[% countSubscrip %] Subscription Routing List(s)
26
[% ELSE %]
27
0 Subscription Routing Lists
28
[% END %]
29
</h1>
30
31
<div id="subscriptions">
32
[% IF ( subscripLoop ) %]
33
<table id="subscriptiont">
34
              <thead>
35
                <tr>
36
                  <th>Subscription Title</th>
37
                  <th>Routing List</th>
38
                </tr>
39
              </thead>
40
              <tbody>
41
[% FOREACH subscripLoop IN subscripLoop %]
42
<tr>
43
    <td>
44
    <a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscripLoop.subscriptionid %]" target="_blank"><strong>
45
    [% subscripLoop.title %]
46
    </strong>
47
                    </a>
48
                  </td>
49
                  <td>
50
                    <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscripLoop.subscriptionid %]" target="_blank"><strong>
51
                    Edit Routing List
52
                      </strong>
53
                    </a>
54
                    <input type="hidden" name="biblionumber" value=""[% biblionumber %]" />
55
                    <input type="hidden" name="borrowernumber" value=""[% borrowernumber %]" />
56
                  </td>
57
                </tr>
58
                [% END %]
59
                </tbody>
60
            </table>
61
            </form>
62
          [% ELSE %]
63
          <p>Patron does not belong to any subscription routing lists.</p> 
64
          <input type="hidden" name="biblionumber" value=""[% biblionumber %]" />
65
                    <input type="hidden" name="borrowernumber" value=""[% borrowernumber %]" />
66
                    [% END %]
67
                   
68
</div>
69
70
                  
71
72
73
</div>
74
</div>
75
76
<div class="yui-b">
77
[% INCLUDE 'circ-menu.inc' %]
78
</div>
79
</div>
80
[% INCLUDE 'intranet-bottom.inc' %]
(-)a/members/routing-lists.pl (-1 / +135 lines)
Line 0 Link Here
0
- 
1
#!/usr/bin/perl
2
3
# written 8/5/2002 by Finlay
4
5
# Copyright 2000-2002 Katipo Communications
6
#
7
# This file is part of Koha.
8
#
9
# Koha is free software; you can redistribute it and/or modify it under the
10
# terms of the GNU General Public License as published by the Free Software
11
# Foundation; either version 2 of the License, or (at your option) any later
12
# version.
13
#
14
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
15
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
16
# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
17
#
18
# You should have received a copy of the GNU General Public License along
19
# with Koha; if not, write to the Free Software Foundation, Inc.,
20
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21
22
use strict;
23
#use warnings; FIXME - Bug 2505 
24
use CGI;
25
use C4::Output;
26
use C4::Auth qw/:DEFAULT get_session/;
27
use C4::Branch; # GetBranches
28
use C4::Members;
29
use C4::Context;
30
use C4::Serials; #ejb2012 needed for subscription tab
31
use CGI::Session;
32
33
my $query = new CGI;
34
35
my $sessionID = $query->cookie("CGISESSID") ;
36
my $session = get_session($sessionID);
37
38
# branch are now defined by the userenv
39
# but first we have to check if someone has tried to change them
40
41
my $branch = $query->param('branch');
42
if ($branch){
43
    # update our session so the userenv is updated
44
    $session->param('branch', $branch);
45
    $session->param('branchname', GetBranchName($branch));
46
}
47
48
my ( $template, $loggedinuser, $cookie ) = get_template_and_user (
49
    {
50
        template_name   => 'members/routing-lists.tt',
51
        query           => $query,
52
        type            => "intranet",
53
        authnotrequired => 0,
54
        flagsrequired   => { circulate => 'circulate_remaining_permissions' },
55
    }
56
);
57
58
my $branches = GetBranches();
59
60
my $findborrower = $query->param('findborrower');
61
$findborrower =~ s|,| |g;
62
63
my $borrowernumber = $query->param('borrowernumber');
64
65
$branch  = C4::Context->userenv->{'branch'};  
66
67
# get the borrower information.....
68
my $borrower;
69
if ($borrowernumber) {
70
    $borrower = GetMemberDetails( $borrowernumber, 0 );
71
}
72
73
74
##################################################################################
75
# BUILD HTML
76
# I'm trying to show the title of subscriptions where the borrowernumber is attached via a routing list
77
78
if ($borrowernumber) {
79
# new op dev
80
  my $count;
81
  my @borrowerSubscriptions;
82
  ($count, @borrowerSubscriptions) = getAttachedSubscriptions($borrowernumber );
83
  my @subscripLoop;
84
  
85
    foreach my $num_res (@borrowerSubscriptions) {
86
        my %getSubscrip;
87
        $getSubscrip{subscriptionid}	= $num_res->{'subscriptionid'};
88
        $getSubscrip{title}			= $num_res->{'title'};
89
        $getSubscrip{borrowernumber}		= $num_res->{'borrowernumber'};
90
        push( @subscripLoop, \%getSubscrip ); 
91
    }
92
    
93
    $template->param( 
94
        countSubscrip => scalar @subscripLoop,
95
        subscripLoop  => \@subscripLoop,
96
        routinglistview => 1          
97
    );
98
    
99
    $template->param( adultborrower => 1 ) if ( $borrower->{'category_type'} eq 'A' );
100
}
101
102
##################################################################################
103
104
105
# Computes full borrower address
106
my (undef, $roadttype_hashref) = &GetRoadTypes();
107
my $address = $borrower->{'streetnumber'}.' '.$roadttype_hashref->{$borrower->{'streettype'}}.' '.$borrower->{'address'};
108
109
$template->param(
110
    
111
    findborrower      => $findborrower,
112
    borrower          => $borrower,
113
    borrowernumber    => $borrowernumber,
114
    branch            => $branch,
115
    branchname        => GetBranchName($borrower->{'branchcode'}),
116
    firstname         => $borrower->{'firstname'},
117
    surname           => $borrower->{'surname'},
118
    categorycode      => $borrower->{'categorycode'},
119
    categoryname      => $borrower->{description},
120
    address           => $address,
121
    address2          => $borrower->{'address2'},
122
    email             => $borrower->{'email'},
123
    emailpro          => $borrower->{'emailpro'},
124
    borrowernotes     => $borrower->{'borrowernotes'},
125
    city              => $borrower->{'city'},
126
    zipcode           => $borrower->{'zipcode'},
127
    country           => $borrower->{'country'},
128
    phone             => $borrower->{'phone'} || $borrower->{'mobile'},
129
    cardnumber        => $borrower->{'cardnumber'},   
130
);
131
132
my ($picture, $dberror) = GetPatronImage($borrower->{'cardnumber'});
133
$template->param( picture => 1 ) if $picture;
134
135
output_html_with_http_headers $query, $cookie, $template->output;

Return to bug 7839