summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-06-07 01:37:19 -0700
committerIvan Kohler <ivan@freeside.biz>2013-06-07 01:37:19 -0700
commit08d132eca6a97c3417dc0f13bb603f080bd0e222 (patch)
tree90b5c4232edaa695afc36f15a653c508735fdc66 /httemplate
parent3da5fd3eade3050336ff52aa81bfcccfe3b302ca (diff)
add fields to svc_phone: SMS provider, SMS provider acct#, max simultaneous calls
Diffstat (limited to 'httemplate')
-rw-r--r--httemplate/browse/cdr_carrier.html22
-rw-r--r--httemplate/edit/cdr_carrier.html19
-rw-r--r--httemplate/edit/process/cdr_carrier.html10
-rw-r--r--httemplate/edit/svc_phone.cgi19
-rw-r--r--httemplate/elements/menu.html1
-rw-r--r--httemplate/elements/select-cdr_carrier.html19
-rw-r--r--httemplate/elements/tr-select-cdr_carrier.html27
-rw-r--r--httemplate/view/svc_phone.cgi27
8 files changed, 136 insertions, 8 deletions
diff --git a/httemplate/browse/cdr_carrier.html b/httemplate/browse/cdr_carrier.html
new file mode 100644
index 000000000..3ec95f392
--- /dev/null
+++ b/httemplate/browse/cdr_carrier.html
@@ -0,0 +1,22 @@
+<& elements/browse.html,
+ 'title' => 'Carriers',
+ 'name_singular' => 'carrier',
+ 'menubar' => [ 'Add a new carrier' =>
+ $p.'edit/cdr_carrier.html',
+ ],
+ 'query' => { 'table' => 'cdr_carrier', },
+ 'count_query' => 'SELECT COUNT(*) FROM cdr_carrier',
+ 'header' => [ 'Carrier', ],
+ 'fields' => [ 'carriername', ],
+ 'links' => [ $link, ],
+ 'disableable' => 1,
+ 'disabled_statuspos' => 1,
+&>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+my $link = [ "${p}edit/cdr_carrier.html?", 'carrierid' ];
+
+</%init>
diff --git a/httemplate/edit/cdr_carrier.html b/httemplate/edit/cdr_carrier.html
new file mode 100644
index 000000000..47a358a41
--- /dev/null
+++ b/httemplate/edit/cdr_carrier.html
@@ -0,0 +1,19 @@
+<& elements/edit.html,
+ 'table' => 'cdr_carrier',
+ 'name_singular' => 'carrier',
+ 'fields' => [
+ { field=>'carriername', type=>'text', size=>20 },
+ { field=>'disabled', type=>'checkbox', value=>'Y' },
+ ],
+ 'labels' => { 'carrierid' => 'Carrier',
+ 'carriername' => 'Carrier',
+ 'disabled' => 'Disabled',
+ },
+ 'viewall_dir' => 'browse',
+&>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+</%init>
diff --git a/httemplate/edit/process/cdr_carrier.html b/httemplate/edit/process/cdr_carrier.html
new file mode 100644
index 000000000..72f018609
--- /dev/null
+++ b/httemplate/edit/process/cdr_carrier.html
@@ -0,0 +1,10 @@
+<& elements/process.html,
+ 'table' => 'cdr_carrier',
+ 'viewall_dir' => 'browse',
+&>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+</%init>
diff --git a/httemplate/edit/svc_phone.cgi b/httemplate/edit/svc_phone.cgi
index 13bbe82a1..d48e6353b 100644
--- a/httemplate/edit/svc_phone.cgi
+++ b/httemplate/edit/svc_phone.cgi
@@ -121,6 +121,25 @@ my $begin_callback = sub {
;
}
+ if ( ! $bulk ) {
+
+ push @$fields,
+ {
+ type => 'tablebreak-tr-title',
+ value => 'Carrier Information',
+ colspan => 8,
+ },
+ { field => 'sms_carrierid',
+ label => 'SMS Carrier',
+ type => 'select-cdr_carrier',
+ },
+ 'sms_account',
+ 'max_simultaneous',
+ ;
+
+ }
+
};
+
</%init>
diff --git a/httemplate/elements/menu.html b/httemplate/elements/menu.html
index aff55484a..f784d2faf 100644
--- a/httemplate/elements/menu.html
+++ b/httemplate/elements/menu.html
@@ -500,6 +500,7 @@ tie my %config_broadband, 'Tie::IxHash',
tie my %config_phone, 'Tie::IxHash',
'View/Edit phone device types' => [ $fsurl.'browse/part_device.html', 'Phone device types' ],
'View/Edit bulk DID vendors' => [ $fsurl.'browse/did_vendor.html', 'Bulk DID vendors' ],
+ 'View/Edit Carriers' => [ $fsurl.'browse/cdr_carrier.html', 'Carriers' ],
;
tie my %config_radius, 'Tie::IxHash',
diff --git a/httemplate/elements/select-cdr_carrier.html b/httemplate/elements/select-cdr_carrier.html
new file mode 100644
index 000000000..a9dc54f93
--- /dev/null
+++ b/httemplate/elements/select-cdr_carrier.html
@@ -0,0 +1,19 @@
+<% include( '/elements/select-table.html',
+ 'table' => 'cdr_carrier',
+ 'name_col' => 'carriername',
+ 'empty_label' => '(none)',
+ %opt,
+ )
+%>
+<%init>
+
+my( %opt ) = @_;
+
+$opt{'records'} = delete $opt{'cdr_carrier'}
+ if $opt{'cdr_carrier'};
+
+my %hash = ( 'disabled' => '', );
+
+$opt{'records'} ||= [ qsearch( 'cdr_carrier', \%hash ) ];
+
+</%init>
diff --git a/httemplate/elements/tr-select-cdr_carrier.html b/httemplate/elements/tr-select-cdr_carrier.html
new file mode 100644
index 000000000..b39a4d4aa
--- /dev/null
+++ b/httemplate/elements/tr-select-cdr_carrier.html
@@ -0,0 +1,27 @@
+% if ( scalar(@{ $opt{'cdr_carrier'} }) == 0 ) {
+
+ <INPUT TYPE="hidden" NAME="<% $opt{'field'} || 'carrierid' %>" VALUE="">
+
+% } else {
+
+ <TR>
+ <TD ALIGN="right"><% $opt{'label'} || 'Carrier' %></TD>
+ <TD>
+ <% include( '/elements/select-cdr_carrier.html',
+ %opt,
+ )
+ %>
+ </TD>
+ </TR>
+
+% }
+
+<%init>
+
+my( %opt ) = @_;
+
+my %hash = ( 'disabled' => '', );
+
+$opt{'cdr_carrier'} ||= [ qsearch( 'cdr_carrier', \%hash ) ];
+
+</%init>
diff --git a/httemplate/view/svc_phone.cgi b/httemplate/view/svc_phone.cgi
index 408364aeb..ccd9ae7c7 100644
--- a/httemplate/view/svc_phone.cgi
+++ b/httemplate/view/svc_phone.cgi
@@ -31,15 +31,26 @@ if ( $conf->exists('showpasswords') ) {
push @fields, qw( pin phone_name forwarddst email );
+push @fields, { field => 'sms_carrierid',
+ #type=>'cdr_carrier',
+ value_callback => sub {
+ $_[0]->sms_carriername,
+ },
+ },
+ 'sms_account',
+ 'max_simultaneous',
+;
+
if ( $conf->exists('svc_phone-lnp') ) {
-push @fields, 'lnp_status',
- 'lnp_reject_reason',
- { field => 'portable', type => 'checkbox', },
- 'lrn',
- { field => 'lnp_desired_due_date', type => 'date', },
- { field => 'lnp_due_date', type => 'date', },
- 'lnp_other_provider',
- 'lnp_other_provider_account';
+ push @fields, 'lnp_status',
+ 'lnp_reject_reason',
+ { field => 'portable', type => 'checkbox', },
+ 'lrn',
+ { field => 'lnp_desired_due_date', type => 'date', },
+ { field => 'lnp_due_date', type => 'date', },
+ 'lnp_other_provider',
+ 'lnp_other_provider_account',
+ ;
}
my $html_foot = sub {