diff options
| author | mark <mark> | 2011-04-01 02:52:24 +0000 | 
|---|---|---|
| committer | mark <mark> | 2011-04-01 02:52:24 +0000 | 
| commit | b65b8096089410001dfbcd35f9a56f9405b9f5f1 (patch) | |
| tree | df16b0422007bd876bc969bdff857d8a510b0aca /httemplate/edit | |
| parent | 19b0c403fbf697a1de92f12abc8a2104daca07bc (diff) | |
svc_hardware and svc_dish, #11454
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> | 
