tabs successfully added
This commit is contained in:
parent
1155408243
commit
5f8888fcc9
5 changed files with 212 additions and 55 deletions
|
|
@ -286,7 +286,7 @@ sub drawStatusField {
|
||||||
return WebGUI::Form::SelectBox($self->session, {
|
return WebGUI::Form::SelectBox($self->session, {
|
||||||
name => 'location',
|
name => 'location',
|
||||||
value => $self->get('submissionStatus'),
|
value => $self->get('submissionStatus'),
|
||||||
options => $self->ems->getStatus,
|
options => $self->ems->getSubmissionStatus,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -315,7 +315,10 @@ returns the ems ansestor of this asset
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
sub ems { $_[0]->getParent->getParent }
|
sub ems {
|
||||||
|
my $self = shift;
|
||||||
|
$self->getParent->getParent
|
||||||
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -389,16 +392,14 @@ dav::log 'EMSSubmission::www_editSubmission: asseId ne new';
|
||||||
|
|
||||||
# for each field
|
# for each field
|
||||||
for my $field ( values %$fields ) {
|
for my $field ( values %$fields ) {
|
||||||
if( $formDescription->{$field->{fieldId}} ) {
|
if( $formDescription->{$field->{fieldId}} || $asset->ems->isRegistrationStaff ) {
|
||||||
dav::dump 'drawing fields:', $field;
|
my $drawMethod = __PACKAGE__ . '::' . $field->{customDrawMethod};
|
||||||
if( $field->{fieldId} eq 'submissionStatus' ) {
|
if ($asset->can( $drawMethod )) {
|
||||||
$field->{options} = $parent->getParent->getStatus;
|
$field->{value} = $asset->$drawMethod($field);
|
||||||
dav::log 'set options for status';
|
delete $field->{name}; # don't want readOnly to generate a hidden field
|
||||||
}
|
$field->{fieldType} = "readOnly";
|
||||||
if( $field->{fieldId} eq 'location' ) {
|
}
|
||||||
$field->{options} = [ split( /\s*/, $parent->getParent->getLocations ) ];
|
|
||||||
delete $field->{options} if scalar( @{$field->{options}} ) == 0 ;
|
|
||||||
}
|
|
||||||
$newform->dynamicField(%$field);
|
$newform->dynamicField(%$field);
|
||||||
} else {
|
} else {
|
||||||
# TODO see that the data gets formatted
|
# TODO see that the data gets formatted
|
||||||
|
|
@ -490,6 +491,17 @@ sub getEditTabs {
|
||||||
return ($self->SUPER::getEditTabs(), ['shop', $sku_i18n->get('shop'), 9], ['comments', $i18n->get('comments'), 9]);
|
return ($self->SUPER::getEditTabs(), ['shop', $sku_i18n->get('shop'), 9], ['comments', $i18n->get('comments'), 9]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
=head2 getUrl
|
||||||
|
|
||||||
|
returns the URL for the submission queue page with the submisison id in the hash part
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub getUrl {
|
||||||
|
my $self = shift;
|
||||||
|
return $self->ems->getUrl('func=viewSubmissionQueue#' . $self->get('submissionId') );
|
||||||
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -548,6 +560,7 @@ sub processForm {
|
||||||
return {_isValid => 0, errors => [ { text => 'invalid function call' } ] };
|
return {_isValid => 0, errors => [ { text => 'invalid function call' } ] };
|
||||||
}
|
}
|
||||||
my $params = {_isValid=>1};
|
my $params = {_isValid=>1};
|
||||||
|
# TODO
|
||||||
# get description from parent
|
# get description from parent
|
||||||
# for each active field
|
# for each active field
|
||||||
# get data from session->form
|
# get data from session->form
|
||||||
|
|
|
||||||
|
|
@ -74,8 +74,7 @@ sub addSubmission {
|
||||||
}
|
}
|
||||||
$newParams->{className} = 'WebGUI::Asset::EMSSubmission';
|
$newParams->{className} = 'WebGUI::Asset::EMSSubmission';
|
||||||
$newParams->{submissionStatus} = 'pending';
|
$newParams->{submissionStatus} = 'pending';
|
||||||
$newParams->{submissionId} = $self->get('nextSubmissionId');
|
$newParams->{submissionId} = $self->ems->getNextSubmissionId;
|
||||||
$self->update({nextSubmissionId => $newParams->{submissionId}+1 });
|
|
||||||
$self->addChild($newParams);
|
$self->addChild($newParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -129,13 +128,6 @@ sub definition {
|
||||||
my $definition = shift;
|
my $definition = shift;
|
||||||
my $i18n = WebGUI::International->new( $session, "Asset_EMSSubmissionForm" );
|
my $i18n = WebGUI::International->new( $session, "Asset_EMSSubmissionForm" );
|
||||||
tie my %properties, 'Tie::IxHash', (
|
tie my %properties, 'Tie::IxHash', (
|
||||||
nextSubmissionId => {
|
|
||||||
tab => "properties",
|
|
||||||
fieldType => "integer",
|
|
||||||
defaultValue => 0,
|
|
||||||
label => $i18n->get("next submission id label"),
|
|
||||||
hoverHelp => $i18n->get("next submission id label help")
|
|
||||||
},
|
|
||||||
canSubmitGroupId => {
|
canSubmitGroupId => {
|
||||||
tab => "security",
|
tab => "security",
|
||||||
fieldType => "group",
|
fieldType => "group",
|
||||||
|
|
@ -214,7 +206,10 @@ returns the ems ansestor of this asset
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
sub ems { $_[0]->getParent }
|
sub ems {
|
||||||
|
my $self = shift;
|
||||||
|
$self->getParent
|
||||||
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -244,7 +239,7 @@ sub www_editSubmissionForm {
|
||||||
}
|
}
|
||||||
my $params = shift || { };
|
my $params = shift || { };
|
||||||
my $session = $parent->session;
|
my $session = $parent->session;
|
||||||
my $i18n = WebGUI::International->new($parent->session,'Asset_EventManagementSystem');
|
my $i18n = WebGUI::International->new($session,'Asset_EventManagementSystem');
|
||||||
my $assetId = $self ? $self->getId : $params->{assetId} || $session->form->get('assetId');
|
my $assetId = $self ? $self->getId : $params->{assetId} || $session->form->get('assetId');
|
||||||
|
|
||||||
if( ! defined( $assetId ) ) {
|
if( ! defined( $assetId ) ) {
|
||||||
|
|
@ -360,7 +355,7 @@ sub www_editSubmissionFormSave {
|
||||||
|
|
||||||
=head2 www_view
|
=head2 www_view
|
||||||
|
|
||||||
calles ems->view
|
calls ems->view
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
|
|
@ -399,13 +394,13 @@ Making private. See WebGUI::Asset::indexContent() for additonal details.
|
||||||
=head2 prepareView ( )
|
=head2 prepareView ( )
|
||||||
|
|
||||||
See WebGUI::Asset::prepareView() for details.
|
See WebGUI::Asset::prepareView() for details.
|
||||||
|
we shouldn't get here, there is nothing to view...
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
sub prepareView {
|
sub prepareView {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
$self->ems->prepareView;
|
$self->SUPER::prepareView();
|
||||||
#$self->SUPER::prepareView();
|
|
||||||
#my $template = WebGUI::Asset::Template->new( $self->session, $self->get("templateId") );
|
#my $template = WebGUI::Asset::Template->new( $self->session, $self->get("templateId") );
|
||||||
#$template->prepare($self->getMetaDataAsTemplateVariables);
|
#$template->prepare($self->getMetaDataAsTemplateVariables);
|
||||||
#$self->{_viewTemplate} = $template;
|
#$self->{_viewTemplate} = $template;
|
||||||
|
|
@ -421,10 +416,10 @@ when /yourAssetUrl?func=editSave is requested/posted.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
sub processPropertiesFromFormPost {
|
#sub processPropertiesFromFormPost {
|
||||||
my $self = shift;
|
# my $self = shift;
|
||||||
$self->SUPER::processPropertiesFromFormPost;
|
# $self->SUPER::processPropertiesFromFormPost;
|
||||||
}
|
#}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -593,7 +588,7 @@ sub update {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $properties = shift;
|
my $properties = shift;
|
||||||
if( ref $properties->{formDescription} eq 'HASH' ) {
|
if( ref $properties->{formDescription} eq 'HASH' ) {
|
||||||
$properties->{formDescription} = JSON->new->encode($properties->{formDescription}||{});
|
$properties->{formDescription} = JSON->new->encode($properties->{formDescription});
|
||||||
}
|
}
|
||||||
$self->SUPER::update({%$properties, isHidden => 1});
|
$self->SUPER::update({%$properties, isHidden => 1});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ defaults to 2 -- registered users
|
||||||
=head4 daysBeforeCleanup ( optional )
|
=head4 daysBeforeCleanup ( optional )
|
||||||
|
|
||||||
number fo days to leave denied/created status items in the database before deleting
|
number fo days to leave denied/created status items in the database before deleting
|
||||||
defaults t0 7
|
defaults to 7
|
||||||
|
|
||||||
=head4 deleteCreatedItems ( optional )
|
=head4 deleteCreatedItems ( optional )
|
||||||
|
|
||||||
|
|
@ -186,10 +186,10 @@ sub definition {
|
||||||
},
|
},
|
||||||
eventSubmissionMainTemplateId => {
|
eventSubmissionMainTemplateId => {
|
||||||
fieldType => 'template',
|
fieldType => 'template',
|
||||||
defaultValue => 'ylBSKblMdKpcDSIK2t_Ang',
|
defaultValue => 'DoVNijm6lMDE0cYrtvEbDQ',
|
||||||
tab => 'display',
|
tab => 'display',
|
||||||
label => $i18n->get('event submission form template'),
|
label => $i18n->get('event submission main template'),
|
||||||
hoverHelp => $i18n->get('event submission form template help'),
|
hoverHelp => $i18n->get('event submission main template help'),
|
||||||
namespace => 'EMS/SubmissionMain',
|
namespace => 'EMS/SubmissionMain',
|
||||||
},
|
},
|
||||||
eventSubmissionTemplateId => {
|
eventSubmissionTemplateId => {
|
||||||
|
|
@ -246,7 +246,7 @@ sub definition {
|
||||||
submittedLocationsList => {
|
submittedLocationsList => {
|
||||||
fieldType => 'text',
|
fieldType => 'text',
|
||||||
tab => 'properties',
|
tab => 'properties',
|
||||||
defaultValue => $i18n->get('default submitted location list'),
|
defaultValue => '',
|
||||||
label => $i18n->get('submitted location list label'),
|
label => $i18n->get('submitted location list label'),
|
||||||
hoverHelp => $i18n->get('submitted location list help'),
|
hoverHelp => $i18n->get('submitted location list help'),
|
||||||
},
|
},
|
||||||
|
|
@ -255,6 +255,13 @@ sub definition {
|
||||||
defaultValue => '',
|
defaultValue => '',
|
||||||
noFormPost => 1,
|
noFormPost => 1,
|
||||||
},
|
},
|
||||||
|
nextSubmissionId => {
|
||||||
|
tab => "properties",
|
||||||
|
fieldType => "integer",
|
||||||
|
defaultValue => 0,
|
||||||
|
label => $i18n->get("next submission id label"),
|
||||||
|
hoverHelp => $i18n->get("next submission id label help")
|
||||||
|
},
|
||||||
);
|
);
|
||||||
push(@{$definition}, {
|
push(@{$definition}, {
|
||||||
assetName=>$i18n->get('assetName'),
|
assetName=>$i18n->get('assetName'),
|
||||||
|
|
@ -416,6 +423,22 @@ sub getLocations {
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
=head2 getNextSubmissionId
|
||||||
|
|
||||||
|
get a sequence number for the submission id
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub getNextSubmissionId {
|
||||||
|
my $self = shift;
|
||||||
|
#my $submissionId = $self->get('nextSubmissionId');
|
||||||
|
my ($submissionId) = $self->session->db->read('select nextSubmissionId from EventManagementSystem where assetId = ?', [ $self->getId ] )->array;
|
||||||
|
$self->update( { nextSubmissionId => ($submissionId + 1) } );
|
||||||
|
return $submissionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 getRegistrant ( badgeId )
|
=head2 getRegistrant ( badgeId )
|
||||||
|
|
||||||
Returns a hash reference containing the properties of a registrant.
|
Returns a hash reference containing the properties of a registrant.
|
||||||
|
|
@ -460,7 +483,7 @@ dav::log 'getSubmissionLocations:"', $text, '"';
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub getStatus {
|
sub getSubmissionStatus {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $key = shift;
|
my $key = shift;
|
||||||
|
|
||||||
|
|
@ -668,7 +691,8 @@ sub view {
|
||||||
addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
|
addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
|
||||||
manageBadgeGroupsUrl=> $self->getUrl('func=manageBadgeGroups'),
|
manageBadgeGroupsUrl=> $self->getUrl('func=manageBadgeGroups'),
|
||||||
getBadgesUrl => $self->getUrl('func=getBadgesAsJson'),
|
getBadgesUrl => $self->getUrl('func=getBadgesAsJson'),
|
||||||
canEdit => $self->canEdit,
|
isRegistrationStaff => $self->isRegistrationStaff,
|
||||||
|
canEdit => $self->canEdit,
|
||||||
canSubmit => $self->canSubmit,
|
canSubmit => $self->canSubmit,
|
||||||
hasSubmissions => $self->hasSubmissions,
|
hasSubmissions => $self->hasSubmissions,
|
||||||
hasSubmissionForms => $self->hasSubmissionForms,
|
hasSubmissionForms => $self->hasSubmissionForms,
|
||||||
|
|
@ -948,7 +972,7 @@ calls editSubmissionForm in WebGUI::Asset::EMSSubmissionForm
|
||||||
|
|
||||||
sub www_editSubmissionForm {
|
sub www_editSubmissionForm {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
return $self->session->privilege->insufficient() unless $self->isRegistrationStaff;
|
||||||
return WebGUI::Asset::EMSSubmissionForm->www_editSubmissionForm($self,shift);
|
return WebGUI::Asset::EMSSubmissionForm->www_editSubmissionForm($self,shift);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -963,7 +987,7 @@ test and save data posted from editSubmissionForm...
|
||||||
|
|
||||||
sub www_editSubmissionFormSave {
|
sub www_editSubmissionFormSave {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
return $self->session->privilege->insufficient() unless $self->isRegistrationStaff;
|
||||||
my $formParams = WebGUI::Asset::EMSSubmissionForm->processForm($self);
|
my $formParams = WebGUI::Asset::EMSSubmissionForm->processForm($self);
|
||||||
if( $formParams->{_isValid} ) {
|
if( $formParams->{_isValid} ) {
|
||||||
delete $formParams->{_isValid};
|
delete $formParams->{_isValid};
|
||||||
|
|
@ -1184,7 +1208,7 @@ sub www_exportEvents {
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 www_getAllSubmissions ( session )
|
=head2 www_getAllSubmissions ( )
|
||||||
|
|
||||||
Get a page of Asset Manager data, ajax style. Returns a JSON array to be
|
Get a page of Asset Manager data, ajax style. Returns a JSON array to be
|
||||||
formatted in a WebGUI submission queue data table.
|
formatted in a WebGUI submission queue data table.
|
||||||
|
|
@ -1199,14 +1223,14 @@ sub www_getAllSubmissions {
|
||||||
my $rowsPerPage = 25;
|
my $rowsPerPage = 25;
|
||||||
my $tableInfo = {};
|
my $tableInfo = {};
|
||||||
|
|
||||||
return $session->privilege->insufficient unless $self->canView;
|
return $session->privilege->insufficient unless $self->canSubmit || $self->isRegistrationStaff;
|
||||||
|
|
||||||
my $orderByColumn = $form->get( 'orderByColumn' ) || $self->get("sortColumn");
|
my $orderByColumn = $form->get( 'orderByColumn' ) || $self->get("sortColumn");
|
||||||
my $dir = $form->get('orderByDirection') || $self->get('sortOrder');
|
my $dir = $form->get('orderByDirection') || $self->get('sortOrder');
|
||||||
my $orderByDirection = lc ($dir) eq "asc" ? "ASC" : "DESC";
|
my $orderByDirection = lc ($dir) eq "asc" ? "ASC" : "DESC";
|
||||||
|
|
||||||
my $whereClause ;
|
my $whereClause ;
|
||||||
if(!$self->canEdit) {
|
if(!$self->isRegistrationStaff) {
|
||||||
my $userId = $session->user->userId;
|
my $userId = $session->user->userId;
|
||||||
$whereClause .= qq{ createdBy='$userId'};
|
$whereClause .= qq{ createdBy='$userId'};
|
||||||
}
|
}
|
||||||
|
|
@ -1255,7 +1279,7 @@ sub www_getAllSubmissions {
|
||||||
title => $asset->get( "title" ),
|
title => $asset->get( "title" ),
|
||||||
createdBy => WebGUI::User->new($session,$asset->get( "createdBy" ))->username,
|
createdBy => WebGUI::User->new($session,$asset->get( "createdBy" ))->username,
|
||||||
creationDate => $datetime->epochToSet($asset->get( "creationDate" )),
|
creationDate => $datetime->epochToSet($asset->get( "creationDate" )),
|
||||||
submissionStatus => $self->getStatus($asset->get( "submissionStatus" ) || 'pending' ),
|
submissionStatus => $self->getSubmissionStatus($asset->get( "submissionStatus" ) || 'pending' ),
|
||||||
lastReplyDate => $lastReplyDate || '',
|
lastReplyDate => $lastReplyDate || '',
|
||||||
lastReplyBy => $lastReplyBy || '',
|
lastReplyBy => $lastReplyBy || '',
|
||||||
);
|
);
|
||||||
|
|
@ -2485,19 +2509,39 @@ sub www_viewSchedule {
|
||||||
|
|
||||||
sub www_viewSubmissionQueue {
|
sub www_viewSubmissionQueue {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return $self->session->privilege->insufficient() unless $self->canSubmit || $self->canEdit;
|
my $isRegistrationStaff = $self->isRegistrationStaff;
|
||||||
|
my $canSubmit = $self->canSubmit;
|
||||||
|
my $canEdit = $self->canEdit;
|
||||||
|
my $i18n = $self->i18n;
|
||||||
|
return $self->session->privilege->insufficient() unless $canSubmit || $isRegistrationStaff;
|
||||||
|
|
||||||
return $self->processStyle(
|
my $QueueTabData =
|
||||||
$self->processTemplate({
|
$self->processTemplate({
|
||||||
backUrl => $self->getUrl,
|
backUrl => $self->getUrl,
|
||||||
canEdit => $self->canEdit,
|
isRegistrationStaff => $isRegistrationStaff,
|
||||||
canSubmit => $self->canSubmit,
|
canEdit => $canEdit,
|
||||||
|
canSubmit => $canSubmit,
|
||||||
hasSubmissionForms => $self->hasSubmissionForms,
|
hasSubmissionForms => $self->hasSubmissionForms,
|
||||||
getSubmissionQueueDataUrl => $self->getUrl('func=getAllSubmissions'),
|
getSubmissionQueueDataUrl => $self->getUrl('func=getAllSubmissions'),
|
||||||
addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
|
addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
|
||||||
editSubmissionFormUrl => $self->getUrl('func=editSubmissionForm'),
|
editSubmissionFormUrl => $self->getUrl('func=editSubmissionForm'),
|
||||||
addSubmissionUrl => $self->getUrl('func=addSubmission'),
|
addSubmissionUrl => $self->getUrl('func=addSubmission'),
|
||||||
},$self->get('eventSubmissionQueueTemplateId')));
|
},$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'),
|
||||||
|
addSubmissionUrl => $self->getUrl('func=addSubmission'),
|
||||||
|
},$self->get('eventSubmissionMainTemplateId')));
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
|
||||||
|
|
@ -2022,6 +2022,18 @@ normal templates.|,
|
||||||
context => q|This is help text for the submitted location list field.|,
|
context => q|This is help text for the submitted location list field.|,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'submission queue' => {
|
||||||
|
message => q|Submission Queue|,
|
||||||
|
lastUpdated => 1147050475,
|
||||||
|
context => q|Label for the submission list tab for registration staff.|,
|
||||||
|
},
|
||||||
|
|
||||||
|
'my submissions' => {
|
||||||
|
message => q|My Submissions|,
|
||||||
|
lastUpdated => 1147050475,
|
||||||
|
context => q|Label for the submission list tab for event submitters.|,
|
||||||
|
},
|
||||||
|
|
||||||
# 'TODO' => {
|
# 'TODO' => {
|
||||||
# message => q|TODO|,
|
# message => q|TODO|,
|
||||||
# lastUpdated => 1147050475,
|
# lastUpdated => 1147050475,
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,8 @@ my $ems = $node->addChild({
|
||||||
url => '/test-ems',
|
url => '/test-ems',
|
||||||
workflowIdCommit => 'pbworkflow000000000003', # Commit Content Immediately
|
workflowIdCommit => 'pbworkflow000000000003', # Commit Content Immediately
|
||||||
registrationStaffGroupId => $registrars->getId,
|
registrationStaffGroupId => $registrars->getId,
|
||||||
groupIdView => $attendees->getId
|
groupIdView => $attendees->getId,
|
||||||
|
submittedLocationsList => join( "\n", my @submissionLocations = qw'loc1 loc2' ),
|
||||||
});
|
});
|
||||||
# I scooped this out ot WG::Asset::Wobject::EventManagementSystem
|
# I scooped this out ot WG::Asset::Wobject::EventManagementSystem
|
||||||
# its not pretty, but there is no other way to add a meta field
|
# its not pretty, but there is no other way to add a meta field
|
||||||
|
|
@ -118,8 +119,15 @@ my $ems = $node->addChild({
|
||||||
defaultValues => '',
|
defaultValues => '',
|
||||||
},1,1);
|
},1,1);
|
||||||
|
|
||||||
|
my $i18n = $ems->i18n;
|
||||||
$versionTag->commit;
|
$versionTag->commit;
|
||||||
|
|
||||||
|
my $id1 = $ems->getNextSubmissionId;
|
||||||
|
my $id2 = $ems->getNextSubmissionId;
|
||||||
|
my $id3 = $ems->getNextSubmissionId;
|
||||||
|
my $id4 = $ems->getNextSubmissionId;
|
||||||
|
is( $id1 +3, $id4, ' test getNextSubmissionId' );
|
||||||
|
|
||||||
# quick test of addGroupToSubmitList
|
# quick test of addGroupToSubmitList
|
||||||
is($ems->get('eventSubmissionGroups'),'', 'event submission groups is blank');
|
is($ems->get('eventSubmissionGroups'),'', 'event submission groups is blank');
|
||||||
$ems->addGroupToSubmitList('joe');
|
$ems->addGroupToSubmitList('joe');
|
||||||
|
|
@ -131,6 +139,10 @@ is($ems->get('eventSubmissionGroups'),'joe frank', 'event submission groups stil
|
||||||
$ems->update({eventSubmissionGroups => ''});
|
$ems->update({eventSubmissionGroups => ''});
|
||||||
is($ems->get('eventSubmissionGroups'),'', 'event submission groups is reset to blank');
|
is($ems->get('eventSubmissionGroups'),'', 'event submission groups is reset to blank');
|
||||||
|
|
||||||
|
is_deeply($ems->getSubmissionLocations, \@submissionLocations, 'test getSubmissionLocations' );
|
||||||
|
is_deeply( $ems->getSubmissionStatus, {
|
||||||
|
map { $_ => $i18n->get($_) } ( qw/pending feedback failed approved created denied/ )
|
||||||
|
}, 'test getSubmissionStatus' );
|
||||||
|
|
||||||
$versionTag = WebGUI::VersionTag->getWorking($session);
|
$versionTag = WebGUI::VersionTag->getWorking($session);
|
||||||
WebGUI::Test->tagsToRollback($versionTag);
|
WebGUI::Test->tagsToRollback($versionTag);
|
||||||
|
|
@ -163,6 +175,7 @@ my $frmA = $ems->addSubmissionForm({
|
||||||
isa_ok( $frmA, 'WebGUI::Asset::EMSSubmissionForm' );
|
isa_ok( $frmA, 'WebGUI::Asset::EMSSubmissionForm' );
|
||||||
is( $ems->hasSubmissionForms, 1, 'ems now has forms' );
|
is( $ems->hasSubmissionForms, 1, 'ems now has forms' );
|
||||||
is_deeply( $frmA->getFormDescription, $formAdesc, 'form description matches' );
|
is_deeply( $frmA->getFormDescription, $formAdesc, 'form description matches' );
|
||||||
|
is( $frmA->ems->getId, $ems->getId, 'test ems access function in form' );
|
||||||
|
|
||||||
my $formBdesc = {
|
my $formBdesc = {
|
||||||
_fieldList => [ qw/title description duration mfRequiredUrl/ ],
|
_fieldList => [ qw/title description duration mfRequiredUrl/ ],
|
||||||
|
|
@ -205,7 +218,7 @@ push @cleanup, sub { $sub1->delete; };
|
||||||
print join( "\n", @{$sub1->{errors}} ),"\n" if defined $sub1->{errors};
|
print join( "\n", @{$sub1->{errors}} ),"\n" if defined $sub1->{errors};
|
||||||
my $isa1 = isa_ok( $sub1, 'WebGUI::Asset::EMSSubmission', "userA/formA valid submission succeeded" );
|
my $isa1 = isa_ok( $sub1, 'WebGUI::Asset::EMSSubmission', "userA/formA valid submission succeeded" );
|
||||||
ok( $ems->hasSubmissions, 'UserA has submissions on this ems' );
|
ok( $ems->hasSubmissions, 'UserA has submissions on this ems' );
|
||||||
|
is( $sub1->ems->getId, $ems->getId, 'test ems access function in submission' );
|
||||||
loginUserB;
|
loginUserB;
|
||||||
|
|
||||||
ok( $ems->canSubmit, 'UserB can submit to this ems' );
|
ok( $ems->canSubmit, 'UserB can submit to this ems' );
|
||||||
|
|
@ -228,6 +241,70 @@ ok( $ems->canSubmit, 'UserC can submit to this ems' );
|
||||||
ok( $frmA->canSubmit, 'UserC can submit to formA' );
|
ok( $frmA->canSubmit, 'UserC can submit to formA' );
|
||||||
ok( $frmB->canSubmit, 'UserC can submit to formB' );
|
ok( $frmB->canSubmit, 'UserC can submit to formB' );
|
||||||
|
|
||||||
|
loginUserA;
|
||||||
|
cmp_deeply( from_json($ems->www_getAllSubmissions), {
|
||||||
|
sort => undef,
|
||||||
|
startIndex => 1,
|
||||||
|
records => [
|
||||||
|
{
|
||||||
|
lastReplyDate => '',
|
||||||
|
submissionId => '4',
|
||||||
|
creationDate => ignore(),
|
||||||
|
createdBy => 'userA',
|
||||||
|
url => '/test-ems?func=viewSubmissionQueue#4',
|
||||||
|
submissionStatus => $i18n->get('pending'),
|
||||||
|
title => 'my favorite thing to talk about',
|
||||||
|
lastReplyBy => ''
|
||||||
|
}
|
||||||
|
],
|
||||||
|
totalRecords => '1',
|
||||||
|
recordsReturned => 25,
|
||||||
|
dir => 'DESC',
|
||||||
|
}, 'test getAllSubmissions for UserA' );
|
||||||
|
|
||||||
|
loginUserC;
|
||||||
|
cmp_deeply( from_json($ems->www_getAllSubmissions), {
|
||||||
|
sort => undef,
|
||||||
|
startIndex => 1,
|
||||||
|
records => [
|
||||||
|
],
|
||||||
|
totalRecords => '0',
|
||||||
|
recordsReturned => 25,
|
||||||
|
dir => 'DESC',
|
||||||
|
}, 'test getAllSubmissions for UserC' );
|
||||||
|
|
||||||
|
loginRgstr;
|
||||||
|
$session->request->setup_body({ orderByColumn => 'submissionId' });
|
||||||
|
cmp_deeply( from_json($ems->www_getAllSubmissions), {
|
||||||
|
sort => 'submissionId',
|
||||||
|
startIndex => 1,
|
||||||
|
records => [
|
||||||
|
{
|
||||||
|
lastReplyDate => '',
|
||||||
|
submissionId => '5',
|
||||||
|
creationDate => ignore(),
|
||||||
|
createdBy => 'userB',
|
||||||
|
url => '/test-ems?func=viewSubmissionQueue#5',
|
||||||
|
submissionStatus => $i18n->get('pending'),
|
||||||
|
title => 'why i like to be important',
|
||||||
|
lastReplyBy => ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
lastReplyDate => '',
|
||||||
|
submissionId => '4',
|
||||||
|
creationDate => ignore(),
|
||||||
|
createdBy => 'userA',
|
||||||
|
url => '/test-ems?func=viewSubmissionQueue#4',
|
||||||
|
submissionStatus => $i18n->get('pending'),
|
||||||
|
title => 'my favorite thing to talk about',
|
||||||
|
lastReplyBy => ''
|
||||||
|
},
|
||||||
|
],
|
||||||
|
totalRecords => '2',
|
||||||
|
recordsReturned => 25,
|
||||||
|
dir => 'DESC',
|
||||||
|
}, 'test getAllSubmissions for Registrar' );
|
||||||
|
|
||||||
# TODO fix num tests
|
# TODO fix num tests
|
||||||
SKIP: { skip 'create submission failed', 8 unless $isa1 && $isa2;
|
SKIP: { skip 'create submission failed', 8 unless $isa1 && $isa2;
|
||||||
|
|
||||||
|
|
@ -305,10 +382,9 @@ is( $sub2, undef, 'approval created a ticket');
|
||||||
|
|
||||||
$versionTag->commit;
|
$versionTag->commit;
|
||||||
|
|
||||||
|
|
||||||
SKIP: { skip 'requires HTML::Form', 2 unless use_ok 'HTML::Form';
|
SKIP: { skip 'requires HTML::Form', 2 unless use_ok 'HTML::Form';
|
||||||
# this is not the greatest testm but it does run through the basic create submissionForm code.
|
# this is not the greatest testm but it does run through the basic create submissionForm code.
|
||||||
loginAdmin;
|
loginRgstr;
|
||||||
|
|
||||||
my %settings = (
|
my %settings = (
|
||||||
assetId => 'new',
|
assetId => 'new',
|
||||||
|
|
@ -370,7 +446,6 @@ for my $input ( $form->inputs ) {
|
||||||
}
|
}
|
||||||
$session->request->setup_body( { $form->form } );
|
$session->request->setup_body( { $form->form } );
|
||||||
my $result = WebGUI::Asset::EMSSubmissionForm->processForm($ems);
|
my $result = WebGUI::Asset::EMSSubmissionForm->processForm($ems);
|
||||||
dav::dump $result;
|
|
||||||
cmp_deeply( $result, $expected , 'test process form' );
|
cmp_deeply( $result, $expected , 'test process form' );
|
||||||
$expected = {
|
$expected = {
|
||||||
'errors' => [
|
'errors' => [
|
||||||
|
|
@ -399,7 +474,25 @@ dav::dump $result;
|
||||||
cmp_deeply( $result, $expected , 'test process form' );
|
cmp_deeply( $result, $expected , 'test process form' );
|
||||||
} # end of skip HTML::Form
|
} # end of skip HTML::Form
|
||||||
|
|
||||||
print $ems->www_getAllSubmissions;
|
# these run code to see that it runs, but do not check for correctness
|
||||||
|
|
||||||
|
$ems->www_viewSubmissionQueue;
|
||||||
|
$ems->www_addSubmission;
|
||||||
|
$ems->www_addSubmissionForm;
|
||||||
|
$ems->www_editSubmissionForm;
|
||||||
|
$ems->www_editSubmissionFormSave;
|
||||||
|
$frmA->www_editSubmissionForm;
|
||||||
|
$frmA->www_addSubmission;
|
||||||
|
$frmA->www_editSubmission;
|
||||||
|
$frmA->www_editSubmissionSave;
|
||||||
|
$frmA->processForm;
|
||||||
|
$sub1->drawLocationField;
|
||||||
|
$sub1->drawRelatedBadgeGroupsField;
|
||||||
|
$sub1->drawRelatedRibbonsField;
|
||||||
|
$sub1->drawStatusField;
|
||||||
|
$sub1->www_editSubmission;
|
||||||
|
$sub1->www_editSubmissionSave;
|
||||||
|
$sub1->processForm;
|
||||||
|
|
||||||
} # end of use packages skip
|
} # end of use packages skip
|
||||||
}; # end of eval
|
}; # end of eval
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue