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

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt (+14 lines)
Lines 396-401 Link Here
396
                        <a id="restore_previous_manager" href="#"><i class="fa fa-trash"></i> Keep existing manager</a>
396
                        <a id="restore_previous_manager" href="#"><i class="fa fa-trash"></i> Keep existing manager</a>
397
                    [% END %]
397
                    [% END %]
398
                    <input type="hidden" name="managedby" id="managedby" value="[% logged_in_user.borrowernumber | html %]" />
398
                    <input type="hidden" name="managedby" id="managedby" value="[% logged_in_user.borrowernumber | html %]" />
399
400
                    <br/>
401
                    <label for="notify">Notify manager:</label>
402
                    <input type="checkbox" id="notify" name="notify" value="notify" disabled="disabled" title="A TO_PROCESS notice will be generated and send to the manager if a valid email address is defined. This can be checked if a new manager has been selected." />
399
                </div>
403
                </div>
400
            </li>
404
            </li>
401
        </ol>
405
        </ol>
Lines 876-881 Link Here
876
                $('#managedby_name').html(managerlink);
880
                $('#managedby_name').html(managerlink);
877
                $('#managedby').val(borrowernumber);
881
                $('#managedby').val(borrowernumber);
878
            }
882
            }
883
884
            var notify = $('#notify');
885
            if ( notify.length ) {
886
                if ( borrowernumber == [% logged_in_user.borrowernumber | html %] || borrowernumber == [% managedby_patron.borrowernumber | html %] ) {
887
                    $(notify).prop('checked', false).prop('disabled', true);
888
                } else {
889
                    $(notify).prop('disabled', false);
890
                }
891
            }
879
        }
892
        }
880
893
881
        $(document).ready(function(){
894
        $(document).ready(function(){
Lines 1062-1067 Link Here
1062
                        + borrowername + '</a>';
1075
                        + borrowername + '</a>';
1063
                    $('#managedby_name').html(managerlink);
1076
                    $('#managedby_name').html(managerlink);
1064
                    $('#managedby').val([% managedby_patron.borrowernumber | html %]);
1077
                    $('#managedby').val([% managedby_patron.borrowernumber | html %]);
1078
                    $('#notify').prop('checked', false).prop('disabled', true);
1065
                });
1079
                });
1066
1080
1067
            });
1081
            });
(-)a/suggestion/suggestion.pl (-2 / +34 lines)
Lines 91-96 my $managedby = $input->param('managedby'); Link Here
91
my $displayby       = $input->param('displayby') || '';
91
my $displayby       = $input->param('displayby') || '';
92
my $tabcode         = $input->param('tabcode');
92
my $tabcode         = $input->param('tabcode');
93
my $save_confirmed  = $input->param('save_confirmed') || 0;
93
my $save_confirmed  = $input->param('save_confirmed') || 0;
94
my $notify          = $input->param('notify');
94
95
95
my $reasonsloop     = GetAuthorisedValues("SUGGEST");
96
my $reasonsloop     = GetAuthorisedValues("SUGGEST");
96
97
Lines 103-109 my $columns = ' '.join(' ', $schema->source('Suggestion')->columns).' '; Link Here
103
my $suggestion_only = { map { $columns =~ / $_ / ? ($_ => $suggestion_ref->{$_}) : () } keys %$suggestion_ref };
104
my $suggestion_only = { map { $columns =~ / $_ / ? ($_ => $suggestion_ref->{$_}) : () } keys %$suggestion_ref };
104
$suggestion_only->{STATUS} = $suggestion_ref->{STATUS};
105
$suggestion_only->{STATUS} = $suggestion_ref->{STATUS};
105
106
106
delete $$suggestion_ref{$_} foreach qw( suggestedbyme op displayby tabcode edit_field );
107
delete $$suggestion_ref{$_} foreach qw( suggestedbyme op displayby tabcode edit_field notify );
107
foreach (keys %$suggestion_ref){
108
foreach (keys %$suggestion_ref){
108
    delete $$suggestion_ref{$_} if (!$$suggestion_ref{$_} && ($op eq 'else' ));
109
    delete $$suggestion_ref{$_} if (!$$suggestion_ref{$_} && ($op eq 'else' ));
109
}
110
}
Lines 163-169 if ( $op =~ /save/i ) { Link Here
163
        }
164
        }
164
165
165
        if ( $suggestion_only->{'suggestionid'} > 0 ) {
166
        if ( $suggestion_only->{'suggestionid'} > 0 ) {
167
166
            &ModSuggestion($suggestion_only);
168
            &ModSuggestion($suggestion_only);
169
170
            if ( $notify ) {
171
                my $patron = Koha::Patrons->find( $suggestion_only->{managedby} );
172
                my $email_address = $patron->notice_email_address;
173
                if ($patron->notice_email_address) {
174
                    my $budget = C4::Budgets::GetBudget( $suggestion_only->{budgetid} );
175
                    my $library = $patron->library;
176
                    my $admin_email_address = $library->branchemail
177
                      || C4::Context->preference('KohaAdminEmailAddress');
178
179
                    my $letter = C4::Letters::GetPreparedLetter(
180
                        module      => 'suggestions',
181
                        letter_code => 'TO_PROCESS',
182
                        branchcode  => $patron->branchcode,
183
                        lang        => $patron->lang,
184
                        tables      => {
185
                            suggestions => $suggestion_only->{suggestionid},
186
                            branches    => $patron->branchcode,
187
                            borrowers   => $patron->borrowernumber,
188
                        },
189
                    );
190
                    C4::Letters::EnqueueLetter(
191
                        {
192
                            letter                 => $letter,
193
                            borrowernumber         => $patron->borrowernumber,
194
                            message_transport_type => 'email',
195
                            from_address           => $admin_email_address,
196
                        }
197
                    );
198
                }
199
            }
167
        } else {
200
        } else {
168
            ###FIXME:Search here if suggestion already exists.
201
            ###FIXME:Search here if suggestion already exists.
169
            my $suggestions_loop =
202
            my $suggestions_loop =
170
- 

Return to bug 23590