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 32959a153..d62a1ff0d 100644
--- a/docs/upgrades/upgrade_6.8.7-6.99.0.pl
+++ b/docs/upgrades/upgrade_6.8.7-6.99.0.pl
@@ -39,9 +39,24 @@ addNavigationMimeType();
addIndexes();
addDatabaseCache();
updateHelpTemplate();
+fixImportNodePrivileges();
finish($session); # this line required
+#-------------------------------------------------
+sub fixImportNodePrivileges {
+ print "\tFixing the privileges of all the content in the import node.\n";
+ my $importNode = WebGUI::Asset->getImportNode($session);
+ $importNode->update({groupIdView=>'7', groupIdEdit=>'12'});
+ my $prepared = $session->db->prepare("update assetData set groupIdView='7', groupIdEdit='12' where assetId=?");
+ my $rs = $session->db->read("select assetId from asset where lineage like ?",[$importNode->get("lineage").'%']);
+ while (my ($id) = $rs->array) {
+ $prepared->execute([$id]);
+ }
+ my $root = WebGUI::Asset->getRoot($session);
+ $root->update({groupIdView=>'7'});
+}
+
#-------------------------------------------------
sub convertMessageLogToInbox {
print "\tConverting message log to inbox.\n";
diff --git a/lib/Spectre/Workflow.pm b/lib/Spectre/Workflow.pm
index 8527d293f..9e00a559d 100644
--- a/lib/Spectre/Workflow.pm
+++ b/lib/Spectre/Workflow.pm
@@ -374,7 +374,7 @@ sub workerResponse {
} elsif ($response->is_redirect) {
$self->debug("Response for $instanceId was redirected.");
} elsif ($response->is_error) {
- $self->debug("Response for $instanceId had a communications error.");
+ $self->debug("Response for $instanceId had a communications error. ".$response->error_as_HTML);
$kernel->yield("suspendInstance",$instanceId)
# we should probably log something
}
diff --git a/lib/WebGUI/AssetBranch.pm b/lib/WebGUI/AssetBranch.pm
index 5645b6a0e..8990b1c67 100644
--- a/lib/WebGUI/AssetBranch.pm
+++ b/lib/WebGUI/AssetBranch.pm
@@ -270,7 +270,7 @@ Verifies proper inputs in the Asset Tree and saves them. Returns ManageAssets me
sub www_editBranchSave {
my $self = shift;
- return $self->session->privilege->insufficient() unless ($self->canEdit && WebGUI::Grouping::isInGroup('4'));
+ return $self->session->privilege->insufficient() unless ($self->canEdit && $self->session->user->isInGroup('4'));
my %data;
$data{isHidden} = $self->session->form->yesNo("isHidden") if ($self->session->form->yesNo("change_isHidden"));
$data{newWindow} = $self->session->form->yesNo("newWindow") if ($self->session->form->yesNo("change_newWindow"));
diff --git a/lib/WebGUI/AssetVersioning.pm b/lib/WebGUI/AssetVersioning.pm
index a41fc4e1d..bf37a4538 100644
--- a/lib/WebGUI/AssetVersioning.pm
+++ b/lib/WebGUI/AssetVersioning.pm
@@ -258,7 +258,7 @@ Shows a list of the revisions for this asset.
sub www_manageRevisions {
my $self = shift;
my $ac = WebGUI::AdminConsole->new($self->session,"versions");
- return $self->session->privilege->insufficient() unless ($self->session->user->isInGroup(3));
+ return $self->session->privilege->insufficient() unless ($self->canEdit);
my $i18n = WebGUI::International->new($self->session,"Asset");
my $output = '
| Revision Date | Revised By | Tag Name |
';
diff --git a/lib/WebGUI/Macro/AdminBar.pm b/lib/WebGUI/Macro/AdminBar.pm
index 380717784..09b7dbd21 100644
--- a/lib/WebGUI/Macro/AdminBar.pm
+++ b/lib/WebGUI/Macro/AdminBar.pm
@@ -106,8 +106,9 @@ sub process {
icon=>$session->config->get("extrasURL").'/adminConsole/small/versionTags.gif'
});
}
- my $rs = $session->db->read("select tagId, name from assetVersionTag where isCommitted=0 and isLocked=0 order by name");
- while (my ($id, $name) = $rs->array) {
+ my $rs = $session->db->read("select tagId, name, groupToUse from assetVersionTag where isCommitted=0 and isLocked=0 order by name");
+ while (my ($id, $name, $group) = $rs->array) {
+ next unless $session->user->isInGroup($group);
push(@tags, {
url=>$session->url->page("op=setWorkingVersionTag;backToSite=1;tagId=".$id),
title=>($id eq $workingId) ? '* '.$name.'' : $name,
diff --git a/lib/WebGUI/Operation/Workflow.pm b/lib/WebGUI/Operation/Workflow.pm
index ec190c5f6..e15e7ae49 100644
--- a/lib/WebGUI/Operation/Workflow.pm
+++ b/lib/WebGUI/Operation/Workflow.pm
@@ -49,7 +49,11 @@ sub www_addWorkflow {
);
my %options = ();
foreach my $object (keys %{$session->config->get("workflowActivities")}) {
- $options{$object} = $object;
+ if ($object eq "None") {
+ $options{$object} = $i18n->get("no object");
+ } else {
+ $options{$object} = $object;
+ }
}
$f->selectBox(
name=>"type",
diff --git a/lib/WebGUI/VersionTag.pm b/lib/WebGUI/VersionTag.pm
index aed662226..71bbfabae 100644
--- a/lib/WebGUI/VersionTag.pm
+++ b/lib/WebGUI/VersionTag.pm
@@ -340,11 +340,11 @@ sub set {
$self->{_data}{workflowId} = $properties->{workflowId} || $self->{_data}{workflowId} || $self->session->setting->get("defaultVersionTagWorkflow");
$self->{_data}{groupToUse} = $properties->{groupToUse} || $self->{_data}{groupToUse} || "12";
if (exists $properties->{comments}) {
- $self->{_data}{comments}=$self->{_data}{comments}
- .$self->session->datetime->epochToHuman.' - '.$self->session->user->username
+ $self->{_data}{comments}=$self->session->datetime->epochToHuman.' - '.$self->session->user->username
."\n"
.$properties->{comments}
- ."\n\n";
+ ."\n\n"
+ .$self->{_data}{comments};
}
$self->session->db->setRow("assetVersionTag","tagId",$self->{_data});
}
diff --git a/lib/WebGUI/Workflow/Activity/SendQueuedMailMessages.pm b/lib/WebGUI/Workflow/Activity/SendQueuedMailMessages.pm
index e40c0e62e..c81b165d8 100644
--- a/lib/WebGUI/Workflow/Activity/SendQueuedMailMessages.pm
+++ b/lib/WebGUI/Workflow/Activity/SendQueuedMailMessages.pm
@@ -69,6 +69,7 @@ See WebGUI::Workflow::Activity::execute() for details.
sub execute {
my $self = shift;
+ my $start = time();
foreach my $id (@{WebGUI::Mail::Send->getMessageIdsInQueue($self->session)}) {
my $message = WebGUI::Mail::Send->retrieve($self->session, $id);
if (defined $message) {
@@ -77,6 +78,8 @@ sub execute {
$message->queue;
}
}
+ # just in case there are a lot of messages, we should release after a minutes worth of sending
+ last if (time() > $start + 60);
}
return $self->COMPLETE;
}
diff --git a/lib/WebGUI/i18n/English/Workflow.pm b/lib/WebGUI/i18n/English/Workflow.pm
index 875325660..2df55eda8 100644
--- a/lib/WebGUI/i18n/English/Workflow.pm
+++ b/lib/WebGUI/i18n/English/Workflow.pm
@@ -1,6 +1,12 @@
package WebGUI::i18n::English::Workflow;
our $I18N = {
+ 'no object' => {
+ message => q|No Object|,
+ context => q|used when selecting an object type to be passed through a workflow|,
+ lastUpdated => 0,
+ },
+
'confirm delete activity' => {
message => q|Are you certain you wish to delete this activity from this workflow?|,
context => q|prompt the user before deleting an activity from a workflow|,