more wokr all around
This commit is contained in:
parent
b645d3e1b2
commit
c8b97d83fe
7 changed files with 85 additions and 58 deletions
|
|
@ -330,6 +330,29 @@ sub ems {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 sendEmailUpdate
|
||||
|
||||
if the sendEmail on change is turned on then send email to the owner
|
||||
|
||||
=cut
|
||||
|
||||
sub sendEmailUpdate {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $i18n = WebGUI::International->new( $session, "Asset_EMSSubmission" );
|
||||
if( $self->get('sendEmailOnChange') ) {
|
||||
WebGUI::Inbox->addMessage( $session,{
|
||||
status => 'unread',
|
||||
message => $i18n->get('your submission has been updated') . "\n\n" .
|
||||
$self->get('title'),
|
||||
userId => $self->createdBy,
|
||||
sentBy => $session->userId,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 www_editSubmission ( parent, params )
|
||||
|
||||
edit a submission
|
||||
|
|
@ -448,6 +471,7 @@ sub www_editSubmissionSave {
|
|||
$self->addRevision($formParams);
|
||||
WebGUI::VersionTag->autoCommitWorkingIfEnabled($session, { override => 1, allowComments => 0 });
|
||||
$self = $self->cloneFromDb;
|
||||
$self->sendEmailUpdate;
|
||||
return $self->www_view;
|
||||
} else {
|
||||
return $self->www_editSubmission($formParams);
|
||||
|
|
|
|||
|
|
@ -698,9 +698,9 @@ sub view {
|
|||
addBadgeUrl => $self->getUrl('func=add;class=WebGUI::Asset::Sku::EMSBadge'),
|
||||
buildBadgeUrl => $self->getUrl('func=buildBadge'),
|
||||
viewScheduleUrl => $self->getUrl('func=viewSchedule'),
|
||||
addSubmissionUrl => $self->getUrl('func=addSubmission'),
|
||||
addSubmissionUrl => $self->getUrl('func=viewSubmissionQueue#addSubmission'),
|
||||
viewSubmissionQueueUrl => $self->getUrl('func=viewSubmissionQueue'),
|
||||
addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
|
||||
addSubmissionFormUrl => $self->getUrl('func=viewSubmissionQueue#addSubmissionForm'),
|
||||
manageBadgeGroupsUrl=> $self->getUrl('func=manageBadgeGroups'),
|
||||
getBadgesUrl => $self->getUrl('func=getBadgesAsJson'),
|
||||
isRegistrationStaff => $self->isRegistrationStaff,
|
||||
|
|
@ -1006,7 +1006,7 @@ calls editSubmissionForm in WebGUI::Asset::EMSSubmissionForm
|
|||
|
||||
sub www_editSubmissionForm {
|
||||
my $self = shift;
|
||||
return $self->session->privilege->insufficient() unless $self->isRegistrationStaff;
|
||||
return $self->session->privilege->insufficient() unless $self->isRegistrationStaff || $self->canEdit;
|
||||
return WebGUI::Asset::EMSSubmissionForm->www_editSubmissionForm($self,shift);
|
||||
}
|
||||
|
||||
|
|
@ -2635,43 +2635,36 @@ sub www_viewSubmissionQueue {
|
|||
# this map returns an array of hash refs with an id,url pair to describe the submissionForm assets
|
||||
my @submissionFormUrls = map { {
|
||||
id => $_->getId,
|
||||
url => $_->getUrl('func=editSubmissionForm')
|
||||
title => $_->get('title'),
|
||||
linkUrl => $self->getUrl('func=viewSubmissionQueue#' . $_->getId ),
|
||||
ajaxUrl => $_->getUrl('func=editSubmissionForm'),
|
||||
} } (
|
||||
@{$self->getLineage( ['children'],{ returnObjects => 1,
|
||||
includeOnlyClasses => ['WebGUI::Asset::EMSSubmissionForm'],
|
||||
} ) }
|
||||
);
|
||||
my $QueueTabData =
|
||||
$self->processTemplate({
|
||||
backUrl => $self->getUrl,
|
||||
isRegistrationStaff => $isRegistrationStaff,
|
||||
canEdit => $canEdit,
|
||||
mainUrl => $self->getUrl,
|
||||
canSubmit => $canSubmit,
|
||||
hasSubmissionForms => $self->hasSubmissionForms,
|
||||
getSubmissionQueueDataUrl => $self->getUrl('func=getAllSubmissions'),
|
||||
addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
|
||||
editSubmissionUrl => $self->getUrl('func=editSubmission'),
|
||||
editSubmissionFormUrl => $self->getUrl('func=editSubmissionForm'),
|
||||
addSubmissionUrl => $self->getUrl('func=addSubmission'),
|
||||
submissionFormUrls => \@submissionFormUrls,
|
||||
},$self->get('eventSubmissionQueueTemplateId'));
|
||||
my $params = {
|
||||
backUrl => $self->getUrl,
|
||||
isRegistrationStaff => $isRegistrationStaff,
|
||||
canEdit => $canEdit,
|
||||
canSubmit => $canSubmit,
|
||||
hasSubmissionForms => $self->hasSubmissionForms,
|
||||
getSubmissionQueueDataUrl => $self->getUrl('func=getAllSubmissions'),
|
||||
editSubmissionUrl => $self->getUrl('func=viewSubmissionQueue#editSubmission'),
|
||||
editSubmissionFormUrl => $self->getUrl('func=viewSubmissionQueue#editSubmissionForm'),
|
||||
addSubmissionFormUrl => $self->getUrl('func=viewSubmissionQueue#addSubmissionForm'),
|
||||
addSubmissionUrl => $self->getUrl('func=viewSubmissionQueue#addSubmission'),
|
||||
editSubmissionAjaxUrl => $self->getUrl('func=editSubmission'),
|
||||
editSubmissionFormAjaxUrl => $self->getUrl('func=editSubmissionForm'),
|
||||
addSubmissionFormAjaxUrl => $self->getUrl('func=addSubmissionForm'),
|
||||
addSubmissionAjaxUrl => $self->getUrl('func=addSubmission'),
|
||||
submissionFormUrls => \@submissionFormUrls,
|
||||
queueTabTitle => $isRegistrationStaff ? $i18n->get('submission queue') : $i18n->get('my submissions'),
|
||||
};
|
||||
$params->{QueueTabData} = $self->processTemplate($params,$self->get('eventSubmissionQueueTemplateId'));
|
||||
|
||||
return $self->processStyle(
|
||||
$self->processTemplate({
|
||||
queueTabTitle => $isRegistrationStaff ? $i18n->get('submission queue') : $i18n->get('my submissions'),
|
||||
queueTabData => $QueueTabData,
|
||||
backUrl => $self->getUrl,
|
||||
isRegistrationStaff => $isRegistrationStaff,
|
||||
canEdit => $canEdit,
|
||||
canSubmit => $canSubmit,
|
||||
hasSubmissionForms => $self->hasSubmissionForms,
|
||||
getSubmissionQueueDataUrl => $self->getUrl('func=getAllSubmissions'),
|
||||
addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
|
||||
editSubmissionFormUrl => $self->getUrl('func=editSubmissionForm'),
|
||||
editSubmissionUrl => $self->getUrl('func=editSubmission'),
|
||||
addSubmissionUrl => $self->getUrl('func=addSubmission'),
|
||||
},$self->get('eventSubmissionMainTemplateId')));
|
||||
$self->processTemplate( $params, $self->get('eventSubmissionMainTemplateId')));
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
|||
|
|
@ -80,13 +80,14 @@ dav::log __PACKAGE__ . " executing\n";
|
|||
my $limit = 2_500;
|
||||
my $timeLimit = 120;
|
||||
|
||||
my $list = $root->getLineage( ['children'], { returnObjects => 1,
|
||||
my $list = $root->getLineage( ['descendants'], { returnObjects => 1,
|
||||
includeOnlyClasses => ['WebGUI::Asset::EMSSubmissionForm'],
|
||||
} );
|
||||
|
||||
for my $emsf ( @$list ) {
|
||||
my $whereClause = q{ submissionStatus='approved' };
|
||||
my $res = $emsf->getLineage(['children'],{
|
||||
my $res = $emsf->getLineage(['children'],{ returnObjects => 1,
|
||||
joinClass => 'WebGUI::Asset::EMSSubmission',
|
||||
includeOnlyClasses => ['WebGUI::Asset::EMSSubmission'],
|
||||
whereClause => $whereClause,
|
||||
} );
|
||||
|
|
|
|||
|
|
@ -38,6 +38,12 @@ our $I18N = { ##hashref of hashes
|
|||
context => q|Help text for the submission status field.|
|
||||
},
|
||||
|
||||
'your submission has been updated' => {
|
||||
message => q|Your event submission has been updated.|,
|
||||
lastUpdated => 1131394072,
|
||||
context => q|Message used to notify user when someone else changes their event submission.|
|
||||
},
|
||||
|
||||
# 'TODO' => {
|
||||
# message => q|TODO|,
|
||||
# lastUpdated => 1131394072,
|
||||
|
|
|
|||
|
|
@ -216,7 +216,7 @@ my $submission = {
|
|||
};
|
||||
$session->request->setup_body($submission);
|
||||
my $sub1 = $frmA->addSubmission;
|
||||
push @cleanup, sub { $sub1->delete; };
|
||||
push @cleanup, sub { $sub1->puge; };
|
||||
print join( "\n", @{$sub1->{errors}} ),"\n" if defined $sub1->{errors};
|
||||
my $isa1 = isa_ok( $sub1, 'WebGUI::Asset::EMSSubmission', "userA/formA valid submission succeeded" );
|
||||
ok( $ems->hasSubmissions, 'UserA has submissions on this ems' );
|
||||
|
|
@ -234,7 +234,7 @@ my $submission = {
|
|||
};
|
||||
$session->request->setup_body($submission);
|
||||
my $sub2 = $frmB->addSubmission;
|
||||
push @cleanup, sub { $sub2->delete; };
|
||||
push @cleanup, sub { $sub2->purge; };
|
||||
my $isa2 = isa_ok( $sub2, 'WebGUI::Asset::EMSSubmission', "userB/FormB valid submission succeeded" );
|
||||
|
||||
loginUserC;
|
||||
|
|
@ -337,11 +337,11 @@ is( $sub1->get('title'),'the new title','successfully changed the title');
|
|||
|
||||
loginRgstr;
|
||||
|
||||
$sub1->update({ status => 'approved' });
|
||||
is($sub1->get('status'),'approved','set status to approved');
|
||||
$sub1->update({ submissionStatus => 'approved' });
|
||||
is($sub1->get('submissionStatus'),'approved','set status to approved');
|
||||
|
||||
$sub2->update({ status => 'denied' });
|
||||
is($sub2->get('status'),'denied','set status to denied');
|
||||
$sub2->update({ submissionStatus => 'denied' });
|
||||
is($sub2->get('submissionStatus'),'denied','set status to denied');
|
||||
|
||||
SKIP: { skip "workflow activities not coded yet", 10 if 0;
|
||||
|
||||
|
|
@ -353,33 +353,33 @@ my $cleanupSubmissions = WebGUI::Test::Activity->create( $session,
|
|||
"WebGUI::Workflow::Activity::CleanupEMSSubmissions"
|
||||
);
|
||||
|
||||
push @cleanup, sub { $approveSubmissions->delete; $cleanupSubmissions->delete; };
|
||||
push @cleanup, sub { $approveSubmissions->purge; $cleanupSubmissions->purge; };
|
||||
|
||||
#is($approveSubmissions->run, 'complete', 'approval complete');
|
||||
is($approveSubmissions->run, 'complete', 'approval complete');
|
||||
is($approveSubmissions->run, 'done', 'approval done');
|
||||
|
||||
$sub1 = $sub1->cloneFromDb;
|
||||
is( $sub1->get('status'),'failed','submission failed to create');
|
||||
is( $sub1->get('submissionStatus'),'failed','submission failed to create');
|
||||
|
||||
# TODO fill in the rest of the data required by EMSTicket
|
||||
|
||||
print "1\n";
|
||||
$approveSubmissions->rerun;
|
||||
print "2\n";
|
||||
#is($approveSubmissions->run, 'complete', 'approval complete');
|
||||
is($approveSubmissions->run, 'complete', 'approval complete');
|
||||
is($approveSubmissions->run, 'done', 'approval done');
|
||||
|
||||
print "3\n";
|
||||
$sub1 = $sub1->cloneFromDb;
|
||||
print "4\n";
|
||||
is( $sub1->get('status'),'created','approval successfull');
|
||||
is( $sub1->get('submissionStatus'),'created','approval successfull');
|
||||
print "5\n";
|
||||
|
||||
my $ticket = WebGUI::Asset->newByDynamicClass($session, $sub1->get('ticketId'));
|
||||
print "6\n";
|
||||
isa_ok( $ticket, 'WebGUI::Asset::Sku::EMSTicket', 'approval created a ticket');
|
||||
print "7\n";
|
||||
push @cleanup, sub { $ticket->delete; };
|
||||
push @cleanup, sub { $ticket->purge; };
|
||||
print "8\n";
|
||||
|
||||
$sub2->update({
|
||||
|
|
@ -388,7 +388,7 @@ $sub2->update({
|
|||
my $submissionId = $sub2->get('assetId');
|
||||
|
||||
$cleanupSubmissions->rerun;
|
||||
#is($cleanupSubmissions->run, 'complete', 'cleanup complete');
|
||||
is($cleanupSubmissions->run, 'complete', 'cleanup complete');
|
||||
is($cleanupSubmissions->run, 'done', 'cleanup done');
|
||||
|
||||
$sub2 = WebGUI::Asset->newByDynamicClass($session, $submissionId);
|
||||
|
|
|
|||
|
|
@ -82,16 +82,19 @@ sub run {
|
|||
|
||||
sub rerun {
|
||||
my $self = shift;
|
||||
my $session = $self->{session};
|
||||
$self->{instance}->delete;
|
||||
$self->{instance} = WebGUI::Workflow::Instance->create($self->{session},
|
||||
$self->{instance} = WebGUI::Workflow::Instance->create($session,
|
||||
{
|
||||
workflowId => $self->{workflow}->getId,
|
||||
skipSpectreNotification => 1,
|
||||
}
|
||||
);
|
||||
my $tag = WebGUI::VersionTag->getWorking($session);
|
||||
$tag->commit;
|
||||
WebGUI::Test->tagsToRollback($tag);
|
||||
my $tag = WebGUI::VersionTag->getWorking($session, 1);
|
||||
if( $tag ) {
|
||||
$tag->commit;
|
||||
WebGUI::Test->tagsToRollback($tag);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -95,7 +95,6 @@ WebGUI.EMS = function (configs) {
|
|||
if( WebGUI.EMS.lastTab ) {
|
||||
WebGUI.EMS.Tabs.set('activeTab',WebGUI.EMS.lastTab);
|
||||
}
|
||||
window.location.hash = "";
|
||||
};
|
||||
|
||||
//***********************************************************************************
|
||||
|
|
@ -155,8 +154,9 @@ WebGUI.EMS = function (configs) {
|
|||
}
|
||||
alert(message);
|
||||
return;
|
||||
} else if( typeof(WebGUI.EMS.Items[response.title]) == "undefined"
|
||||
|| WebGUI.EMS.Items[response.title] == null ) {
|
||||
// currently only one tab exists, so instead of checking we just delete it and recreate
|
||||
} else { // if( typeof(WebGUI.EMS.Items[response.title]) == "undefined"
|
||||
// || WebGUI.EMS.Items[response.title] == null ) {
|
||||
// if there is a tab .. close it,
|
||||
// at least until I can get the JS/HTML re-written to handle multiple tabs
|
||||
// there should only be one
|
||||
|
|
@ -172,9 +172,9 @@ WebGUI.EMS = function (configs) {
|
|||
YAHOO.util.Event.on(myTab.getElementsByClassName('close')[0], 'click', WebGUI.EMS.closeTab , myTab);
|
||||
WebGUI.EMS.Items[response.title] = new Object();
|
||||
WebGUI.EMS.Items[response.title].Tab = myTab;
|
||||
} else {
|
||||
myTab = WebGUI.EMS.Items[response.title].Tab;
|
||||
myTab.set('content', response.text);
|
||||
//} else {
|
||||
//myTab = WebGUI.EMS.Items[response.title].Tab;
|
||||
//myTab.set('content', response.text);
|
||||
}
|
||||
// make sure the script on the ticket has run
|
||||
// if( typeof( WebGUI.ticketJScriptRun ) == "undefined" ) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue