From 5a9a411b980edea1b0f9690fc92e3b93574ee974 Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Thu, 10 Mar 2016 01:20:21 -0800 Subject: add svc_fiber circuit id field, OLT sites, and other improvements, #35260 --- httemplate/edit/elements/edit.html | 2 +- httemplate/edit/fiber_olt.html | 9 +++++++++ httemplate/edit/olt_site.html | 20 ++++++++++++++++++++ httemplate/edit/process/olt_site.html | 4 ++++ httemplate/edit/process/svc_fiber.html | 12 ++++++++++++ httemplate/edit/svc_fiber.html | 7 ++++++- 6 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 httemplate/edit/olt_site.html create mode 100644 httemplate/edit/process/olt_site.html (limited to 'httemplate/edit') diff --git a/httemplate/edit/elements/edit.html b/httemplate/edit/elements/edit.html index c6d45531e..bbc9797dc 100644 --- a/httemplate/edit/elements/edit.html +++ b/httemplate/edit/elements/edit.html @@ -362,7 +362,7 @@ Example: % $include_common{$_} = $f->{$_} foreach grep exists($f->{$_}), % qw( js_only html_only select_only layers_only cell_style ),#selectlayers,? % qw( empty_label ), # select-* -% qw( value_col compare_sub order_by ), # select-table +% qw( value_col compare_sub order_by addl_from ), # select-table % qw( table name_col ), #(select,checkboxes)-table % qw( target_table link_table ), #checkboxes-table % qw( hashref agent_virt agent_null agent_null_right ),#*-table diff --git a/httemplate/edit/fiber_olt.html b/httemplate/edit/fiber_olt.html index ab7d2f07e..8cbcbb590 100644 --- a/httemplate/edit/fiber_olt.html +++ b/httemplate/edit/fiber_olt.html @@ -11,6 +11,14 @@ die "access denied" my @fields = ( 'oltname', + { + field => 'sitenum', + type => 'select-table', + table => 'olt_site', + name_col => 'description', + order_by => 'ORDER BY market, site', + empty_label => ' ', + }, 'serial', { field => 'disabled', type => 'checkbox', value => 'Y' } ); @@ -18,6 +26,7 @@ my @fields = ( my %labels = ( 'oltnum' => '', 'oltname' => 'Name', + 'sitenum' => 'Site', 'serial' => 'Serial', 'disabled' => 'Disabled', ); diff --git a/httemplate/edit/olt_site.html b/httemplate/edit/olt_site.html new file mode 100644 index 000000000..c243bab18 --- /dev/null +++ b/httemplate/edit/olt_site.html @@ -0,0 +1,20 @@ +<& elements/edit.html, + popup => 1, + name_singular => 'OLT site', + table => 'olt_site', + viewall_dir => 'browse', + fields => [ + { field => 'market', + type => 'text', + size => 4, + }, + { field => 'site', + type => 'text', + size => 4, + }, + ], + labels => { 'market' => 'Market', + 'site' => 'Site', + 'sitenum' => 'Site', + }, +&> diff --git a/httemplate/edit/process/olt_site.html b/httemplate/edit/process/olt_site.html new file mode 100644 index 000000000..f328cfefe --- /dev/null +++ b/httemplate/edit/process/olt_site.html @@ -0,0 +1,4 @@ +<& elements/process.html, + table => 'olt_site', + viewall_dir => 'browse', +&> diff --git a/httemplate/edit/process/svc_fiber.html b/httemplate/edit/process/svc_fiber.html index 815a8eeb8..3dabede13 100644 --- a/httemplate/edit/process/svc_fiber.html +++ b/httemplate/edit/process/svc_fiber.html @@ -2,10 +2,22 @@ table => 'svc_fiber', edit_ext => 'html', redirect => popurl(3)."view/svc_fiber.cgi?", + precheck_callback => $precheck_callback, &> <%init> die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? +my $precheck_callback = sub { + my $cgi = shift; + # recombine fdu/fat/subfat/port + my $circuit_id = $cgi->param('circuit_id_fdu') . '/' . + $cgi->param('circuit_id_fat') . $cgi->param('circuit_id_subfat') . '/' . + $cgi->param('circuit_id_port'); + $cgi->param('circuit_id', $circuit_id); + $cgi->delete(qw( circuit_id_fdu circuit_id_fat circuit_id_subfat circuit_id_port )); + ''; +}; + diff --git a/httemplate/edit/svc_fiber.html b/httemplate/edit/svc_fiber.html index e07caa1b1..982b0bf05 100644 --- a/httemplate/edit/svc_fiber.html +++ b/httemplate/edit/svc_fiber.html @@ -10,10 +10,15 @@ die "access denied" my $conf = new FS::Conf; my @fields = ( + { field => 'circuit_id', + type => 'input-fiber_circuit', + }, { field => 'oltnum', type => 'select-table', table => 'fiber_olt', - name_col => 'oltname', + name_col => 'description', + addl_from => 'LEFT JOIN olt_site USING (sitenum)', + order_by => 'ORDER BY market, site, oltname', hashref => { disabled => '' }, disable_empty => 1, }, -- cgit v1.2.1