replaced MessageLog with Inbox

This commit is contained in:
JT Smith 2006-03-21 22:44:31 +00:00
parent d63ea20c9e
commit b6ad963119
18 changed files with 345 additions and 440 deletions

View file

@ -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")
});
}
}

View file

@ -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;

View file

@ -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) {

View file

@ -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) {