fix up re-email these events
[freeside.git] / FS / FS / UI / Web.pm
index c815816..29e06bc 100644 (file)
@@ -1,13 +1,17 @@
 package FS::UI::Web;
 
 use strict;
-use vars qw($DEBUG $me);
+use vars qw($DEBUG @ISA @EXPORT_OK $me);
+use Exporter;
 use FS::Conf;
 use FS::Record qw(dbdef);
 
 #use vars qw(@ISA);
 #use FS::UI
 #@ISA = qw( FS::UI );
+@ISA = qw( Exporter );
+
+@EXPORT_OK = qw( svc_url );
 
 $DEBUG = 0;
 $me = '[FS::UID::Web]';
@@ -18,19 +22,20 @@ $me = '[FS::UID::Web]';
 
 use Date::Parse;
 sub parse_beginning_ending {
-  my($cgi) = @_;
+  my($cgi, $prefix) = @_;
+  $prefix .= '_' if $prefix;
 
   my $beginning = 0;
-  if ( $cgi->param('begin') =~ /^(\d+)$/ ) {
+  if ( $cgi->param($prefix.'begin') =~ /^(\d+)$/ ) {
     $beginning = $1;
-  } elsif ( $cgi->param('beginning') =~ /^([ 0-9\-\/]{1,64})$/ ) {
+  } elsif ( $cgi->param($prefix.'beginning') =~ /^([ 0-9\-\/]{1,64})$/ ) {
     $beginning = str2time($1) || 0;
   }
 
   my $ending = 4294967295; #2^32-1
-  if ( $cgi->param('end') =~ /^(\d+)$/ ) {
+  if ( $cgi->param($prefix.'end') =~ /^(\d+)$/ ) {
     $ending = $1 - 1;
-  } elsif ( $cgi->param('ending') =~ /^([ 0-9\-\/]{1,64})$/ ) {
+  } elsif ( $cgi->param($prefix.'ending') =~ /^([ 0-9\-\/]{1,64})$/ ) {
     #probably need an option to turn off the + 86399
     $ending = str2time($1) + 86399;
   }
@@ -112,6 +117,7 @@ sub svc_url {
     $url .= 'svcnum=' if $query =~ /^\d+(;|$)/ or $query eq '';
   }
 
+  import FS::CGI 'rooturl'; #WTF!  why is this necessary
   my $return = rooturl(). "$opt{action}/$url$query";
 
   $return = qq!<A HREF="$return">! if $opt{ahref};
@@ -174,17 +180,6 @@ sub parse_lt_gt {
 
 }
 
-sub bytecount_unexact {
-  my $bc = shift;
-  return("$bc bytes")
-    if ($bc < 1000);
-  return(sprintf("%.2f Kbytes", $bc/1000))
-    if ($bc < 1000000);
-  return(sprintf("%.2f Mbytes", $bc/1000000))
-    if ($bc < 1000000000);
-  return(sprintf("%.2f Gbytes", $bc/1000000000));
-}
-
 ###
 # cust_main report subroutines
 ###
@@ -251,7 +246,7 @@ sub cust_header {
 
     my $conf = new FS::Conf;
     if (    $conf->exists('cust-fields')
-         && $conf->config('cust-fields') =~ /^([\w \|\#\(\)]+):?/
+         && $conf->config('cust-fields') =~ /^([\w\. \|\#\(\)]+):?/
        )
     {
       warn "  found cust-fields configuration value"
@@ -415,7 +410,7 @@ use Carp;
 use Storable qw(nfreeze);
 use MIME::Base64;
 use JSON;
-use FS::UID;
+use FS::UID qw(getotaker);
 use FS::Record qw(qsearchs);
 use FS::queue;
 
@@ -488,6 +483,7 @@ sub start_job {
       push @{$param{$field}}, $value;
     }
   }
+  $param{CurrentUser} = getotaker();
   warn "FS::UI::Web::start_job\n".
        join('', map {
                       if ( ref($param{$_}) ) {