|
Lines 81-86
BEGIN {
Link Here
|
| 81 |
|
81 |
|
| 82 |
&AddClaim |
82 |
&AddClaim |
| 83 |
&GetBiblioCountByBasketno |
83 |
&GetBiblioCountByBasketno |
|
|
84 |
|
| 85 |
&GetOrderUsers |
| 86 |
&ModOrderUsers |
| 87 |
&NotifyOrderUsers |
| 84 |
); |
88 |
); |
| 85 |
} |
89 |
} |
| 86 |
|
90 |
|
|
Lines 1562-1567
q{SELECT * FROM aqorders WHERE biblionumber=? AND aqorders.ordernumber=?},
Link Here
|
| 1562 |
$biblionumber, |
1566 |
$biblionumber, |
| 1563 |
$ordernumber |
1567 |
$ordernumber |
| 1564 |
); |
1568 |
); |
|
|
1569 |
|
| 1570 |
# All items have been received, sent a notification to users |
| 1571 |
NotifyOrderUsers( $ordernumber ); |
| 1572 |
|
| 1565 |
} |
1573 |
} |
| 1566 |
return ($datereceived, $new_ordernumber); |
1574 |
return ($datereceived, $new_ordernumber); |
| 1567 |
} |
1575 |
} |
|
Lines 2986-2991
sub GetBiblioCountByBasketno {
Link Here
|
| 2986 |
return $sth->fetchrow; |
2994 |
return $sth->fetchrow; |
| 2987 |
} |
2995 |
} |
| 2988 |
|
2996 |
|
|
|
2997 |
|
| 2998 |
=head3 GetOrderUsers |
| 2999 |
|
| 3000 |
$order_users_ids = &GetOrderUsers($ordernumber); |
| 3001 |
|
| 3002 |
Returns a list of all borrowernumbers that are in order users list |
| 3003 |
|
| 3004 |
=cut |
| 3005 |
|
| 3006 |
sub GetOrderUsers { |
| 3007 |
my ($ordernumber) = @_; |
| 3008 |
|
| 3009 |
return unless $ordernumber; |
| 3010 |
|
| 3011 |
my $query = q| |
| 3012 |
SELECT borrowernumber |
| 3013 |
FROM aqorderusers |
| 3014 |
WHERE ordernumber = ? |
| 3015 |
|; |
| 3016 |
my $dbh = C4::Context->dbh; |
| 3017 |
my $sth = $dbh->prepare($query); |
| 3018 |
$sth->execute($ordernumber); |
| 3019 |
my $results = $sth->fetchall_arrayref( {} ); |
| 3020 |
|
| 3021 |
my @borrowernumbers; |
| 3022 |
foreach (@$results) { |
| 3023 |
push @borrowernumbers, $_->{'borrowernumber'}; |
| 3024 |
} |
| 3025 |
|
| 3026 |
return @borrowernumbers; |
| 3027 |
} |
| 3028 |
|
| 3029 |
=head3 ModOrderUsers |
| 3030 |
|
| 3031 |
my @order_users_ids = (1, 2, 3); |
| 3032 |
&ModOrderUsers($ordernumber, @basketusers_ids); |
| 3033 |
|
| 3034 |
Delete all users from order users list, and add users in C<@order_users_ids> |
| 3035 |
to this users list. |
| 3036 |
|
| 3037 |
=cut |
| 3038 |
|
| 3039 |
sub ModOrderUsers { |
| 3040 |
my ( $ordernumber, @order_users_ids ) = @_; |
| 3041 |
|
| 3042 |
return unless $ordernumber; |
| 3043 |
|
| 3044 |
my $dbh = C4::Context->dbh; |
| 3045 |
my $query = q| |
| 3046 |
DELETE FROM aqorderusers |
| 3047 |
WHERE ordernumber = ? |
| 3048 |
|; |
| 3049 |
my $sth = $dbh->prepare($query); |
| 3050 |
$sth->execute($ordernumber); |
| 3051 |
|
| 3052 |
$query = q| |
| 3053 |
INSERT INTO aqorderusers (ordernumber, borrowernumber) |
| 3054 |
VALUES (?, ?) |
| 3055 |
|; |
| 3056 |
$sth = $dbh->prepare($query); |
| 3057 |
foreach my $order_user_id (@order_users_ids) { |
| 3058 |
$sth->execute( $ordernumber, $order_user_id ); |
| 3059 |
} |
| 3060 |
} |
| 3061 |
|
| 3062 |
sub NotifyOrderUsers { |
| 3063 |
my ($ordernumber) = @_; |
| 3064 |
|
| 3065 |
my @borrowernumbers = GetOrderUsers($ordernumber); |
| 3066 |
return unless @borrowernumbers; |
| 3067 |
|
| 3068 |
my $order = GetOrder( $ordernumber ); |
| 3069 |
for my $borrowernumber (@borrowernumbers) { |
| 3070 |
my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber ); |
| 3071 |
my $branch = C4::Branch::GetBranchDetail( $borrower->{branchcode} ); |
| 3072 |
my $biblio = C4::Biblio::GetBiblio( $order->{biblionumber} ); |
| 3073 |
my $letter = C4::Letters::GetPreparedLetter( |
| 3074 |
module => 'acquisition', |
| 3075 |
letter_code => 'ACQ_NOTIF_ON_RECEIV', |
| 3076 |
branchcode => $branch->{branchcode}, |
| 3077 |
tables => { |
| 3078 |
'branches' => $branch, |
| 3079 |
'borrowers' => $borrower, |
| 3080 |
'biblio' => $biblio, |
| 3081 |
'aqorders' => $order, |
| 3082 |
}, |
| 3083 |
); |
| 3084 |
if ( $letter ) { |
| 3085 |
C4::Letters::EnqueueLetter( |
| 3086 |
{ |
| 3087 |
letter => $letter, |
| 3088 |
borrowernumber => $borrowernumber, |
| 3089 |
LibraryName => C4::Context->preference("LibraryName"), |
| 3090 |
message_transport_type => 'email', |
| 3091 |
} |
| 3092 |
) or warn "can't enqueue letter $letter"; |
| 3093 |
} |
| 3094 |
} |
| 3095 |
} |
| 3096 |
|
| 2989 |
1; |
3097 |
1; |
| 2990 |
__END__ |
3098 |
__END__ |
| 2991 |
|
3099 |
|