type => 'checkbox',
value => 'Y',
},
+ { field => '_initialize',
+ type => 'checkbox',
+ onchange => '_initialize_changed',
+ value => 'Y',
+ },
{ type => 'title',
value => 'Event Conditions',
},
html_between => n_a('action'),
m2name_table => 'part_event_condition',
m2name_namecol => 'conditionname',
- m2name_label => 'Condition',
- m2name_new_default => \@implicit_condition_objs,
- m2name_error_callback =>
- $condition_error_callback,
- m2name_remove_warnings =>
- \%condition_remove_warnings,
- m2name_new_js => 'condition_repop',
- m2name_remove_js => 'condition_add',
+ m2_label => 'Condition',
+ m2_new_default => \@implicit_condition_objs,
+ m2_error_callback => $condition_error_callback,
+ m2_remove_warnings => \%condition_remove_warnings,
+ m2_new_js => 'condition_repop',
+ m2_remove_js => 'condition_add',
},
{ type => 'title',
value => 'Event Action',
layer_values_callback => $action_layer_values,
html_between => n_a('action'),
},
-
],
'labels' => {
'eventpart' => 'Event',
'conditionname' => 'Add new condition',
#'weight',
'action' => 'Action',
+ '_initialize' => 'Initialize event',
},
'viewall_dir' => 'browse',
'new_callback' => sub { #start empty for new events only
}
+ function _initialize_changed(what) {
+ document.getElementById('disabled').disabled = what.checked;
+ if ( what.checked ) {
+%# because it's not an immediately obvious concept
+ alert('Initializing the event will treat it as "already run" on the '+
+ 'current date for all existing customers. This affects '+
+ 'conditions that prevent running an event more than once.');
+ }
+ }
+
</SCRIPT>
<%once>
'' => { 'description' => '*** Select new condition ***', },
FS::part_event_condition->conditions();
+# *** Select new condition *** sorts to the beginning anyway
+(tied %all_conditions)->SortByValue;
+
my %condition_labels = map { $_ => $all_conditions{$_}->{'description'} }
keys %all_conditions;
'' => { 'description' => '*** Select event action ***', },
FS::part_event->actions();
+(tied %all_actions)->SortByValue;
+
my %action_labels = map { $_ => $all_actions{$_}->{'description'} }
keys %all_actions;
};
my $condition_layer_values = sub {
- #m2name_table option causes this to be
+ #m2_table option causes this to be
# part_event_condition instead of part_event
my ( $cgi, $part_event_condition, $switches ) = @_;
scalar( #force hashref