[freeside-commits] freeside/FS/FS Schema.pm, 1.224, 1.225 part_tag.pm, NONE, 1.1 cust_tag.pm, NONE, 1.1 Mason.pm, 1.45, 1.46

Ivan,,, ivan at wavetail.420.am
Thu Jul 15 14:46:33 PDT 2010


Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail.420.am:/tmp/cvs-serv18919/FS/FS

Modified Files:
	Schema.pm Mason.pm 
Added Files:
	part_tag.pm cust_tag.pm 
Log Message:
customer tags, RT#9192

Index: Schema.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Schema.pm,v
retrieving revision 1.224
retrieving revision 1.225
diff -u -w -d -r1.224 -r1.225
--- Schema.pm	13 Jul 2010 11:09:38 -0000	1.224
+++ Schema.pm	15 Jul 2010 21:46:30 -0000	1.225
@@ -961,6 +961,30 @@
       'index' => [ ['disabled'] ],
     },
 
+    'cust_tag' => {
+      'columns' => [
+        'custtagnum', 'serial', '', '', '', '',
+        'custnum',       'int', '', '', '', '',
+        'tagnum',        'int', '', '', '', '',
+      ],
+      'primary_key' => 'custtagnum',
+      'unique'      => [ [ 'custnum', 'tagnum' ] ],
+      'index'       => [ [ 'custnum' ] ],
+    },
+
+    'part_tag' => {
+      'columns' => [
+        'tagnum',    'serial',     '',      '', '', '',
+        'tagname',  'varchar',     '', $char_d, '', '',
+        'tagdesc',  'varchar', 'NULL', $char_d, '', '',
+        'tagcolor', 'varchar', 'NULL',       6, '', '',
+        'disabled',    'char', 'NULL',       1, '', '', 
+      ],
+      'primary_key' => 'tagnum',
+      'unique'      => [], #[ [ 'tagname' ] ], #?
+      'index'       => [ [ 'disabled' ] ],
+    },
+
     'cust_main_exemption' => {
       'columns' => [
         'exemptionnum', 'serial', '',      '', '', '',

--- NEW FILE: cust_tag.pm ---
package FS::cust_tag;

use strict;
use base qw( FS::Record );
use FS::Record qw( qsearch qsearchs );

=head1 NAME

FS::cust_tag - Object methods for cust_tag records

=head1 SYNOPSIS

  use FS::cust_tag;

  $record = new FS::cust_tag \%hash;
  $record = new FS::cust_tag { 'column' => 'value' };

  $error = $record->insert;

  $error = $new_record->replace($old_record);

  $error = $record->delete;

  $error = $record->check;

=head1 DESCRIPTION

An FS::cust_tag object represents a customer tag.  FS::cust_tag inherits from
FS::Record.  The following fields are currently supported:

=over 4

=item custtagnum

primary key

=item custnum

custnum

=item tagnum

tagnum


=back

=head1 METHODS

=over 4

=item new HASHREF

Creates a new customer tag.  To add the tag 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

# the new method can be inherited from FS::Record, if a table method is defined

sub table { 'cust_tag'; }

=item insert

Adds this record to the database.  If there is an error, returns the error,
otherwise returns false.

=cut

# the insert method can be inherited from FS::Record

=item delete

Delete this record from the database.

=cut

# the delete method can be inherited from FS::Record

=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.

=cut

# the replace method can be inherited from FS::Record

=item check

Checks all fields to make sure this is a valid customer tag.  If there is
an error, returns the error, otherwise returns false.  Called by the insert
and replace methods.

=cut

# the check method should currently be supplied - FS::Record contains some
# data checking routines

sub check {
  my $self = shift;

  my $error = 
    $self->ut_numbern('custtagnum')
    || $self->ut_foreign_key('custnum', 'cust_main', 'custnum')
    || $self->ut_foreign_key('tagnum',  'part_tag',  'tagnum' )
  ;
  return $error if $error;

  $self->SUPER::check;
}

=back

=head1 BUGS

=head1 SEE ALSO

L<FS::Record>, schema.html from the base documentation.

=cut

1;


Index: Mason.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Mason.pm,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -w -d -r1.45 -r1.46
--- Mason.pm	13 Jul 2010 11:09:38 -0000	1.45
+++ Mason.pm	15 Jul 2010 21:46:31 -0000	1.46
@@ -247,6 +247,7 @@
   use FS::rate_time;
   use FS::rate_time_interval;
   use FS::msg_template;
+  use FS::part_tag;
   # Sammath Naur
 
   if ( $FS::Mason::addl_handler_use ) {

--- NEW FILE: part_tag.pm ---
package FS::part_tag;

use strict;
use base qw( FS::Record );
use FS::Record qw( qsearch qsearchs );

=head1 NAME

FS::part_tag - Object methods for part_tag records

=head1 SYNOPSIS

  use FS::part_tag;

  $record = new FS::part_tag \%hash;
  $record = new FS::part_tag { 'column' => 'value' };

  $error = $record->insert;

  $error = $new_record->replace($old_record);

  $error = $record->delete;

  $error = $record->check;

=head1 DESCRIPTION

An FS::part_tag object represents a tag.  FS::part_tag inherits from
FS::Record.  The following fields are currently supported:

=over 4

=item tagnum

primary key

=item tagname

tagname

=item tagdesc

tagdesc

=item tagcolor

tagcolor


=back

=head1 METHODS

=over 4

=item new HASHREF

Creates a new tag.  To add the tag 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

# the new method can be inherited from FS::Record, if a table method is defined

sub table { 'part_tag'; }

=item insert

Adds this record to the database.  If there is an error, returns the error,
otherwise returns false.

=cut

# the insert method can be inherited from FS::Record

=item delete

Delete this record from the database.

=cut

# the delete method can be inherited from FS::Record

=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.

=cut

# the replace method can be inherited from FS::Record

=item check

Checks all fields to make sure this is a valid tag.  If there is
an error, returns the error, otherwise returns false.  Called by the insert
and replace methods.

=cut

# the check method should currently be supplied - FS::Record contains some
# data checking routines

sub check {
  my $self = shift;

  my $error = 
    $self->ut_numbern('tagnum')
    || $self->ut_text('tagname')
    || $self->ut_textn('tagdesc')
    || $self->ut_textn('tagcolor')
    || $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;




More information about the freeside-commits mailing list