merged WebGUI::Groupings with WebGUI::Group and WebGUI::User

changed WebGUI::Group api to work with the new session api
This commit is contained in:
JT Smith 2006-01-11 03:27:07 +00:00
parent 8071a041fa
commit c74c1bdcbc
55 changed files with 866 additions and 994 deletions

View file

@ -101,14 +101,14 @@ sub edit {
-uiLevel=>6
);
my $subtext;
if (WebGUI::Grouping::isInGroup(3)) {
if ($self->session->user->isInGroup(3)) {
$subtext = manageIcon('op=listUsers');
} else {
$subtext = "";
}
my $clause;
if (WebGUI::Grouping::isInGroup(3)) {
my $contentManagers = WebGUI::Grouping::getUsersInGroup(4,1);
if ($self->session->user->isInGroup(3)) {
my $contentManagers = $group->getUsers(4,1);
push (@$contentManagers, $self->session->user->profileField("userId"));
$clause = "userId in (".$self->session->db->quoteAndJoin($contentManagers).")";
} else {

View file

@ -615,10 +615,10 @@ Send notifications to the thread and forum subscribers that a new post has been
sub notifySubscribers {
my $self = shift;
my %subscribers;
foreach my $userId (@{WebGUI::Grouping::getUsersInGroup($self->getThread->get("subscriptionGroupId"),undef,1)}) {
foreach my $userId (@{$group->getUsers($self->getThread->get("subscriptionGroupId"),undef,1)}) {
$subscribers{$userId} = $userId unless ($userId eq $self->get("ownerUserId"));
}
foreach my $userId (@{WebGUI::Grouping::getUsersInGroup($self->getThread->getParent->get("subscriptionGroupId"),undef,1)}) {
foreach my $userId (@{$group->getUsers($self->getThread->getParent->get("subscriptionGroupId"),undef,1)}) {
$subscribers{$userId} = $userId unless ($userId eq $self->get("ownerUserId"));
}
my %lang;
@ -836,7 +836,7 @@ Sets the status of this post to pending.
sub setStatusPending {
my ($self) = @_;
if (WebGUI::Grouping::isInGroup($self->getThread->getParent->get("moderateGroupId"))) {
if ($self->session->user->isInGroup($self->getThread->getParent->get("moderateGroupId"))) {
$self->setStatusApproved;
} else {
$self->update({status=>'pending'});

View file

@ -49,7 +49,7 @@ sub createSubscriptionGroup {
$group->showInForms(0);
$group->deleteGroups(['3']); # admins don't want to be auto subscribed to this thing
$self->update({
subscriptionGroupId=>$group->groupId
subscriptionGroupId=>$group->getId
});
}
@ -403,7 +403,7 @@ Returns a boolean indicating whether the user is subscribed to this thread.
sub isSubscribed {
my $self = shift;
return WebGUI::Grouping::isInGroup($self->get("subscriptionGroupId"));
return $self->session->user->isInGroup($self->get("subscriptionGroupId"));
}
#-------------------------------------------------------------------
@ -550,7 +550,7 @@ sub subscribe {
my $self = shift;
$self->createSubscriptionGroup;
WebGUI::Cache->new($self->session,"cspost_".$self->getId."_".$self->session->user->profileField("userId")."_".$self->session->scratch->get("discussionLayout")."_".$self->session->form->process("pn"))->delete;
WebGUI::Grouping::addUsersToGroups([$self->session->user->profileField("userId")],[$self->get("subscriptionGroupId")]);
$group->addUsers([$self->session->user->profileField("userId")],[$self->get("subscriptionGroupId")]);
}
#-------------------------------------------------------------------
@ -610,7 +610,7 @@ Negates the subscribe method.
sub unsubscribe {
my $self = shift;
WebGUI::Cache->new($self->session,"cspost_".$self->getId."_".$self->session->user->profileField("userId")."_".$self->session->scratch->get("discussionLayout")."_".$self->session->form->process("pn"))->delete;
WebGUI::Grouping::deleteUsersFromGroups([$self->session->user->profileField("userId")],[$self->get("subscriptionGroupId")]);
$group->deleteUsers([$self->session->user->profileField("userId")],[$self->get("subscriptionGroupId")]);
}

View file

@ -195,13 +195,13 @@ sub canEdit {
#-------------------------------------------------------------------
sub canModerate {
my $self = shift;
return WebGUI::Grouping::isInGroup($self->get("moderateGroupId"));
return $self->session->user->isInGroup($self->get("moderateGroupId"));
}
#-------------------------------------------------------------------
sub canPost {
my $self = shift;
return WebGUI::Grouping::isInGroup($self->get("postGroupId")) || $self->canModerate;
return $self->session->user->isInGroup($self->get("postGroupId")) || $self->canModerate;
}
@ -227,7 +227,7 @@ sub createSubscriptionGroup {
$group->showInForms(0);
$group->deleteGroups([3]); # admins don't want to be auto subscribed to this thing
$self->update({
subscriptionGroupId=>$group->groupId
subscriptionGroupId=>$group->getId
});
}
@ -785,7 +785,7 @@ Returns a boolean indicating whether the user is subscribed to the forum.
sub isSubscribed {
my $self = shift;
return WebGUI::Grouping::isInGroup($self->get("subscriptionGroupId"));
return $self->session->user->isInGroup($self->get("subscriptionGroupId"));
}
#-------------------------------------------------------------------
@ -871,7 +871,7 @@ Subscribes a user to this collaboration system.
sub subscribe {
my $self = shift;
WebGUI::Cache->new($self->session,"wobject_".$self->getId."_".$self->session->user->profileField("userId"))->delete;
WebGUI::Grouping::addUsersToGroups([$self->session->user->profileField("userId")],[$self->get("subscriptionGroupId")]);
$group->addUsers([$self->session->user->profileField("userId")],[$self->get("subscriptionGroupId")]);
}
#-------------------------------------------------------------------
@ -885,7 +885,7 @@ Unsubscribes a user from this collaboration system
sub unsubscribe {
my $self = shift;
WebGUI::Cache->new($self->session,"wobject_".$self->getId."_".$self->session->user->profileField("userId"))->delete;
WebGUI::Grouping::deleteUsersFromGroups([$self->session->user->profileField("userId")],[$self->get("subscriptionGroupId")]);
$group->deleteUsers([$self->session->user->profileField("userId")],[$self->get("subscriptionGroupId")]);
}

View file

@ -30,14 +30,14 @@ our @ISA = qw(WebGUI::Asset::Wobject);
sub canManage {
my $self = shift;
return 0 if $self->session->user->profileField("userId") == 1;
return WebGUI::Grouping::isInGroup($self->get("adminsGroupId"));
return $self->session->user->isInGroup($self->get("adminsGroupId"));
}
#-------------------------------------------------------------------
sub canPersonalize {
my $self = shift;
return 0 if $self->session->user->profileField("userId") == 1;
return WebGUI::Grouping::isInGroup($self->get("usersGroupId"));
return $self->session->user->isInGroup($self->get("usersGroupId"));
}
#-------------------------------------------------------------------

View file

@ -34,7 +34,7 @@ our @ISA = qw(WebGUI::Asset::Wobject);
# return 1;
# }
# return 0 unless $self->canView($userId);
# return WebGUI::Grouping::isInGroup($self->getValue("groupIdManage"),$userId);
# return $self->session->user->isInGroup($self->getValue("groupIdManage"),$userId);
#}

View file

@ -149,7 +149,7 @@ sub view {
my %var;
my $url = $self->getUrl('func=view');
if (WebGUI::Grouping::isInGroup($self->getValue("reportViewerGroup"))) {
if ($self->session->user->isInGroup($self->getValue("reportViewerGroup"))) {
$var{'viewReportURL'} = $self->getUrl("func=viewReport");
$var{canViewReport} = 1;
}
@ -377,7 +377,7 @@ sub www_view {
#-------------------------------------------------------------------
sub www_viewReport {
my $self = shift;
return "" unless (WebGUI::Grouping::isInGroup($self->getValue("reportViewerGroup")));
return "" unless ($self->session->user->isInGroup($self->getValue("reportViewerGroup")));
my %var;
my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl, -method=>"GET");
my %changedBy = ();

View file

@ -619,7 +619,7 @@ Returns an array reference containing all groupIds of groups the user is in.
sub _getGroups {
my @groups;
foreach my $groupId ($self->session->db->buildArray("select groupId from groups")) {
push(@groups, $groupId) if (WebGUI::Grouping::isInGroup($groupId));
push(@groups, $groupId) if ($self->session->user->isInGroup($groupId));
}
return \@groups;
}

View file

@ -148,8 +148,8 @@ sub getCompareForm {
sub hasRated {
my $self = shift;
my $listingId = shift;
return 1 unless (WebGUI::Grouping::isInGroup($self->get("groupToRate")));
my $ratingTimeout = WebGUI::Grouping::isInGroup($self->get("privilegedGroup")) ? $self->get("ratingTimeoutPrivileged") : $self->get("ratingTimeout");
return 1 unless ($self->session->user->isInGroup($self->get("groupToRate")));
my $ratingTimeout = $self->session->user->isInGroup($self->get("privilegedGroup")) ? $self->get("ratingTimeoutPrivileged") : $self->get("ratingTimeout");
my ($hasRated) = $self->session->db->quickArray("select count(*) from Matrix_rating where
((userId=".$self->session->db->quote($self->session->user->profileField("userId"))." and userId<>'1') or (userId='1' and ipAddress=".$self->session->db->quote($self->session->env->get("HTTP_X_FORWARDED_FOR")).")) and
listingId=".$self->session->db->quote($listingId)." and timeStamp>".($self->session->datetime->time()-$ratingTimeout));
@ -234,7 +234,7 @@ sub www_compare {
@cmsList = $self->session->form->checkList("listingId");
}
my ( %var, @prodcol, @datecol);
my $max = WebGUI::Grouping::isInGroup($self->get("privilegedGroup")) ? $self->get("maxComparisonsPrivileged") : $self->get("maxComparisons");
my $max = $self->session->user->isInGroup($self->get("privilegedGroup")) ? $self->get("maxComparisonsPrivileged") : $self->get("maxComparisons");
$var{isTooMany} = (scalar(@cmsList)>$max);
$var{isTooFew} = (scalar(@cmsList)<2);
$var{'compare.form'} = $self->getCompareForm(@cmsList);
@ -441,7 +441,7 @@ sub www_edit {
sub www_editListing {
my $self = shift;
my $listing= $self->session->db->getRow("Matrix_listing","listingId",$self->session->form->process("listingId"));
return WebGUI::International('no edit rights','Asset_Matrix') unless (($self->session->form->process("listingId") eq "new" && WebGUI::Grouping::isInGroup($self->get("groupToAdd"))) || $self->session->user->profileField("userId") eq $listing->{maintainerId} || $self->canEdit);
return WebGUI::International('no edit rights','Asset_Matrix') unless (($self->session->form->process("listingId") eq "new" && $self->session->user->isInGroup($self->get("groupToAdd"))) || $self->session->user->profileField("userId") eq $listing->{maintainerId} || $self->canEdit);
my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl);
$f->hidden(
-name=>"func",
@ -570,7 +570,7 @@ sub www_editListing {
sub www_editListingSave {
my $self = shift;
my $listing = $self->session->db->getRow("Matrix_listing","listingId",$self->session->form->process("listingId"));
return WebGUI::International('no edit rights','Asset_Matrix') unless (($self->session->form->process("listingId") eq "new" && WebGUI::Grouping::isInGroup($self->get("groupToAdd"))) || $self->session->user->profileField("userId") eq $listing->{maintainerId} || $self->canEdit);
return WebGUI::International('no edit rights','Asset_Matrix') unless (($self->session->form->process("listingId") eq "new" && $self->session->user->isInGroup($self->get("groupToAdd"))) || $self->session->user->profileField("userId") eq $listing->{maintainerId} || $self->canEdit);
my %data = (
listingId => $self->session->form->process("listingId"),
lastUpdated => $self->session->datetime->time(),
@ -798,7 +798,7 @@ sub www_search {
} elsif ($count == 1) {
return $self->www_viewDetail($list[0]);
} else {
my $max = WebGUI::Grouping::isInGroup($self->get("privilegedGroup")) ? $self->get("maxComparisonsPrivileged") : $self->get("maxComparisons");
my $max = $self->session->user->isInGroup($self->get("privilegedGroup")) ? $self->get("maxComparisonsPrivileged") : $self->get("maxComparisons");
$var{isTooMany} = ($count>$max);
$var{isTooFew} = ($count<2);
}

View file

@ -450,7 +450,7 @@ sub www_goBackToPage {
sub www_preview {
my $self = shift;
$self->session->var->get("adminOn") = 0;
return $self->session->privilege->insufficient() unless (WebGUI::Grouping::isInGroup(3));
return $self->session->privilege->insufficient() unless ($self->session->user->isInGroup(3));
my $nav = WebGUI::Navigation->new( depth=>$self->session->form->process("depth"),
method=>$self->session->form->process("method"),
startAt=>$self->session->form->process("startAt"),

View file

@ -280,7 +280,7 @@ sub view {
$var{question} = $self->get("question");
if ($self->get("active") eq "0") {
$showPoll = 0;
} elsif (WebGUI::Grouping::isInGroup($self->get("voteGroup"),$self->session->user->profileField("userId"))) {
} elsif ($self->session->user->isInGroup($self->get("voteGroup"),$self->session->user->profileField("userId"))) {
if ($self->_hasVoted()) {
$showPoll = 0;
} else {
@ -330,7 +330,7 @@ sub view {
sub www_vote {
my $self = shift;
my $u;
if ($self->session->form->process("answer") ne "" && WebGUI::Grouping::isInGroup($self->get("voteGroup")) && !($self->_hasVoted())) {
if ($self->session->form->process("answer") ne "" && $self->session->user->isInGroup($self->get("voteGroup")) && !($self->_hasVoted())) {
$self->setVote($self->session->form->process("answer"),$self->session->user->profileField("userId"),$self->session->env->get("REMOTE_ADDR"));
if ($self->session->setting->get("useKarma")) {
$u = WebGUI::User->new($self->session->user->profileField("userId"));

View file

@ -329,7 +329,7 @@ sub getIp {
sub getMenuVars {
my $self = shift;
my %var;
$var{'user.canViewReports'} = (WebGUI::Grouping::isInGroup($self->get("groupToViewReports")));
$var{'user.canViewReports'} = ($self->session->user->isInGroup($self->get("groupToViewReports")));
$var{'delete.all.responses.url'} = $self->getUrl('func=deleteAllResponses');
$var{'delete.all.responses.label'} = WebGUI::International::get(73,'Asset_Survey');
$var{'export.answers.url'} = $self->getUrl('func=exportAnswers');
@ -650,7 +650,7 @@ sub view {
}
$sth->finish;
$var->{'user.canTakeSurvey'} = WebGUI::Grouping::isInGroup($self->get("groupToTakeSurvey"));
$var->{'user.canTakeSurvey'} = $self->session->user->isInGroup($self->get("groupToTakeSurvey"));
if ($var->{'user.canTakeSurvey'}) {
$var->{'response.Id'} = $self->getResponseId();
$var->{'response.Count'} = $self->getResponseCount;
@ -732,14 +732,14 @@ sub www_deleteSectionConfirm {
#-------------------------------------------------------------------
sub www_deleteResponse {
return "" unless (WebGUI::Grouping::isInGroup($_[0]->get("groupToViewReports")));
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
return $self->session->style->process($_[0]->confirm(WebGUI::International::get(72,'Asset_Survey'),
$_[0]->getUrl('func=deleteResponseConfirm;responseId='.$self->session->form->process("responseId"))),$_[0]->getValue("styleTemplateId"));
}
#-------------------------------------------------------------------
sub www_deleteResponseConfirm {
return "" unless (WebGUI::Grouping::isInGroup($_[0]->get("groupToViewReports")));
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
$self->session->db->write("delete from Survey_response where Survey_responseId=".$self->session->db->quote($self->session->form->process("responseId")));
$self->session->db->write("delete from Survey_questionResponse where Survey_responseId=".$self->session->db->quote($self->session->form->process("responseId")));
return $_[0]->www_viewGradebook;
@ -747,13 +747,13 @@ sub www_deleteResponseConfirm {
#-------------------------------------------------------------------
sub www_deleteAllResponses {
return "" unless (WebGUI::Grouping::isInGroup($_[0]->get("groupToViewReports")));
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
return $self->session->style->process($_[0]->confirm(WebGUI::International::get(74,'Asset_Survey'),$_[0]->getUrl('func=deleteAllResponsesConfirm')),$_[0]->getValue("styleTemplateId"));
}
#-------------------------------------------------------------------
sub www_deleteAllResponsesConfirm {
return "" unless (WebGUI::Grouping::isInGroup($_[0]->get("groupToViewReports")));
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
$self->session->db->write("delete from Survey_response where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
$self->session->db->write("delete from Survey_questionResponse where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
return "";
@ -1085,14 +1085,14 @@ sub www_editSectionSave {
#-------------------------------------------------------------------
sub www_exportAnswers {
return "" unless (WebGUI::Grouping::isInGroup($_[0]->get("groupToViewReports")));
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
WebGUI::HTTP::setFilename($self->session->url->escape($_[0]->get("title")."_answers.tab"),"text/tab");
return $self->session->db->quickTab("select * from Survey_answer where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
}
#-------------------------------------------------------------------
sub www_exportComposite {
return "" unless (WebGUI::Grouping::isInGroup($_[0]->get("groupToViewReports")));
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
WebGUI::HTTP::setFilename($self->session->url->escape($_[0]->get("title")."_composite.tab"),"text/tab");
return $self->session->db->quickTab("select b.question, c.response, a.userId, a.username, a.ipAddress, c.comment, c.dateOfResponse from Survey_response a
left join Survey_questionResponse c on a.Survey_responseId=c.Survey_responseId
@ -1102,14 +1102,14 @@ sub www_exportComposite {
#-------------------------------------------------------------------
sub www_exportQuestions {
return "" unless (WebGUI::Grouping::isInGroup($_[0]->get("groupToViewReports")));
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
WebGUI::HTTP::setFilename($self->session->url->escape($_[0]->get("title")."_questions.tab"),"text/tab");
return $self->session->db->quickTab("select * from Survey_question where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
}
#-------------------------------------------------------------------
sub www_exportResponses {
return "" unless (WebGUI::Grouping::isInGroup($_[0]->get("groupToViewReports")));
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
WebGUI::HTTP::setFilename($self->session->url->escape($_[0]->get("title")."_responses.tab"),"text/tab");
return $self->session->db->quickTab("select * from Survey_response where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
}
@ -1159,7 +1159,7 @@ sub www_moveSectionUp {
#-------------------------------------------------------------------
sub www_respond {
my $self = shift;
return "" unless (WebGUI::Grouping::isInGroup($self->get("groupToTakeSurvey")));
return "" unless ($self->session->user->isInGroup($self->get("groupToTakeSurvey")));
my $varname = $self->getResponseIdString;
return "" unless ($session{scratch}{$varname});
my $userId = ($self->get("anonymous")) ? substr(md5_hex($self->session->user->profileField("userId")),0,8) : $self->session->user->profileField("userId");
@ -1208,7 +1208,7 @@ sub www_view {
#-------------------------------------------------------------------
sub www_viewGradebook {
my $self = shift;
return "" unless (WebGUI::Grouping::isInGroup($self->get("groupToViewReports")));
return "" unless ($self->session->user->isInGroup($self->get("groupToViewReports")));
$self->logView() if ($self->session->setting->get("passiveProfilingEnabled"));
my $var = $self->getMenuVars;
$var->{title} = WebGUI::International::get(71,'Asset_Survey');
@ -1245,7 +1245,7 @@ sub www_viewGradebook {
#-------------------------------------------------------------------
sub www_viewIndividualSurvey {
my $self = shift;
return "" unless (WebGUI::Grouping::isInGroup($self->get("groupToViewReports")));
return "" unless ($self->session->user->isInGroup($self->get("groupToViewReports")));
$self->logView() if ($self->session->setting->get("passiveProfilingEnabled"));
my $var = $self->getMenuVars;
$var->{'title'} = WebGUI::International::get(70,'Asset_Survey');
@ -1304,7 +1304,7 @@ sub www_viewIndividualSurvey {
#-------------------------------------------------------------------
sub www_viewStatisticalOverview {
my $self = shift;
return "" unless (WebGUI::Grouping::isInGroup($self->get("groupToViewReports")));
return "" unless ($self->session->user->isInGroup($self->get("groupToViewReports")));
$self->logView() if ($self->session->setting->get("passiveProfilingEnabled"));
my $var = $self->getMenuVars;
$var->{title} = WebGUI::International::get(58,'Asset_Survey');