working on submission queue
This commit is contained in:
parent
1e16ea2972
commit
0aa868b813
4 changed files with 30 additions and 58 deletions
|
|
@ -329,7 +329,7 @@ sub www_editSubmission {
|
|||
$session->errorHandler->error(__PACKAGE__ . " - failed to instanciate asset with assetId $assetId");
|
||||
}
|
||||
}
|
||||
my $url = ( $self | $parent )->getUrl('func=editSubmissionSave');
|
||||
my $url = ( $self || $parent )->getUrl('func=editSubmissionSave');
|
||||
my $newform = WebGUI::HTMLForm->new($session,action => $url);
|
||||
my $formDescription = $parent->getFormDescription;
|
||||
my @defs = reverse @{__PACKAGE__->definition($session)};
|
||||
|
|
@ -344,7 +344,7 @@ sub www_editSubmission {
|
|||
}
|
||||
}
|
||||
# add the meta field
|
||||
for my $metaField ( @{$parent->getEventMetaFields} ) {
|
||||
for my $metaField ( @{$parent->getParent->getEventMetaFields} ) {
|
||||
if( defined $formDescription->{$metaField->{fieldId}} ) {
|
||||
$fields->{$metaField->{fieldId}} = { %$metaField }; # a simple first level copy
|
||||
# meta fields call it data type, we copy it to simplify later on
|
||||
|
|
@ -353,12 +353,12 @@ sub www_editSubmission {
|
|||
}
|
||||
|
||||
# for each field
|
||||
for my $field ( keys %$fields ) {
|
||||
for my $field ( values %$fields ) {
|
||||
if( $formDescription->{$field->{fieldId}} ) {
|
||||
$newform->dynamicField(%$field);
|
||||
} else {
|
||||
# TODO see that the data gets formatted
|
||||
$newform->readonly(
|
||||
$newform->readOnly(
|
||||
label => $field->{label},
|
||||
value => $field->{value},
|
||||
fieldId => $field->{fieldId},
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ sub www_editSubmissionForm {
|
|||
return qq{<li><a href='$u' title='$d'>$n</a></li>} } ;
|
||||
my $listOfLinks = join '', ( map {
|
||||
$makeAnchorList->(
|
||||
$parent->getUrl('func=editSubmissionForm;assetId=' . $_->getId ),
|
||||
$_->getUrl('func=editSubmissionForm' ),
|
||||
$_->get('title'),
|
||||
WebGUI::HTML::filter($_->get('description'),'all')
|
||||
)
|
||||
|
|
@ -257,7 +257,7 @@ sub www_editSubmissionForm {
|
|||
}
|
||||
} elsif( $assetId ne 'new' ) {
|
||||
$self &&= WebGUI::Asset->newByDynamicClass($session,$assetId);
|
||||
if (!defined $self) {
|
||||
if (!defined($self)) {
|
||||
$session->errorHandler->error(__PACKAGE__ . " - failed to instanciate asset with assetId $assetId");
|
||||
}
|
||||
}
|
||||
|
|
@ -554,26 +554,6 @@ dav::dump 'processForm::params:', $params;
|
|||
return $params;
|
||||
}
|
||||
|
||||
=head TODO work on this code
|
||||
# this is a bunch of code that will likely be useful for this function...
|
||||
{
|
||||
for my $fieldName ( qw/title menuTitle url description canSubmitGroupId daysBeforeCleanup
|
||||
deleteCreatedItems submissionDeadline pastDeadlineMessage/ ) {
|
||||
if( defined $properties->{$fieldName} ) {
|
||||
my %param = %{$properties->{$fieldName}};
|
||||
$param{value} = $form->get($fieldName) || $self ? $self->get($fieldName) : $param{defaultValue} || '';
|
||||
$param{name} = $fieldName;
|
||||
dav::dump 'editSubmissionForm::properties for ', $fieldName, \%param ;
|
||||
$maintab->dynamicField(%param);
|
||||
}
|
||||
}
|
||||
}
|
||||
dav::dump 'editSubmissionForm::dump before generate:',$fields;
|
||||
}
|
||||
=cut
|
||||
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 update ( )
|
||||
|
|
|
|||
|
|
@ -595,7 +595,7 @@ sub view {
|
|||
addBadgeUrl => $self->getUrl('func=add;class=WebGUI::Asset::Sku::EMSBadge'),
|
||||
buildBadgeUrl => $self->getUrl('func=buildBadge'),
|
||||
viewScheduleUrl => $self->getUrl('func=viewSchedule'),
|
||||
newSubmissionUrl => $self->getUrl('func=newSubmission'),
|
||||
addSubmissionUrl => $self->getUrl('func=addSubmission'),
|
||||
viewSubmissionsUrl => $self->getUrl('func=viewSubmissions'),
|
||||
viewSubmissionQueueUrl => $self->getUrl('func=viewSubmissionQueue'),
|
||||
addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
|
||||
|
|
@ -644,40 +644,41 @@ display a form or links to forms to create a new submission
|
|||
sub www_addSubmission {
|
||||
my $self = shift;
|
||||
my $params = shift || {};
|
||||
my $assetId = $params->{assetId} || $self->session->form->get('assetId');
|
||||
my $parent = $self->getParent;
|
||||
my $formId = $params->{formId} || $self->session->form->get('formId');
|
||||
my $session = $self->session;
|
||||
my $i18n = WebGUI::International->new($session,'Asset_EventManagementSystem');
|
||||
my $asset;
|
||||
my $form;
|
||||
|
||||
if( ! defined $assetId ) {
|
||||
my $res = $parent->getLineage(['children'],{ returnObjects => 1,
|
||||
if( ! defined $formId ) {
|
||||
my $res = $self->getLineage(['children'],{ returnObjects => 1,
|
||||
includeOnlyClasses => ['WebGUI::Asset::EMSSubmissionForm'],
|
||||
} );
|
||||
my @new = map { $_->canSubmit ? $_ : () } ( @$res);
|
||||
if( scalar(@new) == 1 ) {
|
||||
$asset = $new[0];
|
||||
$assetId = $asset->getId;
|
||||
if( scalar(@new) == 0 ) {
|
||||
return $self->www_view;
|
||||
} elsif( scalar(@new) == 1 ) {
|
||||
$form = $new[0];
|
||||
$formId = $form->getId;
|
||||
} else {
|
||||
my $makeAnchorList =sub{ my $u=shift; my $n=shift; my $d=shift;
|
||||
return qq{<li><a href='$u' title='$d'>$n</a></li>} } ;
|
||||
my $listOfLinks = join '', ( map {
|
||||
$makeAnchorList->(
|
||||
$self->getUrl('func=addSubmission;assetId=' . $_->getId ),
|
||||
$self->getUrl('func=addSubmission;formId=' . $_->getId ),
|
||||
$_->get('title'),
|
||||
WebGUI::HTML::filter($_->get('description'),'all')
|
||||
)
|
||||
} ( @new ) );
|
||||
return $parent->processStyle( '<h1>' . $i18n->get('select form to submit') .
|
||||
return $self->processStyle( '<h1>' . $i18n->get('select form to submit') .
|
||||
'</h1><ul>' . $listOfLinks . '</ul>' );
|
||||
}
|
||||
} else {
|
||||
$asset = WebGUI::Asset->newByDynamicClass($session,$assetId);
|
||||
$form = WebGUI::Asset->newByDynamicClass($session,$formId);
|
||||
}
|
||||
if (!defined $asset) {
|
||||
$session->errorHandler->error(__PACKAGE__ . " - failed to instanciate asset with assetId $assetId");
|
||||
if (!defined $form) {
|
||||
$session->errorHandler->error(__PACKAGE__ . " - failed to instanciate asset with assetId $formId");
|
||||
}
|
||||
return $asset->www_addSubmission;
|
||||
return $form->www_addSubmission;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -2187,22 +2188,6 @@ sub www_moveEventMetaFieldUp {
|
|||
return $self->www_manageEventMetaFields;
|
||||
}
|
||||
|
||||
#---------------------------------------------
|
||||
=head2 www_newSubmission
|
||||
|
||||
if only one form is available to this user:
|
||||
call the viewSubmission with class and assetID = 'new'
|
||||
else create a list of link that will distinguish the form the userdesires to use.
|
||||
the links should refer to this function and include a formId parameter
|
||||
|
||||
=cut
|
||||
|
||||
sub www_newSubmission {
|
||||
|
||||
# call viewSubmission or create a list of links
|
||||
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 www_printBadge ( )
|
||||
|
|
@ -2358,10 +2343,11 @@ sub www_viewSubmissionQueue {
|
|||
$self->processTemplate({
|
||||
backUrl => $self->getUrl,
|
||||
canEdit => $self->canEdit,
|
||||
canSubmit => $self->canSubmit,
|
||||
hasSubmissionForms => $self->hasSubmissionForms,
|
||||
getSubmissionQueueDateUrl => $self->getUrl('func=getSubmissionQueueData'),
|
||||
addSumissionFormUrl => $self->getUrl('func=addSubmissionForm'),
|
||||
editSubmissionFormUrl => self->getUrl('func=editSubmissionForm'),
|
||||
editSubmissionFormUrl => $self->getUrl('func=editSubmissionForm'),
|
||||
addSumissionUrl => $self->getUrl('func=addSubmission'),
|
||||
},$self->get('eventSubmissionQueueTemplateId')));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1878,6 +1878,12 @@ normal templates.|,
|
|||
context => q|help text for the columns per page field|,
|
||||
},
|
||||
|
||||
'edit submission form' => {
|
||||
message => q|Edit Submission Form|,
|
||||
lastUpdated => 1147050475,
|
||||
context => q|Label for the link to edit a submission form.|,
|
||||
},
|
||||
|
||||
'new submission form' => {
|
||||
message => q|New Submission Form|,
|
||||
lastUpdated => 1147050475,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue