Lines 20-25
package C4::Form::MessagingPreferences;
Link Here
|
20 |
use strict; |
20 |
use strict; |
21 |
use warnings; |
21 |
use warnings; |
22 |
|
22 |
|
|
|
23 |
use Data::Dumper; |
23 |
use CGI qw ( -utf8 ); |
24 |
use CGI qw ( -utf8 ); |
24 |
use C4::Context; |
25 |
use C4::Context; |
25 |
use C4::Members::Messaging; |
26 |
use C4::Members::Messaging; |
Lines 76-88
sub handle_form_action {
Link Here
|
76 |
my $messaging_options = C4::Members::Messaging::GetMessagingOptions(); |
77 |
my $messaging_options = C4::Members::Messaging::GetMessagingOptions(); |
77 |
# TODO: If a "NONE" box and another are checked somehow (javascript failed), we should pay attention to the "NONE" box |
78 |
# TODO: If a "NONE" box and another are checked somehow (javascript failed), we should pay attention to the "NONE" box |
78 |
my $prefs_set = 0; |
79 |
my $prefs_set = 0; |
|
|
80 |
my $borrowernumber; |
81 |
my $logEntries = []; |
79 |
OPTION: foreach my $option ( @$messaging_options ) { |
82 |
OPTION: foreach my $option ( @$messaging_options ) { |
80 |
my $updater = { %{ $target_params }, |
83 |
my $updater = { %{ $target_params }, |
81 |
message_attribute_id => $option->{'message_attribute_id'} }; |
84 |
message_attribute_id => $option->{'message_attribute_id'} }; |
|
|
85 |
$borrowernumber = $option->{borrowernumber} unless $borrowernumber; |
82 |
|
86 |
|
83 |
# find the desired transports |
87 |
# find the desired transports |
84 |
@{$updater->{'message_transport_types'}} = $query->param( $option->{'message_attribute_id'} ); |
88 |
@{$updater->{'message_transport_types'}} = $query->param( $option->{'message_attribute_id'} ); |
85 |
next OPTION unless $updater->{'message_transport_types'}; |
89 |
next OPTION unless $updater->{'message_transport_types'}; #Shouldn't this be "unless scalar(@{$updater->{'message_transport_types'}});" however this would never let existing message_preferences to be deleted :) |
86 |
|
90 |
|
87 |
if ( $option->{'has_digest'} ) { |
91 |
if ( $option->{'has_digest'} ) { |
88 |
if ( List::Util::first { $_ == $option->{'message_attribute_id'} } $query->param( 'digest' ) ) { |
92 |
if ( List::Util::first { $_ == $option->{'message_attribute_id'} } $query->param( 'digest' ) ) { |
Lines 98-103
sub handle_form_action {
Link Here
|
98 |
|
102 |
|
99 |
C4::Members::Messaging::SetMessagingPreference( $updater ); |
103 |
C4::Members::Messaging::SetMessagingPreference( $updater ); |
100 |
|
104 |
|
|
|
105 |
_pushToActionLogBuffer($logEntries, $updater, $option); |
106 |
|
101 |
if ($query->param( $option->{'message_attribute_id'})){ |
107 |
if ($query->param( $option->{'message_attribute_id'})){ |
102 |
$prefs_set = 1; |
108 |
$prefs_set = 1; |
103 |
} |
109 |
} |
Lines 109-114
sub handle_form_action {
Link Here
|
109 |
} |
115 |
} |
110 |
# show the success message |
116 |
# show the success message |
111 |
$template->param( settings_updated => 1 ); |
117 |
$template->param( settings_updated => 1 ); |
|
|
118 |
|
119 |
_writeActionLogBuffer($logEntries, $borrowernumber); |
112 |
} |
120 |
} |
113 |
|
121 |
|
114 |
=head2 set_form_values |
122 |
=head2 set_form_values |
Lines 149-154
sub set_form_values {
Link Here
|
149 |
$template->param(messaging_preferences => $messaging_options); |
157 |
$template->param(messaging_preferences => $messaging_options); |
150 |
} |
158 |
} |
151 |
|
159 |
|
|
|
160 |
sub _pushToActionLogBuffer { |
161 |
return unless C4::Context->preference("BorrowersLog"); |
162 |
my ($logEntries, $updater, $option) = @_; |
163 |
|
164 |
if ($updater->{message_transport_types} && scalar(@{$updater->{message_transport_types}})) { |
165 |
my $entry = {}; |
166 |
$entry->{cc} = $updater->{categorycode} if $updater->{categorycode}; |
167 |
$entry->{dig} = $updater->{wants_digest} if $updater->{wants_digest}; |
168 |
$entry->{da} = $updater->{days_in_advance} if $updater->{days_in_advance}; |
169 |
$entry->{mtt} = $updater->{message_transport_types}; |
170 |
$entry->{_name} = $option->{message_name}; |
171 |
push(@$logEntries, $entry); |
172 |
} |
173 |
} |
174 |
|
175 |
sub _writeActionLogBuffer { |
176 |
return unless C4::Context->preference("BorrowersLog"); |
177 |
my ($logEntries, $borrowernumber) = @_; |
178 |
|
179 |
if (scalar(@$logEntries)) { |
180 |
my $d = Data::Dumper->new([$logEntries]); |
181 |
$d->Indent(0); |
182 |
$d->Purity(0); |
183 |
$d->Terse(1); |
184 |
C4::Log::logaction('MEMBERS', 'MOD MTT', $borrowernumber, $d->Dump($logEntries)); |
185 |
} |
186 |
else { |
187 |
C4::Log::logaction('MEMBERS', 'MOD MTT', $borrowernumber, 'All message_transports removed') |
188 |
} |
189 |
} |
190 |
|
152 |
=head1 TODO |
191 |
=head1 TODO |
153 |
|
192 |
|
154 |
=over 4 |
193 |
=over 4 |
155 |
- |
|
|