working on queue and such

This commit is contained in:
daviddelikat 2009-10-25 10:00:20 -05:00
parent 238b38990d
commit 9f08ea7e32
3 changed files with 50 additions and 21 deletions

View file

@ -1,5 +1,6 @@
package WebGUI::Asset::EMSSubmission; package WebGUI::Asset::EMSSubmission;
use lib '/root/pb/lib'; use dav;
=head1 LEGAL =head1 LEGAL
------------------------------------------------------------------- -------------------------------------------------------------------
@ -191,11 +192,6 @@ sub definition {
label => $i18n->get("send email label"), label => $i18n->get("send email label"),
hoverHelp => $i18n->get("send email label help") hoverHelp => $i18n->get("send email label help")
}, },
adminOverride => {
noFormPost => 1,
fieldType => "hidden",
defaultValue => '{}',
},
ticketId => { ticketId => {
noFormPost => 1, noFormPost => 1,
fieldType => "hidden", fieldType => "hidden",
@ -247,7 +243,7 @@ sub drawRelatedBadgeGroupsField {
name => $params->{name}, name => $params->{name},
value => $self->get($params->{name}), value => $self->get($params->{name}),
vertical => 1, vertical => 1,
options => $self->getParent->getBadgeGroups, options => $self->getParent->getParent->getBadgeGroups,
}); });
} }
@ -262,7 +258,7 @@ Draws the field for the relatedRibbons property.
sub drawRelatedRibbonsField { sub drawRelatedRibbonsField {
my ($self, $params) = @_; my ($self, $params) = @_;
my %ribbons = (); my %ribbons = ();
foreach my $ribbon (@{$self->getParent->getRibbons}) { foreach my $ribbon (@{$self->getParent->getParent->getRibbons}) {
$ribbons{$ribbon->getId} = $ribbon->getTitle; $ribbons{$ribbon->getId} = $ribbon->getTitle;
} }
return WebGUI::Form::checkList($self->session, { return WebGUI::Form::checkList($self->session, {
@ -305,15 +301,18 @@ parameters for the submission
=cut =cut
sub www_editSubmission { sub www_editSubmission {
my $this = shift; my $this = shift;
my $self; my $self;
my $parent; my $parent;
if( $this eq __PACKAGE__ ) { # called as a constructor if( $this eq __PACKAGE__ ) { # called as a constructor
$parent = shift; $parent = shift;
dav::log 'EMSSubmission::www_editSubmission: got class/parent params';
} else { } else {
$self = $this; $self = $this;
$parent = $self->getParent; $parent = $self->getParent;
dav::log 'EMSSubmission::www_editSubmission: got self param';
} }
my $params = shift || { }; my $params = shift || { };
my $session = $parent->session; my $session = $parent->session;
@ -322,15 +321,19 @@ sub www_editSubmission {
if( ! defined( $assetId ) ) { if( ! defined( $assetId ) ) {
# if somebody calls without an assetId then display the queue for the EMS (grandparent) # if somebody calls without an assetId then display the queue for the EMS (grandparent)
dav::log 'EMSSubmission::www_editSubmission: asseId not defined';
return $parent->getParent->www_viewSubmissionQueue; return $parent->getParent->www_viewSubmissionQueue;
} elsif( $assetId ne 'new' ) { } elsif( $assetId ne 'new' ) {
$self = WebGUI::Asset->newByDynamicClass($session,$assetId); dav::log 'EMSSubmission::www_editSubmission: asseId 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"); $session->errorHandler->error(__PACKAGE__ . " - failed to instanciate asset with assetId $assetId");
} }
} }
my $url = ( $self || $parent )->getUrl('func=editSubmissionSave'); my $asset = $self || $parent;
my $url = $asset->getUrl('func=editSubmissionSave');
my $newform = WebGUI::HTMLForm->new($session,action => $url); my $newform = WebGUI::HTMLForm->new($session,action => $url);
$newform->hidden(name => 'assetId', value => $assetId);
my $formDescription = $parent->getFormDescription; my $formDescription = $parent->getFormDescription;
my @defs = reverse @{__PACKAGE__->definition($session)}; my @defs = reverse @{__PACKAGE__->definition($session)};
my $fields; my $fields;
@ -367,12 +370,31 @@ sub www_editSubmission {
} }
# TODO add the comment form # TODO add the comment form
$newform->submit; $newform->submit;
return $parent->processStyle( return $asset->processStyle(
$parent->processTemplate({ $asset->processTemplate({
errors => $params->{errors} || [], errors => $params->{errors} || [],
backUrl => $parent->getUrl, backUrl => $parent->getUrl,
pageForm => $newform->print, pageForm => $newform->print,
},$parent->get('eventSubmissionFormTemplateId'))); },$parent->getParent->get('eventSubmissionTemplateId')));
}
#-------------------------------------------------------------------
=head2 www_editSubmissionSave
=cut
sub www_editSubmissionSave {
my $self = shift;
return $self->session->privilege->insufficient() unless $self->canEdit;
my $formParams = WebGUI::Asset::EMSSubmission->processForm($self);
if( $formParams->{_isValid} ) {
delete $formParams->{_isValid};
$self->update($formParams);
return $self->getParent->getParent->www_viewSubmissionQueue;
} else {
return $self->www_editSubmission($formParams);
}
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------

View file

@ -1,5 +1,7 @@
package WebGUI::Asset::EMSSubmissionForm; package WebGUI::Asset::EMSSubmissionForm;
use lib '/root/pb/lib'; use dav;
=head1 LEGAL =head1 LEGAL
------------------------------------------------------------------- -------------------------------------------------------------------
@ -256,12 +258,13 @@ sub www_editSubmissionForm {
'</h1><ul>' . $listOfLinks . '</ul>' ); '</h1><ul>' . $listOfLinks . '</ul>' );
} }
} elsif( $assetId ne 'new' ) { } elsif( $assetId ne 'new' ) {
$self &&= WebGUI::Asset->newByDynamicClass($session,$assetId); $self ||= WebGUI::Asset->newByDynamicClass($session,$assetId);
if (!defined($self)) { if (!defined($self)) {
$session->errorHandler->error(__PACKAGE__ . " - failed to instanciate asset with assetId $assetId"); $session->errorHandler->error(__PACKAGE__ . " - failed to instanciate asset with assetId $assetId");
} }
} }
my $url = ( $self || $parent )->getUrl('func=editSubmissionFormSave'); my $asset = $self || $parent;
my $url = $asset->getUrl('func=editSubmissionFormSave');
my $newform = WebGUI::HTMLForm->new( $session, action => $url ); my $newform = WebGUI::HTMLForm->new( $session, action => $url );
$newform->hidden(name => 'assetId', value => $assetId); $newform->hidden(name => 'assetId', value => $assetId);
my @fieldNames = qw/title description startDate duration seatsAvailable location/; my @fieldNames = qw/title description startDate duration seatsAvailable location/;
@ -313,8 +316,8 @@ dav::dump 'editSubmissionForm::dump before generate:',$fields;
); );
} }
$newform->submit; $newform->submit;
return $parent->processStyle( return $asset->processStyle(
$parent->processTemplate({ $asset->processTemplate({
errors => $params->{errors} || [], errors => $params->{errors} || [],
backUrl => $parent->getUrl, backUrl => $parent->getUrl,
pageForm => $newform->print, pageForm => $newform->print,
@ -455,6 +458,7 @@ calls www_editSubmission with assetId == new
=cut =cut
sub www_addSubmission { sub www_addSubmission {
dav::log __PACKAGE__ . '::www_addSubmission';
my $self = shift; my $self = shift;
$self->www_editSubmission( { assetId => 'new' } ); $self->www_editSubmission( { assetId => 'new' } );
} }
@ -487,6 +491,7 @@ calls WebGUI::Asset::EMSSubmission->editSubmission
=cut =cut
sub www_editSubmission { sub www_editSubmission {
dav::log __PACKAGE__ . '::www_addSubmission';
my $self = shift; my $self = shift;
return $self->session->privilege->insufficient() unless $self->canEdit; return $self->session->privilege->insufficient() unless $self->canEdit;
return WebGUI::Asset::EMSSubmission->www_editSubmission($self,shift); return WebGUI::Asset::EMSSubmission->www_editSubmission($self,shift);
@ -507,7 +512,7 @@ sub www_editSubmissionSave {
if( $formParams->{_isValid} ) { if( $formParams->{_isValid} ) {
delete $formParams->{_isValid}; delete $formParams->{_isValid};
$self->addSubmission($formParams); $self->addSubmission($formParams);
return $self->www_viewSubmissionQueue; return $self->getParent->www_viewSubmissionQueue;
} else { } else {
return $self->www_editSubmission($formParams); return $self->www_editSubmission($formParams);
} }

View file

@ -1,5 +1,7 @@
package WebGUI::Asset::Wobject::EventManagementSystem; package WebGUI::Asset::Wobject::EventManagementSystem;
use lib '/root/pb/lib'; use dav;
=head1 LEGAL =head1 LEGAL
------------------------------------------------------------------- -------------------------------------------------------------------
@ -596,7 +598,6 @@ sub view {
buildBadgeUrl => $self->getUrl('func=buildBadge'), buildBadgeUrl => $self->getUrl('func=buildBadge'),
viewScheduleUrl => $self->getUrl('func=viewSchedule'), viewScheduleUrl => $self->getUrl('func=viewSchedule'),
addSubmissionUrl => $self->getUrl('func=addSubmission'), addSubmissionUrl => $self->getUrl('func=addSubmission'),
viewSubmissionsUrl => $self->getUrl('func=viewSubmissions'),
viewSubmissionQueueUrl => $self->getUrl('func=viewSubmissionQueue'), viewSubmissionQueueUrl => $self->getUrl('func=viewSubmissionQueue'),
addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'), addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
manageBadgeGroupsUrl=> $self->getUrl('func=manageBadgeGroups'), manageBadgeGroupsUrl=> $self->getUrl('func=manageBadgeGroups'),
@ -642,6 +643,7 @@ display a form or links to forms to create a new submission
=cut =cut
sub www_addSubmission { sub www_addSubmission {
dav::log __PACKAGE__ . '::www_addSubmission';
my $self = shift; my $self = shift;
my $params = shift || {}; my $params = shift || {};
my $session = $self->session; my $session = $self->session;
@ -664,7 +666,7 @@ sub www_addSubmission {
return qq{<li><a href='$u' title='$d'>$n</a></li>} } ; return qq{<li><a href='$u' title='$d'>$n</a></li>} } ;
my $listOfLinks = join '', ( map { my $listOfLinks = join '', ( map {
$makeAnchorList->( $makeAnchorList->(
$self->getUrl('func=addSubmission;formId=' . $_->getId ), $_->getUrl('func=addSubmission' ),
$_->get('title'), $_->get('title'),
WebGUI::HTML::filter($_->get('description'),'all') WebGUI::HTML::filter($_->get('description'),'all')
) )
@ -2346,9 +2348,9 @@ sub www_viewSubmissionQueue {
canSubmit => $self->canSubmit, canSubmit => $self->canSubmit,
hasSubmissionForms => $self->hasSubmissionForms, hasSubmissionForms => $self->hasSubmissionForms,
getSubmissionQueueDateUrl => $self->getUrl('func=getSubmissionQueueData'), getSubmissionQueueDateUrl => $self->getUrl('func=getSubmissionQueueData'),
addSumissionFormUrl => $self->getUrl('func=addSubmissionForm'), addSubmissionFormUrl => $self->getUrl('func=addSubmissionForm'),
editSubmissionFormUrl => $self->getUrl('func=editSubmissionForm'), editSubmissionFormUrl => $self->getUrl('func=editSubmissionForm'),
addSumissionUrl => $self->getUrl('func=addSubmission'), addSubmissionUrl => $self->getUrl('func=addSubmission'),
},$self->get('eventSubmissionQueueTemplateId'))); },$self->get('eventSubmissionQueueTemplateId')));
} }