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 $toolbar = $self->session->icon->delete('func=delete',$self->get("url"),$i18n->get(43));
|
||||
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"));
|
||||
} else {
|
||||
$toolbar .= $self->session->icon->locked('func=manageRevisions',$self->get("url"));
|
||||
|
|
@ -1036,7 +1036,7 @@ sub manageAssets {
|
|||
my $edit;
|
||||
if ($child->isLocked) {
|
||||
$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 {
|
||||
$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;" />';
|
||||
|
|
@ -1196,7 +1196,7 @@ sub manageAssetsSearch {
|
|||
my $edit;
|
||||
if ($child->isLocked) {
|
||||
$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 {
|
||||
$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;" />';
|
||||
|
|
@ -1755,7 +1755,7 @@ sub www_editSave {
|
|||
$object = $self->addChild({className=>$self->session->form->process("class")});
|
||||
$object->{_parent} = $self;
|
||||
} else {
|
||||
if ($self->canEditIfLocked || !$self->isLocked) {
|
||||
if ($self->canEditIfLocked) {
|
||||
$object = $self->addRevision;
|
||||
} else {
|
||||
return $self->getContainer->www_view;
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ sub prepareView {
|
|||
#-------------------------------------------------------------------
|
||||
sub view {
|
||||
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
|
||||
# for end users to work with our templates
|
||||
$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 {
|
||||
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")));
|
||||
$self->trash;
|
||||
$self->session->asset($self->getParent);
|
||||
|
|
@ -166,7 +166,7 @@ sub www_deleteList {
|
|||
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 && !($asset->isLocked && !$asset->canEditIfLocked)) {
|
||||
if ($asset->canEdit && $asset->canEditIfLocked) {
|
||||
$asset->trash;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,14 +80,14 @@ sub addRevision {
|
|||
|
||||
=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
|
||||
|
||||
sub canEditIfLocked {
|
||||
my $self = shift;
|
||||
return 0 unless ($self->isLocked);
|
||||
return ($self->get("isLockedBy") eq $self->session->user->userId);
|
||||
return 1 unless ($self->isLocked);
|
||||
return ($self->session->scratch->get("versionTag") eq $self->get("tagId"));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue