From: Ivan Kohler Date: Thu, 26 Jul 2012 21:02:36 +0000 (-0700) Subject: add anniversary date, RT#18631 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=c1cabbc4cea2e0cfd9e1db668100b97069140cf5 add anniversary date, RT#18631 --- diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 7e641308b..043594536 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -3653,6 +3653,13 @@ and customer address. Include units.', }, { + 'key' => 'cust_main-enable_anniversary_date', + 'section' => 'UI', + 'description' => 'Enable tracking of an anniversary date with each customer record', + 'type' => 'checkbox', + }, + + { 'key' => 'cust_main-edit_calling_list_exempt', 'section' => 'UI', 'description' => 'Display the "calling_list_exempt" checkbox on customer edit.', diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index 797b70549..3fc26b071 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -858,6 +858,7 @@ sub tables_hashref { 'stateid_state', 'varchar', 'NULL', $char_d, '', '', 'birthdate' ,@date_type, '', '', 'spouse_birthdate' ,@date_type, '', '', + 'anniversary_date' ,@date_type, '', '', 'signupdate',@date_type, '', '', 'dundate', @date_type, '', '', 'company', 'varchar', 'NULL', $char_d, '', '', diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 82b09b61f..78791dd57 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -1779,8 +1779,10 @@ sub check { || $self->ut_textn('custbatch') || $self->ut_name('last') || $self->ut_name('first') - || $self->ut_snumbern('birthdate') || $self->ut_snumbern('signupdate') + || $self->ut_snumbern('birthdate') + || $self->ut_snumbern('spouse_birthdate') + || $self->ut_snumbern('anniversary_date') || $self->ut_textn('company') || $self->ut_anything('comments') || $self->ut_numbern('referral_custnum') diff --git a/FS/FS/cust_main/Import.pm b/FS/FS/cust_main/Import.pm index 6681f9ec2..ee14cbaed 100644 --- a/FS/FS/cust_main/Import.pm +++ b/FS/FS/cust_main/Import.pm @@ -375,7 +375,8 @@ sub batch_import { } $cust_main{$_} = parse_datetime($cust_main{$_}) - foreach grep $cust_main{$_}, qw( birthdate spouse_birthdate ); + foreach grep $cust_main{$_}, + qw( birthdate spouse_birthdate anniversary_date ); my $invoicing_list = $cust_main{'invoicing_list'} ? [ delete $cust_main{'invoicing_list'} ] diff --git a/FS/FS/cust_main/Search.pm b/FS/FS/cust_main/Search.pm index b528a689c..b213bbcbe 100644 --- a/FS/FS/cust_main/Search.pm +++ b/FS/FS/cust_main/Search.pm @@ -475,6 +475,10 @@ listref of start date, end date listref of start date, end date +=item anniversary_date + +listref of start date, end date + =item payby listref @@ -617,7 +621,7 @@ sub search { # dates ## - foreach my $field (qw( signupdate birthdate spouse_birthdate )) { + foreach my $field (qw( signupdate birthdate spouse_birthdate anniversary_date )) { next unless exists($params->{$field}); diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi index ef81ebab1..1ad031d81 100755 --- a/httemplate/edit/cust_main.cgi +++ b/httemplate/edit/cust_main.cgi @@ -30,6 +30,7 @@ %# birthdate % if ( $conf->exists('cust_main-enable_birthdate') % || $conf->exists('cust_main-enable_spouse_birthdate') +% || $conf->exists('cust_main-enable_anniversary_date') % ) % {
diff --git a/httemplate/edit/cust_main/birthdate.html b/httemplate/edit/cust_main/birthdate.html index 5d6a123b1..5447a3ad0 100644 --- a/httemplate/edit/cust_main/birthdate.html +++ b/httemplate/edit/cust_main/birthdate.html @@ -1,5 +1,7 @@ <% ntable("#cccccc", 2) %> + % # maybe put after the contact names? + % if ( $conf->exists('cust_main-enable_birthdate') ) { <% include( '/elements/tr-input-date-field.html', { 'name' => 'birthdate', @@ -11,6 +13,7 @@ }) %> % } + % if ( $conf->exists('cust_main-enable_spouse_birthdate') ) { <% include( '/elements/tr-input-date-field.html', { 'name' => 'spouse_birthdate', @@ -22,6 +25,19 @@ }) %> % } + +% if ( $conf->exists('cust_main-enable_anniversary_date') ) { + <% include( '/elements/tr-input-date-field.html', { + 'name' => 'anniversary_date', + 'value' => $cust_main->anniversary_date, + 'label' => 'Anniversary Date', + 'format' => ( $conf->config('date_format') || "%m/%d/%Y" ), + 'usedatetime' => 1, + 'noinit' => $noinit++, + }) + %> +% } + <%init> diff --git a/httemplate/edit/process/cust_main.cgi b/httemplate/edit/process/cust_main.cgi index 5ee553b32..866452de1 100755 --- a/httemplate/edit/process/cust_main.cgi +++ b/httemplate/edit/process/cust_main.cgi @@ -112,9 +112,12 @@ $new->tagnum( [ $cgi->param('tagnum') ] ); my %usedatetime = ( 'birthdate' => 1, 'spouse_birthdate' => 1, + 'anniversary_date' => 1, ); -foreach my $dfield (qw( birthdate spouse_birthdate signupdate )) { +foreach my $dfield (qw( + signupdate birthdate spouse_birthdate anniversary_date +)) { if ( $cgi->param($dfield) && $cgi->param($dfield) =~ /^([ 0-9\-\/]{0,10})$/) { diff --git a/httemplate/search/cust_main.html b/httemplate/search/cust_main.html index e164b98f4..f75b45197 100755 --- a/httemplate/search/cust_main.html +++ b/httemplate/search/cust_main.html @@ -61,7 +61,7 @@ for my $param (qw( classnum refnum payby tagnum )) { # parse dates ### -foreach my $field (qw( signupdate birthdate spouse_birthdate )) { +foreach my $field (qw( signupdate birthdate spouse_birthdate anniversary_date )) { my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, $field); diff --git a/httemplate/search/report_cust_main.html b/httemplate/search/report_cust_main.html index 39cf695d8..526bce26c 100755 --- a/httemplate/search/report_cust_main.html +++ b/httemplate/search/report_cust_main.html @@ -76,6 +76,20 @@ % } +% if ( $conf->exists('cust_main-enable_anniversary_date') ) { + + <% mt('Anniversary Date') |h %> + + + <& /elements/tr-input-beginning_ending.html, + prefix => 'anniversary_date', + layout => 'horiz', + &> +
+ + +% } + <& /elements/tr-select-cust_tag.html, 'cgi' => $cgi, 'is_report' => 1, diff --git a/httemplate/view/cust_main/misc.html b/httemplate/view/cust_main/misc.html index a0ab403e8..dc6da53f1 100644 --- a/httemplate/view/cust_main/misc.html +++ b/httemplate/view/cust_main/misc.html @@ -130,6 +130,20 @@ % } +% if ( $conf->exists('cust_main-enable_anniversary_date') ) { +% my $dt = $cust_main->anniversary_date ne '' +% ? DateTime->from_epoch( 'epoch' => $cust_main->anniversary_date, +% 'time_zone' =>'floating', +% ) +% : ''; + + + <% mt('Anniversary Date') |h %> + <% $dt ? $dt->strftime($date_format) : '' %> + + +% } + % if ( $conf->exists('cust_main-require_censustract') ) {