diff --git a/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm b/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm
index 280bf935a..afbcef36a 100644
--- a/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm
+++ b/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm
@@ -191,7 +191,7 @@ sub definition {
hoverHelp => $i18n->get('event submission template help'),
namespace => 'EMS/Submission',
},
- viewEventSubmissionQueueTemplateId => {
+ eventSubmissionQueueTemplateId => {
fieldType => 'template',
defaultValue => 'ktSvKU8riGimhcsxXwqvPQ',
tab => 'display',
@@ -599,7 +599,7 @@ sub view {
newSubmissionUrl => $self->getUrl('func=newSubmission'),
viewSubmissionsUrl => $self->getUrl('func=viewSubmissions'),
viewSubmissionQueueUrl => $self->getUrl('func=viewSubmissionQueue'),
- addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
+ addSubmissionFormUrl => $self->getUrl('func=editSubmissionForm'),
manageBadgeGroupsUrl=> $self->getUrl('func=manageBadgeGroups'),
getBadgesUrl => $self->getUrl('func=getBadgesAsJson'),
canEdit => $self->canEdit,
@@ -638,15 +638,16 @@ sub www_addRibbonToBadge {
=head2 www_addSubmissionForm ()
-this will call the www_editSubmissionForm function with assetId == 'new'
+call www_editSubmissionForm with assetId == new
=cut
sub www_addSubmissionForm {
my $self = shift;
- $self->www_editSubmiossionForm( { assetId => 'new' } );
+ $self->www_editSubmissionForm( 'new' );
}
+ my $params = shift || { };
#-------------------------------------------------------------------
=head2 www_addTicketsToBadge ()
@@ -832,28 +833,46 @@ is assetId is 'new' edit a blank form, else edit a form with stuff filled in...
=cut
sub www_editSubmissionForm {
- my $self = shift;
+ my $self = shift;
return $self->session->privilege->insufficient() unless $self->canEdit;
-# TODO add code to send a list of links if we are not creating a new form and trhere exist more
-# than one form
-# -- getlineage for forms in this EMS
-# if there is one form, then edit that form
-# if there are more than one form then create a simple page with a link to each form that can be editted
-
-# this stuff below needs to be converted to use a template...
- my ($form, $db) = $self->session->quick(qw(form db));
- my $f = WebGUI::HTMLForm->new($self->session, action=>$self->getUrl);
- $f->hidden(name=>'func', value=>'editSubmissionFormSave');
+ my $session = $self->session;
+ my $form = $session->form;
+ my $assetId = shift || $form->get('assetId');
+ my $asset;
my $i18n = WebGUI::International->new($self->session, "Asset_EventManagementSystem");
- $f->hidden(name=>'assetId', value=>$form => 'new' );
- $f->text(
- name => 'name',
- value => '',
- label => 'junk',
- hoverHelp => 'help with junk',
- );
- $f->submit;
- return $self->processStyle('
the title
'.$f->print);
+
+ if( ! defined( $assetId ) ) {
+ my $res = $self->getLineage(['children'],{ returnObjects => 1,
+ includeOnlyClasses => ['WebGUI::Asset::EMSSubmissionForm'],
+ } );
+ if( scalar(@$res) == 1 ) {
+ $asset = $res->[0];
+ $assetId = $asset->getId;
+ } else {
+ my $makeAnchorList =sub{ my $u=shift; my $n=shift; my $d=shift;
+ return qq{$n} } ;
+ my $listOfLinks = join '', ( map {
+ $makeAnchorList->(
+ $self->getUrl('func=editSubmissionForm;assetId=' . $_->getId ),
+ $_->get('title'),
+ WebGUI::HTML::filter($_->get('description'),'all')
+ )
+ } ( @$res ) );
+ return $self->processStyle( '' . $i18n->get('select form to edit') .
+ '
' );
+ }
+ } elsif( $assetId ne 'new' ) {
+ $asset = WebGUI::Asset->newByDynamicClass($session,$assetId);
+ if (!defined $asset) { # won't catch everything, but it will help some if an asset blows up
+ $self->session->errorHandler->error(__PACKAGE__ . " - failed to instanciate asset with assetId $assetId");
+ }
+ }
+ # TODO for new assets fill with blanks, otherwise get asset info to fill in template vars
+
+ return $self->processStyle(
+ $self->processTemplate({
+ backUrl => $self->getUrl,
+ },$self->get('eventSubmissionFormTemplateId')));
}
#-------------------------------------------------------------------
@@ -2310,25 +2329,13 @@ sub www_viewSubmission {
# fill the view submission template
my $self = shift;
- return $self->session->privilege->insufficient() unless $self->canView;
+ return $self->session->privilege->insufficient() unless $self->canSubmit or $self->canEdit;
my $db = $self->session->db;
- my $rowsPerPage = 25;
- my $locationsPerPage = $self->get('scheduleColumnsPerPage');
-
- my @columnNames = map { "'col" . $_ . "'" } ( 1..$locationsPerPage );
- my $fieldList = join ',', @columnNames;
- my $dataColumns = join ",\n", map {
- '{key:' . $_ . ',sortable:false,label:"",formatter:formatViewScheduleItem}'
- } @columnNames;
return $self->processStyle(
$self->processTemplate({
backUrl => $self->getUrl,
- rowsPerPage => $rowsPerPage,
- dataColumns => $dataColumns,
- fieldList => $fieldList,
- dataSourceUrl => $self->getUrl('func=getScheduleDataJSON'),
- },$self->get('scheduleTemplateId')));
+ },$self->get('eventSubmissionTemplateId')));
}
@@ -2339,34 +2346,13 @@ sub www_viewSubmission {
=cut
sub www_viewSubmissionQueue {
-
-# fill the view submission queue template
-
-
-# fill the view submission template
my $self = shift;
return $self->session->privilege->insufficient() unless $self->canView;
- my $db = $self->session->db;
- my $rowsPerPage = 25;
- my $locationsPerPage = $self->get('scheduleColumnsPerPage');
-
- my @columnNames = map { "'col" . $_ . "'" } ( 1..$locationsPerPage );
- my $fieldList = join ',', @columnNames;
- my $dataColumns = join ",\n", map {
- '{key:' . $_ . ',sortable:false,label:"",formatter:formatViewScheduleItem}'
- } @columnNames;
return $self->processStyle(
$self->processTemplate({
backUrl => $self->getUrl,
- rowsPerPage => $rowsPerPage,
- dataColumns => $dataColumns,
- fieldList => $fieldList,
- dataSourceUrl => $self->getUrl('func=getScheduleDataJSON'),
- },$self->get('scheduleTemplateId')));
-
-
-
+ },$self->get('eventSubmissionQueueTemplateId')));
}
diff --git a/lib/WebGUI/i18n/English/Asset_EventManagementSystem.pm b/lib/WebGUI/i18n/English/Asset_EventManagementSystem.pm
index 75379f085..7eee9db47 100644
--- a/lib/WebGUI/i18n/English/Asset_EventManagementSystem.pm
+++ b/lib/WebGUI/i18n/English/Asset_EventManagementSystem.pm
@@ -1938,6 +1938,12 @@ normal templates.|,
context => q|Help text for the event submission form template.|
},
+ 'select form to edit' => {
+ message => q|Select a Form to Edit|,
+ lastUpdated => 1147050475,
+ context => q|Label for list of submission forms; user must choose one to edit.|,
+ },
+
# 'TODO' => {
# message => q|TODO|,
# lastUpdated => 1147050475,
diff --git a/t/Asset/EMSSubmissionForm.t b/t/Asset/EMSSubmissionForm.t
index d277a8216..1abfb24e7 100644
--- a/t/Asset/EMSSubmissionForm.t
+++ b/t/Asset/EMSSubmissionForm.t
@@ -348,7 +348,7 @@ is( $sub2, undef, 'approval created a ticket');
$versionTag->commit;
#done_testing();
-print 'press return to complete test' ; <>;
+#print 'press return to complete test' ; <>;
#----------------------------------------------------------------------------
# Cleanup
END {