X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fsvc_external.cgi;h=0df842b215b535cd3f88341ce3f7674f36bb2f8f;hb=7bc780834a604a2e678d028f875fd4b546412cfb;hp=1230340ac4eac5d2753cc6e8a0d4b2f5ef3420ca;hpb=3ce7691203a7737406bf2d4442f7fd84b81f847e;p=freeside.git diff --git a/httemplate/edit/svc_external.cgi b/httemplate/edit/svc_external.cgi index 1230340ac..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; -%} else { -% my($query) = $cgi->keywords; -% if ( $query =~ /^(\d+)$/ ) { #editing -% $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; -% -% } else { #adding -% -% foreach $_ (split(/-/,$query)) { #get & untaint pkgnum & svcpart -% $pkgnum=$1 if /^pkgnum(\d+)$/; -% $svcpart=$1 if /^svcpart(\d+)$/; -% } -% $svc_external = new FS::svc_external { svcpart => $svcpart }; -% -% $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); -% die "No part_svc entry!" unless $part_svc; -% -% $svcnum=''; -% -% $svc_external->set_default_and_fixed; -% -% } -%} -%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); +