Added isVisitor, isAdmin, and isRegistered methods to User object instead
of hard coding checks everywhere with group ids. And updated the code base to match.
This commit is contained in:
parent
586164d8d0
commit
ef120fb06b
52 changed files with 201 additions and 118 deletions
|
|
@ -58,7 +58,7 @@ sub _visitorCacheKey {
|
|||
#-------------------------------------------------------------------
|
||||
sub _visitorCacheOk {
|
||||
my $self = shift;
|
||||
return ($self->session->user->userId eq '1'
|
||||
return ($self->session->user->isVisitor
|
||||
&& !$self->session->form->process('sortBy'));
|
||||
}
|
||||
|
||||
|
|
@ -308,7 +308,7 @@ sub canSubscribe {
|
|||
? WebGUI::User->new( $session, $userId )
|
||||
: $self->session->user
|
||||
;
|
||||
return ($user->userId ne "1" && $self->canView( $userId ) );
|
||||
return ($user->isRegistered && $self->canView( $userId ) );
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -1063,7 +1063,7 @@ sub getViewTemplateVars {
|
|||
$var{"add.url"} = $self->getNewThreadUrl;
|
||||
$var{"rss.url"} = $self->getRssUrl;
|
||||
$var{'user.isModerator'} = $self->canModerate;
|
||||
$var{'user.isVisitor'} = ($self->session->user->userId eq '1');
|
||||
$var{'user.isVisitor'} = ($self->session->user->isVisitor);
|
||||
$var{'user.isSubscribed'} = $self->isSubscribed;
|
||||
$var{'sortby.title.url'} = $self->getSortByUrl("title");
|
||||
$var{'sortby.username.url'} = $self->getSortByUrl("username");
|
||||
|
|
@ -1500,7 +1500,7 @@ sub www_unsubscribe {
|
|||
sub www_view {
|
||||
my $self = shift;
|
||||
my $disableCache = ($self->session->form->process("sortBy") ne "");
|
||||
$self->session->http->setCacheControl($self->get("visitorCacheTimeout")) if ($self->session->user->userId eq "1" && !$disableCache);
|
||||
$self->session->http->setCacheControl($self->get("visitorCacheTimeout")) if ($self->session->user->isVisitor && !$disableCache);
|
||||
return $self->SUPER::www_view(@_);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ sub www_edit {
|
|||
#-------------------------------------------------------------------
|
||||
sub www_mySubscriptions {
|
||||
my $self = shift;
|
||||
return $self->session->privilege->insufficient unless ($self->canView && $self->session->user->userId ne "1");
|
||||
return $self->session->privilege->insufficient unless ($self->canView && $self->session->user->isRegistered);
|
||||
my %var = ();
|
||||
my $meta = $self->getMetaDataFields;
|
||||
my @categories = ();
|
||||
|
|
@ -233,7 +233,7 @@ sub www_mySubscriptions {
|
|||
#-------------------------------------------------------------------
|
||||
sub www_mySubscriptionsSave {
|
||||
my $self = shift;
|
||||
return $self->session->privilege->insufficient unless ($self->canView && $self->session->user->userId ne "1");
|
||||
return $self->session->privilege->insufficient unless ($self->canView && $self->session->user->isRegistered);
|
||||
my $subscriptions = $self->session->form->process("subscriptions", "checkList");
|
||||
$self->setUserSubscriptions($subscriptions);
|
||||
return $self->www_view;
|
||||
|
|
|
|||
|
|
@ -24,14 +24,14 @@ our @ISA = qw(WebGUI::Asset::Wobject);
|
|||
#-------------------------------------------------------------------
|
||||
sub canManage {
|
||||
my $self = shift;
|
||||
return 0 if $self->session->user->userId eq '1';
|
||||
return 0 if $self->session->user->isVisitor;
|
||||
return $self->session->user->isInGroup($self->get("adminsGroupId"));
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub canPersonalize {
|
||||
my $self = shift;
|
||||
return 0 if $self->session->user->userId eq '1';
|
||||
return 0 if $self->session->user->isVisitor;
|
||||
return $self->session->user->isInGroup($self->get("usersGroupId"));
|
||||
}
|
||||
|
||||
|
|
@ -273,7 +273,7 @@ sub view {
|
|||
shortcutUrl=>$child->getUrl,
|
||||
canPersonalize=>$self->canPersonalize,
|
||||
showReloadIcon=>$child->{_properties}{showReloadIcon},
|
||||
canEditUserPrefs=>(($self->session->user->userId ne '1') && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
|
||||
canEditUserPrefs=>(($self->session->user->isRegistered) && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
|
||||
});
|
||||
$newStuff .= 'available_dashlets["'.$child->getId.'"]=\''.$child->getUrl.'\';';
|
||||
|
||||
|
|
@ -286,7 +286,7 @@ sub view {
|
|||
shortcutUrl=>$child->getUrl,
|
||||
canPersonalize=>$self->canPersonalize,
|
||||
showReloadIcon=>$child->{_properties}{showReloadIcon},
|
||||
canEditUserPrefs=>(($self->session->user->userId ne '1') && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
|
||||
canEditUserPrefs=>(($self->session->user->isRegistered) && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
|
||||
});
|
||||
$newStuff .= 'available_dashlets["'.$child->getId.'"]=\''.$child->getUrl.'\';';
|
||||
}
|
||||
|
|
@ -309,7 +309,7 @@ sub view {
|
|||
shortcutUrl=>$child->getUrl,
|
||||
showReloadIcon=>$child->{_properties}{showReloadIcon},
|
||||
canPersonalize=>$self->canPersonalize,
|
||||
canEditUserPrefs=>(($self->session->user->userId ne '1') && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
|
||||
canEditUserPrefs=>(($self->session->user->isRegistered) && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
|
||||
});
|
||||
$newStuff .= 'available_dashlets["'.$child->getId.'"]=\''.$child->getUrl.'\';';
|
||||
}
|
||||
|
|
@ -329,7 +329,7 @@ sub view {
|
|||
#-------------------------------------------------------------------
|
||||
sub www_setContentPositions {
|
||||
my $self = shift;
|
||||
return 'Visitors cannot save settings' if($self->session->user->userId eq '1');
|
||||
return 'Visitors cannot save settings' if($self->session->user->isVisitor);
|
||||
return $self->session->privilege->insufficient() unless ($self->canPersonalize);
|
||||
return 'empty' unless $self->get("isInitialized");
|
||||
my $dummy = $self->initialize unless $self->get("isInitialized");
|
||||
|
|
|
|||
|
|
@ -1422,7 +1422,7 @@ Displays the badges purchased by the current user, or all users if the user is p
|
|||
sub www_lookupRegistrant {
|
||||
my ($self) = @_;
|
||||
my $session = $self->session;
|
||||
return $session->privilege->noAccess() unless ($self->canView && $self->session->user->userId ne "1");
|
||||
return $session->privilege->noAccess() unless ($self->canView && $self->session->user->isRegistered);
|
||||
|
||||
# set up template variables
|
||||
my %var = (
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ sub view {
|
|||
my $self = shift;
|
||||
|
||||
# Use cached version for visitors
|
||||
if ($self->session->user->userId eq '1') {
|
||||
if ($self->session->user->isVisitor) {
|
||||
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
|
||||
return $out if $out;
|
||||
}
|
||||
|
|
@ -258,7 +258,7 @@ sub view {
|
|||
my $out = $self->processTemplate( $vars, undef, $self->{_viewTemplate} );
|
||||
|
||||
# Update the cache
|
||||
if ($self->session->user->userId eq '1') {
|
||||
if ($self->session->user->isVisitor) {
|
||||
WebGUI::Cache->new($self->session,"view_".$self->getId)
|
||||
->set($out,$self->get("visitorCacheTimeout"));
|
||||
}
|
||||
|
|
@ -277,7 +277,7 @@ See WebGUI::Asset::Wobject::www_view() for details.
|
|||
|
||||
sub www_view {
|
||||
my $self = shift;
|
||||
$self->session->http->setCacheControl($self->get("visitorCacheTimeout")) if ($self->session->user->userId eq "1");
|
||||
$self->session->http->setCacheControl($self->get("visitorCacheTimeout")) if ($self->session->user->isVisitor);
|
||||
$self->SUPER::www_view(@_);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -293,7 +293,7 @@ sub www_compare {
|
|||
$var{isTooMany} = (scalar(@cmsList)>$max);
|
||||
$var{isTooFew} = (scalar(@cmsList)<2);
|
||||
$var{'compare.form'} = $self->getCompareForm(@cmsList);
|
||||
$var{'isLoggedIn'} = ($self->session->user->userId ne "1");
|
||||
$var{'isLoggedIn'} = ($self->session->user->isRegistered);
|
||||
if ($var{isTooMany} || $var{isTooFew}) {
|
||||
return $self->processStyle($self->processTemplate(\%var,$self->get("compareTemplateId")));
|
||||
}
|
||||
|
|
@ -985,7 +985,7 @@ sub www_search {
|
|||
$var{isTooFew} = ($count<2);
|
||||
}
|
||||
}
|
||||
$var{'isLoggedIn'} = ($self->session->user->userId ne "1");
|
||||
$var{'isLoggedIn'} = ($self->session->user->isRegistered);
|
||||
$var{'compare.form'} = $self->getCompareForm(@list);
|
||||
$var{'form.header'} = WebGUI::Form::formHeader($self->session,{action=>$self->getUrl})
|
||||
.WebGUI::Form::hidden($self->session,{
|
||||
|
|
@ -1032,14 +1032,14 @@ sub www_search {
|
|||
#-------------------------------------------------------------------
|
||||
sub view {
|
||||
my $self = shift;
|
||||
if ($self->session->user->userId eq '1') {
|
||||
if ($self->session->user->isVisitor) {
|
||||
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
|
||||
return $out if $out;
|
||||
}
|
||||
my (%var);
|
||||
$var{'compare.form'} = $self->getCompareForm;
|
||||
$var{'search.url'} = $self->getUrl("func=search");
|
||||
$var{'isLoggedIn'} = ($self->session->user->userId ne "1");
|
||||
$var{'isLoggedIn'} = ($self->session->user->isRegistered);
|
||||
$var{'field.list.url'} = $self->getUrl('func=listFields');
|
||||
$var{'listing.add.url'} = $self->formatURL("editListing","new");
|
||||
|
||||
|
|
@ -1132,7 +1132,7 @@ sub view {
|
|||
}
|
||||
$sth->finish;
|
||||
my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate});
|
||||
if ($self->session->user->userId eq '1') {
|
||||
if ($self->session->user->isVisitor) {
|
||||
WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->get("visitorCacheTimeout"));
|
||||
}
|
||||
return $out;
|
||||
|
|
@ -1148,7 +1148,7 @@ See WebGUI::Asset::Wobject::www_view() for details.
|
|||
|
||||
sub www_view {
|
||||
my $self = shift;
|
||||
$self->session->http->setCacheControl($self->get("visitorCacheTimeout")) if ($self->session->user->userId eq "1");
|
||||
$self->session->http->setCacheControl($self->get("visitorCacheTimeout")) if ($self->session->user->isVisitor);
|
||||
$self->SUPER::www_view(@_);
|
||||
}
|
||||
|
||||
|
|
@ -1167,7 +1167,7 @@ sub www_viewDetail {
|
|||
$var{thumbnail} = $storage->getThumbnailUrl($listing->{filename});
|
||||
}
|
||||
$var{"discussion"} = $forum && $forum->view;
|
||||
$var{'isLoggedIn'} = ($self->session->user->userId ne "1");
|
||||
$var{'isLoggedIn'} = ($self->session->user->isRegistered);
|
||||
if ($self->session->form->process("do") eq "sendEmail" && $self->session->form->process("verify","captcha")) {
|
||||
if ($self->session->form->process("body") ne "") {
|
||||
my $u = WebGUI::User->new($self->session, $listing->{maintainerId});
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ See WebGUI::Asset::view() for details.
|
|||
|
||||
sub view {
|
||||
my $self = shift;
|
||||
if ($self->session->user->userId eq '1') {
|
||||
if ($self->session->user->isVisitor) {
|
||||
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
|
||||
return $out if $out;
|
||||
}
|
||||
|
|
@ -163,7 +163,7 @@ sub view {
|
|||
$var{forum_loop} = \@forum_loop;
|
||||
|
||||
my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate});
|
||||
if ($self->session->user->userId eq '1') {
|
||||
if ($self->session->user->isVisitor) {
|
||||
WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->get("visitorCacheTimeout"));
|
||||
}
|
||||
return $out;
|
||||
|
|
@ -179,7 +179,7 @@ See WebGUI::Asset::Wobject::www_view() for details.
|
|||
|
||||
sub www_view {
|
||||
my $self = shift;
|
||||
$self->session->http->setCacheControl($self->get("visitorCacheTimeout")) if ($self->session->user->userId eq "1");
|
||||
$self->session->http->setCacheControl($self->get("visitorCacheTimeout")) if ($self->session->user->isVisitor);
|
||||
$self->SUPER::www_view(@_);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -521,7 +521,7 @@ sub www_goBackToPage {
|
|||
sub www_preview {
|
||||
my $self = shift;
|
||||
$self->session->var->get("adminOn") = 0;
|
||||
return $self->session->privilege->insufficient() unless ($self->session->user->isInGroup(3));
|
||||
return $self->session->privilege->insufficient() unless ($self->session->user->isAdmin);
|
||||
my $nav = WebGUI::Navigation->new( depth=>$self->session->form->process("depth"),
|
||||
method=>$self->session->form->process("method"),
|
||||
startAt=>$self->session->form->process("startAt"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue