diff options
| -rw-r--r-- | fml/lib/FML/Process/Distribute.pm | 4 | ||||
| -rw-r--r-- | fml/lib/FML/Ticket/Model/toymodel.pm | 5 | ||||
| -rw-r--r-- | fml/lib/FML/Ticket/System.pm | 30 |
3 files changed, 32 insertions, 7 deletions
diff --git a/fml/lib/FML/Process/Distribute.pm b/fml/lib/FML/Process/Distribute.pm index 2cf21b16..c811473c 100644 --- a/fml/lib/FML/Process/Distribute.pm +++ b/fml/lib/FML/Process/Distribute.pm @@ -193,7 +193,6 @@ sub _ticket_system_check { my ($curproc, $args) = @_; my $config = $curproc->{ config }; - my $header = $curproc->{ article }->{ header }; # FML::Header object my $model = $config->{ ticket_model }; my $pkg = "FML::Ticket::Model::"; @@ -208,7 +207,8 @@ sub _ticket_system_check eval qq{ require $pkg; $pkg->import();}; unless ($@) { my $ts = $pkg->new; - $ts->add_ticket($header, $config, $args) if $ts->can('add_ticket'); + $ts->add_ticket($curproc, $args); + $ts->update_ticket_trace_cache($curproc); } else { Log($@); diff --git a/fml/lib/FML/Ticket/Model/toymodel.pm b/fml/lib/FML/Ticket/Model/toymodel.pm index 02cb8943..123adff3 100644 --- a/fml/lib/FML/Ticket/Model/toymodel.pm +++ b/fml/lib/FML/Ticket/Model/toymodel.pm @@ -28,10 +28,13 @@ sub new return bless $me, $type; } +sub DESTROY {} sub add_ticket { - my ($self, $header, $config, $args) = @_; + my ($self, $curproc, $args) = @_; + my $config = $curproc->{ config }; + my $header = $curproc->{ article }->{ header }; # FML::Header object my $subject = $header->get('subject'); use FML::Header::Subject; diff --git a/fml/lib/FML/Ticket/System.pm b/fml/lib/FML/Ticket/System.pm index 69811e6b..b48481c4 100644 --- a/fml/lib/FML/Ticket/System.pm +++ b/fml/lib/FML/Ticket/System.pm @@ -9,9 +9,11 @@ # package FML::Ticket::System; + use strict; -use vars qw(@ISA @EXPORT @EXPORT_OK); +use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD); use Carp; +use Base::Errors qw(error_reason error error_reset); require Exporter; @ISA = qw(Exporter); @@ -33,16 +35,36 @@ sub increment_id use FML::SequenceFile; my $sfh = new FML::SequenceFile { sequence_file => $seq_file }; my $id = $sfh->increment_id; - $self->{ _error } = $sfh->error; + $self->error_reason( $sfh->error ); $id; } -sub error +sub update_ticket_trace_cache +{ + my ($self, $curproc) = @_; + my $config = $curproc->{ config }; + my $db_dir = $config->{ ticket_db_dir }; + my $ml_name = $config->{ ml_name }; + my $cachefile = $db_dir. $ml_name; + + use FileHandle; + my $fh = new FileHandle ">> $cachefile"; + if (defined $fh) { + print $fh ""; + close($fh); + } + else { + $self->error_reason("cannot open ticket cache"); + } +} + + +sub AUTOLOAD { my ($self) = @_; - return $self->{ _error }; + $self->error_reason("FYI: unknown method $AUTOLOAD is called"); } |
