Merge branch 'master' of git@github.com:plainblack/webgui
Conflicts: docs/changelog/7.x.x.txt docs/upgrades/upgrade_7.7.19-7.8.0.pl
This commit is contained in:
commit
65120a61cb
21 changed files with 354 additions and 57 deletions
|
|
@ -346,6 +346,26 @@ sub checkView {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 cloneFromDb ( )
|
||||
|
||||
Fetches a new fresh clone of this object from the database. Often used after
|
||||
calling commit on version tags.
|
||||
|
||||
Returns the new Asset object.
|
||||
|
||||
=cut
|
||||
|
||||
sub cloneFromDb {
|
||||
my $self = shift;
|
||||
return WebGUI::Asset->new($self->session,
|
||||
$self->getId,
|
||||
$self->get('className'),
|
||||
$self->get('revisionDate')
|
||||
);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 definition ( session, [ definition ] )
|
||||
|
||||
Basic definition of an Asset. Properties, default values. Returns an array reference containing tableName,className,properties
|
||||
|
|
@ -2784,11 +2804,12 @@ sub www_editSave {
|
|||
$object->updateHistory("edited");
|
||||
|
||||
# we handle auto commit assets here in case they didn't handle it themselves
|
||||
$session->log->warn('pre object isa'. ref $object);
|
||||
if ($object->getAutoCommitWorkflowId) {
|
||||
$session->log->warn('got autocommit workflow id');
|
||||
$object->requestAutoCommit;
|
||||
#Since the version tag makes new objects, fetch a fresh one here.
|
||||
#Note, this workaround can still fail, if WebGUI hands off back to spectre.
|
||||
$object = WebGUI::Asset->new($session, $object->getId, $object->get('className'));
|
||||
$object = $object->cloneFromDb;
|
||||
}
|
||||
# else, try to to auto commit
|
||||
else {
|
||||
|
|
@ -2804,9 +2825,10 @@ sub www_editSave {
|
|||
elsif ($commitStatus eq 'commit') {
|
||||
##Commit was successful. Update the local object cache so that it will no longer
|
||||
##register as locked.
|
||||
$self->{_properties}{isLockedBy} = $object->{_properties}{isLockedBy} = undef;
|
||||
$object = $object->cloneFromDb;
|
||||
}
|
||||
}
|
||||
$session->log->warn('post object isa'. ref $object);
|
||||
|
||||
# Handle "saveAndReturn" button
|
||||
if ( $session->form->process( "saveAndReturn" ) ne "" ) {
|
||||
|
|
@ -2814,23 +2836,23 @@ sub www_editSave {
|
|||
}
|
||||
|
||||
# Handle "proceed" form parameter
|
||||
my $proceed = $self->session->form->process('proceed');
|
||||
my $proceed = $session->form->process('proceed');
|
||||
if ($proceed eq "manageAssets") {
|
||||
$self->session->asset($object->getParent);
|
||||
return $self->session->asset->www_manageAssets;
|
||||
$session->asset($object->getParent);
|
||||
return $session->asset->www_manageAssets;
|
||||
}
|
||||
elsif ($proceed eq "viewParent") {
|
||||
$self->session->asset($object->getParent);
|
||||
return $self->session->asset->www_view;
|
||||
$session->asset($object->getParent);
|
||||
return $session->asset->www_view;
|
||||
}
|
||||
elsif ($proceed eq "goBackToPage" && $self->session->form->process('returnUrl')) {
|
||||
$self->session->http->setRedirect($self->session->form->process("returnUrl"));
|
||||
elsif ($proceed eq "goBackToPage" && $session->form->process('returnUrl')) {
|
||||
$session->http->setRedirect($session->form->process("returnUrl"));
|
||||
return undef;
|
||||
}
|
||||
elsif ($proceed ne "") {
|
||||
my $method = "www_".$self->session->form->process("proceed");
|
||||
$self->session->asset($object);
|
||||
return $self->session->asset->$method();
|
||||
my $method = "www_".$session->form->process("proceed");
|
||||
$session->asset($object);
|
||||
return $session->asset->$method();
|
||||
}
|
||||
|
||||
$session->asset($object->getContainer);
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ sub drawEditFieldPrice {
|
|||
my ( $self ) = @_;
|
||||
|
||||
my $fieldHtml = sprintf <<'ENDHTML', encode_entities( $self->get('fieldPrice') );
|
||||
<div id="fieldPrice"></div><input type="hidden" name="fieldPrice" value="%s" />
|
||||
<div id="fieldPrice"></div><input type="hidden" name="fieldPrice" value="%s" id="fieldPrice_formId"/>
|
||||
ENDHTML
|
||||
|
||||
return $fieldHtml;
|
||||
|
|
|
|||
|
|
@ -889,9 +889,9 @@ sub www_editDuplicate {
|
|||
# Auto-commit our revision if necessary
|
||||
# TODO: This needs to be handled automatically somehow...
|
||||
my $status = WebGUI::VersionTag->autoCommitWorkingIfEnabled($self->session);
|
||||
##Force the locked by tag
|
||||
##get a fresh object from the database
|
||||
if ($status eq 'commit') {
|
||||
$newTemplate->{_properties}{isLockedBy} = undef;
|
||||
$newTemplate = $newTemplate->cloneFromDb;
|
||||
}
|
||||
last DEF;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -472,7 +472,8 @@ sub getCompareForm {
|
|||
}
|
||||
else{
|
||||
$maxComparisons = $self->get('maxComparisonsPrivileged');
|
||||
}
|
||||
}
|
||||
$maxComparisons += 0;
|
||||
$form .= "\n<script type='text/javascript'>\n".
|
||||
'var maxComparisons = '.$maxComparisons.";\n".
|
||||
"var matrixUrl = '".$self->getUrl."';\n".
|
||||
|
|
@ -664,6 +665,7 @@ sub view {
|
|||
else{
|
||||
$maxComparisons = $self->get('maxComparisonsPrivileged');
|
||||
}
|
||||
$maxComparisons += 0;
|
||||
$var->{maxComparisons} = $maxComparisons;
|
||||
|
||||
if ($self->canEdit){
|
||||
|
|
@ -912,6 +914,7 @@ sub www_compare {
|
|||
else{
|
||||
$maxComparisons = $self->get('maxComparisonsPrivileged');
|
||||
}
|
||||
$maxComparisons += 0;
|
||||
|
||||
foreach my $listingId (@listingIds){
|
||||
my $listingId_safe = $listingId;
|
||||
|
|
|
|||
|
|
@ -221,7 +221,7 @@ sub exportAssetCollateral {
|
|||
my $printSession = WebGUI::Session->open(
|
||||
$self->session->config->getWebguiRoot,
|
||||
$self->session->config->getFilename,
|
||||
$self->session->request,
|
||||
undef,
|
||||
undef,
|
||||
$self->session->getId,
|
||||
);
|
||||
|
|
|
|||
|
|
@ -232,7 +232,7 @@ sub exportAssetCollateral {
|
|||
my $exportSession = WebGUI::Session->open(
|
||||
$self->session->config->getWebguiRoot,
|
||||
$self->session->config->getFilename,
|
||||
$self->session->request,
|
||||
undef,
|
||||
undef,
|
||||
$self->session->getId,
|
||||
);
|
||||
|
|
|
|||
|
|
@ -267,7 +267,6 @@ sub exportAsHtml {
|
|||
my $exportSession = WebGUI::Session->open(
|
||||
$session->config->getWebguiRoot,
|
||||
$session->config->getFilename,
|
||||
$session->request,
|
||||
);
|
||||
my $esGuard = Scope::Guard->new(sub {
|
||||
$exportSession->var->end;
|
||||
|
|
@ -503,7 +502,6 @@ sub exportGetDescendants {
|
|||
$session = WebGUI::Session->open(
|
||||
$session->config->getWebguiRoot,
|
||||
$session->config->getFilename,
|
||||
$session->request,
|
||||
);
|
||||
$session->user( { userId => $user->userId } );
|
||||
$sGuard = Scope::Guard->new(sub {
|
||||
|
|
|
|||
|
|
@ -792,12 +792,12 @@ sub www_manageRevisionsInTag {
|
|||
. '<tr>'
|
||||
. '<td colspan="5">'
|
||||
. $i18n->get("manageRevisionsInTag with selected")
|
||||
. '<input type="submit" name="action" value="'. $i18n->get('manageRevisionsInTag purge') . '" class="red" />'
|
||||
. '<input type="submit" name="action" value="'. $i18n->get("manageRevisionsInTag move") . '" />'
|
||||
. WebGUI::Form::SelectBox( $session, {
|
||||
name => 'moveToTagId',
|
||||
options => \%moveToTagOptions,
|
||||
} )
|
||||
. ' <input type="submit" name="action" value="'. $i18n->get('manageRevisionsInTag purge') . '" class="red" />'
|
||||
. '</td>'
|
||||
. '</tr>'
|
||||
. '<tr>'
|
||||
|
|
|
|||
|
|
@ -252,7 +252,7 @@ sub duplicate {
|
|||
my $newSession = WebGUI::Session->open(
|
||||
$self->config->getWebguiRoot,
|
||||
$self->config->getFilename,
|
||||
$self->request,
|
||||
undef,
|
||||
undef,
|
||||
$self->getId,
|
||||
);
|
||||
|
|
|
|||
|
|
@ -395,8 +395,8 @@ sub getObject {
|
|||
push @params, $self->session;
|
||||
}
|
||||
push @params, $self->get("parameters");
|
||||
WebGUI::Pluggable::load($class);
|
||||
return $self->{_object} = $class->$method(@params);
|
||||
my $object = WebGUI::Pluggable::instanciate( $class, $method, \@params );
|
||||
return $self->{_object} = $object;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue