tons of bug fixes.
This commit is contained in:
parent
6f112057bb
commit
2069da5fdb
15 changed files with 76 additions and 61 deletions
|
|
@ -68,7 +68,7 @@ sub _formatFunction {
|
|||
}
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
return {
|
||||
title=>$i18n->($function->{title}{id}, $function->{title}{namespace}),
|
||||
title=>$i18n->get($function->{title}{id}, $function->{title}{namespace}),
|
||||
icon=>$self->session->config->get("extrasURL")."/adminConsole/".$function->{icon},
|
||||
'icon.small'=>$self->session->config->get("extrasURL")."/adminConsole/small/".$function->{icon},
|
||||
url=>$url,
|
||||
|
|
@ -370,10 +370,11 @@ sub new {
|
|||
my $class = shift;
|
||||
my $session = shift; use WebGUI; WebGUI::dumpSession($session);
|
||||
my $id = shift;
|
||||
my %self;
|
||||
$self{_function} = $class->getAdminFunction($id) if ($id);
|
||||
$self{_session} = $session;
|
||||
bless \%self, $class;
|
||||
my $self;
|
||||
$self->{_session} = $session;
|
||||
bless $self, $class;
|
||||
$self->{_function} = $self->getAdminFunction($id) if ($id);
|
||||
return $self;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -412,7 +413,7 @@ sub render {
|
|||
$var{"console.icon"} = $acParams->{icon};
|
||||
$var{"help.url"} = $self->{_helpUrl};
|
||||
if (defined $self->session->asset) {
|
||||
my $importNode = $self->getImportNode($self->session);
|
||||
my $importNode = WebGUI::Asset->getImportNode($self->session);
|
||||
my $importNodeLineage = $importNode->get("lineage");
|
||||
my $assetLineage = $self->session->asset->get("lineage");
|
||||
if ($assetLineage =~ /^$importNodeLineage/ || $assetLineage eq "000001") {
|
||||
|
|
|
|||
|
|
@ -366,36 +366,38 @@ sub getAssetAdderLinks {
|
|||
my $addToUrl = shift;
|
||||
my $type = shift || "assets";
|
||||
my %links;
|
||||
return [];
|
||||
foreach my $class (@{$self->session->config->get($type)}) {
|
||||
next unless $class;
|
||||
my $load = "use ".$class;
|
||||
eval ($load);
|
||||
my %properties = (
|
||||
className=>$class
|
||||
);
|
||||
my $newAsset = WebGUI::Asset->newByPropertyHashRef($self->session,\%properties);
|
||||
next unless $newAsset;
|
||||
#use Data::Dumper; print Dumper($newAsset);
|
||||
my $uiLevel = eval{$newAsset->getUiLevel()};
|
||||
if ($@) {
|
||||
$self->session->errorHandler->error("Couldn't compile ".$class." because ".$@);
|
||||
$self->session->errorHandler->error("Couldn't get UI level of ".$class."because ".$@);
|
||||
next;
|
||||
} else {
|
||||
my $uiLevel = eval{$class->getUiLevel()};
|
||||
if ($@) {
|
||||
$self->session->errorHandler->error("Couldn't get UI level of ".$class." because ".$@);
|
||||
} else {
|
||||
next if ($uiLevel > $self->session->user->profileField("uiLevel") && !$self->session->user->isInGroup(3));
|
||||
}
|
||||
my $canAdd = eval{$class->canAdd($self->session)};
|
||||
if ($@) {
|
||||
$self->session->errorHandler->error("Couldn't determine if user can add ".$class." because ".$@);
|
||||
} else {
|
||||
next unless ($canAdd);
|
||||
}
|
||||
my $label = eval{$class->getName()};
|
||||
if ($@) {
|
||||
$self->session->errorHandler->error("Couldn't get the name of ".$class." because ".$@);
|
||||
} else {
|
||||
my $url = $self->getUrl("func=add;class=".$class);
|
||||
$url = $self->session->url->append($url,$addToUrl) if ($addToUrl);
|
||||
$links{$label}{url} = $url;
|
||||
$links{$label}{icon} = $class->getIcon;
|
||||
$links{$label}{'icon.small'} = $class->getIcon(1);
|
||||
}
|
||||
next if ($uiLevel > $self->session->user->profileField("uiLevel") && !$self->session->user->isInGroup(3));
|
||||
}
|
||||
my $canAdd = eval{$class->canAdd($self->session)};
|
||||
if ($@) {
|
||||
$self->session->errorHandler->error("Couldn't determine if user can add ".$class." because ".$@);
|
||||
next;
|
||||
} else {
|
||||
next unless ($canAdd);
|
||||
}
|
||||
my $label = eval{$newAsset->getName()};
|
||||
if ($@) {
|
||||
$self->session->errorHandler->error("Couldn't get the name of ".$class."because ".$@);
|
||||
next;
|
||||
} else {
|
||||
my $url = $self->getUrl("func=add;class=".$class);
|
||||
$url = $self->session->url->append($url,$addToUrl) if ($addToUrl);
|
||||
$links{$label}{url} = $url;
|
||||
$links{$label}{icon} = $newAsset->getIcon;
|
||||
$links{$label}{'icon.small'} = $newAsset->getIcon(1);
|
||||
}
|
||||
}
|
||||
my $constraint;
|
||||
|
|
@ -447,7 +449,7 @@ sub getContainer {
|
|||
if (WebGUI::Utility::isIn($self->get("className"), @{$self->session->config->get("assetContainers")})) {
|
||||
return $self;
|
||||
} else {
|
||||
$self->session->asset = $self->getParent;
|
||||
$self->session->asset($self->getParent);
|
||||
return $self->getParent;
|
||||
}
|
||||
}
|
||||
|
|
@ -576,7 +578,8 @@ sub getEditForm {
|
|||
}
|
||||
my $clause;
|
||||
if ($self->session->user->isInGroup(3)) {
|
||||
my $contentManagers = $self->session->group->getUsers(4,1);
|
||||
my $group = WebGUI::Group->new($self->session,4);
|
||||
my $contentManagers = $group->getUsers(1);
|
||||
push (@$contentManagers, $self->session->user->userId);
|
||||
$clause = "userId in (".$self->session->db->quoteAndJoin($contentManagers).")";
|
||||
} else {
|
||||
|
|
@ -920,10 +923,17 @@ Returns the UI Level specified in the asset definition or from the config file i
|
|||
=cut
|
||||
|
||||
sub getUiLevel {
|
||||
my $self = shift;
|
||||
my $definition = $self->definition($self->session);
|
||||
return $self->session->config->get("assetUiLevel")->{$definition->[0]{className}} || $definition->[0]{uiLevel} || 1;
|
||||
}
|
||||
my $self = shift;
|
||||
my $definition = $self->get("className")->definition($self->session);
|
||||
my $uilevel = $self->session->config->get("assetUiLevel");
|
||||
my $ret;
|
||||
if ($uilevel && ref $uilevel eq 'HASHREF') {
|
||||
$ret = $self->session->config->get("assetUiLevel")->{$definition->[0]{className}} || $definition->[0]{uiLevel} || 1 ;
|
||||
} else {
|
||||
$ret = $definition->[0]{uiLevel} || 1 ;
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -1118,8 +1128,11 @@ sub newByPropertyHashRef {
|
|||
return undef unless exists $properties->{className};
|
||||
my $className = $properties->{className};
|
||||
my $cmd = "use ".$className;
|
||||
eval ($cmd);
|
||||
$session->errorHandler->fatal("Couldn't compile asset package: ".$className.". Root cause: ".$@) if ($@);
|
||||
eval ($cmd);
|
||||
if ($@) {
|
||||
$session->errorHandler->warn("Couldn't compile asset package: ".$className.". Root cause: ".$@);
|
||||
return undef;
|
||||
}
|
||||
bless {_session=>$session, _properties => $properties}, $className;
|
||||
}
|
||||
|
||||
|
|
@ -1512,19 +1525,19 @@ sub www_editSave {
|
|||
$object->processPropertiesFromFormPost;
|
||||
$object->updateHistory("edited");
|
||||
if ($self->session->form->process("proceed") eq "manageAssets") {
|
||||
$self->session->asset = $object->getParent;
|
||||
$self->session->asset($object->getParent);
|
||||
return $self->session->asset->www_manageAssets;
|
||||
}
|
||||
if ($self->session->form->process("proceed") eq "viewParent") {
|
||||
$self->session->asset = $object->getParent;
|
||||
$self->session->asset($object->getParent);
|
||||
return $self->session->asset->www_view;
|
||||
}
|
||||
if ($self->session->form->process("proceed") ne "") {
|
||||
my $method = "www_".$self->session->form->process("proceed");
|
||||
$self->session->asset = $object;
|
||||
$self->session->asset($object);
|
||||
return $self->session->asset->$method();
|
||||
}
|
||||
$self->session->asset = $object->getContainer;
|
||||
$self->session->asset($object->getContainer);
|
||||
return $self->session->asset->www_view;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ sub getStorageLocation {
|
|||
my $self = shift;
|
||||
unless (exists $self->{_storageLocation}) {
|
||||
if ($self->get("storageId") eq "") {
|
||||
$self->{_storageLocation} = WebGUI::Storage::Image->create;
|
||||
$self->{_storageLocation} = WebGUI::Storage::Image->create($self->session);
|
||||
$self->update({storageId=>$self->{_storageLocation}->getId});
|
||||
} else {
|
||||
$self->{_storageLocation} = WebGUI::Storage::Image->get($self->session,$self->get("storageId"));
|
||||
|
|
|
|||
|
|
@ -797,7 +797,7 @@ sub www_view {
|
|||
my $self = shift;
|
||||
if ($self->isDashlet) {
|
||||
return $self->session->privilege->noAccess() unless $self->canView;
|
||||
$self->session->asset = $self->getParent;
|
||||
$self->session->asset($self->getParent);
|
||||
return $self->session->asset->www_view;
|
||||
} else {
|
||||
return $self->getShortcut->www_view;
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ Returns the TabForm object that will be used in generating the edit page for thi
|
|||
sub getEditForm {
|
||||
my $self = shift;
|
||||
my $tabform = $self->SUPER::getEditForm();
|
||||
foreach my $definition (reverse @{$self->definition}) {
|
||||
foreach my $definition (reverse @{$self->definition($self->session)}) {
|
||||
my $properties = $definition->{properties};
|
||||
next unless ($definition->{autoGenerateForms});
|
||||
foreach my $fieldname (keys %{$properties}) {
|
||||
|
|
|
|||
|
|
@ -344,7 +344,7 @@ sub www_editBranchSave {
|
|||
}
|
||||
}
|
||||
delete $self->{_parent};
|
||||
$self->session->asset = $self->getParent;
|
||||
$self->session->asset($self->getParent);
|
||||
return $self->getParent->www_manageAssets;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ sub www_cut {
|
|||
my $self = shift;
|
||||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
||||
$self->cut;
|
||||
$self->session->asset = $self->getParent;
|
||||
$self->session->asset($self->getParent);
|
||||
return $self->getParent->www_view;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -715,7 +715,7 @@ sub www_setRank {
|
|||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
||||
my $newRank = $self->session->form->process("rank");
|
||||
$self->setRank($newRank) if (defined $newRank);
|
||||
$self->session->asset = $self->getParent;
|
||||
$self->session->asset($self->getParent);
|
||||
return $self->getParent->www_manageAssets();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ sub www_delete {
|
|||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
||||
return $self->session->privilege->vitalComponent() if (isIn($self->getId, $self->session->setting->get("defaultPage"), $self->session->setting->get("notFoundPage")));
|
||||
$self->trash;
|
||||
$self->session->asset = $self->getParent;
|
||||
$self->session->asset($self->getParent);
|
||||
return $self->getParent->www_view;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ sub toHtmlWithWrapper {
|
|||
my $self = shift;
|
||||
if ($self->session->user->isInGroup(3)) {
|
||||
my $subtext = $self->session->icon->manage("op=listGroups");
|
||||
$self->get("subtext") = $subtext . $self->get("subtext");
|
||||
$self->set("subtext",$subtext . $self->get("subtext"));
|
||||
}
|
||||
return $self->SUPER::toHtmlWithWrapper;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ sub setManageIcons {
|
|||
}
|
||||
my $buttons = $self->session->icon->edit("func=edit".$returnUrl,$template->get("url"));
|
||||
$buttons .= $self->session->icon->manage("func=manageAssets",$template->getParent->get("url"));
|
||||
$self->get("subtext") = $buttons . $self->get("subtext");
|
||||
$self->set("subtext",$buttons . $self->get("subtext"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@ This package provides an object-oriented way of managing WebGUI groups and group
|
|||
=head1 SYNOPSIS
|
||||
|
||||
use WebGUI::Group;
|
||||
$g = WebGUI::Group->new(3); or $g = WebGUI::Group->new("new");
|
||||
$g = WebGUI::Group->find("Registered Users");
|
||||
$g = WebGUI::Group->new($session,3); or $g = WebGUI::Group->new($session,"new");
|
||||
$g = WebGUI::Group->find($session,"Registered Users");
|
||||
|
||||
$boolean = $g->autoAdd(1);
|
||||
$boolean = $g->autoDelete(1);
|
||||
|
|
@ -506,7 +506,7 @@ sub getGroupsIn {
|
|||
}
|
||||
my @groupsOfGroups = @$groups;
|
||||
foreach my $group (@$groups) {
|
||||
my $gog = WebGUI::Group->new($group)->getGroupsIn(1,$loopCount);
|
||||
my $gog = WebGUI::Group->new($self->session,$group)->getGroupsIn(1,$loopCount);
|
||||
push(@groupsOfGroups, @$gog);
|
||||
}
|
||||
$gotGroupsInGroup->{recursive}{$self->getId} = \@groupsOfGroups;
|
||||
|
|
@ -697,7 +697,7 @@ sub new {
|
|||
tie %group, 'Tie::CPHash';
|
||||
$class = shift;
|
||||
my $self = {};
|
||||
$self->{_session} = shift;
|
||||
$self->{_session} = shift; use WebGUI; WebGUI::dumpSession($self->{_session});
|
||||
$self->{_groupId} = shift;
|
||||
bless $self, $class;
|
||||
$self->_create() if ($self->{_groupId} eq "new");
|
||||
|
|
|
|||
|
|
@ -80,7 +80,8 @@ sub process {
|
|||
}
|
||||
}
|
||||
#--admin functions
|
||||
$var{adminConsole_loop} = WebGUI::AdminConsole->getAdminFunction;
|
||||
my $ac = WebGUI::AdminConsole->new($session);
|
||||
$var{adminConsole_loop} = $ac->getAdminFunction;
|
||||
return WebGUI::Asset::Template->new($session,$templateId)->process(\%var);
|
||||
# 'http://validator.w3.org/check?uri=referer'=>$i18n->get(399),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ if ($self->session->user->isInGroup(2)) {
|
|||
$output = "WebGUI was unable to instantiate your style template.".$var{'body.content'};
|
||||
}
|
||||
WebGUI::Macro::process($self->session,\$output);
|
||||
my $macroHeadTags = generateAdditionalHeadTags();
|
||||
my $macroHeadTags = $self->generateAdditionalHeadTags();
|
||||
WebGUI::Macro::process($self->session,\$macroHeadTags);
|
||||
$output =~ s/\<\!-- macro head tags --\>/$macroHeadTags/;
|
||||
if ($self->session->errorHandler->canShowDebug()) {
|
||||
|
|
@ -325,7 +325,7 @@ sub setScript {
|
|||
foreach my $script (@{$self->{_javascript}}) {
|
||||
$found = 1 if ($script->{src} eq $url);
|
||||
}
|
||||
push(@{$self->{_javascript}},$params) unless ($found);
|
||||
push(@{$self->{_javascript}},$params) unless $found;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -204,7 +204,7 @@ sub new {
|
|||
$tabs{$key}{label} = $startingTabs->{$key}->{label};
|
||||
$tabs{$key}{uiLevel} = $startingTabs->{$key}->{uiLevel};
|
||||
}
|
||||
my $i18n = WebGU::International->new($session);
|
||||
my $i18n = WebGUI::International->new($session);
|
||||
my $cancel = WebGUI::Form::button($session,{
|
||||
value=>$i18n->get('cancel'),
|
||||
extras=>q|onclick="history.go(-1);"|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue