X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fsvc_external.cgi;h=0df842b215b535cd3f88341ce3f7674f36bb2f8f;hb=444d079fa0fb2f09c080b58f6b1a5fed37ffd7c1;hp=393e71c3827c59128d8383de31bcc801e0af4a9f;hpb=633c48448d9468690b7ad77eb6ff7c660a286658;p=freeside.git diff --git a/httemplate/edit/svc_external.cgi b/httemplate/edit/svc_external.cgi index 393e71c38..0df842b21 100644 --- a/httemplate/edit/svc_external.cgi +++ b/httemplate/edit/svc_external.cgi @@ -1,99 +1,102 @@ -%my( $svcnum, $pkgnum, $svcpart, $part_svc, $svc_external ); -%if ( $cgi->param('error') ) { -% -% $svc_external = new FS::svc_external ( { -% map { $_, scalar($cgi->param($_)) } fields('svc_external') -% } ); -% $svcnum = $svc_external->svcnum; -% $pkgnum = $cgi->param('pkgnum'); -% $svcpart = $cgi->param('svcpart'); -% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); -% die "No part_svc entry!" unless $part_svc; -% -%} elsif ( $cgi->param('pkgnum') && $cgi->param('svcpart') ) { #adding -% -% $cgi->param('pkgnum') =~ /^(\d+)$/ or die 'unparsable pkgnum'; -% $pkgnum = $1; -% $cgi->param('svcpart') =~ /^(\d+)$/ or die 'unparsable svcpart'; -% $svcpart = $1; -% -% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); -% die "No part_svc entry!" unless $part_svc; -% -% $svc_external = new FS::svc_external { svcpart => $svcpart }; -% -% $svcnum=''; -% -% $svc_external->set_default_and_fixed; -% -%} else { #adding -% -% my($query) = $cgi->keywords; -% $query =~ /^(\d+)$/ or die "unparsable svcnum"; -% $svcnum=$1; -% $svc_external=qsearchs('svc_external',{'svcnum'=>$svcnum}) -% or die "Unknown (svc_external) svcnum!"; -% -% my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum}) -% or die "Unknown (cust_svc) svcnum!"; -% -% $pkgnum=$cust_svc->pkgnum; -% $svcpart=$cust_svc->svcpart; -% -% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); -% die "No part_svc entry!" unless $part_svc; -% -%} -%my $action = $svc_external->svcnum ? 'Edit' : 'Add'; -% -%my $p1 = popurl(1); -%print header("External service $action", ''); -% -%print qq!Error: !, $cgi->param('error'), -% "" -% if $cgi->param('error'); -% -%print qq!
!; -% -%#display -% -% -%#svcnum -%print qq!!; -%print qq!Service #!, $svcnum ? $svcnum : "(NEW)", "

"; -% -%#pkgnum -%print qq!!; -% -%#svcpart -%print qq!!; -% -%my($id,$title)=( -% $svc_external->id, -% $svc_external->title, -%); -% -%print &ntable("#cccccc",2), -% 'External ID'. -% qq!!. -% ''. -% 'Title'. -% qq!!. -% ''; -% -%foreach my $field ($svc_external->virtual_fields) { -% if ( $part_svc->part_svc_column($field)->columnflag ne 'F' ) { -% # If the flag is X, it won't even show up in $svc_acct->virtual_fields. -% print $svc_external->pvf($field)->widget('HTML', 'edit', -% $svc_external->getfield($field)); -% } -%} -% -% +<% include('/elements/header.html', "External service $action") %> + +<% include('/elements/error.html') %> + + + + +Service #<% $svcnum ? $svcnum : "(NEW)" %> +

+ + + + + +% my $id = $svc_external->id; +% my $title = $svc_external->title; +% +<% &ntable("#cccccc",2) %> + + External ID + + + + Title + + + +% foreach my $field ($svc_external->virtual_fields) { +% if ( $part_svc->part_svc_column($field)->columnflag ne 'F' ) { +% # If the flag is X, it won't even show up in $svc_acct->virtual_fields. + <% $svc_external->pvf($field)->widget( 'HTML', + 'edit', + $svc_external->getfield($field) + ) + %> +% } +% } + + +
+ + +
+ +<% include('/elements/footer.html') %> + +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? + +my( $svcnum, $pkgnum, $svcpart, $part_svc, $svc_external ); +if ( $cgi->param('error') ) { + + $svc_external = new FS::svc_external ( { + map { $_, scalar($cgi->param($_)) } fields('svc_external') + } ); + $svcnum = $svc_external->svcnum; + $pkgnum = $cgi->param('pkgnum'); + $svcpart = $cgi->param('svcpart'); + $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); + die "No part_svc entry!" unless $part_svc; + +} elsif ( $cgi->param('pkgnum') && $cgi->param('svcpart') ) { #adding + + $cgi->param('pkgnum') =~ /^(\d+)$/ or die 'unparsable pkgnum'; + $pkgnum = $1; + $cgi->param('svcpart') =~ /^(\d+)$/ or die 'unparsable svcpart'; + $svcpart = $1; + + $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); + die "No part_svc entry!" unless $part_svc; + + $svc_external = new FS::svc_external { svcpart => $svcpart }; + + $svcnum=''; + + $svc_external->set_default_and_fixed; + +} else { #adding + + my($query) = $cgi->keywords; + $query =~ /^(\d+)$/ or die "unparsable svcnum"; + $svcnum=$1; + $svc_external=qsearchs('svc_external',{'svcnum'=>$svcnum}) + or die "Unknown (svc_external) svcnum!"; + + my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum}) + or die "Unknown (cust_svc) svcnum!"; + + $pkgnum=$cust_svc->pkgnum; + $svcpart=$cust_svc->svcpart; + + $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); + die "No part_svc entry!" unless $part_svc; +} +my $action = $svc_external->svcnum ? 'Edit' : 'Add'; -
- - - +my $p1 = popurl(1); +