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

(-)a/C4/Housebound.pm (-77 / +49 lines)
Lines 23-29 use C4::Context; Link Here
23
use parent qw(Exporter);
23
use parent qw(Exporter);
24
24
25
our $VERSION = 3.02;
25
our $VERSION = 3.02;
26
our $debug   = $ENV{DEBUG} || 0;
27
our @EXPORT  = qw(
26
our @EXPORT  = qw(
28
  GetHouseboundDetails
27
  GetHouseboundDetails
29
  CreateHouseboundDetails
28
  CreateHouseboundDetails
Lines 75-88 $notes - freetext notes containing useful information about the patron (e.g. Link Here
75
74
76
sub GetHouseboundDetails {
75
sub GetHouseboundDetails {
77
    my ($borrowernumber) = @_;
76
    my ($borrowernumber) = @_;
78
    my $dbh = C4::Context->dbh;
79
    my $query;
80
    my $sth;
81
    if ($borrowernumber) {
77
    if ($borrowernumber) {
82
        $sth = $dbh->prepare("select * from housebound where borrowernumber=?");
78
        my $dbh = C4::Context->dbh;
79
        my $sth =
80
          $dbh->prepare('select * from housebound where borrowernumber=?');
83
        $sth->execute($borrowernumber);
81
        $sth->execute($borrowernumber);
84
        my $housebound = $sth->fetchrow_hashref;
82
        return $sth->fetchrow_hashref;
85
        return $housebound;
86
    }
83
    }
87
    return;
84
    return;
88
}
85
}
Lines 91-102 sub CreateHouseboundDetails { Link Here
91
    my ( $borrowernumber, $day, $frequency, $Itype_quant, $Item_subject,
88
    my ( $borrowernumber, $day, $frequency, $Itype_quant, $Item_subject,
92
        $Item_authors, $referral, $notes )
89
        $Item_authors, $referral, $notes )
93
      = @_;
90
      = @_;
94
    my $dbh = C4::Context->dbh;
95
    my $query;
96
    my $sth;
97
    if ($borrowernumber) {
91
    if ($borrowernumber) {
98
        $sth = $dbh->prepare(
92
        my $dbh = C4::Context->dbh;
99
"insert into housebound (day, frequency, borrowernumber, Itype_quant, Item_subject, Item_authors, referral, notes) values (?,?,?,?,?,?,?,?)"
93
        my $sth = $dbh->prepare(
94
'insert into housebound (day, frequency, borrowernumber, Itype_quant, Item_subject, Item_authors, referral, notes) values (?,?,?,?,?,?,?,?)'
100
        );
95
        );
101
        $sth->execute( $day, $frequency, $borrowernumber, $Itype_quant,
96
        $sth->execute( $day, $frequency, $borrowernumber, $Itype_quant,
102
            $Item_subject, $Item_authors, $referral, $notes );
97
            $Item_subject, $Item_authors, $referral, $notes );
Lines 105-120 sub CreateHouseboundDetails { Link Here
105
}
100
}
106
101
107
sub UpdateHouseboundDetails {
102
sub UpdateHouseboundDetails {
108
    my ($hbnumber,     $borrowernumber, $day,
103
    my (
104
        $hbnumber,     $borrowernumber, $day,
109
        $frequency,    $Itype_quant,    $Item_subject,
105
        $frequency,    $Itype_quant,    $Item_subject,
110
        $Item_authors, $referral,       $notes
106
        $Item_authors, $referral,       $notes
111
    ) = @_;
107
    ) = @_;
112
    my $dbh = C4::Context->dbh;
113
    my $query;
114
    my $sth;
115
    if ($hbnumber) {
108
    if ($hbnumber) {
116
        $sth = $dbh->prepare(
109
        my $dbh = C4::Context->dbh;
117
"update housebound set day=?,frequency=?,borrowernumber=?,Itype_quant=?,Item_subject=?,Item_authors=?,referral=?,notes=? where hbnumber=?"
110
        my $sth = $dbh->prepare(
111
'update housebound set day=?,frequency=?,borrowernumber=?,Itype_quant=?,Item_subject=?,Item_authors=?,referral=?,notes=? where hbnumber=?'
118
        );
112
        );
119
        $sth->execute(
113
        $sth->execute(
120
            $day,         $frequency,    $borrowernumber,
114
            $day,         $frequency,    $borrowernumber,
Lines 127-140 sub UpdateHouseboundDetails { Link Here
127
121
128
sub GetCurrentHouseboundInstanceList {
122
sub GetCurrentHouseboundInstanceList {
129
    my ($borrowernumber) = @_;
123
    my ($borrowernumber) = @_;
130
    my $dbh = C4::Context->dbh;
131
    my $query;
132
    my $sth;
133
    if ($borrowernumber) {
124
    if ($borrowernumber) {
134
125
        my $dbh = C4::Context->dbh;
135
#$sth = $dbh->prepare("select * from housebound_instance where borrowernumber=?");
126
        my $sth = $dbh->prepare(
136
        $sth = $dbh->prepare(
127
q|SELECT housebound_instance . * , concat( volunteer.firstname, ' ', volunteer.surname ) AS vol, concat(chooser.firstname, ' ', chooser.surname) as cho, concat(deliverer.firstname, ' ', deliverer.surname) as del FROM housebound_instance left JOIN borrowers volunteer ON volunteer.borrowernumber = housebound_instance.volunteer left join borrowers chooser on chooser.borrowernumber = housebound_instance.chooser left join borrowers deliverer on deliverer.borrowernumber = housebound_instance.deliverer where housebound_instance.borrowernumber=? order by housebound_instance.dmy desc|
137
"SELECT housebound_instance . * , concat( volunteer.firstname, ' ', volunteer.surname ) AS vol, concat(chooser.firstname, ' ', chooser.surname) as cho, concat(deliverer.firstname, ' ', deliverer.surname) as del FROM housebound_instance left JOIN borrowers volunteer ON volunteer.borrowernumber = housebound_instance.volunteer left join borrowers chooser on chooser.borrowernumber = housebound_instance.chooser left join borrowers deliverer on deliverer.borrowernumber = housebound_instance.deliverer where housebound_instance.borrowernumber=? order by housebound_instance.dmy desc"
138
        );
128
        );
139
        $sth->execute($borrowernumber);
129
        $sth->execute($borrowernumber);
140
        my $housebound_instances = $sth->fetchall_arrayref( {} );
130
        my $housebound_instances = $sth->fetchall_arrayref( {} );
Lines 145-155 sub GetCurrentHouseboundInstanceList { Link Here
145
135
146
sub GetVolunteerNameAndID {
136
sub GetVolunteerNameAndID {
147
    my ($borrowernumber) = @_;
137
    my ($borrowernumber) = @_;
148
    my $dbh = C4::Context->dbh;
149
    my $query;
150
    my $sth;
151
    if ($borrowernumber) {
138
    if ($borrowernumber) {
152
        $sth = $dbh->prepare(
139
        my $dbh = C4::Context->dbh;
140
        my $sth = $dbh->prepare(
153
"select borrowernumber,title,firstname,surname from borrowers where borrowernumber=?"
141
"select borrowernumber,title,firstname,surname from borrowers where borrowernumber=?"
154
        );
142
        );
155
        $sth->execute($borrowernumber);
143
        $sth->execute($borrowernumber);
Lines 161-187 sub GetVolunteerNameAndID { Link Here
161
149
162
sub GetVolunteerList {
150
sub GetVolunteerList {
163
    my $dbh = C4::Context->dbh;
151
    my $dbh = C4::Context->dbh;
164
    my $query;
152
    my $sth = $dbh->prepare(
165
    my $sth;
153
q|SELECT borrowernumber as volbornumber, concat(title, ' ', firstname, ' ', surname) as fullname from borrowers where categorycode='VOL' order by surname, firstname asc|
166
    $sth = $dbh->prepare(
167
"SELECT borrowernumber as volbornumber, concat(title, ' ', firstname, ' ', surname) as fullname from borrowers where categorycode='VOL' order by surname, firstname asc"
168
    );
154
    );
169
    $sth->execute();
155
    $sth->execute();
170
    my $volunteers = $sth->fetchall_arrayref( {} );
156
    return $sth->fetchall_arrayref( {} );
171
    return $volunteers;
172
}
157
}
173
158
174
sub GetHouseboundInstanceDetails {
159
sub GetHouseboundInstanceDetails {
175
    my ($instanceid) = @_;
160
    my ($instanceid) = @_;
176
    my $dbh = C4::Context->dbh;
177
    my $query;
178
    my $sth;
179
    if ($instanceid) {
161
    if ($instanceid) {
180
        $sth =
162
        my $dbh = C4::Context->dbh;
181
          $dbh->prepare("SELECT * from housebound_instance where instanceid=?");
163
        my $sth =
164
          $dbh->prepare('SELECT * from housebound_instance where instanceid=?');
182
        $sth->execute($instanceid);
165
        $sth->execute($instanceid);
183
        my $instancedetails = $sth->fetchrow_hashref;
166
        return $sth->fetchrow_hashref;
184
        return $instancedetails;
185
    }
167
    }
186
168
187
    # return undef if no instanceid
169
    # return undef if no instanceid
Lines 192-203 sub UpdateHouseboundInstanceDetails { Link Here
192
    my ( $instanceid, $hbnumber, $dmy, $time, $borrowernumber, $volunteer,
174
    my ( $instanceid, $hbnumber, $dmy, $time, $borrowernumber, $volunteer,
193
        $chooser, $deliverer )
175
        $chooser, $deliverer )
194
      = @_;
176
      = @_;
195
    my $dbh = C4::Context->dbh;
196
    my $query;
197
    my $sth;
198
    if ($hbnumber) {
177
    if ($hbnumber) {
199
        $sth = $dbh->prepare(
178
        my $dbh = C4::Context->dbh;
200
"update housebound_instance set hbnumber=?, dmy=?, time=?, borrowernumber=?, volunteer=?, chooser=?, deliverer=? where instanceid=?"
179
        my $sth = $dbh->prepare(
180
'update housebound_instance set hbnumber=?, dmy=?, time=?, borrowernumber=?, volunteer=?, chooser=?, deliverer=? where instanceid=?'
201
        );
181
        );
202
        $sth->execute( $hbnumber, $dmy, $time, $borrowernumber, $volunteer,
182
        $sth->execute( $hbnumber, $dmy, $time, $borrowernumber, $volunteer,
203
            $chooser, $deliverer, $instanceid );
183
            $chooser, $deliverer, $instanceid );
Lines 209-220 sub CreateHouseboundInstanceDetails { Link Here
209
    my ( $hbnumber, $dmy, $time, $borrowernumber, $volunteer, $chooser,
189
    my ( $hbnumber, $dmy, $time, $borrowernumber, $volunteer, $chooser,
210
        $deliverer )
190
        $deliverer )
211
      = @_;
191
      = @_;
212
    my $dbh = C4::Context->dbh;
213
    my $query;
214
    my $sth;
215
    if ($borrowernumber) {
192
    if ($borrowernumber) {
216
        $sth = $dbh->prepare(
193
        my $dbh = C4::Context->dbh;
217
"insert into housebound_instance (hbnumber, dmy, time, borrowernumber, volunteer, chooser, deliverer) values (?,?,?,?,?,?,?)"
194
        my $sth = $dbh->prepare(
195
'insert into housebound_instance (hbnumber, dmy, time, borrowernumber, volunteer, chooser, deliverer) values (?,?,?,?,?,?,?)'
218
        );
196
        );
219
        $sth->execute( $hbnumber, $dmy, $time, $borrowernumber, $volunteer,
197
        $sth->execute( $hbnumber, $dmy, $time, $borrowernumber, $volunteer,
220
            $chooser, $deliverer );
198
            $chooser, $deliverer );
Lines 224-262 sub CreateHouseboundInstanceDetails { Link Here
224
202
225
sub DeleteHouseboundInstanceDetails {
203
sub DeleteHouseboundInstanceDetails {
226
    my ($instanceid) = @_;
204
    my ($instanceid) = @_;
227
    my $dbh = C4::Context->dbh;
228
    my $query;
229
    my $sth;
230
    if ($instanceid) {
205
    if ($instanceid) {
231
        $sth =
206
        my $dbh = C4::Context->dbh;
232
          $dbh->prepare("delete from housebound_instance where instanceid=?");
207
        my $sth =
208
          $dbh->prepare('delete from housebound_instance where instanceid=?');
233
        $sth->execute($instanceid);
209
        $sth->execute($instanceid);
234
    }
210
    }
235
    return;
211
    return;
236
}
212
}
237
213
238
sub CheckPrevIssue {
214
sub CheckPrevIssue {
239
	my ($borrowernumber,$biblionumber) = @_;
215
    my ( $borrowernumber, $biblionumber ) = @_;
240
	my $dbh = C4::Context->dbh;
216
    my $dbh       = C4::Context->dbh;
241
    my $query;
217
    my $previssue = 0;
242
    my $item;
218
    my $sth =
243
    my $sth;
219
      $dbh->prepare('select itemnumber from items where biblionumber=?');
244
    my $previssue=0;
245
    $sth = $dbh->prepare("select itemnumber from items where biblionumber=?");
246
    $sth->execute($biblionumber);
220
    $sth->execute($biblionumber);
247
    while(my @row=$sth->fetchrow_array())
221
248
    {
222
    my $query = $dbh->prepare(
249
	$query = $dbh->prepare("select count(itemnumber) from old_issues where borrowernumber=? and itemnumber=?");
223
'select count(itemnumber) from old_issues where borrowernumber=? and itemnumber=?'
250
	$query->execute($borrowernumber,$row[0]);
224
    );
251
	while(my @matches=$query->fetchrow_array())
225
    while ( my @row = $sth->fetchrow_array() ) {
252
	{
226
        $query->execute( $borrowernumber, $row[0] );
253
		if ($matches[0]>0)
227
        while ( my @matches = $query->fetchrow_array() ) {
254
		{
228
            if ( $matches[0] > 0 ) {
255
			$previssue=1;
229
                $previssue = 1;
256
		}
230
            }
257
	}
231
        }
258
    }
232
    }
259
    $sth->finish;
260
    return $previssue;
233
    return $previssue;
261
}
234
}
262
235
263
- 

Return to bug 5670