inbox changes
This commit is contained in:
parent
81e60f0a28
commit
e0c86a8915
2 changed files with 36 additions and 11 deletions
|
|
@ -105,12 +105,18 @@ sub getMessagesForUser {
|
|||
my $user = shift;
|
||||
my $limit = shift || 50;
|
||||
my $page = shift || 1;
|
||||
my $sortBy = shift;
|
||||
|
||||
my @messages = ();
|
||||
my $counter = 0;
|
||||
|
||||
unless($sortBy eq "subject" || $sortBy eq "sentBy" || $sortBy eq "dateStamp") {
|
||||
$sortBy = "status='pending' desc, dateStamp desc";
|
||||
}
|
||||
|
||||
my $start = (($page-1) * $limit) + 1;
|
||||
my $end = $page * $limit;
|
||||
my $rs = $self->session->db->read("select messageId, userId, groupId from inbox order by status='pending' desc, dateStamp desc");
|
||||
my $rs = $self->session->db->read("select messageId, userId, groupId from inbox order by $sortBy");
|
||||
while (my ($messageId, $userId, $groupId) = $rs->array) {
|
||||
if ($user->userId eq $userId || ($groupId && $user->isInGroup($groupId))) {
|
||||
$counter++;
|
||||
|
|
|
|||
|
|
@ -253,20 +253,39 @@ sub www_viewInbox {
|
|||
my $session = shift;
|
||||
return $session->privilege->insufficient() unless ($session->user->isInGroup(2));
|
||||
|
||||
my $i18n = WebGUI::International->new($session);
|
||||
my $vars = {};
|
||||
my @msg = ();
|
||||
my $pn = $session->form->get("pn") || 1;
|
||||
my $rpp = 10;
|
||||
my $i18n = WebGUI::International->new($session);
|
||||
my $vars = {};
|
||||
my @msg = ();
|
||||
my $rpp = 50;
|
||||
|
||||
#Deal with page number
|
||||
my $pn = $session->form->get("pn") || 1;
|
||||
my $pn_url = "";
|
||||
$pn_url = ";pn=$pn";
|
||||
|
||||
#Deal with sort order
|
||||
my $sortBy = $session->form->get("sortBy");
|
||||
my $sort_url = "";
|
||||
$sort_url = ";sortBy=$sortBy" if($sortBy);
|
||||
|
||||
#Cache the base url
|
||||
my $inboxUrl = $session->url->page('op=viewInbox');
|
||||
|
||||
$vars->{ title } = $i18n->get(159);
|
||||
$vars->{'subject_label' } = $i18n->get(351);
|
||||
$vars->{'status_label' } = $i18n->get(553);
|
||||
$vars->{'subject_url' } = $inboxUrl.$pn_url.";sortBy=subject";
|
||||
|
||||
$vars->{'status_label' } = $i18n->get(553);
|
||||
$vars->{'status_url' } = $inboxUrl.$pn_url.";sortBy=status";
|
||||
|
||||
$vars->{'from_label' } = $i18n->get("private message from label");
|
||||
$vars->{'dateStamp_label'} = $i18n->get(352);
|
||||
$vars->{'from_url' } = $inboxUrl.$pn_url.";sortBy=sentBy";
|
||||
|
||||
$vars->{'dateStamp_label'} = $i18n->get(352);
|
||||
$vars->{'dateStamp_url' } = $inboxUrl.$pn_url.";sortBy=dateStamp";
|
||||
|
||||
my $adminUser = WebGUI::User->new($session,3)->username;
|
||||
my $messages = WebGUI::Inbox->new($session)->getMessagesForUser($session->user,$rpp,$pn);
|
||||
my $messages = WebGUI::Inbox->new($session)->getMessagesForUser($session->user,$rpp,$pn,$sortBy);
|
||||
foreach my $message (@$messages) {
|
||||
my $hash = {};
|
||||
$hash->{ message_url } = $session->url->page('op=viewInboxMessage;messageId='.$message->getId);
|
||||
|
|
@ -296,10 +315,10 @@ sub www_viewInbox {
|
|||
|
||||
#Pagination has to exist on every page regardless if there are more messages or not.
|
||||
if($pn > 1 ) {
|
||||
$vars->{'prev_url' } = $session->url->page('op=viewInbox;pn='.($pn-1));
|
||||
$vars->{'prev_url' } = $inboxUrl.';pn='.($pn-1).$sort_url;
|
||||
$vars->{'prev_label' } = $i18n->get("private message prev label");
|
||||
}
|
||||
$vars->{'next_url' } = $session->url->page('op=viewInbox;pn='.($pn+1));
|
||||
$vars->{'next_url' } = $inboxUrl.';pn='.($pn+1).$sort_url;
|
||||
$vars->{'next_label' } = $i18n->get("private message next label");
|
||||
|
||||
$vars->{'messages' } = \@msg;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue