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 |
- |
|
|