X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FTicketSystem.pm;h=d53d2f679daa514806da18f96c472e75d6cbccdc;hb=cf9a54de9f60ed902f27393396ba01fc12b1b626;hp=a80a827896faa3b332c6bc973c8764be647d8655;hpb=40a7b3dc653e099f7bd0bd762b649b04c4432db2;p=freeside.git diff --git a/FS/FS/TicketSystem.pm b/FS/FS/TicketSystem.pm index a80a82789..d53d2f679 100644 --- a/FS/FS/TicketSystem.pm +++ b/FS/FS/TicketSystem.pm @@ -3,7 +3,7 @@ package FS::TicketSystem; use strict; use vars qw( $conf $system $AUTOLOAD ); use FS::Conf; -use FS::UID; +use FS::UID qw( dbh driver_name ); FS::UID->install_callback( sub { $conf = new FS::Conf; @@ -27,4 +27,26 @@ sub AUTOLOAD { $self->$sub(@_); } +sub _upgrade_data { + return if $system ne 'RT_Internal'; + + my ($class, %opts) = @_; + my ($t, $exec, @fields) = map { driver_name =~ /^mysql/i ? $_ : lc($_) } + (qw( ScripConditions ExecModule + Name Description ExecModule ApplicableTransTypes + Creator Created LastUpdatedBy LastUpdated)); + my $count_sql = "SELECT COUNT(*) FROM $t WHERE $exec = 'CustomFieldChange'"; + my $sth = dbh->prepare($count_sql) or die dbh->errstr; + $sth->execute or die $sth->errstr; + my $total = $sth->fetchrow_arrayref->[0]; + return if $total > 0; + + my $insert_sql = "INSERT INTO $t (".join(',',@fields).") VALUES (". + "'On Custom Field Change', 'When a custom field is changed to some value', + 'CustomFieldChange', 'Any', 1, CURRENT_DATE, 1, CURRENT_DATE )"; + $sth = dbh->prepare($insert_sql) or die dbh->errstr; + $sth->execute or die $sth->errstr; + return; +} + 1;