add customer fields option with agent, display_custnum, status and name, RT#73721
[freeside.git] / FS / FS / sched_avail.pm
index 62b1a5d..bd6ff24 100644 (file)
@@ -100,7 +100,7 @@ sub check {
 
   my $error = 
     $self->ut_numbern('availnum')
-    || $self->ut_foreign_key('itemnum', 'sched_avail', 'itemnum')
+    || $self->ut_foreign_key('itemnum', 'sched_item', 'itemnum')
     || $self->ut_number('wday')
     || $self->ut_number('stime')
     || $self->ut_number('etime')
@@ -111,6 +111,40 @@ sub check {
   $self->SUPER::check;
 }
 
+=item stime_pretty
+
+=item etime_pretty
+
+=cut
+
+sub stime_pretty { shift->_time_pretty('stime', @_); }
+sub etime_pretty { shift->_time_pretty('etime', @_); }
+
+sub _time_pretty {
+  my( $self, $field ) = @_;
+
+  pretty_time( $self->$field() );
+}
+
+#helper sub
+sub pretty_time {
+  my $t = shift;
+
+  return 'Midnight' if $t == 0 || $t == 1440;
+  return 'Noon'     if $t == 720;
+
+  my $h = int( $t / 60 );
+  my $m = $t % 60;
+
+  my $ap = 'AM';
+  if    ( $h == 0 || $h == 24 ) { $h = 12; }
+  elsif ( $h == 12 )           { $ap = 'PM'; }
+  elsif ( $h > 12 )            { $ap = 'PM'; $h -= 12; }
+
+  sprintf('%02d:%02d'." $ap", $h, $m);
+
+}
+
 =back
 
 =head1 BUGS