diff options
| author | levinse <levinse> | 2011-02-04 08:23:46 +0000 | 
|---|---|---|
| committer | levinse <levinse> | 2011-02-04 08:23:46 +0000 | 
| commit | a01d29e1bfa007399711c58a0c9655dca28956d9 (patch) | |
| tree | da0ee550f1410d485fddeacf41e2b91533d263d8 | |
| parent | 32e465c98f956857e6aa51b5639e6db89539fbb5 (diff) | |
torrus SS first pass, RT10574
| -rw-r--r-- | FS/FS/ClientAPI/MyAccount.pm | 3 | ||||
| -rw-r--r-- | fs_selfservice/FS-SelfService/cgi/selfservice.cgi | 59 | ||||
| -rw-r--r-- | fs_selfservice/FS-SelfService/cgi/view_port_graph.html | 15 | ||||
| -rw-r--r-- | fs_selfservice/FS-SelfService/cgi/view_usage.html | 2 | 
4 files changed, 56 insertions, 23 deletions
| diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index be1146e47..33143e290 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -1149,7 +1149,8 @@ sub port_graph {  sub _port_graph {    my($svc_port, $begin, $end) = @_;    my @usage = (); -  push @usage, 999; +  my $pngOrError = $svc_port->graph_png( start=>$begin, end=> $end ); +  push @usage, { 'png' => $pngOrError };    (@usage);  } diff --git a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi index 1db0c585b..0e8b990da 100644 --- a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi +++ b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi @@ -111,6 +111,8 @@ my @actions = ( qw(    view_usage_details    view_cdr_details    view_support_details +  view_port_graph +  real_port_graph    change_password    process_change_password    customer_suspend_pkg @@ -802,26 +804,34 @@ sub view_usage {    );  } -sub view_usage_details { -   my $svcnum = $cgi->param('svcnum'); - -    # for svc_port graphs -    if($cgi->param($svcnum.'_start') && $cgi->param($svcnum.'_end')) { -	return port_graph( +sub real_port_graph { +    my $svcnum = $cgi->param('svcnum'); +    my $res = port_graph(  	    'session_id'  => $session_id,  	    'svcnum'      => $svcnum, -	    'start'	  => str2time($cgi->param($svcnum.'_start')), -	    'end'	=> str2time($cgi->param($svcnum.'_end')), +	    'beginning'	  => str2time($cgi->param('start')." 00:00:00"), +	    'ending'	=> str2time($cgi->param('end')." 23:59:59"),  	    ); +    my @usage = @{$res->{'usage'}}; +    my $png = $usage[0]->{'png'}; +    { 'content' => $png, 'format' => 'png' }; +} + +sub view_port_graph { +    my $svcnum = $cgi->param('svcnum'); +    { 'svcnum' => $svcnum, +      'start' => $cgi->param($svcnum.'_start'), +      'end' => $cgi->param($svcnum.'_end'),      } -    else { -      return list_svc_usage( +} + +sub view_usage_details { +      list_svc_usage(  	'session_id'  => $session_id, -	'svcnum'      => $svcnum, +	'svcnum'      => $cgi->param('svcnum'),  	'beginning'   => $cgi->param('beginning') || '',  	'ending'      => $cgi->param('ending') || '',        ); -    }  }  sub view_cdr_details { @@ -892,15 +902,7 @@ sub do_template {                        : {};    $fill_in->{$_} = $access_info->{$_} foreach keys %$access_info; -  my $source = "$template_dir/$name.html"; -  #warn "creating template for $source\n"; -  my $template = new Text::Template( TYPE       => 'FILE', -                                     SOURCE     => $source, -                                     DELIMITERS => [ '<%=', '%>' ], -                                     UNTAINT    => 1, -                                   ) -    or die $Text::Template::ERROR; - +        if($result && ref($result) && $result->{'format'} && $result->{'content'}  	&& $result->{'format'} eq 'csv') {      	print $cgi->header('-expires' => 'now', @@ -918,7 +920,22 @@ sub do_template {  		    ),  		    $result->{'content'};      } +    elsif($result && ref($result) && $result->{'format'} && $result->{'content'} +    	 && $result->{'format'} eq 'png') { +	print $cgi->header('-expires' => 'now', +		    '-Content-Type' => 'image/png', +		    ), +		    $result->{'content'}; +    }      else { +	my $source = "$template_dir/$name.html"; +        my $template = new Text::Template( TYPE       => 'FILE', +					 SOURCE     => $source, +					 DELIMITERS => [ '<%=', '%>' ], +					 UNTAINT    => 1, +				       ) +	or die $Text::Template::ERROR; +  	my $data = $template->fill_in(   	    PACKAGE => 'FS::SelfService::_selfservicecgi',  	    HASH    => $fill_in, diff --git a/fs_selfservice/FS-SelfService/cgi/view_port_graph.html b/fs_selfservice/FS-SelfService/cgi/view_port_graph.html new file mode 100644 index 000000000..d42f405b9 --- /dev/null +++ b/fs_selfservice/FS-SelfService/cgi/view_port_graph.html @@ -0,0 +1,15 @@ +<%= $url = "$selfurl?session=$session_id;action="; ''; %> +<%= include('header', "Service usage details for $start - $end") %> + +<%= if ( $error ) { +  $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!; +} +else { +  $OUT .= qq! <IMG SRC="${url}real_port_graph;svcnum=$svcnum;start=$start;end=$end"> !; +} +$OUT .= ''; +%> +  +<BR> + +<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/view_usage.html b/fs_selfservice/FS-SelfService/cgi/view_usage.html index beb1c2e74..170237a6b 100644 --- a/fs_selfservice/FS-SelfService/cgi/view_usage.html +++ b/fs_selfservice/FS-SelfService/cgi/view_usage.html @@ -118,7 +118,7 @@ foreach my $svc_port ( @svc_port ) {    $OUT .= '<TR><TD>'. $svc_port->{'label'}. ': '. $svc_port->{'value'}.'</TD>';    $OUT .= qq! <TD><FORM ACTION="$url" METHOD="GET">  		<INPUT TYPE="hidden" name="svcnum" value="$svcnum"> -		<INPUT TYPE="hidden" name="action" value="view_usage_details">   +		<INPUT TYPE="hidden" name="action" value="view_port_graph">    		<INPUT TYPE="hidden" name="session" value="$session_id">  !;    $OUT .= preset_range($default_start,$default_end,'Last Day',$date_format,$svcnum)  	.' | '.preset_range($default_end-86400*7,$default_end,'Last Week',$date_format,$svcnum) | 
