[freeside-commits] branch master updated. dcfdfa382ec3e357f1cd3c822fd5e658b0746f85

Ivan ivan at 420.am
Tue Sep 10 01:34:04 PDT 2013


The branch, master has been updated
       via  dcfdfa382ec3e357f1cd3c822fd5e658b0746f85 (commit)
      from  a5dce53ac50026bc6caef192100162f1d86a863f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit dcfdfa382ec3e357f1cd3c822fd5e658b0746f85
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Tue Sep 10 01:34:03 2013 -0700

    svc_cable service have a single serial / MAC / model, not one-to-many devices like svc_phone and svc_dsl, RT#22009

diff --git a/FS/FS/cable_model.pm b/FS/FS/cable_model.pm
new file mode 100644
index 0000000..7f662de
--- /dev/null
+++ b/FS/FS/cable_model.pm
@@ -0,0 +1,109 @@
+package FS::cable_model;
+
+use strict;
+use base qw( FS::Record );
+use FS::Record qw( qsearch qsearchs );
+
+=head1 NAME
+
+FS::cable_model - Object methods for cable_model records
+
+=head1 SYNOPSIS
+
+  use FS::cable_model;
+
+  $record = new FS::cable_model \%hash;
+  $record = new FS::cable_model { 'column' => 'value' };
+
+  $error = $record->insert;
+
+  $error = $new_record->replace($old_record);
+
+  $error = $record->delete;
+
+  $error = $record->check;
+
+=head1 DESCRIPTION
+
+An FS::cable_model object represents a cable device model.  FS::cable_model
+inherits from FS::Record.  The following fields are currently supported:
+
+=over 4
+
+=item modelnum
+
+primary key
+
+=item model_name
+
+model_name
+
+=item disabled
+
+disabled
+
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item new HASHREF
+
+Creates a new record.  To add the record to the database, see L<"insert">.
+
+Note that this stores the hash reference, not a distinct copy of the hash it
+points to.  You can ask the object for a copy with the I<hash> method.
+
+=cut
+
+sub table { 'cable_model'; }
+
+=item insert
+
+Adds this record to the database.  If there is an error, returns the error,
+otherwise returns false.
+
+=item delete
+
+Delete this record from the database.
+
+=item replace OLD_RECORD
+
+Replaces the OLD_RECORD with this one in the database.  If there is an error,
+returns the error, otherwise returns false.
+
+=item check
+
+Checks all fields to make sure this is a valid record.  If there is
+an error, returns the error, otherwise returns false.  Called by the insert
+and replace methods.
+
+=cut
+
+sub check {
+  my $self = shift;
+
+  my $error = 
+    $self->ut_numbern('modelnum')
+    || $self->ut_text('model_name')
+    || $self->ut_enum('disabled', [ '', 'Y'] )
+  ;
+  return $error if $error;
+
+  $self->SUPER::check;
+}
+
+=back
+
+=head1 BUGS
+
+=head1 SEE ALSO
+
+L<FS::Record>, schema.html from the base documentation.
+
+=cut
+
+1;
+
diff --git a/FS/t/cable_model.t b/FS/t/cable_model.t
new file mode 100644
index 0000000..cff872a
--- /dev/null
+++ b/FS/t/cable_model.t
@@ -0,0 +1,5 @@
+BEGIN { $| = 1; print "1..1\n" }
+END {print "not ok 1\n" unless $loaded;}
+use FS::cable_model;
+$loaded=1;
+print "ok 1\n";
diff --git a/httemplate/browse/cable_model.html b/httemplate/browse/cable_model.html
new file mode 100644
index 0000000..af98d89
--- /dev/null
+++ b/httemplate/browse/cable_model.html
@@ -0,0 +1,33 @@
+<& elements/browse.html,
+     'title'              => 'Cable modem models',
+     'html_init'          => $html_init,
+     'name'               => 'models',
+     'disableable'        => 1,
+     'disabled_statuspos' => 1,
+     'query'              => { 'table'     => 'cable_model',
+                               'hashref'   => {},
+                               'order_by' => 'ORDER BY model_name',
+                             },
+     'count_query'        => $count_query,
+     'header'             => $header,
+     'fields'             => $fields,
+     'links'              => $links,
+&>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+my $html_init =
+  #'Cable "modem" models.<BR><BR>'.
+  qq!<A HREF="${p}edit/cable_model.html"><I>Add a model</I></A><BR><BR>!;
+
+my $count_query = 'SELECT COUNT(*) FROM cable_model';
+
+my $link = [ $p.'edit/cable_model.html?', 'modelnum' ];
+
+my $header = [ 'Model' ];
+my $fields = [ 'model_name' ];
+my $links  = [ $link ];
+
+</%init>
diff --git a/httemplate/edit/cable_model.html b/httemplate/edit/cable_model.html
new file mode 100644
index 0000000..0bda4e8
--- /dev/null
+++ b/httemplate/edit/cable_model.html
@@ -0,0 +1,20 @@
+<& elements/edit.html,
+     'name_singular' => 'Model',
+     'table'         => 'cable_model',
+     'fields'        => [
+                          'model_name',
+                          { field=>'disabled', type=>'checkbox', value=>'Y', },
+                        ],
+     'labels'        => {
+                          'modelnum'   => 'Model',
+                          'model_name' => 'Model',
+                          'disabled'   => 'Disabled',
+                        },
+     'viewall_dir'   => 'browse',
+&>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+</%init>
diff --git a/httemplate/edit/process/cable_model.html b/httemplate/edit/process/cable_model.html
new file mode 100644
index 0000000..072df02
--- /dev/null
+++ b/httemplate/edit/process/cable_model.html
@@ -0,0 +1,10 @@
+<& elements/process.html,
+     'table'       => 'cable_model',
+     'viewall_dir' => 'browse',
+&>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+</%init>
diff --git a/httemplate/elements/select-cable_model.html b/httemplate/elements/select-cable_model.html
new file mode 100644
index 0000000..8d65a39
--- /dev/null
+++ b/httemplate/elements/select-cable_model.html
@@ -0,0 +1,7 @@
+<% include( '/elements/select-table.html',
+    'table'            => 'cable_model',
+    'name_col'         => 'model_name',
+    'empty_label'      => 'Select model',
+    @_,
+   )
+%>
diff --git a/httemplate/elements/tr-select-cable_model.html b/httemplate/elements/tr-select-cable_model.html
new file mode 100644
index 0000000..94b5cd9
--- /dev/null
+++ b/httemplate/elements/tr-select-cable_model.html
@@ -0,0 +1,12 @@
+% #if ( scalar(@domains) < 2 ) {
+% #} else {
+  <TR>
+    <TD ALIGN="right"><% $opt{'label'} || 'Model' %></TD>
+    <TD>
+      <% include( '/elements/select-cable_model.html', %opt) %>
+    </TD>
+   </TR>
+% #}
+<%init>
+  my %opt = @_;
+</%init>

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/{agent_currency.pm => cable_model.pm}        |   41 ++++++++++----------
 FS/t/{AccessRight.t => cable_model.t}              |    2 +-
 httemplate/browse/cable_model.html                 |   33 ++++++++++++++++
 httemplate/edit/cable_model.html                   |   20 ++++++++++
 .../process/{vend_main.html => cable_model.html}   |    2 +-
 httemplate/elements/select-cable_model.html        |    7 +++
 httemplate/elements/tr-select-cable_model.html     |   12 ++++++
 7 files changed, 94 insertions(+), 23 deletions(-)
 copy FS/FS/{agent_currency.pm => cable_model.pm} (60%)
 copy FS/t/{AccessRight.t => cable_model.t} (82%)
 create mode 100644 httemplate/browse/cable_model.html
 create mode 100644 httemplate/edit/cable_model.html
 copy httemplate/edit/process/{vend_main.html => cable_model.html} (82%)
 create mode 100644 httemplate/elements/select-cable_model.html
 create mode 100644 httemplate/elements/tr-select-cable_model.html




More information about the freeside-commits mailing list