tons of bug fixes.

This commit is contained in:
Matthew Wilson 2006-01-18 14:41:12 +00:00
parent 6f112057bb
commit 2069da5fdb
15 changed files with 76 additions and 61 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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),
}

View file

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

View file

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