[dw-free] Status messages can't be sent to the community itself, send to all maintainers
[commit: http://hg.dwscoalition.org/dw-free/rev/b7c1c3dc51d4]
Status messages can't be sent to the community itself, send to all
maintainers
Patch by
mark.
Files modified:
Status messages can't be sent to the community itself, send to all
maintainers
Patch by
Files modified:
- cgi-bin/DW/Worker/ContentImporter.pm
--------------------------------------------------------------------------------
diff -r f6ef8b023acd -r b7c1c3dc51d4 cgi-bin/DW/Worker/ContentImporter.pm
--- a/cgi-bin/DW/Worker/ContentImporter.pm Thu Dec 29 21:34:27 2011 +0000
+++ b/cgi-bin/DW/Worker/ContentImporter.pm Thu Dec 29 23:37:11 2011 +0000
@@ -108,6 +108,23 @@
return $hr;
}
+=head2 C<< $class->userids_to_message( $userid ) >>
+
+For communities, this returns the userids for all of the admins so we let them know what has
+happened with their import.
+
+=cut
+
+sub userids_to_message {
+ my ( $class, $uid ) = @_;
+
+ my $u = LJ::load_userid( $uid )
+ or return $uid; # fail?
+ return $uid unless $u->is_community;
+
+ return $u->maintainer_userids;
+}
+
=head2 C<< $class->fail( $import_data, $item, $job, "text", [arguments, ...] ) >>
Permanently fail this import job.
@@ -130,7 +147,9 @@
if $LJ::IS_DEV_SERVER;
# fire an event for the user to know that it failed
- LJ::Event::ImportStatus->new( $imp->{userid}, $item, { type => 'fail', msg => $msg } )->fire;
+ foreach my $uid ( $class->userids_to_message( $imp->{userid} ) ) {
+ LJ::Event::ImportStatus->new( $uid, $item, { type => 'fail', msg => $msg } )->fire;
+ }
$job->permanent_failure( $msg );
return;
@@ -156,14 +175,16 @@
if $LJ::IS_DEV_SERVER;
# fire an event for the user to know that it failed (temporarily)
- LJ::Event::ImportStatus->new( $imp->{userid}, $item,
- {
- type => 'temp_fail',
- msg => $msg,
- failures => $job->failures,
- retries => $job->funcname->max_retries,
- }
- )->fire;
+ foreach my $uid ( $class->userids_to_message( $imp->{userid} ) ) {
+ LJ::Event::ImportStatus->new( $uid, $item,
+ {
+ type => 'temp_fail',
+ msg => $msg,
+ failures => $job->failures,
+ retries => $job->funcname->max_retries,
+ }
+ )->fire;
+ }
$job->failed( $msg );
return;
@@ -187,8 +208,11 @@
}
# advise the user this finished
- LJ::Event::ImportStatus->new( $imp->{userid}, $item, { type => 'ok' } )->fire
- unless defined $show && $show == 0;
+ unless ( defined $show && $show == 0 ) {
+ foreach my $uid ( $class->userids_to_message( $imp->{userid} ) ) {
+ LJ::Event::ImportStatus->new( $uid, $item, { type => 'ok' } )->fire
+ }
+ }
$job->completed;
return;
@@ -232,7 +256,9 @@
sub status {
my ( $class, $imp, $item, $args ) = @_;
- return LJ::Event::ImportStatus->new( $imp->{userid}, $item, { type => 'status', %{ $args || {} } } )->fire;
+ foreach my $uid ( $class->userids_to_message( $imp->{userid} ) ) {
+ LJ::Event::ImportStatus->new( $uid, $item, { type => 'status', %{ $args || {} } } )->fire;
+ }
}
--------------------------------------------------------------------------------
