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;
use lib '/root/pb/lib'; use dav;
=head1 LEGAL
-------------------------------------------------------------------
@ -191,11 +192,6 @@ sub definition {
label => $i18n->get("send email label"),
hoverHelp => $i18n->get("send email label help")
},
adminOverride => {
noFormPost => 1,
fieldType => "hidden",
defaultValue => '{}',
},
ticketId => {
noFormPost => 1,
fieldType => "hidden",
@ -247,7 +243,7 @@ sub drawRelatedBadgeGroupsField {
name => $params->{name},
value => $self->get($params->{name}),
vertical => 1,
options => $self->getParent->getBadgeGroups,
options => $self->getParent->getParent->getBadgeGroups,
});
}
@ -262,7 +258,7 @@ Draws the field for the relatedRibbons property.
sub drawRelatedRibbonsField {
my ($self, $params) = @_;
my %ribbons = ();
foreach my $ribbon (@{$self->getParent->getRibbons}) {
foreach my $ribbon (@{$self->getParent->getParent->getRibbons}) {
$ribbons{$ribbon->getId} = $ribbon->getTitle;
}
return WebGUI::Form::checkList($self->session, {
@ -305,15 +301,18 @@ parameters for the submission
=cut
sub www_editSubmission {
my $this = shift;
my $self;
my $parent;
if( $this eq __PACKAGE__ ) { # called as a constructor
$parent = shift;
dav::log 'EMSSubmission::www_editSubmission: got class/parent params';
} else {
$self = $this;
$parent = $self->getParent;
dav::log 'EMSSubmission::www_editSubmission: got self param';
}
my $params = shift || { };
my $session = $parent->session;
@ -322,15 +321,19 @@ sub www_editSubmission {
if( ! defined( $assetId ) ) {
# 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;
} 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) {
$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);
$newform->hidden(name => 'assetId', value => $assetId);
my $formDescription = $parent->getFormDescription;
my @defs = reverse @{__PACKAGE__->definition($session)};
my $fields;
@ -367,12 +370,31 @@ sub www_editSubmission {
}
# TODO add the comment form
$newform->submit;
return $parent->processStyle(
$parent->processTemplate({
return $asset->processStyle(
$asset->processTemplate({
errors => $params->{errors} || [],
backUrl => $parent->getUrl,
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;
use lib '/root/pb/lib'; use dav;
=head1 LEGAL
-------------------------------------------------------------------
@ -256,12 +258,13 @@ sub www_editSubmissionForm {
'</h1><ul>' . $listOfLinks . '</ul>' );
}
} elsif( $assetId ne 'new' ) {
$self &&= WebGUI::Asset->newByDynamicClass($session,$assetId);
$self ||= WebGUI::Asset->newByDynamicClass($session,$assetId);
if (!defined($self)) {
$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 );
$newform->hidden(name => 'assetId', value => $assetId);
my @fieldNames = qw/title description startDate duration seatsAvailable location/;
@ -313,8 +316,8 @@ dav::dump 'editSubmissionForm::dump before generate:',$fields;
);
}
$newform->submit;
return $parent->processStyle(
$parent->processTemplate({
return $asset->processStyle(
$asset->processTemplate({
errors => $params->{errors} || [],
backUrl => $parent->getUrl,
pageForm => $newform->print,
@ -455,6 +458,7 @@ calls www_editSubmission with assetId == new
=cut
sub www_addSubmission {
dav::log __PACKAGE__ . '::www_addSubmission';
my $self = shift;
$self->www_editSubmission( { assetId => 'new' } );
}
@ -487,6 +491,7 @@ calls WebGUI::Asset::EMSSubmission->editSubmission
=cut
sub www_editSubmission {
dav::log __PACKAGE__ . '::www_addSubmission';
my $self = shift;
return $self->session->privilege->insufficient() unless $self->canEdit;
return WebGUI::Asset::EMSSubmission->www_editSubmission($self,shift);
@ -507,7 +512,7 @@ sub www_editSubmissionSave {
if( $formParams->{_isValid} ) {
delete $formParams->{_isValid};
$self->addSubmission($formParams);
return $self->www_viewSubmissionQueue;
return $self->getParent->www_viewSubmissionQueue;
} else {
return $self->www_editSubmission($formParams);
}

View file

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