diff options
Diffstat (limited to 'httemplate/edit')
-rw-r--r-- | httemplate/edit/elements/edit.html | 4 | ||||
-rw-r--r-- | httemplate/edit/elements/svc_Common.html | 6 | ||||
-rw-r--r-- | httemplate/edit/hardware_class.html | 16 | ||||
-rw-r--r-- | httemplate/edit/hardware_status.html | 16 | ||||
-rw-r--r-- | httemplate/edit/hardware_type.html | 28 | ||||
-rwxr-xr-x | httemplate/edit/part_svc.cgi | 32 | ||||
-rw-r--r-- | httemplate/edit/process/elements/process.html | 6 | ||||
-rw-r--r-- | httemplate/edit/process/hardware_class.html | 11 | ||||
-rw-r--r-- | httemplate/edit/process/hardware_status.html | 11 | ||||
-rw-r--r-- | httemplate/edit/process/hardware_type.html | 11 | ||||
-rw-r--r-- | httemplate/edit/process/svc_dish.html | 10 | ||||
-rw-r--r-- | httemplate/edit/process/svc_hardware.html | 10 | ||||
-rw-r--r-- | httemplate/edit/svc_dish.cgi | 33 | ||||
-rw-r--r-- | httemplate/edit/svc_hardware.cgi | 55 |
14 files changed, 240 insertions, 9 deletions
diff --git a/httemplate/edit/elements/edit.html b/httemplate/edit/elements/edit.html index 1ed75c3ef..295ad8567 100644 --- a/httemplate/edit/elements/edit.html +++ b/httemplate/edit/elements/edit.html @@ -260,6 +260,10 @@ Example: % 'maxlength' => $f->{'maxlength'}, % 'postfix' => $f->{'postfix'}, % +% #textarea +% 'rows' => $f->{'rows'}, +% 'cols' => $f->{'cols'}, +% % #checkbox, title, fixed, hidden % #& deprecated weird value hashref used only by reason.html % 'value' => $f->{'value'}, diff --git a/httemplate/edit/elements/svc_Common.html b/httemplate/edit/elements/svc_Common.html index aa7699555..0955d49c6 100644 --- a/httemplate/edit/elements/svc_Common.html +++ b/httemplate/edit/elements/svc_Common.html @@ -104,6 +104,12 @@ if $object->svcnum; $f->{'extra_sql'} .= ' ) '; $f->{'disable_empty'} = $object->svcnum ? 1 : 0, + } elsif ( $flag eq 'H' ) { + $f->{'type'} = 'select-hardware_type'; + $f->{'hashref'} = { + 'classnum'=>$columndef->columnvalue + }; + $f->{'empty_label'} = 'Select hardware type'; } if ( $f->{'type'} eq 'select-svc_pbx' diff --git a/httemplate/edit/hardware_class.html b/httemplate/edit/hardware_class.html new file mode 100644 index 000000000..8760dd86c --- /dev/null +++ b/httemplate/edit/hardware_class.html @@ -0,0 +1,16 @@ +<% include( 'elements/edit.html', + 'name' => 'Hardware Class', + 'table' => 'hardware_class', + 'labels' => { + 'classnum' => 'Class number', + 'classname' => 'Class name', + }, + 'viewall_dir' => 'browse', + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +</%init> diff --git a/httemplate/edit/hardware_status.html b/httemplate/edit/hardware_status.html new file mode 100644 index 000000000..ee5f25db8 --- /dev/null +++ b/httemplate/edit/hardware_status.html @@ -0,0 +1,16 @@ +<% include( 'elements/edit.html', + 'name' => 'Hardware Status', + 'table' => 'hardware_status', + 'labels' => { + 'statusnum' => 'Status number', + 'label' => 'Description' , + }, + 'viewall_dir' => 'browse', + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +</%init> diff --git a/httemplate/edit/hardware_type.html b/httemplate/edit/hardware_type.html new file mode 100644 index 000000000..09a272402 --- /dev/null +++ b/httemplate/edit/hardware_type.html @@ -0,0 +1,28 @@ +<% include( 'elements/edit.html', + 'name' => 'Device Type', + 'table' => 'hardware_type', + 'fields' => \@fields, + 'labels' => { + 'typenum' => 'Type number', + 'model' => 'Device model', + 'classnum' => 'Hardware class', + }, + 'viewall_url' => $p.'browse/hardware_class.html', + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +my @fields = ( + { field => 'classnum', + type => 'select-table', + table => 'hardware_class', + disable_empty => 1, + name_col => 'classname', + }, + 'model', +); + +</%init> diff --git a/httemplate/edit/part_svc.cgi b/httemplate/edit/part_svc.cgi index d608657dc..97e2d9694 100755 --- a/httemplate/edit/part_svc.cgi +++ b/httemplate/edit/part_svc.cgi @@ -9,7 +9,8 @@ Service Part #<% $part_svc->svcpart ? $part_svc->svcpart : "(NEW)" %> <BR><BR> Service <INPUT TYPE="text" NAME="svc" VALUE="<% $hashref->{svc} %>"><BR> -Disable new orders <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref->{disabled} eq 'Y' ? ' CHECKED' : '' %>><BR> +<INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref->{disabled} eq 'Y' ? ' CHECKED' : '' %>> Disable new orders<BR> +<INPUT TYPE="checkbox" NAME="preserve" VALUE="Y"<% $hashref->{'preserve'} eq 'Y' ? ' CHECKED' : '' %>> Preserve this service on package cancellation<BR> <INPUT TYPE="hidden" NAME="svcpart" VALUE="<% $hashref->{svcpart} %>"> <BR> @@ -56,6 +57,9 @@ Disable new orders <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref-> % 'A' => { 'desc' => 'Automatically fill in from inventory', % 'condition' => $inv_sub, % }, +% 'H' => { 'desc' => 'Select from hardware class', +% 'condition' => sub { $_[0]->{type} ne 'select-hardware' }, +% }, % 'X' => { 'desc' => 'Excluded', % 'condition' => % sub { ! $vfields{$_[1]}->{$_[2]} }, @@ -76,7 +80,7 @@ Disable new orders <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref-> % #'form_action' => 'process/part_svc.cgi', % 'form_action' => 'part_svc.cgi', #self % 'form_text' => [ qw( svc svcpart ) ], -% 'form_checkbox' => [ 'disabled' ], +% 'form_checkbox' => [ 'disabled', 'preserve' ], % 'layer_callback' => sub { % my $layer = shift; % @@ -90,7 +94,7 @@ Disable new orders <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref-> % my @part_export = % map { qsearch( 'part_export', {exporttype => $_ } ) } % keys %{FS::part_export::export_info($layer)}; -% $html .= '<BR><BR>'. table(). +% $html .= '<BR><BR>'. include('/elements/table.html') . % "<TR><TH COLSPAN=$columns>Exports</TH></TR><TR>"; % foreach my $part_export ( @part_export ) { % $communigate++ if $part_export->exporttype =~ /^communigate/; @@ -179,7 +183,7 @@ Disable new orders <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref-> % foreach my $f ( keys %flag ) { % % # need to template-ize more httemplate/edit/svc_* first -% next if $f eq 'M' and $layer !~ /^svc_(broadband|external|phone)$/; +% next if $f eq 'M' and $layer !~ /^svc_(broadband|external|phone|dish)$/; % % #here is where the SUB from above is called, to skip some choices % next if $flag{$f}->{condition} @@ -218,7 +222,8 @@ Disable new orders <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref-> % " what.form.${layer}__${field}_classnum.style.backgroundColor = '#ffffff';". % " what.form.${layer}__${field}_classnum.style.display = 'none';". % " }". -% ' } else if ( f == "M" || f == "A" ) { //enable, inventory', +% ' } else if ( f == "M" || f == "A" || f == "H" ) { '. +% '//enable, inventory', % " what.form.${layer}__${field}.disabled = false;". % " what.form.${layer}__${field}.style.backgroundColor = '#ffffff';". % " what.form.${layer}__${field}.style.display = 'none';". @@ -238,10 +243,10 @@ Disable new orders <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref-> % % my $disabled = $flag ? '' % : 'DISABLED STYLE="background-color: #dddddd"'; +% my $nodisplay = ' STYLE="display:none"'; % % if ( !$def->{type} || $def->{type} eq 'text' ) { % -% my $nodisplay = ' STYLE="display:none"'; % my $is_inv = ( $flag =~ /^[MA]$/ ); % % $html .= @@ -343,6 +348,16 @@ Disable new orders <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref-> % #doesn't work#'element_etc' => $disabled, % ); % +% } elsif ( $def->{type} eq 'select-hardware' ) { +% +% $html .= qq!<INPUT TYPE="text" NAME="${layer}__${field}" $disabled>!; +% $html .= include('/elements/select-hardware_class.html', +% 'curr_value' => $value, +% 'element_name' => "${layer}__${field}_classnum", +% 'element_etc' => $flag ne 'H' && $nodisplay, +% 'empty_label' => 'Select hardware class', +% ); +% % } elsif ( $def->{type} eq 'disabled' ) { % % $html .= @@ -372,7 +387,8 @@ Disable new orders <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref-> % % $html .= include('/elements/progress-init.html', % $layer, #form name -% [ qw(svc svcpart disabled exportnum), @fields ], +% [ qw(svc svcpart disabled preserve exportnum), +% @fields ], % 'process/part_svc.cgi', % $p.'browse/part_svc.cgi', % $layer, @@ -452,6 +468,7 @@ my $svcdb_info = ' <TD VALIGN="top"> <UL STYLE="margin:0"> <LI><B>svc_acct</B>: Accounts - anything with a username (mailbox, shell, RADIUS, etc.) + <LI><B>svc_hardware</B>: Equipment supplied to customers <LI><B>svc_external</B>: Externally-tracked service </UL> </TD> @@ -459,6 +476,7 @@ my $svcdb_info = ' <UL STYLE="margin:0"> <LI><B>svc_dsl</B>: DSL <LI><B>svc_broadband</B>: Wireless broadband + <LI><B>svc_dish</B>: DISH Network </UL> </TD> <TD VALIGN="top"> diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html index 53419cde0..107b3f298 100644 --- a/httemplate/edit/process/elements/process.html +++ b/httemplate/edit/process/elements/process.html @@ -133,9 +133,11 @@ Example: % } else { % % my $ext = $opt{'viewall_ext'} || 'html'; +% my $viewall_dir = $opt{'viewall_dir'} || 'search'; +% my $viewall_url = $opt{'viewall_url'} || ($viewall_dir . "/$table.$ext"); % -<% $cgi->redirect( popurl(3). ($opt{viewall_dir}||'search'). "/$table.$ext" ) %> -% +%#<% $cgi->redirect( popurl(3). ($opt{viewall_dir}||'search'). "/$table.$ext" ) %> +<% $cgi->redirect( popurl(3) . $viewall_url ) %> % } % %} diff --git a/httemplate/edit/process/hardware_class.html b/httemplate/edit/process/hardware_class.html new file mode 100644 index 000000000..64bc72efe --- /dev/null +++ b/httemplate/edit/process/hardware_class.html @@ -0,0 +1,11 @@ +<% include( 'elements/process.html', + 'table' => 'hardware_class', + 'viewall_dir' => 'browse', + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +</%init> diff --git a/httemplate/edit/process/hardware_status.html b/httemplate/edit/process/hardware_status.html new file mode 100644 index 000000000..61f02e215 --- /dev/null +++ b/httemplate/edit/process/hardware_status.html @@ -0,0 +1,11 @@ +<% include( 'elements/process.html', + 'table' => 'hardware_status', + 'viewall_dir' => 'browse', + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +</%init> diff --git a/httemplate/edit/process/hardware_type.html b/httemplate/edit/process/hardware_type.html new file mode 100644 index 000000000..52787011c --- /dev/null +++ b/httemplate/edit/process/hardware_type.html @@ -0,0 +1,11 @@ +<% include( 'elements/process.html', + 'table' => 'hardware_type', + 'viewall_url' => 'browse/hardware_class.html', + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +</%init> diff --git a/httemplate/edit/process/svc_dish.html b/httemplate/edit/process/svc_dish.html new file mode 100644 index 000000000..6c8851e77 --- /dev/null +++ b/httemplate/edit/process/svc_dish.html @@ -0,0 +1,10 @@ +<% include( 'elements/svc_Common.html', + 'table' => 'svc_dish', + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? + +</%init> diff --git a/httemplate/edit/process/svc_hardware.html b/httemplate/edit/process/svc_hardware.html new file mode 100644 index 000000000..5abf16c4b --- /dev/null +++ b/httemplate/edit/process/svc_hardware.html @@ -0,0 +1,10 @@ +<% include( 'elements/svc_Common.html', + 'table' => 'svc_hardware', + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? + +</%init> diff --git a/httemplate/edit/svc_dish.cgi b/httemplate/edit/svc_dish.cgi new file mode 100644 index 000000000..77a223933 --- /dev/null +++ b/httemplate/edit/svc_dish.cgi @@ -0,0 +1,33 @@ +<% include( 'elements/svc_Common.html', + 'table' => 'svc_dish', + 'html_foot' => $html_foot, + 'fields' => \@fields, + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? + +my $conf = new FS::Conf; +my $date_format = $conf->config('date_format') || '%m/%d/%Y'; + +my $html_foot = sub { }; + +my @fields = ( + { + field => 'acctnum', + type => 'text', + label => 'DISH Account #', + }, + { + field => 'note', + type => 'textarea', + rows => 4, + cols => 30, + label => 'Installation notes', + }, + +); + +</%init> diff --git a/httemplate/edit/svc_hardware.cgi b/httemplate/edit/svc_hardware.cgi new file mode 100644 index 000000000..e6cb22bcb --- /dev/null +++ b/httemplate/edit/svc_hardware.cgi @@ -0,0 +1,55 @@ +<% include( 'elements/svc_Common.html', + 'table' => 'svc_hardware', + 'html_foot' => $html_foot, + 'fields' => \@fields, + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? + +my $conf = new FS::Conf; +my $date_format = $conf->config('date_format') || '%m/%d/%Y'; + +my $html_foot = sub { }; + +my @fields = ( + { + field => 'typenum', + type => 'select-hardware_type', + }, + { + field => 'serial', + type => 'text', + label => 'Device serial #', + }, + { + field => 'hw_addr', + type => 'text', + label => 'Hardware address', + }, + { + field => 'ip_addr', + type => 'text', + label => 'IP address', + }, + { + field => 'statusnum', + type => 'select-table', + table => 'hardware_status', + label => 'Service status', + name_col => 'label', + disable_empty => 1, + }, + { + field => 'note', + type => 'textarea', + rows => 4, + cols => 30, + label => 'Installation notes', + }, + +); + +</%init> |