[freeside-commits] branch FREESIDE_4_BRANCH updated. cfc3556abb94b4b90b8b3cb551c379e08e804b41
Christopher Burger
burgerc at 420.am
Wed Jul 12 09:52:36 PDT 2017
The branch, FREESIDE_4_BRANCH has been updated
via cfc3556abb94b4b90b8b3cb551c379e08e804b41 (commit)
from f37c3c6ac7c133abc53b73527f1e0000701eeddc (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 cfc3556abb94b4b90b8b3cb551c379e08e804b41
Author: Christopher Burger <burgerc at freeside.biz>
Date: Tue Jul 11 11:35:14 2017 -0400
RT# 76307 - Added billing event action to add a tag
diff --git a/FS/FS/part_event/Action/addtag.pm b/FS/FS/part_event/Action/addtag.pm
new file mode 100644
index 0000000..947f0c3
--- /dev/null
+++ b/FS/FS/part_event/Action/addtag.pm
@@ -0,0 +1,53 @@
+package FS::part_event::Action::addtag;
+
+use strict;
+use base qw( FS::part_event::Action );
+use FS::Record qw( qsearch );
+
+sub description { 'Add customer tag'; }
+
+sub eventtable_hashref {
+ { 'cust_main' => 1,
+ 'cust_bill' => 1,
+ 'cust_pkg' => 1,
+ 'cust_pay' => 1,
+ 'cust_pay_batch' => 1,
+ 'cust_statement' => 1,
+ };
+}
+
+sub option_fields {
+ (
+ 'tagnum' => { 'label' => 'Customer tag',
+ 'type' => 'select-cust_tag',
+ 'multiple' => 1,
+ },
+ );
+}
+
+sub default_weight { 20; }
+
+sub do_action {
+ my( $self, $object, $tagnum ) = @_;
+
+ my %exists = map { $_->tagnum => $_->tagnum }
+ qsearch({
+ table => 'cust_tag',
+ hashref => { custnum => $object->custnum, },
+ });
+
+ my @tags = split(/\,/, $self->option('tagnum'));
+ foreach my $tagnum ( split(/\,/, $self->option('tagnum') ) ) {
+ if ( !$exists{$tagnum} ) {
+ my $cust_tag = new FS::cust_tag { 'tagnum' => $tagnum,
+ 'custnum' => $object->custnum, };
+ my $error = $cust_tag->insert;
+ if ( $error ) {
+ return $error;
+ }
+ }
+ }
+ '';
+}
+
+1;
-----------------------------------------------------------------------
Summary of changes:
FS/FS/part_event/Action/addtag.pm | 53 +++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
create mode 100644 FS/FS/part_event/Action/addtag.pm
More information about the freeside-commits
mailing list