diff options
| author | levinse <levinse> | 2010-12-07 19:04:43 +0000 | 
|---|---|---|
| committer | levinse <levinse> | 2010-12-07 19:04:43 +0000 | 
| commit | c58774a70c3326ad2ba5a7a38b174dfbd76a9f78 (patch) | |
| tree | 0f07d6ce6fd140ea0985c5d066a8d620d13846dc /httemplate | |
| parent | 663b89d06a2c97fb0e7915ba409310fbefefea98 (diff) | |
-small svc_dsl UI and flow changes, RT7111
-finish basic qualifications, except prospect support, RT7111
Diffstat (limited to 'httemplate')
| -rw-r--r-- | httemplate/edit/process/qual.cgi | 2 | ||||
| -rw-r--r-- | httemplate/edit/svc_dsl.cgi | 15 | ||||
| -rw-r--r-- | httemplate/misc/qual.html | 4 | ||||
| -rwxr-xr-x | httemplate/search/qual.cgi | 78 | ||||
| -rwxr-xr-x | httemplate/view/cust_main/packages.html | 9 | ||||
| -rw-r--r-- | httemplate/view/cust_main/qual_link.html | 4 | ||||
| -rw-r--r-- | httemplate/view/elements/svc_Common.html | 2 | ||||
| -rw-r--r-- | httemplate/view/qual.cgi | 17 | ||||
| -rw-r--r-- | httemplate/view/svc_dsl.cgi | 1 | 
9 files changed, 101 insertions, 31 deletions
| diff --git a/httemplate/edit/process/qual.cgi b/httemplate/edit/process/qual.cgi index 78e877009..789834ebf 100644 --- a/httemplate/edit/process/qual.cgi +++ b/httemplate/edit/process/qual.cgi @@ -16,7 +16,7 @@  my $curuser = $FS::CurrentUser::CurrentUser;  die "access denied" -  unless $curuser->access_right('Order customer package'); # XXX: fix me +  unless $curuser->access_right('Qualify service');  $cgi->param('custnum') =~ /^(\d+)$/    or die 'illegal custnum '. $cgi->param('custnum'); diff --git a/httemplate/edit/svc_dsl.cgi b/httemplate/edit/svc_dsl.cgi index 79aeb1a10..7493d98b9 100644 --- a/httemplate/edit/svc_dsl.cgi +++ b/httemplate/edit/svc_dsl.cgi @@ -92,11 +92,8 @@ my $new_cb = sub {  	my $export = @exports[0];		  	if($export->exporttype eq 'ikano') { -	    $cgi->param('vendor_qual_id') =~ /^(\d+)$/  -		or die 'unparsable vendor_qual_id'; -	    my $vendor_qual_id = $1; - -	    die "no start date set on customer package" if !$cust_pkg->start_date; +	    my $ddd = $cust_pkg->start_date; +	    $ddd = time unless $ddd;  	    my @addl_fields = (   		{ field => 'loop_type', @@ -108,17 +105,15 @@ my $new_cb = sub {  		'password',   		{ field => 'isp_chg', type => 'checkbox', },  		'isp_prev', -		{ field => 'vendor_qual_id',  -		  type => 'fixed',  -		  value => $vendor_qual_id,  }, +		'vendor_qual_id',  		{ field => 'vendor_order_type',   		  type => 'hidden',   		  value => 'NEW' },  		{ field => 'desired_due_date',  		  type => 'fixed',  		  formatted_value =>  -		    time2str($date_format,$cust_pkg->start_date), -		  value => $cust_pkg->start_date,  +		    time2str($date_format,$ddd), +		  value => $ddd,   		},  	    );  	    push @fields, @addl_fields; diff --git a/httemplate/misc/qual.html b/httemplate/misc/qual.html index 779634281..298b10a7a 100644 --- a/httemplate/misc/qual.html +++ b/httemplate/misc/qual.html @@ -39,7 +39,7 @@  <% include('/elements/tr-select-cust_location.html',               'cgi'       => $cgi,               'cust_main' => $cust_main, -	     'alt_format' => 1, # XXX: use a config option +	     'alt_format' => $conf->exists('qual-alt-address-format') ? 1 : 0,  	     'is_optional' => 1,  	     'no_bold' => 1,            ) @@ -57,7 +57,7 @@  my $curuser = $FS::CurrentUser::CurrentUser;  die "access denied" -  unless $curuser->access_right('Order customer package'); # XXX: fix this +  unless $curuser->access_right('Qualify service');   my $conf = new FS::Conf;  my $date_format = $conf->config('date_format') || '%m/%d/%Y'; diff --git a/httemplate/search/qual.cgi b/httemplate/search/qual.cgi new file mode 100755 index 000000000..58e011406 --- /dev/null +++ b/httemplate/search/qual.cgi @@ -0,0 +1,78 @@ +<% include( 'elements/search.html', +                 'title'         => 'Qualifications', +		 'name_singular' => 'qualification', +		 'query'         => { 'table'     => 'qual', +		                      'hashref'   => $hashref, +				      'extra_sql' => $extra_sql, +                                      'order_by'  => 'ORDER BY qualnum DESC', +				    }, +		 'count_query'   => "$count_query $extra_sql", +		 'header'        => [ 'Qualification', +		                      'Status', +				      'Customer or Prospect', +				      'Service Telephone Number', +				      'Address', +		                      'Qualified Using', +				      'Vendor Qualification #', +                                    ], +		 'align'         => 'rcccccc', +		 'fields'        => [ 'qualnum', +				      sub { +					my $self = shift; +					$self->status_long; +				      }, +				      sub { +					  my $self = shift; +					  my $cust_or_prospect = $self->cust_or_prospect; +					  return $cust_or_prospect->name  +					    if $cust_or_prospect->get('custnum'); +					  return "Prospect #".$cust_or_prospect->prospectnum +					    if $cust_or_prospect->get('prospectnum'); +					  ''; +				      }, +				      'phonenum', +				      sub { +					my $self = shift; +					my %location_hash = $self->location; +					# ugh... +					if ( %location_hash ) { +					    my $loc = new FS::cust_location(\%location_hash);  +					    return $loc->location_label; +					} +					''; +				      }, +				      sub { +					  my $self = shift; +					  my $export = $self->export; +					  my $result = '(manual)'; +					  $result = $export->exportname if $export; +					  $result; +				      }, +				      'vendor_qual_id', +				    ], +		 'links'         => [ +		                      [ "${p}view/qual.cgi?qualnum=", 'qualnum' ], +				      '', +				      '', +				      '', +				      '', +				      '', +				      '', +				    ], +      ) +%> +<%init> + +die "access denied" +  unless $FS::CurrentUser::CurrentUser->access_right('Qualify service'); + +my $hashref = {}; +my $count_query = 'SELECT COUNT(*) FROM qual'; + +my $extra_sql = ''; +if ( $cgi->param('custnum') && $cgi->param('custnum') =~ /^(\d+)$/ ) { +    $extra_sql = " where custnum = $1 or locationnum in " +	    . " (select locationnum from cust_location where custnum = $1)"; +} + +</%init> diff --git a/httemplate/view/cust_main/packages.html b/httemplate/view/cust_main/packages.html index 04c47aa3e..ed4ca60c4 100755 --- a/httemplate/view/cust_main/packages.html +++ b/httemplate/view/cust_main/packages.html @@ -1,8 +1,9 @@  % my $s = 0; -% # XXX: add qual access right +% if ( $curuser->access_right('Qualify service') ) {     <% $s++ ? ' | ' : '' %>    <% include('qual_link.html', $cust_main) %> +% }  % if ( $curuser->access_right('Order customer package') ) {     <% $s++ ? ' | ' : '' %> @@ -60,7 +61,11 @@ Current packages      </TD>      <TD ALIGN="right"> -      <A HREF="<%$p%>search/report_cust_pkg.html?custnum=<% $cust_main->custnum %>">Package reports</A><BR> +      <A HREF="<%$p%>search/report_cust_pkg.html?custnum=<% $cust_main->custnum %>">Package reports</A> +% if ( $curuser->access_right('Qualify service') ) {  +    | <A HREF="<%$p%>search/qual.cgi?custnum=<% $cust_main->custnum %>">View Qualifications</A> +% } +      <BR>        Service reports:          <A HREF="<%$p%>search/report_svc_acct.html?custnum=<% $cust_main->custnum %>">accounts</A><BR>        Usage reports: diff --git a/httemplate/view/cust_main/qual_link.html b/httemplate/view/cust_main/qual_link.html index 077142c0a..b8dfaf9b2 100644 --- a/httemplate/view/cust_main/qual_link.html +++ b/httemplate/view/cust_main/qual_link.html @@ -1,7 +1,7 @@  <% include( '/elements/popup_link-cust_main.html',                'action'      => $p. 'misc/qual.html', -              'label'       => 'Service Qualification', -              'actionlabel' => 'Service Qualification', +              'label'       => 'New Qualification', +              'actionlabel' => 'New Qualification',                'color'       => '#333399',                'cust_main'   => $cust_main,                'closetext'   => 'Close', diff --git a/httemplate/view/elements/svc_Common.html b/httemplate/view/elements/svc_Common.html index e3b8da4fe..de49b50d2 100644 --- a/httemplate/view/elements/svc_Common.html +++ b/httemplate/view/elements/svc_Common.html @@ -53,11 +53,9 @@ Service #<B><% $svcnum %></B>  % my $url = $opt{'edit_url'} || $p. 'edit/'. $opt{'table'}. '.cgi?';  | <A HREF="<%$url%><%$svcnum%>">Edit this <% $label %></A> -% unless ( $opt{'disable_unprovision'} ) {  | <A HREF="javascript:areyousure('<%$p.'misc/unprovision.cgi?'.$svcnum%>')">  Unprovision this Service</A>  <BR> -% }  <% ntable("#cccccc") %><TR><TD><% ntable("#cccccc",2) %> diff --git a/httemplate/view/qual.cgi b/httemplate/view/qual.cgi index f96726995..ebdc5cf12 100644 --- a/httemplate/view/qual.cgi +++ b/httemplate/view/qual.cgi @@ -1,6 +1,6 @@  <% include("/elements/header.html","View Qualification") %> -% if ( $cust_or_prospect->custnum ) { +% if ( $cust_or_prospect->get('custnum') ) {    <% include( '/elements/small_custview.html', $cust_or_prospect->custnum, '', 1,       "${p}view/cust_main.cgi") %> @@ -28,7 +28,8 @@  <%init> -# XXX: add access right for quals? +die "access denied" +  unless $FS::CurrentUser::CurrentUser->access_right('Qualify service');  my $qualnum;  if ( $cgi->param('qualnum') ) { @@ -48,18 +49,12 @@ if ( %location_hash ) {      $cust_location = new FS::cust_location(\%location_hash);      $location_line = $cust_location->location_label;  } -# XXX: geocode_Mixin location_label doesn't currently have the new cust_location fields - add them  my $location_kind; -$location_kind = "Residential" if $cust_location->location_kind eq 'R'; -$location_kind = "Business" if $cust_location->location_kind eq 'B'; +$location_kind = "Residential" if $cust_location->get('location_kind') eq 'R'; +$location_kind = "Business" if $cust_location->get('location_kind') eq 'B';  my $cust_or_prospect = $qual->cust_or_prospect; - -my $export; -if ( $qual->exportnum ) { -    $export = qsearchs('part_export', { exportnum => $qual->exportnum } ) -		or die 'invalid exportnum'; -} +my $export = $qual->export;  </%init> diff --git a/httemplate/view/svc_dsl.cgi b/httemplate/view/svc_dsl.cgi index 7bbdca1c7..ade13501b 100644 --- a/httemplate/view/svc_dsl.cgi +++ b/httemplate/view/svc_dsl.cgi @@ -36,7 +36,6 @@ my $svc_cb = sub {      return if ( scalar(@exports) == 0 );      my $export = @exports[0]; -    $opt->{'disable_unprovision'} = 1;      @fields = ( 'phonenum',  	    { field => 'loop_type',  | 
