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

(-)a/Koha/Ticket.pm (-7 / +34 lines)
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
- 

Return to bug 36758