fixed locking bug
This commit is contained in:
parent
3931d8dcd2
commit
b062e61508
4 changed files with 10 additions and 10 deletions
|
|
@ -855,7 +855,7 @@ sub getToolbar {
|
||||||
my $i18n = WebGUI::International->new($self->session, "Asset");
|
my $i18n = WebGUI::International->new($self->session, "Asset");
|
||||||
my $toolbar = $self->session->icon->delete('func=delete',$self->get("url"),$i18n->get(43));
|
my $toolbar = $self->session->icon->delete('func=delete',$self->get("url"),$i18n->get(43));
|
||||||
my $commit;
|
my $commit;
|
||||||
if (($self->canEditIfLocked && $self->session->scratch->get("versionTag") eq $self->get("tagId")) || !$self->isLocked) {
|
if ($self->canEditIfLocked) {
|
||||||
$toolbar .= $self->session->icon->edit('func=edit',$self->get("url"));
|
$toolbar .= $self->session->icon->edit('func=edit',$self->get("url"));
|
||||||
} else {
|
} else {
|
||||||
$toolbar .= $self->session->icon->locked('func=manageRevisions',$self->get("url"));
|
$toolbar .= $self->session->icon->locked('func=manageRevisions',$self->get("url"));
|
||||||
|
|
@ -1036,7 +1036,7 @@ sub manageAssets {
|
||||||
my $edit;
|
my $edit;
|
||||||
if ($child->isLocked) {
|
if ($child->isLocked) {
|
||||||
$locked = '<img src="'.$self->session->config->get("extrasURL").'/assetManager/locked.gif" alt="locked" style="border: 0px;" />';
|
$locked = '<img src="'.$self->session->config->get("extrasURL").'/assetManager/locked.gif" alt="locked" style="border: 0px;" />';
|
||||||
$edit = "'<a href=\"".$child->getUrl("func=edit;proceed=manageAssets")."\">Edit</a> | '+" if ($child->canEditIfLocked && $self->session->scratch->get("versionTag") eq $self->get("tagId"));
|
$edit = "'<a href=\"".$child->getUrl("func=edit;proceed=manageAssets")."\">Edit</a> | '+" if ($child->canEditIfLocked);
|
||||||
} else {
|
} else {
|
||||||
$edit = "'<a href=\"".$child->getUrl("func=edit;proceed=manageAssets")."\">Edit</a> | '+";
|
$edit = "'<a href=\"".$child->getUrl("func=edit;proceed=manageAssets")."\">Edit</a> | '+";
|
||||||
$locked = '<img src="'.$self->session->config->get("extrasURL").'/assetManager/unlocked.gif" alt="unlocked" style="border: 0px;" />';
|
$locked = '<img src="'.$self->session->config->get("extrasURL").'/assetManager/unlocked.gif" alt="unlocked" style="border: 0px;" />';
|
||||||
|
|
@ -1196,7 +1196,7 @@ sub manageAssetsSearch {
|
||||||
my $edit;
|
my $edit;
|
||||||
if ($child->isLocked) {
|
if ($child->isLocked) {
|
||||||
$locked = '<img src="'.$self->session->config->get("extrasURL").'/assetManager/locked.gif" alt="locked" style="border: 0px;" />';
|
$locked = '<img src="'.$self->session->config->get("extrasURL").'/assetManager/locked.gif" alt="locked" style="border: 0px;" />';
|
||||||
$edit = "'<a href=\"".$child->getUrl("func=edit;proceed=manageAssets")."\">Edit</a> | '+" if ($child->canEditIfLocked && $self->session->scratch->get("versionTag") eq $self->get("tagId"));
|
$edit = "'<a href=\"".$child->getUrl("func=edit;proceed=manageAssets")."\">Edit</a> | '+" if ($child->canEditIfLocked);
|
||||||
} else {
|
} else {
|
||||||
$edit = "'<a href=\"".$child->getUrl("func=edit;proceed=manageAssets")."\">Edit</a> | '+";
|
$edit = "'<a href=\"".$child->getUrl("func=edit;proceed=manageAssets")."\">Edit</a> | '+";
|
||||||
$locked = '<img src="'.$self->session->config->get("extrasURL").'/assetManager/unlocked.gif" alt="unlocked" style="border: 0px;" />';
|
$locked = '<img src="'.$self->session->config->get("extrasURL").'/assetManager/unlocked.gif" alt="unlocked" style="border: 0px;" />';
|
||||||
|
|
@ -1755,7 +1755,7 @@ sub www_editSave {
|
||||||
$object = $self->addChild({className=>$self->session->form->process("class")});
|
$object = $self->addChild({className=>$self->session->form->process("class")});
|
||||||
$object->{_parent} = $self;
|
$object->{_parent} = $self;
|
||||||
} else {
|
} else {
|
||||||
if ($self->canEditIfLocked || !$self->isLocked) {
|
if ($self->canEditIfLocked) {
|
||||||
$object = $self->addRevision;
|
$object = $self->addRevision;
|
||||||
} else {
|
} else {
|
||||||
return $self->getContainer->www_view;
|
return $self->getContainer->www_view;
|
||||||
|
|
|
||||||
|
|
@ -215,7 +215,7 @@ sub prepareView {
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub view {
|
sub view {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
if ($self->{_viewVars}{showAdmin} && (($self->canEditIfLocked && $self->session->scratch->get("versionTag") eq $self->get("tagId")) || !$self->isLocked)) {
|
if ($self->{_viewVars}{showAdmin} && $self->canEditIfLocked) {
|
||||||
# under normal circumstances we don't put HTML stuff in our code, but this will make it much easier
|
# under normal circumstances we don't put HTML stuff in our code, but this will make it much easier
|
||||||
# for end users to work with our templates
|
# for end users to work with our templates
|
||||||
$self->{_viewVars}{"dragger.icon"} = $self->session->icon->drag();
|
$self->{_viewVars}{"dragger.icon"} = $self->session->icon->drag();
|
||||||
|
|
|
||||||
|
|
@ -146,7 +146,7 @@ Moves self to trash, returns www_view() method of Parent if canEdit. Otherwise r
|
||||||
|
|
||||||
sub www_delete {
|
sub www_delete {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return $self->session->privilege->insufficient() unless ($self->canEdit && !($self->isLocked && !$self->canEditIfLocked));
|
return $self->session->privilege->insufficient() unless ($self->canEdit && $self->canEditIfLocked);
|
||||||
return $self->session->privilege->vitalComponent() if (isIn($self->getId, $self->session->setting->get("defaultPage"), $self->session->setting->get("notFoundPage")));
|
return $self->session->privilege->vitalComponent() if (isIn($self->getId, $self->session->setting->get("defaultPage"), $self->session->setting->get("notFoundPage")));
|
||||||
$self->trash;
|
$self->trash;
|
||||||
$self->session->asset($self->getParent);
|
$self->session->asset($self->getParent);
|
||||||
|
|
@ -166,7 +166,7 @@ sub www_deleteList {
|
||||||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
return $self->session->privilege->insufficient() unless $self->canEdit;
|
||||||
foreach my $assetId ($self->session->form->param("assetId")) {
|
foreach my $assetId ($self->session->form->param("assetId")) {
|
||||||
my $asset = WebGUI::Asset->newByDynamicClass($self->session,$assetId);
|
my $asset = WebGUI::Asset->newByDynamicClass($self->session,$assetId);
|
||||||
if ($asset->canEdit && !($asset->isLocked && !$asset->canEditIfLocked)) {
|
if ($asset->canEdit && $asset->canEditIfLocked) {
|
||||||
$asset->trash;
|
$asset->trash;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -80,14 +80,14 @@ sub addRevision {
|
||||||
|
|
||||||
=head2 canEditIfLocked ( )
|
=head2 canEditIfLocked ( )
|
||||||
|
|
||||||
Returns a boolean indicating whether this asset is locked and if the current user can edit it in that state.
|
Returns 1 if it's not locked. Returns 1 if is locked, and the user is using the tag it was edited under. Otherwise returns 0.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
sub canEditIfLocked {
|
sub canEditIfLocked {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return 0 unless ($self->isLocked);
|
return 1 unless ($self->isLocked);
|
||||||
return ($self->get("isLockedBy") eq $self->session->user->userId);
|
return ($self->session->scratch->get("versionTag") eq $self->get("tagId"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue