diff --git a/lib/NGCP/Panel/Form/BillingPeaktimeSpecial.pm b/lib/NGCP/Panel/Form/BillingPeaktimeSpecial.pm index b5f9507a1d..766e980304 100644 --- a/lib/NGCP/Panel/Form/BillingPeaktimeSpecial.pm +++ b/lib/NGCP/Panel/Form/BillingPeaktimeSpecial.pm @@ -16,6 +16,10 @@ sub build_form_element_class { [qw/form-horizontal/] } has_field 'date' => ( type => 'Text', + element_attr => { + rel => ['tooltip'], + title => ['YYYY-MM-DD'] + }, ); has_field 'time' => ( @@ -23,11 +27,19 @@ has_field 'time' => ( ); has_field 'time.start' => ( - type => 'Text' + type => 'Text', + element_attr => { + rel => ['tooltip'], + title => ['hh:mm:ss'] + }, ); has_field 'time.end' => ( - type => 'Text' + type => 'Text', + element_attr => { + rel => ['tooltip'], + title => ['hh:mm:ss'] + }, ); has_field 'save' => ( @@ -70,6 +82,17 @@ sub get_dates { }; } +sub validate { + my $self = shift; + my $dates = $self->get_dates(); + + if ($dates->{end} < $dates->{start}) { + my $err_msg = 'End time must be later than start time.'; + $self->field('time.start')->add_error($err_msg); + $self->field('time.end')->add_error($err_msg); + } +} + 1; __END__ @@ -89,6 +112,10 @@ Preferences Form. Returns a hashref with {start => DateTime, end => DateTime} as required by the database. +=head2 validate + +Checks if start time comes before end time. + =head1 AUTHOR Gerhard Jungwirth