|
Lines 123-132
Overloaded I<store> method to trigger notices as required
Link Here
|
| 123 |
sub store { |
123 |
sub store { |
| 124 |
my ($self) = @_; |
124 |
my ($self) = @_; |
| 125 |
|
125 |
|
| 126 |
my $is_new = !$self->in_storage; |
126 |
my $assignee; |
| 127 |
$self = $self->SUPER::store; |
127 |
if ( !$self->in_storage ) { |
| 128 |
|
128 |
|
| 129 |
if ($is_new) { |
129 |
# Store |
|
|
130 |
$self->SUPER::store; |
| 131 |
$self->discard_changes; |
| 132 |
$assignee = $self->assignee; |
| 130 |
|
133 |
|
| 131 |
# Send patron acknowledgement |
134 |
# Send patron acknowledgement |
| 132 |
my $acknowledgement_letter = C4::Letters::GetPreparedLetter( |
135 |
my $acknowledgement_letter = C4::Letters::GetPreparedLetter( |
|
Lines 164-177
sub store {
Link Here
|
| 164 |
{ |
167 |
{ |
| 165 |
letter => $notify_letter, |
168 |
letter => $notify_letter, |
| 166 |
message_transport_type => 'email', |
169 |
message_transport_type => 'email', |
| 167 |
to_address => |
170 |
to_address => C4::Context->preference('CatalogerEmails'), |
| 168 |
C4::Context->preference('CatalogerEmails'), |
171 |
reply_address => $self->reporter->notice_email_address, |
| 169 |
reply_address => $self->reporter->notice_email_address, |
|
|
| 170 |
} |
172 |
} |
| 171 |
); |
173 |
); |
| 172 |
C4::Letters::SendQueuedMessages( { message_id => $message_id } ) if $message_id; |
174 |
C4::Letters::SendQueuedMessages( { message_id => $message_id } ) if $message_id; |
| 173 |
} |
175 |
} |
| 174 |
} |
176 |
} |
|
|
177 |
} else { |
| 178 |
my %updated_columns = $self->_result->get_dirty_columns; |
| 179 |
return $self->SUPER::store unless %updated_columns; |
| 180 |
|
| 181 |
$assignee = ( exists $updated_columns{assignee_id} ) ? $self->assignee : undef; |
| 182 |
} |
| 183 |
|
| 184 |
# Notify assignee |
| 185 |
if ( $assignee && ( $assignee->borrowernumber != C4::Context->userenv->{number} ) ) { |
| 186 |
my $assigned_letter = C4::Letters::GetPreparedLetter( |
| 187 |
module => 'catalogue', |
| 188 |
letter_code => 'TICKET_ASSIGNED', |
| 189 |
branchcode => $assignee->branchcode, |
| 190 |
tables => { tickets => $self->id } |
| 191 |
); |
| 192 |
|
| 193 |
if ($assigned_letter) { |
| 194 |
my $message_id = C4::Letters::EnqueueLetter( |
| 195 |
{ |
| 196 |
letter => $assigned_letter, |
| 197 |
borrowernumber => $assignee->borrowernumber, |
| 198 |
message_transport_type => 'email', |
| 199 |
} |
| 200 |
); |
| 201 |
C4::Letters::SendQueuedMessages( { message_id => $message_id } ) if $message_id; |
| 202 |
} |
| 175 |
} |
203 |
} |
| 176 |
|
204 |
|
| 177 |
return $self; |
205 |
return $self; |
| 178 |
- |
|
|