summaryrefslogtreecommitdiff
path: root/httemplate/edit
diff options
context:
space:
mode:
authormark <mark>2011-11-10 21:40:05 +0000
committermark <mark>2011-11-10 21:40:05 +0000
commit307a7d85568a15f5eb0d97c648507484108fcc56 (patch)
tree22e4da31ad00e299cea5dbf983234f839f17225b /httemplate/edit
parentcfbfa38f73888ee2c073ad7500c1fe147cde1c81 (diff)
RADIUS groups for svc_broadband, #14695
Diffstat (limited to 'httemplate/edit')
-rw-r--r--httemplate/edit/process/svc_broadband.cgi14
-rwxr-xr-xhttemplate/edit/svc_acct.cgi3
-rw-r--r--httemplate/edit/svc_broadband.cgi26
3 files changed, 36 insertions, 7 deletions
diff --git a/httemplate/edit/process/svc_broadband.cgi b/httemplate/edit/process/svc_broadband.cgi
index d5c9820bb..36c64d11a 100644
--- a/httemplate/edit/process/svc_broadband.cgi
+++ b/httemplate/edit/process/svc_broadband.cgi
@@ -1,8 +1,20 @@
-<% include('elements/svc_Common.html', 'table' => 'svc_broadband') %>
+<& elements/svc_Common.html,
+ table => 'svc_broadband',
+ fields => [ fields('svc_broadband'), 'usergroup' ],
+ precheck_callback => \&precheck,
+&>
<%init>
+# for historical reasons, process_m2m for usergroup tables is done
+# in the svc_x::insert/replace/delete methods, not here
my $curuser = $FS::CurrentUser::CurrentUser;
die "access denied"
unless $curuser->access_right('Provision customer service'); #something else more specific?
+sub precheck {
+ my $cgi = shift;
+ $cgi->param("usergroup", [ $cgi->param('usergroup') ]);
+ ''
+}
+
</%init>
diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi
index 61058aeb2..52fbd37af 100755
--- a/httemplate/edit/svc_acct.cgi
+++ b/httemplate/edit/svc_acct.cgi
@@ -312,7 +312,7 @@ function randomPass() {
% } else {
% my $radius_group_selected = '';
% if ( $svc_acct->svcnum ) {
-% $radius_group_selected = join(',',$svc_acct->radius_groups('NUMBERS'));
+% $radius_group_selected = join(',',$svc_acct->radius_groups('groupnum'));
% }
% elsif ( !$svc_acct->svcnum && $part_svc_usergroup->columnflag eq 'D' ) {
% $radius_group_selected = $part_svc_usergroup->columnvalue;
@@ -320,6 +320,7 @@ function randomPass() {
<TD><& /elements/select-radius_group.html,
curr_value => $radius_group_selected,
element_name => 'radius_usergroup',
+ multiple => 1,
&>
</TD>
% }
diff --git a/httemplate/edit/svc_broadband.cgi b/httemplate/edit/svc_broadband.cgi
index a67f6f05a..d4baf35a0 100644
--- a/httemplate/edit/svc_broadband.cgi
+++ b/httemplate/edit/svc_broadband.cgi
@@ -1,4 +1,4 @@
-<% include('elements/svc_Common.html',
+<& elements/svc_Common.html,
'post_url' => popurl(1). 'process/svc_broadband.cgi',
'name' => 'broadband service',
'table' => 'svc_broadband',
@@ -7,8 +7,7 @@
'dummy' => $cgi->query_string,
'onsubmit' => 'validate_coords',
'html_foot' => $js,
- )
-%>
+&>
<%init>
die "access denied"
@@ -100,9 +99,19 @@ END
my @fields = (
qw( description ip_addr speed_down speed_up blocknum ),
{ field=>'block_label', type=>'fixed' },
- qw( mac_addr latitude longitude altitude vlan_profile performance_profile authkey plan_id )
+ qw( mac_addr latitude longitude altitude vlan_profile
+ performance_profile authkey plan_id ),
);
+if ( $conf->exists('svc_broadband-radius') ) {
+ push @fields,
+ { field => 'usergroup',
+ type => 'select-radius_group',
+ multiple => 1,
+ }
+}
+
+
my $fixedblock = '';
my $callback = sub {
@@ -116,10 +125,17 @@ my $callback = sub {
my $columndef = $part_svc->part_svc_column($fieldref->{'field'});
if ($columndef->columnflag eq 'F') {
- $fieldref->{'type'} = 'fixed';
+ $fieldref->{'type'} = length($columndef->columnvalue)
+ ? 'fixed'
+ : 'hidden';
$fieldref->{'value'} = $columndef->columnvalue;
$fixedblock = $fieldref->{value}
if $fieldref->{field} eq 'blocknum';
+
+ if ( $fieldref->{field} eq 'usergroup' ) {
+ $fieldref->{'formatted_value'} =
+ [ $object->radius_groups('long_description') ];
+ }
}
if ($object->svcnum) {