1 package SL::DB::Manager::EmailJournal;
5 use parent qw(SL::DB::Helper::Manager);
7 use SL::DB::Helper::Paginated;
8 use SL::DB::Helper::Sorted;
9 use SL::DB::Helper::Filtered;
11 sub object_class { 'SL::DB::EmailJournal' }
13 __PACKAGE__->make_manager_methods;
15 __PACKAGE__->add_filter_specs(
17 my ($key, $value, $prefix) = @_;
19 # if $value is truish, we want at least one link otherwise we want none
20 my $comp = !!$value ? '>' : '=';
22 # table emial_journal is aliased as t1
25 SELECT CASE WHEN count(*) $comp 0 THEN TRUE ELSE FALSE END
28 (record_links.from_table = 'email_journal'::varchar(50))
29 AND record_links.from_id = t1.id
31 (record_links.to_table = 'email_journal'::varchar(50))
32 AND record_links.to_id = t1.id
40 default => [ 'sent_on', 0 ],
43 sender => 'sender.name',
48 ( record_links.from_table = 'email_journal'::varchar(50)
49 AND record_links.from_id = email_journal.id
51 record_links.to_table = 'email_journal'::varchar(50)
52 AND record_links.to_id = email_journal.id