[freeside-commits] branch master updated. ed4369640adc2e7c468ca384010729e8ec1f9074

Ivan ivan at 420.am
Sat Mar 24 15:40:09 PDT 2012


The branch, master has been updated
       via  ed4369640adc2e7c468ca384010729e8ec1f9074 (commit)
      from  172673b3aef143dc426603689d37b65394c4fe1d (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 ed4369640adc2e7c468ca384010729e8ec1f9074
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Sat Mar 24 15:40:03 2012 -0700

    enhance contacts: contact classes, RT#16819

diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 67b6823..ab853e6 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -981,6 +981,7 @@ sub tables_hashref {
         'prospectnum',   'int', 'NULL',      '', '', '',
         'custnum',       'int', 'NULL',      '', '', '',
         'locationnum',   'int', 'NULL',      '', '', '', #not yet
+        'classnum',      'int', 'NULL',      '', '', '',
 #        'titlenum',      'int', 'NULL',      '', '', '', #eg Mr. Mrs. Dr. Rev.
         'last',      'varchar',     '', $char_d, '', '', 
 #        'middle',    'varchar', 'NULL', $char_d, '', '', 
diff --git a/FS/FS/contact.pm b/FS/FS/contact.pm
index 0b50dcc..f84af42 100644
--- a/FS/FS/contact.pm
+++ b/FS/FS/contact.pm
@@ -5,6 +5,7 @@ use base qw( FS::Record );
 use FS::Record qw( qsearch qsearchs dbh );
 use FS::prospect_main;
 use FS::cust_main;
+use FS::contact_class;
 use FS::cust_location;
 use FS::contact_phone;
 use FS::contact_email;
@@ -322,8 +323,9 @@ sub check {
   my $error = 
     $self->ut_numbern('contactnum')
     || $self->ut_foreign_keyn('prospectnum', 'prospect_main', 'prospectnum')
-    || $self->ut_foreign_keyn('custnum', 'cust_main', 'custnum')
+    || $self->ut_foreign_keyn('custnum',     'cust_main',     'custnum')
     || $self->ut_foreign_keyn('locationnum', 'cust_location', 'locationnum')
+    || $self->ut_foreign_keyn('classnum',    'contact_class', 'classnum')
     || $self->ut_textn('last')
     || $self->ut_textn('first')
     || $self->ut_textn('title')
@@ -357,6 +359,18 @@ sub cust_location {
   qsearchs('cust_location', { 'locationnum' => $self->locationnum } );
 }
 
+sub contact_class {
+  my $self = shift;
+  return '' unless $self->classnum;
+  qsearchs('contact_class', { 'classnum' => $self->classnum } );
+}
+
+sub contact_classname {
+  my $self = shift;
+  my $contact_class = $self->contact_class or return '';
+  $contact_class->classname;
+}
+
 sub contact_phone {
   my $self = shift;
   qsearch('contact_phone', { 'contactnum' => $self->contactnum } );
diff --git a/httemplate/browse/contact_class.html b/httemplate/browse/contact_class.html
index 88df24b..58215a0 100644
--- a/httemplate/browse/contact_class.html
+++ b/httemplate/browse/contact_class.html
@@ -1,7 +1,7 @@
 <% include( 'elements/browse.html',
-                 'title'       => 'Contact classes',
+                 'title'       => 'Contact types',
                  'html_init'   => $html_init,
-                 'name'        => 'contact classes',
+                 'name'        => 'contact types',
                  'disableable' => 1,
                  'disabled_statuspos' => 1,
                  'query'       => { 'table'     => 'contact_class',
@@ -21,7 +21,7 @@ die "access denied"
 
 my $html_init = 
   'Contact classes define types for contacts.<BR><BR>'.
-  qq!<A HREF="${p}edit/contact_class.html"><I>Add a contact class</I></A><BR><BR>!;
+  qq!<A HREF="${p}edit/contact_class.html"><I>Add a contact type</I></A><BR><BR>!;
 
 my $count_query = 'SELECT COUNT(*) FROM contact_class';
 
diff --git a/httemplate/edit/contact_class.html b/httemplate/edit/contact_class.html
index 2e0965d..1ab52e5 100644
--- a/httemplate/edit/contact_class.html
+++ b/httemplate/edit/contact_class.html
@@ -1,6 +1,10 @@
 <% include( 'elements/class_Common.html',
-              'name'   => 'Contact Class',
+              'name'   => 'Contact Type',
               'table'  => 'contact_class',
 	      'nocat' => 1,
+              'addl_labels' => { 'classnum'  => 'Type number',
+                                 'classname' => 'Type name',
+                                 'disabled'  => 'Disable type',
+                               },
           )
 %>
diff --git a/httemplate/edit/process/prospect_main.html b/httemplate/edit/process/prospect_main.html
index 49481d4..7c8cc27 100644
--- a/httemplate/edit/process/prospect_main.html
+++ b/httemplate/edit/process/prospect_main.html
@@ -34,7 +34,7 @@ my $args_callback = sub {
 
 };
 
-my @contact_fields = qw( first last title comment emailaddress );
+my @contact_fields = qw( classnum first last title comment emailaddress );
 foreach my $phone_type ( qsearch({table=>'phone_type', order_by=>'weight'}) ) {
   push @contact_fields, 'phonetypenum'.$phone_type->phonetypenum;
 }
diff --git a/httemplate/elements/menu.html b/httemplate/elements/menu.html
index f096dd8..3b0969f 100644
--- a/httemplate/elements/menu.html
+++ b/httemplate/elements/menu.html
@@ -492,7 +492,7 @@ tie my %config_cust, 'Tie::IxHash',
   'Customer classes'    =>  [ $fsurl.'browse/cust_class.html', 'Customer classes define groups of customers for reporting.' ],
   'Customer categories' =>  [ $fsurl.'browse/cust_category.html', 'Customer categories define groups of customer classes.' ],
   'separator'     => '', #its a separator!
-  'Contact classes'    =>  [ $fsurl.'browse/contact_class.html', 'Contact classes define types for contacts.' ],
+  'Contact types'    =>  [ $fsurl.'browse/contact_class.html', ''], #XXX useful description
 ;
   
 $config_cust{'Note classes'} = [ $fsurl.'browse/cust_note_class.html', 'Note classes define groups of customer notes for reporting.' ]
diff --git a/httemplate/view/prospect_main.html b/httemplate/view/prospect_main.html
index 1c81956..9e85348 100644
--- a/httemplate/view/prospect_main.html
+++ b/httemplate/view/prospect_main.html
@@ -32,7 +32,7 @@
 
 % foreach my $contact ( $prospect_main->contact ) {
     <TR>
-      <TD ALIGN="right">Contact</TD>
+      <TD ALIGN="right"><% $contact->contact_classname %> Contact</TD>
       <TD BGCOLOR="#FFFFFF"><% $contact->line %></TD>
     </TR>
 %}

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

Summary of changes:
 FS/FS/Schema.pm                            |    1 +
 FS/FS/contact.pm                           |   16 +++++++++++++++-
 httemplate/browse/contact_class.html       |    6 +++---
 httemplate/edit/contact_class.html         |    6 +++++-
 httemplate/edit/process/prospect_main.html |    2 +-
 httemplate/elements/menu.html              |    2 +-
 httemplate/view/prospect_main.html         |    2 +-
 7 files changed, 27 insertions(+), 8 deletions(-)




More information about the freeside-commits mailing list