[freeside-commits] freeside/httemplate/edit hardware_class.html, NONE, 1.1 hardware_status.html, NONE, 1.1 hardware_type.html, NONE, 1.1 part_svc.cgi, 1.77, 1.78 svc_dish.cgi, NONE, 1.1 svc_hardware.cgi, NONE, 1.1

Mark Wells mark at wavetail.420.am
Thu Mar 31 19:52:16 PDT 2011


Update of /home/cvs/cvsroot/freeside/httemplate/edit
In directory wavetail.420.am:/tmp/cvs-serv29538/httemplate/edit

Modified Files:
	part_svc.cgi 
Added Files:
	hardware_class.html hardware_status.html hardware_type.html 
	svc_dish.cgi svc_hardware.cgi 
Log Message:
svc_hardware and svc_dish, #11454

--- NEW FILE: hardware_type.html ---
<% 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>

--- NEW FILE: svc_hardware.cgi ---
<% 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>

--- NEW FILE: svc_dish.cgi ---
<% 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>

Index: part_svc.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/edit/part_svc.cgi,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -w -d -r1.77 -r1.78
--- part_svc.cgi	8 Jan 2011 00:54:56 -0000	1.77
+++ part_svc.cgi	1 Apr 2011 02:52:13 -0000	1.78
@@ -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' : '' %>>&nbsp;Disable new orders<BR>
+<INPUT TYPE="checkbox" NAME="preserve" VALUE="Y"<% $hashref->{'preserve'} eq 'Y' ? ' CHECKED' : '' %>>&nbsp;Preserve this service on package cancellation<BR>
 <INPUT TYPE="hidden" NAME="svcpart" VALUE="<% $hashref->{svcpart} %>">
 
 <BR>
@@ -56,6 +57,9 @@
 %    '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 @@
 %    #'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 @@
 %      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 @@
 %          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 @@
 %            "        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 @@
 %
 %        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 @@
 %                             #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 @@
 %
 %      $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 @@
     <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 @@
       <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">

--- NEW FILE: hardware_class.html ---
<% 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>

--- NEW FILE: hardware_status.html ---
<% 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>



More information about the freeside-commits mailing list