replaced MessageLog with Inbox
This commit is contained in:
parent
d63ea20c9e
commit
b6ad963119
18 changed files with 345 additions and 440 deletions
|
|
@ -20,7 +20,7 @@ use WebGUI::Group;
|
|||
use WebGUI::HTML;
|
||||
use WebGUI::HTMLForm;
|
||||
use WebGUI::International;
|
||||
use WebGUI::MessageLog;
|
||||
use WebGUI::Inbox;
|
||||
use WebGUI::Operation;
|
||||
use WebGUI::Paginator;
|
||||
use WebGUI::SQL;
|
||||
|
|
@ -620,30 +620,25 @@ Send notifications to the thread and forum subscribers that a new post has been
|
|||
|
||||
sub notifySubscribers {
|
||||
my $self = shift;
|
||||
my %subscribers;
|
||||
my $group = WebGUI::Group->new($self->session,$self->getThread->get("subscriptionGroupId"));
|
||||
foreach my $userId (@{$group->getUsers(undef,1)}) {
|
||||
$subscribers{$userId} = $userId unless ($userId eq $self->get("ownerUserId"));
|
||||
}
|
||||
$group = WebGUI::Group->new($self->session, $self->getThread->getParent->get("subscriptionGroupId"));
|
||||
foreach my $userId (@{$group->getUsers(undef,1)}) {
|
||||
$subscribers{$userId} = $userId unless ($userId eq $self->get("ownerUserId"));
|
||||
}
|
||||
my %lang;
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
foreach my $userId (keys %subscribers) {
|
||||
my $u = WebGUI::User->new($self->session, $userId);
|
||||
if ($lang{$u->profileField("language")}{message} eq "") {
|
||||
$lang{$u->profileField("language")}{var} = $self->getTemplateVars();
|
||||
$self->getThread->getParent->appendTemplateLabels($lang{$u->profileField("language")}{var});
|
||||
$lang{$u->profileField("language")}{var}{url} = $self->session->url->getSiteURL().$self->getUrl;
|
||||
$lang{$u->profileField("language")}{var}{'notify.subscription.message'} =
|
||||
$i18n->get(875,"Asset_Post",$u->profileField("language"));
|
||||
$lang{$u->profileField("language")}{subject} = $i18n->get(523,"Asset_Post",$u->profileField("language"));
|
||||
$lang{$u->profileField("language")}{message} = $self->processTemplate($lang{$u->profileField("language")}{var}, $self->getThread->getParent->get("notificationTemplateId"));
|
||||
}
|
||||
WebGUI::MessageLog::addEntry($userId,"",$lang{$u->profileField("language")}{subject},$lang{$u->profileField("language")}{message});
|
||||
}
|
||||
my $inbox = WebGUI::Inbox->new($self->session);
|
||||
my $var = $self->getTemplateVars();
|
||||
$self->getThread->getParent->appendTemplateLabels($var);
|
||||
$var->{url} = $self->session->url->getSiteURL().$self->getUrl;
|
||||
$var->{'notify.subscription.message'} = $i18n->get(875,"Asset_Post");
|
||||
my $message = $self->processTemplate($var, $self->getThread->getParent->get("notificationTemplateId"));
|
||||
$inbox->addMessage({
|
||||
groupId=>$self->getThread->getParent->get("subscriptionGroupId"),
|
||||
status=>"completed",
|
||||
subject=>$self->get("subject"),
|
||||
message=>$message
|
||||
});
|
||||
$inbox->addMessage({
|
||||
groupId=>$self->getThread->get("subscriptionGroupId"),
|
||||
status=>"completed",
|
||||
subject=>$self->get("subject"),
|
||||
message=>$message
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -801,7 +796,12 @@ sub setStatusApproved {
|
|||
$self->getThread->incrementReplies($self->get("dateUpdated"),$self->getId) if ($self->isReply && ($self->session->form->process('assetId') eq
|
||||
"new"));
|
||||
unless ($self->isPoster) {
|
||||
WebGUI::MessageLog::addInternationalizedEntry($self->get("ownerUserId"),'',$self->session->url->getSiteURL().'/'.$self->getUrl,579);
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
WebGUI::Inbox->new($self->session)->addMessage({
|
||||
userId=>$self->get("ownerUserId"),
|
||||
status=>'completed',
|
||||
message=>$i18n->get(579)."\n\n".$self->session->url->getSiteURL().'/'.$self->getUrl
|
||||
});
|
||||
}
|
||||
$self->notifySubscribers unless ($self->session->form->process("func") eq 'add');
|
||||
}
|
||||
|
|
@ -837,8 +837,12 @@ sub setStatusPending {
|
|||
$self->setStatusApproved;
|
||||
} else {
|
||||
$self->update({status=>'pending'});
|
||||
WebGUI::MessageLog::addInternationalizedEntry('',$self->getThread->getParent->get("moderateGroupId"),
|
||||
$self->session->url->getSiteURL().'/'.$self->getUrl("revision=".$self->get("revisionDate")),578,'WebGUI','pending');
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
WebGUI::Inbox->new($self->session)->addMessage({
|
||||
status=>'pending',
|
||||
message=>$i18n->get("578")."\n\n".$self->session->url->getSiteURL().'/'.$self->getUrl("revision=".$self->get("revisionDate")),
|
||||
groupId=>$self->getThread->getParent->get("moderateGroupId")
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ use WebGUI::Asset::Template;
|
|||
use WebGUI::Asset::Post;
|
||||
use WebGUI::Group;
|
||||
use WebGUI::International;
|
||||
use WebGUI::MessageLog;
|
||||
use WebGUI::Paginator;
|
||||
use WebGUI::SQL;
|
||||
use WebGUI::Utility;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ use WebGUI::HTMLForm;
|
|||
use WebGUI::International;
|
||||
use WebGUI::Mail::Send;
|
||||
use WebGUI::Macro;
|
||||
use WebGUI::MessageLog;
|
||||
use WebGUI::Inbox;
|
||||
use WebGUI::SQL;
|
||||
use WebGUI::Asset::Wobject;
|
||||
use WebGUI::Utility;
|
||||
|
|
@ -661,7 +661,13 @@ sub sendEmail {
|
|||
unless ($userId || $groupId) {
|
||||
$self->session->errorHandler->warn($self->getId.": Unable to send message, no user or group found.");
|
||||
} else {
|
||||
WebGUI::MessageLog::addEntry($userId, $groupId, $subject, $message, "", "", $from);
|
||||
WebGUI::Inbox->new($self->session)->addMessage({
|
||||
userId=>$userId,
|
||||
groupId=>$groupId,
|
||||
subject=>$subject,
|
||||
message=>$message,
|
||||
status=>'complete'
|
||||
});
|
||||
my $mail = WebGUI::Mail::Send->create($self->session,{to=>$cc, subject=>$subject, from=>$from});
|
||||
if ($cc) {
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ use WebGUI::Mail::Send;
|
|||
use WebGUI::SQL;
|
||||
use WebGUI::User;
|
||||
use WebGUI::Utility;
|
||||
use WebGUI::Inbox;
|
||||
use WebGUI::Asset::Wobject;
|
||||
use WebGUI::Asset::Wobject::Collaboration;
|
||||
|
||||
|
|
@ -219,9 +220,17 @@ sub www_approveListing {
|
|||
return $self->session->privilege->insufficient() unless($self->canEdit);
|
||||
my $listing = $self->session->db->getRow("Matrix_listing","listingId",$self->session->form->process("listingId"));
|
||||
$self->session->db->write("update Matrix_listing set status='approved' where listingId=".$self->session->db->quote($self->session->form->process("listingId")));
|
||||
WebGUI::MessageLog::addEntry($listing->{maintainerId},"","New Listing Approved","Your new listing, ".$listing->{productName}.", has been approved.",
|
||||
$self->formatURL("viewDetail",$self->session->form->process("listingId")),"notice");
|
||||
WebGUI::MessageLog::completeEntry($self->session->form->process("mlog"));
|
||||
my $inbox = WebGUI::Inbox->new($self->session);
|
||||
$inbox->addMessage({
|
||||
subject=>"New Listing Approved",
|
||||
message=>"Your new listing, ".$listing->{productName}.", has been approved.",
|
||||
status=>'completed',
|
||||
userId=>$listing->{maintainerId}
|
||||
});
|
||||
my $message = $inbox->getMessage($listing->{approvalMessageId});
|
||||
if (defined $message) {
|
||||
$message->setCompleted;
|
||||
}
|
||||
return $self->www_viewDetail;
|
||||
}
|
||||
|
||||
|
|
@ -349,8 +358,17 @@ sub www_deleteListingConfirm {
|
|||
$self->session->db->write("delete from Matrix_listingData where listingId=".$self->session->db->quote($self->session->form->process("listingId")));
|
||||
$self->session->db->write("delete from Matrix_rating where listingId=".$self->session->db->quote($self->session->form->process("listingId")));
|
||||
$self->session->db->write("delete from Matrix_ratingSummary where listingId=".$self->session->db->quote($self->session->form->process("listingId")));
|
||||
WebGUI::MessageLog::addEntry($listing->{maintainerId},"","Listing Deleted","Your listing, ".$listing->{productName}.", has been deleted from the matrix.","","notice");
|
||||
WebGUI::MessageLog::completeEntry($self->session->form->process("mlog"));
|
||||
my $inbox = WebGUI::Inbox->new($self->session);
|
||||
$inbox->addMessage({
|
||||
status=>'completed',
|
||||
subject=>"Listing Deleted",
|
||||
message=>"Your listing, ".$listing->{productName}.", has been deleted from the matrix.",
|
||||
userId=>$listing->{maintainerId}
|
||||
});
|
||||
my $message = $inbox->getMessage($listing->{approvalMessageId});
|
||||
if (defined $message) {
|
||||
$message->setCompleted;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
|
|
@ -646,9 +664,14 @@ sub www_editListingSave {
|
|||
$data{maintainerId} = $self->session->form->process("maintainerId") if ($self->canEdit);
|
||||
$data{assetId} = $self->getId;
|
||||
$self->session->form->process("listingId") = $self->session->db->setRow("Matrix_listing","listingId",\%data);
|
||||
if ($data{status} eq "pending") {
|
||||
WebGUI::MessageLog::addEntry($self->get("ownerUserId"),$self->get("groupIdEdit"),"New Listing Added","A new listing, ".$data{productName}.", is waiting to be added.",
|
||||
$self->session->url->getSiteURL()."/".$self->formatURL("viewDetail",$self->session->form->process("listingId")),"pending");
|
||||
if ($data{status} eq "pending" && !$listing->{approvalMessageId}) {
|
||||
$data{approvalMessageId} = WebGUI::Inbox->new($self->session)->addMessage({
|
||||
status=>'pending',
|
||||
groupId=>$self->get("groupIdEdit"),
|
||||
userId=>$self->get("ownerUserId"),
|
||||
subject=>"New Listing Added",
|
||||
message=>"A new listing, ".$data{productName}.", is waiting to be added.\n\n".$self->session->url->getSiteURL()."/".$self->formatURL("viewDetail",$self->session->form->process("listingId"))
|
||||
});
|
||||
}
|
||||
my $a = $self->session->db->read("select fieldId, name, fieldType from Matrix_field");
|
||||
while (my ($id, $name, $type) = $a->array) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue