1 |
package Grep::Event::Result; |
package Grep::Event::Result; |
2 |
use base 'Grep::Event'; |
use base 'Grep::Event'; |
3 |
|
|
4 |
|
use Data::Dump qw/dump/; |
5 |
|
use Carp qw/cluck/; |
6 |
|
|
7 |
|
sub filter { |
8 |
|
my $self = shift; |
9 |
|
|
10 |
|
warn "### filter ",dump(@_); |
11 |
|
|
12 |
|
return 0 unless (@_); |
13 |
|
|
14 |
|
my $ok = 1; |
15 |
|
|
16 |
|
$ok &&= $self->for_current_user( $_ ) for (@_); |
17 |
|
warn "### filter passed"; |
18 |
|
return $ok; |
19 |
|
} |
20 |
|
|
21 |
|
sub for_current_user { |
22 |
|
my $self = shift; |
23 |
|
my $query = shift || return 0; |
24 |
|
warn "match query = ", dump($query); |
25 |
|
|
26 |
|
my $event_user_id = $$self->{user_id} or die "no user_id in event?"; |
27 |
|
return 0 if ( Jifty->web->current_user->id != $event_user_id ); |
28 |
|
|
29 |
|
my $message = $$self->{message}; |
30 |
|
if (my $user_id = $query->{user_id}) { |
31 |
|
if ( $event_user_id == $user_id ) { |
32 |
|
Jifty->log->debug("DELIVER: [$message] for $user_id under ", Jifty->web->current_user->id); |
33 |
|
return 1; |
34 |
|
} else { |
35 |
|
Jifty->log->debug("SKIP: [$message] for $user_id under ", Jifty->web->current_user->id); |
36 |
|
return 0; |
37 |
|
} |
38 |
|
} |
39 |
|
} |
40 |
|
|
41 |
1; |
1; |