diff --git a/docs/upgrades/upgrade_6.8.7-6.99.0.pl b/docs/upgrades/upgrade_6.8.7-6.99.0.pl
index dbef2d02c..067bd723f 100644
--- a/docs/upgrades/upgrade_6.8.7-6.99.0.pl
+++ b/docs/upgrades/upgrade_6.8.7-6.99.0.pl
@@ -23,6 +23,7 @@ my $quiet; # this line required
my $session = start(); # this line required
+addWorkflow();
templateParsers();
removeFiles();
addSearchEngine();
@@ -30,7 +31,6 @@ addEMSTemplates();
addEMSTables();
updateTemplates();
updateDatabaseLinksAndSQLReport();
-addWorkflow();
ipsToCIDR();
addDisabletoRichEditor();
addNavigationMimeType();
@@ -70,6 +70,12 @@ sub addIndexes {
#-------------------------------------------------
sub addWorkflow {
print "\tAdding workflow.\n";
+ $session->db->write("alter table assetData drop column startDate");
+ $session->db->write("alter table assetData drop column endDate");
+ $session->db->write("alter table assetVersionTag add column isLocked int not null default 0");
+ $session->db->write("alter table assetVersionTag add column lockedBy varchar(22) binary not null");
+ $session->db->write("alter table assetVersionTag add column groupToUse varchar(22) binary not null");
+ $session->db->write("alter table assetVersionTag add column workflowId varchar(22) binary not null");
my $group = WebGUI::Group->new($session,"new","pbgroup000000000000015");
$group->set("groupName", "Workflow Managers");
$group->set("description", "People who can create, edit, and delete workflows.");
@@ -177,8 +183,6 @@ sub addWorkflow {
priority=>3,
workflowId=>$workflow->getId
}, "pbcron0000000000000001");
- $session->db->write("alter table assetData drop column startDate");
- $session->db->write("alter table assetData drop column endDate");
$workflow = WebGUI::Workflow->create($session, {
title=>"Weekly Maintenance Tasks",
description=>"This workflow runs once per week to perform maintenance tasks like cleaning up log files.",
@@ -225,10 +229,6 @@ sub addWorkflow {
priority=>3,
workflowId=>$workflow->getId
}, "pbcron0000000000000003");
- $session->db->write("alter table assetVersionTag add column isLocked int not null default 0");
- $session->db->write("alter table assetVersionTag add column lockedBy varchar(22) binary not null");
- $session->db->write("alter table assetVersionTag add column groupToUse varchar(22) binary not null");
- $session->db->write("alter table assetVersionTag add column workflowId varchar(22) binary not null");
$session->db->write("update groups set showInForms=1 where groupId='12'");
$session->config->delete("SyncProfilesToLDAP_hour");
$session->config->delete("fileCacheSizeLimit");
diff --git a/lib/WebGUI.pm b/lib/WebGUI.pm
index 96221bef5..c64497532 100644
--- a/lib/WebGUI.pm
+++ b/lib/WebGUI.pm
@@ -150,11 +150,13 @@ sub page {
my $session = shift;
my $assetUrl = shift;
my $output = processOperations($session);
+$session->errorHandler->warn("a");
if ($output eq "") {
my $asset = eval{WebGUI::Asset->newByUrl($session,$assetUrl,$session->form->process("revision"))};
if ($@) {
$session->errorHandler->warn("Couldn't instantiate asset for url: ".$session->url->getRequestedUrl." Root cause: ".$@);
}
+$session->errorHandler->warn("d");
if (defined $asset) {
my $method = "view";
if ($session->form->process("func")) {
@@ -164,10 +166,13 @@ sub page {
$method = "view";
}
}
+$session->errorHandler->warn("e");
$output = tryAssetMethod($session,$asset,$method);
+$session->errorHandler->warn("f");
$output = tryAssetMethod($session,$asset,"view") unless ($output || ($method eq "view"));
}
}
+$session->errorHandler->warn("b");
if (defined($output) and $output eq "") {
$session->http->setStatus("404","Page Not Found");
my $notFound = WebGUI::Asset->getNotFound($session);
@@ -179,6 +184,7 @@ sub page {
}
$output = "An error was encountered while processing your request." if $output eq '';
}
+$session->errorHandler->warn("c");
if ($session->errorHandler->canShowDebug()) {
$output .= $session->errorHandler->showDebug();
}
diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm
index 46fadb518..1e056b3e2 100644
--- a/lib/WebGUI/Asset.pm
+++ b/lib/WebGUI/Asset.pm
@@ -32,7 +32,6 @@ use WebGUI::Search;
use WebGUI::Search::Index;
use WebGUI::TabForm;
use WebGUI::Utility;
-use WebGUI::VersionTag;
=head1 NAME
@@ -1014,8 +1013,8 @@ sub manageAssets {
assetManager.AddColumn('".$i18n->get("99")."','','left','');
assetManager.AddColumn('".$i18n->get("type")."','','left','');
assetManager.AddColumn('".$i18n->get("last updated")."','','center','');
- assetManager.AddColumn('".$i18n->get("size")."','','right','');\n";
- $output .= "assetManager.AddColumn('".$i18n->get("locked")."','','center','');\n" unless ($self->session->setting->get("autoCommit"));
+ assetManager.AddColumn('".$i18n->get("size")."','','right','');\n
+ assetManager.AddColumn('".$i18n->get("locked")."','','center','');\n";
foreach my $child (@{$self->getLineage(["children"],{returnObjects=>1})}) {
$output .= 'var contextMenu = new contextMenu_createWithLink("'.$child->getId.'","More");
contextMenu.addLink("'.$child->getUrl("func=editBranch").'","'.$i18n->get("edit branch").'");
@@ -1033,7 +1032,7 @@ sub manageAssets {
$edit = "'getUrl("func=edit;proceed=manageAssets")."\">Edit | '+";
$locked = '';
}
- my $lockLink = ", 'getUrl("func=manageRevisions")."\">".$locked."'" unless ($self->session->setting->get("autoCommit"));
+ my $lockLink = ", 'getUrl("func=manageRevisions")."\">".$locked."'";
$output .= "assetManager.AddLine('"
.WebGUI::Form::checkbox($self->session,{
name=>'assetId',
@@ -1193,7 +1192,7 @@ sub manageAssetsSearch {
$edit = "'getUrl("func=edit;proceed=manageAssets")."\">Edit | '+";
$locked = '
';
}
- my $lockLink = ", 'getUrl("func=manageRevisions")."\">".$locked."'" unless ($self->session->setting->get("autoCommit"));
+ my $lockLink = ", 'getUrl("func=manageRevisions")."\">".$locked."'";
$output .= "assetManager.AddLine('"
.WebGUI::Form::checkbox($self->session,{
name=>'assetId',
@@ -1257,10 +1256,9 @@ sub new {
my $assetRevision = $session->stow->get("assetRevision");
my $revisionDate = shift || $assetRevision->{$assetId}{$session->scratch->get("versionTag")||'_'};
unless ($revisionDate) {
- ($revisionDate) = $session->db->quickArray("select max(revisionDate) from assetData where assetId="
- .$session->db->quote($assetId)." and (status='approved' or status='archived' or tagId="
- .$session->db->quote($session->scratch->get("versionTag")).")
- group by assetData.assetId order by assetData.revisionDate");
+ ($revisionDate) = $session->db->quickArray("select max(revisionDate) from assetData where assetId=? and
+ (status='approved' or status='archived' or tagId=?) order by assetData.revisionDate",
+ [$assetId, $session->scratch->get("versionTag")]);
$assetRevision->{$assetId}{$session->scratch->get("versionTag")||'_'} = $revisionDate;
$session->stow("assetRevision",$assetRevision);
}
@@ -1744,7 +1742,6 @@ sub www_editSave {
my $self = shift;
return $self->session->privilege->insufficient() unless $self->canEdit;
my $object;
- my $tag = WebGUI::VersionTag->getWorking($self->session);
if ($self->session->form->process("assetId") eq "new") {
$object = $self->addChild({className=>$self->session->form->process("class")});
$object->{_parent} = $self;
diff --git a/lib/WebGUI/AssetVersioning.pm b/lib/WebGUI/AssetVersioning.pm
index cf9406002..0cd827807 100644
--- a/lib/WebGUI/AssetVersioning.pm
+++ b/lib/WebGUI/AssetVersioning.pm
@@ -16,6 +16,7 @@ package WebGUI::Asset;
use strict;
use WebGUI::Paginator;
+use WebGUI::VersionTag;
=head1 NAME
@@ -56,20 +57,19 @@ sub addRevision {
my $self = shift;
my $properties = shift;
my $now = shift ||$self->session->datetime->time();
- my $versionTag = $self->session->scratch->get("versionTag") || 'pbversion0000000000002';
- my $status = $self->session->setting->get("autoCommit") ? 'approved' : 'pending';
+ my $workingTag = WebGUI::VersionTag->getWorking($self->session);
$self->session->db->write("insert into assetData (assetId, revisionDate, revisedBy, tagId, status, url,
- ownerUserId, groupIdEdit, groupIdView) values (".$self->session->db->quote($self->getId).",".$now.", ".$self->session->db->quote($self->session->user->userId).",
- ".$self->session->db->quote($versionTag).", ".$self->session->db->quote($status).", ".$self->session->db->quote($self->getId).", '3','3','7')");
+ ownerUserId, groupIdEdit, groupIdView) values (?, ?, ?, ?, 'pending', ?, '3','3','7')",
+ [$self->getId, $now, $self->session->user->userId, $workingTag->getId, $self->getId] );
foreach my $definition (@{$self->definition($self->session)}) {
unless ($definition->{tableName} eq "assetData") {
- $self->session->db->write("insert into ".$definition->{tableName}." (assetId,revisionDate) values (".$self->session->db->quote($self->getId).",".$now.")");
+ $self->session->db->write("insert into ".$definition->{tableName}." (assetId,revisionDate) values (?,?)", [$self->getId, $now]);
}
}
my $newVersion = WebGUI::Asset->new($self->session,$self->getId, $self->get("className"), $now);
$newVersion->updateHistory("created revision");
$newVersion->update($self->get);
- $newVersion->setVersionLock unless ($self->session->setting->get("autoCommit"));
+ $newVersion->setVersionLock;
$newVersion->update($properties) if (defined $properties);
return $newVersion;
}
diff --git a/lib/WebGUI/Macro/AdminBar.pm b/lib/WebGUI/Macro/AdminBar.pm
index 427cd4cb2..ba6942f29 100644
--- a/lib/WebGUI/Macro/AdminBar.pm
+++ b/lib/WebGUI/Macro/AdminBar.pm
@@ -98,10 +98,12 @@ sub process {
}
}
my $working = WebGUI::VersionTag->getWorking($session, 1);
+ my $workingId = "";
my @tags = ();
if ($working) {
+ $workingId = $working->getId;
push(@tags, {
- url=>$session->url->page("op=commitVersionTag;backToSite=1;tagId=".$working->getId),
+ url=>$session->url->page("op=commitVersionTag;backToSite=1;tagId=".$workingId),
title=>$i18n->get("commit my changes"),
icon=>$session->config->get("extrasURL").'/adminConsole/small/versionTags.gif'
});
@@ -110,7 +112,7 @@ sub process {
while (my ($id, $name) = $rs->array) {
push(@tags, {
url=>$session->url->page("op=setWorkingVersionTag;backToSite=1;tagId=".$id),
- title=>($id eq $working->getId) ? '* '.$name.'' : $name,
+ title=>($id eq $workingId) ? '* '.$name.'' : $name,
icon=>$session->config->get("extrasURL").'/spacer.gif'
});
}
diff --git a/lib/WebGUI/Operation.pm b/lib/WebGUI/Operation.pm
index fc5002cf7..1f170fd01 100644
--- a/lib/WebGUI/Operation.pm
+++ b/lib/WebGUI/Operation.pm
@@ -84,7 +84,7 @@ sub getOperations {
'manageVersions' => 'WebGUI::Operation::VersionTag',
'manageRevisionsInTag' => 'WebGUI::Operation::VersionTag',
'rollbackVersionTag' => 'WebGUI::Operation::VersionTag',
- 'setVersionTag' => 'WebGUI::Operation::VersionTag',
+ 'setWorkingVersionTag' => 'WebGUI::Operation::VersionTag',
'addWorkflow' => 'WebGUI::Operation::Workflow',
'deleteWorkflow' => 'WebGUI::Operation::Workflow',
'editWorkflowActivity' => 'WebGUI::Operation::Workflow',
diff --git a/lib/WebGUI/Operation/VersionTag.pm b/lib/WebGUI/Operation/VersionTag.pm
index 431ea623c..a121337a1 100644
--- a/lib/WebGUI/Operation/VersionTag.pm
+++ b/lib/WebGUI/Operation/VersionTag.pm
@@ -249,7 +249,7 @@ sub www_manageVersions {
| '.$i18n->get("title","Asset").' | '.$i18n->get("type","Asset").' | '.$i18n->get("revision date","Asset").' | '.$i18n->get("revised by","Asset").' | ||
|---|---|---|---|---|---|
| '.$i18n->get(99,"Asset").' | '.$i18n->get("type","Asset").' | '.$i18n->get("revision date","Asset").' | '.$i18n->get("revised by","Asset").' | ||
| '.$session->icon->delete("func=purgeRevision;proceed=manageRevisionsInTag;tagId=".$session->form->process("tagId").";revisionDate=".$date,$asset->get("url"),$i18n->get("purge revision prompt")).' | + $output .= '|||||
| ' + .$session->icon->delete("func=purgeRevision;proceed=manageRevisionsInTag;tagId=".$tag->getId.";revisionDate=".$date,$asset->get("url"),$i18n->get("purge revision prompt")) + .$session->icon->view("func=viewRevision;revisionDate=".$date) + .' | '.$asset->getTitle.' | '.$session->datetime->epochToHuman($date).' | +'.$session->datetime->epochToHuman($date).' | '.$by.' |