diff options
author | levinse <levinse> | 2010-11-25 20:02:55 +0000 |
---|---|---|
committer | levinse <levinse> | 2010-11-25 20:02:55 +0000 |
commit | 4d510fab209dcfd9e6ec75a55ee653593e2d1435 (patch) | |
tree | 44c05b53b42a40d97f96b381e7f14e1cdf5b266d /httemplate | |
parent | 4683c4acd47d916cb96bf52e3afd654314c06a28 (diff) |
more sane svc_dsl UI, RT7111
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/edit/svc_dsl.cgi | 81 | ||||
-rw-r--r-- | httemplate/view/elements/svc_Common.html | 10 | ||||
-rw-r--r-- | httemplate/view/svc_dsl.cgi | 32 |
3 files changed, 70 insertions, 53 deletions
diff --git a/httemplate/edit/svc_dsl.cgi b/httemplate/edit/svc_dsl.cgi index 3568fbd7d..f086033ff 100644 --- a/httemplate/edit/svc_dsl.cgi +++ b/httemplate/edit/svc_dsl.cgi @@ -3,6 +3,7 @@ 'fields' => \@fields, 'svc_new_callback' => $new_cb, 'svc_edit_callback' => $edit_cb, + 'html_foot' => $html_foot, ) %> <%init> @@ -16,7 +17,21 @@ my $date_format = $conf->config('date_format') || '%m/%d/%Y'; my $ti_fields = FS::svc_dsl->table_info->{'fields'}; my @fields = (); -my @uneditable = qw( pushed vendor_qual_id isp_chg isp_prev staticips last_pull notes ); + +my $html_foot = sub { + return " +<SCRIPT TYPE=\"text/javascript\"> + function ikano_loop_type_changed() { + var loop_type = document.getElementById('loop_type').value; + var svctn = document.getElementById('svctn'); + if(loop_type == '0') { + svctn.value = ''; + svctn.disabled = true; + } + else svctn.disabled = false; + } +</SCRIPT>"; +}; my $edit_cb = sub { my( $cgi,$svc_x, $part_svc,$cust_pkg, $fields1,$opt) = @_; @@ -37,12 +52,10 @@ my $edit_cb = sub { } unless ( $hf eq 'password' || $hf eq 'monitored' ); } } - else { - # XXX - } + # else add any other export-specific stuff here } else { - # XXX + # XXX allow editing everything } }; @@ -77,8 +90,6 @@ my $new_cb = sub { }, ); - my $loop_type = { field => 'loop_type' }; - my $export = @exports[0]; if($export->exporttype eq 'ikano') { $cgi->param('vendor_qual_id') =~ /^(\d+)$/ @@ -87,39 +98,35 @@ my $new_cb = sub { die "no start date set on customer package" if !$cust_pkg->start_date; - $loop_type = { field => 'loop_type', - type => 'select', - options => [ '', '0' ], - labels => { '' => 'Line-share', '0', => 'Standalone' }, - # onchange => "document.getElementById('svctn').value = ''", - }; - push @fields, { field => 'isp_chg', type => 'checkbox', }; - push @fields, 'isp_prev'; - push @fields, { field => 'vendor_qual_id', - type => 'fixed', - value => $vendor_qual_id, - }; - } - else { - push @fields, 'username'; + my @addl_fields = ( + { field => 'loop_type', + type => 'select', + options => [ '', '0' ], + labels => { '' => 'Line-share', '0', => 'Standalone' }, + onchange => 'ikano_loop_type_changed', + }, + 'password', + { field => 'isp_chg', type => 'checkbox', }, + 'isp_prev', + { field => 'vendor_qual_id', + type => 'fixed', + value => $vendor_qual_id, }, + { field => 'vendor_order_type', + type => 'hidden', + value => 'N' }, + { field => 'desired_dd', + type => 'fixed', + formatted_value => + time2str($date_format,$cust_pkg->start_date), + value => $cust_pkg->start_date, + }, + ); + push @fields, @addl_fields; } - - push @fields, 'password'; - - push @fields, $loop_type; - - push @fields, { field => 'vendor_order_type', - type => 'hidden', - value => 'N' }; - push @fields, { field => 'desired_dd', - type => 'fixed', - formatted_value => - time2str($date_format,$cust_pkg->start_date), - value => $cust_pkg->start_date, - }; + # else add any other export-specific stuff here } else { - # XXX + # XXX display everything when no exports attached } }; </%init> diff --git a/httemplate/view/elements/svc_Common.html b/httemplate/view/elements/svc_Common.html index 25845ddc5..e3b8da4fe 100644 --- a/httemplate/view/elements/svc_Common.html +++ b/httemplate/view/elements/svc_Common.html @@ -65,10 +65,10 @@ Unprovision this Service</A> % % my($field, $type, $value, $hack_strict_refs); % if ( ref($f) ) { -% $field = $f->{'field'}, +% $field = $f->{'field'}; % $hack_strict_refs = \&{ $f->{'value'} } if $f->{'value'}; % $value = $f->{'value'} ? &$hack_strict_refs($svc_x) : $svc_x->$field; -% $type = $f->{'type'} || 'text', +% $type = $f->{'type'} || 'text'; % } else { % $field = $f; % $value = $svc_x->$field; @@ -86,6 +86,9 @@ Unprovision this Service</A> %> </TD> +% $value = time2str($date_format,$value) if ( $type eq 'date' && $value ); +% $value = time2str("$date_format %H:%M",$value) if ( $type eq 'datetime' && $value ); +% $value = $value eq 'Y' ? 'Yes' : 'No' if ( $type eq 'checkbox' ); % #eventually more options for <SELECT>, etc. fields <TD BGCOLOR="#ffffff"><% $value %><TD> @@ -125,6 +128,9 @@ die "access denied" my(%opt) = @_; +my $conf = new FS::Conf; +my $date_format = $conf->config('date_format') || '%m/%d/%Y'; + my $table = $opt{'table'}; my $fields = $opt{'fields'} diff --git a/httemplate/view/svc_dsl.cgi b/httemplate/view/svc_dsl.cgi index b460c010e..fd998ae60 100644 --- a/httemplate/view/svc_dsl.cgi +++ b/httemplate/view/svc_dsl.cgi @@ -7,8 +7,8 @@ ) %> <%init> -my $conf = new FS::Conf; -my $date_format = $conf->config('date_format') || '%m/%d/%Y'; + +# XXX: AJAX auto-pull my $fields = FS::svc_dsl->table_info->{'fields'}; my %labels = map { $_ => ( ref($fields->{$_}) @@ -38,21 +38,25 @@ my $svc_cb = sub { my $export = @exports[0]; $opt->{'disable_unprovision'} = 1; - # XXX: AJAX auto-pull - - @fields = qw( svctn first last company username password ); + @fields = ( 'svctn', + { field => 'loop_type', + value => 'FS::part_export::'.$export->exporttype.'::loop_type_long' + }, + { field => 'desired_dd', type => 'date', }, + { field => 'dd', type => 'date', }, + { field => 'pushed', type => 'datetime', }, + { field => 'monitored', type => 'checkbox', }, + { field => 'last_pull', type => 'datetime', }, + 'first', + 'last', + 'company' ); if($export->exporttype eq 'ikano') { - push @fields, 'isp_chg'; - push @fields, 'isp_prev'; - push @fields, 'staticips'; - } - else { - # XXX + push @fields, qw ( username password isp_chg isp_prev staticips ); } + # else add any other export-specific stuff here - $footer = "<B>".$export->status_line($svc_x,$date_format,"<BR>")."</B>"; - - # XXX: notes + $footer = "<B>".$export->status_line($svc_x)."</B>"; + $footer .= "<BR><BR><BR>Order Notes:<BR>".$export->notes_html; }; </%init> |