more tests, started coding for real...
This commit is contained in:
parent
3ed18c775b
commit
ccc9e36e25
4 changed files with 121 additions and 22 deletions
|
|
@ -36,6 +36,22 @@ use Tie::IxHash;
|
|||
use Data::Dumper;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
=head2 canSubmit
|
||||
|
||||
returns true is the current user can submit to any form attached to this EMS
|
||||
|
||||
=cut
|
||||
|
||||
sub canSubmit {
|
||||
my $self = shift;
|
||||
my $user = $self->session->user;
|
||||
for my $groupId (split ' ', $self->get('eventSubmissionGroups')) {
|
||||
return 1 if $user->isInGroup($groupId);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub definition {
|
||||
my $class = shift;
|
||||
|
|
@ -109,27 +125,27 @@ sub definition {
|
|||
},
|
||||
eventSubmissionTemplateId => {
|
||||
fieldType => 'template',
|
||||
defaultValue => 'yBwydfooiLvhEFawJb0VTQ',
|
||||
defaultValue => 'eventSubmissionTmplt01',
|
||||
tab => 'display',
|
||||
label => $i18n->get('print ticket template'),
|
||||
hoverHelp => $i18n->get('print ticket template help'),
|
||||
namespace => 'EMS/PrintTicket',
|
||||
namespace => 'EMS/SubmissionForm',
|
||||
},
|
||||
viewEventSubmissionQueueTemplateId => {
|
||||
fieldType => 'template',
|
||||
defaultValue => 'yBwydfooiLvhEFawJb0VTQ',
|
||||
defaultValue => 'eventQueueTmplate00001',
|
||||
tab => 'display',
|
||||
label => $i18n->get('print ticket template'),
|
||||
hoverHelp => $i18n->get('print ticket template help'),
|
||||
namespace => 'EMS/PrintTicket',
|
||||
namespace => 'EMS/SubmissionQueue',
|
||||
},
|
||||
editEventSubmissionTemplateId => {
|
||||
fieldType => 'template',
|
||||
defaultValue => 'yBwydfooiLvhEFawJb0VTQ',
|
||||
defaultValue => 'editEventSubmissionT01',
|
||||
tab => 'display',
|
||||
label => $i18n->get('print ticket template'),
|
||||
hoverHelp => $i18n->get('print ticket template help'),
|
||||
namespace => 'EMS/PrintTicket',
|
||||
namespace => 'EMS/EditSubmission',
|
||||
},
|
||||
badgeInstructions => {
|
||||
fieldType => 'HTMLArea',
|
||||
|
|
@ -403,6 +419,28 @@ sub getTokens {
|
|||
return $self->getLineage(['children'],{returnObjects=>1, includeOnlyClasses=>['WebGUI::Asset::Sku::EMSToken']});
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
=head2 hasForms
|
||||
|
||||
returns true if the EMS has subission forms attached
|
||||
|
||||
=cut
|
||||
|
||||
sub hasForms {
|
||||
return 0;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
=head2 hasSubmissions
|
||||
|
||||
returns true if the current user has submission forms in this EMS
|
||||
|
||||
=cut
|
||||
|
||||
sub hasSubmissions {
|
||||
return 0;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 isRegistrationStaff ( [ user ] )
|
||||
|
|
@ -498,9 +536,16 @@ 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'),
|
||||
viewSubmissionsUrl => $self->getUrl('func=viewSubmissions'),
|
||||
viewSubmissionQueueUrl => $self->getUrl('func=viewSubmissionQueue'),
|
||||
addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
|
||||
manageBadgeGroupsUrl=> $self->getUrl('func=manageBadgeGroups'),
|
||||
getBadgesUrl => $self->getUrl('func=getBadgesAsJson'),
|
||||
canEdit => $self->canEdit,
|
||||
canSubmit => $self->canSubmit,
|
||||
hasSubmissions => $self->hasSubmissions,
|
||||
hasForms => $self->hasForms,
|
||||
lookupRegistrantUrl => $self->getUrl('func=lookupRegistrant'),
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -69,6 +69,21 @@ our $I18N = { ##hashref of hashes
|
|||
lastUpdated => 1131394072,
|
||||
context => q|This is the label used to describe the EMS submission cleanup activity|
|
||||
},
|
||||
'past deadline message' => {
|
||||
message => q|The deadline for this submission is past, no more submissions will be taken at this time.|,
|
||||
lastUpdated => 1131394072,
|
||||
context => q|This is the default message for informing the user that the submission deadline is past.|
|
||||
},
|
||||
'past deadline label' => {
|
||||
message => q|Post SUbmission Deadline Text|,
|
||||
lastUpdated => 1131394072,
|
||||
context => q|This is the label for the message indicating that the deadline for submissions has past.|
|
||||
},
|
||||
'past deadline label help' => {
|
||||
message => q|Enter a message here to let the user know that submissions are no longer being taken because the deadline has past.|,
|
||||
lastUpdated => 1131394072,
|
||||
context => q|This help text should describe how the user tells submitters that the submission deadline has past.|
|
||||
},
|
||||
|
||||
# 'TODO' => {
|
||||
# message => q|TODO|,
|
||||
|
|
|
|||
|
|
@ -1878,6 +1878,36 @@ normal templates.|,
|
|||
context => q|help text for the columns per page field|,
|
||||
},
|
||||
|
||||
'new submission form' => {
|
||||
message => q|New Submission Form|,
|
||||
lastUpdated => 1147050475,
|
||||
context => q|Label for the link to create a new submission form.|,
|
||||
},
|
||||
|
||||
'view submission queue' => {
|
||||
message => q|Submission Queue|,
|
||||
lastUpdated => 1147050475,
|
||||
context => q|Label for link to view submission queue.|,
|
||||
},
|
||||
|
||||
'new submission' => {
|
||||
message => q|New Submission|,
|
||||
lastUpdated => 1147050475,
|
||||
context => q|Label for link to create a new submission for an event.|,
|
||||
},
|
||||
|
||||
'view my submissions' => {
|
||||
message => q|My Submissions|,
|
||||
lastUpdated => 1147050475,
|
||||
context => q|Label for link to view submissions owned by current user.|,
|
||||
},
|
||||
|
||||
# 'TODO' => {
|
||||
# message => q|TODO|,
|
||||
# lastUpdated => 1147050475,
|
||||
# context => q|TODO|,
|
||||
# },
|
||||
|
||||
};
|
||||
|
||||
1;
|
||||
|
|
|
|||
|
|
@ -119,20 +119,23 @@ WebGUI::Test->tagsToRollback($versionTag);
|
|||
|
||||
loginRgstr;
|
||||
|
||||
is( $ems->hasForms, 0, 'ems currently has no forms' );
|
||||
|
||||
my $frmA = $ems->addChild({
|
||||
className => 'WebGUI::Asset::EMSSubmissionForm',
|
||||
title => 'test A -- long',
|
||||
canSubmitGroup => $submitGroupA->getId,
|
||||
daysBeforeCleanup => 1,
|
||||
formDescription => q{ {
|
||||
'title' : { 'type' : 'text' },
|
||||
'description' : { 'type' : 'textarea' },
|
||||
'duration' : { 'default' : 2.0 },
|
||||
'startDate' : { 'type' : 'selectList', 'options' :
|
||||
'title' : { 'type' : 'text' },
|
||||
'description' : { 'type' : 'textarea' },
|
||||
'duration' : { 'default' : 2.0 },
|
||||
'startDate' : { 'type' : 'selectList', 'options' :
|
||||
[ '1255150800', '1255237200', '1255323600' ] },
|
||||
} },
|
||||
});
|
||||
isa_ok( $frmA, 'WebGUI::Asset::EMSSubmissionForm' );
|
||||
is( $ems->hasForms, 1, 'ems now has forms' );
|
||||
ok( $frmA->validateSubmission({
|
||||
title => 'titlea',
|
||||
description => 'the description',
|
||||
|
|
@ -170,13 +173,14 @@ my $frmB = $ems->addChild({
|
|||
daysBeforeCleanup => 0,
|
||||
canSubmitGroup => $submitGroupB->getId,
|
||||
formDescription => q{ {
|
||||
'title' : { 'type' : 'text' },
|
||||
'description' : { 'type' : 'textarea' },
|
||||
'duration' : { 'default' : 0.5 },
|
||||
'startDate' : { 'default' : '1255150800' },
|
||||
'metaField1' : { 'type' : 'Url' },
|
||||
'title' : { 'type' : 'text' },
|
||||
'description' : { 'type' : 'textarea' },
|
||||
'duration' : { 'default' : 0.5 },
|
||||
'startDate' : { 'default' : '1255150800' },
|
||||
'metaField1' : { 'type' : 'Url' },
|
||||
} },
|
||||
});
|
||||
is( $ems->hasForms, 1, 'ems still has forms' );
|
||||
ok( $frmA->validateSubmission({
|
||||
title => 'title',
|
||||
description => 'description',
|
||||
|
|
@ -188,19 +192,26 @@ ok( !$frmA->validateSubmission({
|
|||
metaField1 => 'joe@sams.org',
|
||||
}), 'invalid submission: test invalid metafield value' );
|
||||
|
||||
logout;
|
||||
|
||||
is( $ems->canSubmit, 0, 'current user cannot submit to this ems' );
|
||||
|
||||
loginUserA;
|
||||
|
||||
is( $ems->canSubmit, 1, 'current user can submit to this ems' );
|
||||
is( $ems->hasSubmissions, 0, 'current user has no submissions' );
|
||||
# this one should work
|
||||
my $sub1 = $frmA->addSubmission({
|
||||
title => 'my favorite thing to talk about',
|
||||
});
|
||||
isa_ok( $sub1, 'WebGUI::Asset::EMSSubmission', "valid submission succeeded" );
|
||||
is( $ems->hasSubmissions, 1, 'current user has submissions on this ems' );
|
||||
|
||||
#this one should fail
|
||||
my $sub2 = $frmB->addSubmission({
|
||||
title => 'why i like to be important',
|
||||
});
|
||||
ok( not defined $sub2, "invalid submission failed" );
|
||||
ok( not defined $sub2, "user cannot submit to this form" );
|
||||
|
||||
loginUserB;
|
||||
|
||||
|
|
@ -242,13 +253,11 @@ ok($sub1->update({
|
|||
is( $sub1->get('title'),'the new title','successfully changed the title');
|
||||
|
||||
|
||||
ok($sub1->update({
|
||||
status => 'approved'
|
||||
}),'set status to approved');
|
||||
$sub1->update({ status => 'approved' });
|
||||
is($sub1->get('status'),'approved','set status to approved');
|
||||
|
||||
ok($sub2->update({
|
||||
status => 'denied'
|
||||
}),'set status to denied');
|
||||
$sub2->update({ status => 'denied' });
|
||||
is($sub2->get('status'),'denied','set status to denied');
|
||||
|
||||
# create the workflows/activities for processing
|
||||
my $approveSubmissions = WebGUI::Test::Activity->create( $session,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue