RFE #9998, mark selected inbox messages as read/unread.

This commit is contained in:
Hao Ching 2009-05-01 17:21:02 +00:00
parent 5929fb9092
commit 254796dea3
3 changed files with 84 additions and 6 deletions

View file

@ -623,6 +623,79 @@ sub www_deleteMessages {
#-------------------------------------------------------------------
=head2 www_actOnMessages ( )
Acts on a list of messages selected for the current user
=cut
sub www_actOnMessages {
my $self = shift;
my $session = $self->session;
my $action = $session->form->process( 'action' );
my $i18n = WebGUI::International->new( $session, 'Account_Inbox' );
my %handler = (
$i18n->get( 'delete label' ) => \&www_deleteMessages,
$i18n->get( 'mark as read label' ) => \&www_markAsReadMessages,
$i18n->get( 'mark as unread label' ) => \&www_markAsUnreadMessages,
);
if ( defined $action && length $action && defined $handler{$action} ) {
return $handler{$action}->( $self, @_ );
}
return $self->www_view();
}
#-------------------------------------------------------------------
=head2 www_markAsReadMessages ( )
Marks a list of messages selected for the current user as read
=cut
sub www_markAsReadMessages {
my $self = shift;
my $session = $self->session;
$self->store->{tab} = 'inbox';
my @messages = $session->form->process( 'message', 'checkList' );
foreach my $messageId ( @messages ) {
my $message = WebGUI::Inbox::Message->new( $session, $messageId );
$message->setRead;
}
return $self->www_view();
}
#-------------------------------------------------------------------
=head2 www_markAsUnreadMessages ( )
Marks a list of messages selected for the current user as unread
=cut
sub www_markAsUnreadMessages {
my $self = shift;
my $session = $self->session;
$self->store->{tab} = 'inbox';
my @messages = $session->form->process( 'message', 'checkList' );
foreach my $messageId ( @messages ) {
my $message = WebGUI::Inbox::Message->new( $session, $messageId );
$message->setUnread;
}
return $self->www_view();
}
#-------------------------------------------------------------------
=head2 www_inviteUser ( )
Form for inviting a user to join the site.
@ -1259,7 +1332,7 @@ sub www_view {
});
$var->{'form_header'} = WebGUI::Form::formHeader($session,{
action => $self->getUrl("module=inbox;do=deleteMessages")
action => $self->getUrl("module=inbox;do=actOnMessages")
});
$var->{'form_footer'} = WebGUI::Form::formFooter($session);

View file

@ -3,6 +3,16 @@ use strict;
our $I18N = {
'mark as read label' => {
message => q{Mark as Read},
lastUpdated => 12411788761,
},
'mark as unread label' => {
message => q{Mark as Unread},
lastUpdated => 12411788761,
},
'title' => {
message => q{Inbox},
lastUpdated => 1225724810,
@ -265,11 +275,6 @@ our $I18N = {
lastUpdated => 1119068809
},
'delete label' => {
message => q{Delete},
lastUpdated => 1119068809
},
'cancel label' => {
message => q{Cancel},
lastUpdated => 1119068809