fixed: Able to cut or trash system assets

This commit is contained in:
Graham Knop 2008-03-24 09:43:20 +00:00
parent 8880678209
commit 72b8e1d630
3 changed files with 6 additions and 2 deletions

View file

@ -13,6 +13,7 @@
- fixed: errors on package importing are always reported as corrupted packages
- fixed: Optional pubDate RSS field generates warnings when missing
- fixed: Collaboration System threads can return other object types when asked for replies
- fixed: Able to cut or trash system assets
7.5.7
- fixed: HttpProxy mixes original site's content encoding with WebGUI's

View file

@ -293,6 +293,8 @@ Cuts (removes to clipboard) self, returns the www_view of the Parent if canEdit.
sub www_cut {
my $self = shift;
return $self->session->privilege->insufficient() unless $self->canEdit;
return $self->session->privilege->vitalComponent
if $self->get('isSystem');
$self->cut;
$self->session->asset($self->getParent);
return $self->getParent->www_view;
@ -311,7 +313,7 @@ sub www_cutList {
return $self->session->privilege->insufficient() unless $self->canEdit;
foreach my $assetId ($self->session->form->param("assetId")) {
my $asset = WebGUI::Asset->newByDynamicClass($self->session,$assetId);
if ($asset->canEdit) {
if ($asset->canEdit && !$asset->get('isSystem')) {
$asset->cut;
}
}

View file

@ -212,7 +212,7 @@ lineage is changed in state to trash-limbo.
sub trash {
my $self = shift;
return undef if ($self->getId eq $self->session->setting->get("defaultPage") || $self->getId eq $self->session->setting->get("notFoundPage"));
return undef if ($self->getId eq $self->session->setting->get("defaultPage") || $self->getId eq $self->session->setting->get("notFoundPage") || $self->get('isSystem'));
foreach my $asset ($self, @{$self->getLineage(['descendants'], {returnObjects => 1})}) {
$asset->_invokeWorkflowOnExportedFiles($self->session->setting->get('trashWorkflow'), 1);
}
@ -264,6 +264,7 @@ Moves self to trash, returns www_view() method of Parent if canEdit. Otherwise r
sub www_delete {
my $self = shift;
return $self->session->privilege->insufficient() unless ($self->canEdit && $self->canEditIfLocked);
return $self->session->privilege->vitalComponent() if $self->get('isSystem');
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);