package FS::part_event::Condition::pkg_not_reason_type;
use base qw( FS::part_event::Condition );

use strict;
use Tie::IxHash;
#use FS::Record qw( qsearch );

sub description {
  'Package Not Reason Type';
}

sub eventtable_hashref {
    { 'cust_main' => 0,
      'cust_bill' => 0,
      'cust_pkg'  => 1,
      'svc_acct'  => 1,
    };
}

tie my %actions, 'Tie::IxHash',
  #'adjourn' =>
  'susp'   => 'Suspension',
  #'expire' =>
  'cancel' => 'Cancellation'
;

sub option_fields {
  (
    'action'  => { 'label'    => 'Package Action',
                   'type'     => 'select',
                   'options'  => [ keys %actions ],
                   'labels'   => \%actions,
                 },
    'typenum' => { 'label'    => 'Not Reason Type',
                   'type'     => 'select-reason_type',
                   'multiple' => 1,
                 },
  );
}

sub condition {
  my( $self, $object ) = @_;

  my $cust_pkg = $self->cust_pkg($object);

  my $reason = $cust_pkg->last_reason( $self->option('action') )
    or return 0;

  my $hashref = $self->option('typenum') || {};
  ! $hashref->{ $reason->reason_type };
}

#sub condition_sql {
#  my( $self, $table ) = @_;
#
#}

1;
