more work...
This commit is contained in:
parent
9f08ea7e32
commit
aa4f3ec0a4
4 changed files with 184 additions and 10 deletions
|
|
@ -286,6 +286,7 @@ dav::dump 'editSubmissionForm::definition:', [@defs];
|
||||||
$fields->{$metaField->{fieldId}} = { %$metaField }; # a simple first level copy
|
$fields->{$metaField->{fieldId}} = { %$metaField }; # a simple first level copy
|
||||||
# meta fields call it data type, we copy it to simplify later on
|
# meta fields call it data type, we copy it to simplify later on
|
||||||
$fields->{$metaField->{fieldId}}{fieldType} = $metaField->{dataType};
|
$fields->{$metaField->{fieldId}}{fieldType} = $metaField->{dataType};
|
||||||
|
$fields->{$metaField->{fieldId}}{hoverHelp} = $metaField->{helpText};
|
||||||
}
|
}
|
||||||
$newform->hidden( name => 'fieldNames', value => join( ' ', @fieldNames ) );
|
$newform->hidden( name => 'fieldNames', value => join( ' ', @fieldNames ) );
|
||||||
@defs = reverse @{WebGUI::Asset::EMSSubmissionForm->definition($session)};
|
@defs = reverse @{WebGUI::Asset::EMSSubmissionForm->definition($session)};
|
||||||
|
|
@ -321,7 +322,7 @@ dav::dump 'editSubmissionForm::dump before generate:',$fields;
|
||||||
errors => $params->{errors} || [],
|
errors => $params->{errors} || [],
|
||||||
backUrl => $parent->getUrl,
|
backUrl => $parent->getUrl,
|
||||||
pageForm => $newform->print,
|
pageForm => $newform->print,
|
||||||
},$parent->get('eventSubmissionFormTemplateId')));
|
},$parent->get('eventSubmissionTemplateId')));
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -184,6 +184,14 @@ sub definition {
|
||||||
hoverHelp => $i18n->get('print ticket template help'),
|
hoverHelp => $i18n->get('print ticket template help'),
|
||||||
namespace => 'EMS/PrintTicket',
|
namespace => 'EMS/PrintTicket',
|
||||||
},
|
},
|
||||||
|
eventSubmissionMainTemplateId => {
|
||||||
|
fieldType => 'template',
|
||||||
|
defaultValue => 'ylBSKblMdKpcDSIK2t_Ang',
|
||||||
|
tab => 'display',
|
||||||
|
label => $i18n->get('event submission form template'),
|
||||||
|
hoverHelp => $i18n->get('event submission form template help'),
|
||||||
|
namespace => 'EMS/SubmissionMain',
|
||||||
|
},
|
||||||
eventSubmissionTemplateId => {
|
eventSubmissionTemplateId => {
|
||||||
fieldType => 'template',
|
fieldType => 'template',
|
||||||
defaultValue => '8tqyQx-LwYUHIWOlKPjJrA',
|
defaultValue => '8tqyQx-LwYUHIWOlKPjJrA',
|
||||||
|
|
@ -200,14 +208,6 @@ sub definition {
|
||||||
hoverHelp => $i18n->get('event submission queue template help'),
|
hoverHelp => $i18n->get('event submission queue template help'),
|
||||||
namespace => 'EMS/SubmissionQueue',
|
namespace => 'EMS/SubmissionQueue',
|
||||||
},
|
},
|
||||||
eventSubmissionFormTemplateId => {
|
|
||||||
fieldType => 'template',
|
|
||||||
defaultValue => 'ylBSKblMdKpcDSIK2t_Ang',
|
|
||||||
tab => 'display',
|
|
||||||
label => $i18n->get('event submission form template'),
|
|
||||||
hoverHelp => $i18n->get('event submission form template help'),
|
|
||||||
namespace => 'EMS/SubmissionForm',
|
|
||||||
},
|
|
||||||
badgeInstructions => {
|
badgeInstructions => {
|
||||||
fieldType => 'HTMLArea',
|
fieldType => 'HTMLArea',
|
||||||
defaultValue => $i18n->get('default badge instructions'),
|
defaultValue => $i18n->get('default badge instructions'),
|
||||||
|
|
@ -374,6 +374,7 @@ sub getEventFieldsForImport {
|
||||||
type => $field->{dataType},
|
type => $field->{dataType},
|
||||||
options => $field->{possibleValues},
|
options => $field->{possibleValues},
|
||||||
defaultValue => $field->{defaultValues},
|
defaultValue => $field->{defaultValues},
|
||||||
|
helpText => $field->{defaultValues},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return \@fields;
|
return \@fields;
|
||||||
|
|
@ -434,6 +435,34 @@ sub getRibbons {
|
||||||
return $self->getLineage(['children'],{returnObjects=>1, includeOnlyClasses=>['WebGUI::Asset::Sku::EMSRibbon']});
|
return $self->getLineage(['children'],{returnObjects=>1, includeOnlyClasses=>['WebGUI::Asset::Sku::EMSRibbon']});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
sub getStatus {
|
||||||
|
my $self = shift;
|
||||||
|
my $key = shift;
|
||||||
|
|
||||||
|
unless ($self->{_status}) {
|
||||||
|
tie my %hash, "Tie::IxHash";
|
||||||
|
my $i18n = $self->i18n;
|
||||||
|
for my $item (
|
||||||
|
'pending',
|
||||||
|
'feedback',
|
||||||
|
'denied',
|
||||||
|
'approved',
|
||||||
|
'created',
|
||||||
|
'failed',
|
||||||
|
) {
|
||||||
|
$hash{$item} = $i18n->get($item),
|
||||||
|
}
|
||||||
|
$self->{_status} = \%hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($key) {
|
||||||
|
return $self->{_status}{$key};
|
||||||
|
}
|
||||||
|
|
||||||
|
return $self->{_status};
|
||||||
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 getTickets ()
|
=head2 getTickets ()
|
||||||
|
|
@ -504,6 +533,19 @@ sub hasSubmissions {
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
=head2 i18n
|
||||||
|
|
||||||
|
returns the internationalisation object for this asset
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub i18n {
|
||||||
|
my $self = shift;
|
||||||
|
return $self->{_i18n} ||= WebGUI::International->new($self->session,'Asset_EventManagementSystem');
|
||||||
|
}
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 isRegistrationStaff ( [ user ] )
|
=head2 isRegistrationStaff ( [ user ] )
|
||||||
|
|
||||||
Returns a boolean indicating whether the user is a member of the registration staff.
|
Returns a boolean indicating whether the user is a member of the registration staff.
|
||||||
|
|
@ -936,6 +978,7 @@ sub www_editEventMetaField {
|
||||||
required => $self->session->form->process("required",'yesNo'),
|
required => $self->session->form->process("required",'yesNo'),
|
||||||
possibleValues => $self->session->form->process("possibleValues",'textarea'),
|
possibleValues => $self->session->form->process("possibleValues",'textarea'),
|
||||||
defaultValues => $self->session->form->process("defaultValues",'textarea'),
|
defaultValues => $self->session->form->process("defaultValues",'textarea'),
|
||||||
|
helpText => $self->session->form->process("helpText",'textarea'),
|
||||||
};
|
};
|
||||||
$f->readOnly(
|
$f->readOnly(
|
||||||
-name => 'error',
|
-name => 'error',
|
||||||
|
|
@ -992,6 +1035,12 @@ sub www_editEventMetaField {
|
||||||
-hoverHelp => $i18n->get('488 description'),
|
-hoverHelp => $i18n->get('488 description'),
|
||||||
-value => $data->{defaultValues},
|
-value => $data->{defaultValues},
|
||||||
);
|
);
|
||||||
|
$f->textarea(
|
||||||
|
-name => "helpText",
|
||||||
|
-label => $i18n2->get('meta field help text),
|
||||||
|
-hoverHelp => $i18n2->get('meta field help text description'),
|
||||||
|
-value => $data->{helpText},
|
||||||
|
);
|
||||||
$f->submit;
|
$f->submit;
|
||||||
return $self->processStyle($f->print);
|
return $self->processStyle($f->print);
|
||||||
}
|
}
|
||||||
|
|
@ -1024,6 +1073,7 @@ sub www_editEventMetaFieldSave {
|
||||||
required => $self->session->form->process("required",'yesNo'),
|
required => $self->session->form->process("required",'yesNo'),
|
||||||
possibleValues => $self->session->form->process("possibleValues",'textarea'),
|
possibleValues => $self->session->form->process("possibleValues",'textarea'),
|
||||||
defaultValues => $self->session->form->process("defaultValues",'textarea'),
|
defaultValues => $self->session->form->process("defaultValues",'textarea'),
|
||||||
|
helpText => $self->session->form->process("helpText",'textarea'),
|
||||||
},1,1);
|
},1,1);
|
||||||
return $self->www_manageEventMetaFields();
|
return $self->www_manageEventMetaFields();
|
||||||
}
|
}
|
||||||
|
|
@ -1108,6 +1158,92 @@ sub www_exportEvents {
|
||||||
return "chunked";
|
return "chunked";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
=head2 www_getAllSubmissions ( session )
|
||||||
|
|
||||||
|
Get a page of Asset Manager data, ajax style. Returns a JSON array to be
|
||||||
|
formatted in a WebGUI submission queue data table.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub www_getAllSubmissions {
|
||||||
|
my $self = shift;
|
||||||
|
my $session = $self->session;
|
||||||
|
my $datetime = $session->datetime;
|
||||||
|
my $form = $session->form;
|
||||||
|
my $rowsPerPage = 25;
|
||||||
|
my $tableInfo = {};
|
||||||
|
|
||||||
|
return $session->privilege->insufficient unless $self->canView;
|
||||||
|
|
||||||
|
my $orderByColumn = $form->get( 'orderByColumn' ) || $self->get("sortColumn");
|
||||||
|
my $dir = $form->get('orderByDirection') || $self->get('sortOrder');
|
||||||
|
my $orderByDirection = lc ($dir) eq "asc" ? "ASC" : "DESC";
|
||||||
|
|
||||||
|
my $whereClause ;
|
||||||
|
if(!$self->canEdit) {
|
||||||
|
my $userId = $session->user->userId;
|
||||||
|
$whereClause .= qq{ createdBy='$userId'};
|
||||||
|
}
|
||||||
|
|
||||||
|
my $rules;
|
||||||
|
$rules->{'joinClass' } = "WebGUI::Asset::EMSSubmission";
|
||||||
|
$rules->{'whereClause' } = $whereClause;
|
||||||
|
$rules->{'includeOnlyClasses'} = ['WebGUI::Asset::EMSSubmission'];
|
||||||
|
$rules->{'orderByClause' } = $session->db->dbh->quote_identifier( $orderByColumn ) . ' ' . $orderByDirection if $orderByColumn;
|
||||||
|
|
||||||
|
my $sql = "";
|
||||||
|
|
||||||
|
$sql = $self->getLineageSql(['descendants'], $rules);
|
||||||
|
|
||||||
|
print $sql , "\n";
|
||||||
|
my $startIndex = $form->get( 'startIndex' ) || 1;
|
||||||
|
my $rowsPerPage = $form->get( 'rowsPerPage' ) || 25;
|
||||||
|
my $currentPage = int ( $startIndex / $rowsPerPage ) + 1;
|
||||||
|
|
||||||
|
my $p = WebGUI::Paginator->new( $session, '', $rowsPerPage, 'pn', $currentPage );
|
||||||
|
$p->setDataByQuery($sql);
|
||||||
|
|
||||||
|
$tableInfo->{'recordsReturned'} = $rowsPerPage;
|
||||||
|
$tableInfo->{'totalRecords' } = $p->getRowCount;
|
||||||
|
$tableInfo->{'startIndex' } = $startIndex;
|
||||||
|
$tableInfo->{'sort' } = $orderByColumn;
|
||||||
|
$tableInfo->{'dir' } = $orderByDirection;
|
||||||
|
$tableInfo->{'records' } = [];
|
||||||
|
|
||||||
|
for my $record ( @{ $p->getPageData } ) {
|
||||||
|
my $asset = WebGUI::Asset->newByDynamicClass( $session, $record->{assetId} );
|
||||||
|
|
||||||
|
my $lastReplyBy = $asset->get("lastReplyBy");
|
||||||
|
if ($lastReplyBy) {
|
||||||
|
$lastReplyBy = WebGUI::User->new($session,$lastReplyBy)->username;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Populate the required fields to fill in
|
||||||
|
my $lastReplyDate = $asset->get("lastReplyDate");
|
||||||
|
if($lastReplyDate) {
|
||||||
|
$lastReplyDate = $datetime->epochToHuman($lastReplyDate,"%y-%m-%d @ %H:%n %p");
|
||||||
|
}
|
||||||
|
|
||||||
|
my %fields = (
|
||||||
|
submissionId => $asset->get("submissionId"),
|
||||||
|
url => $asset->getUrl,
|
||||||
|
title => $asset->get( "title" ),
|
||||||
|
createdBy => WebGUI::User->new($session,$asset->get( "createdBy" ))->username,
|
||||||
|
creationDate => $datetime->epochToSet($asset->get( "creationDate" )),
|
||||||
|
status => $self->getStatus($asset->get( "submissionStatus" )),
|
||||||
|
lastReplyDate => $lastReplyDate,
|
||||||
|
lastReplyBy => $lastReplyBy,
|
||||||
|
);
|
||||||
|
|
||||||
|
push @{ $tableInfo->{ records } }, \%fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
$session->http->setMimeType( 'application/json' );
|
||||||
|
return JSON->new->encode( $tableInfo );
|
||||||
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 www_getBadgesAsJson ()
|
=head2 www_getBadgesAsJson ()
|
||||||
|
|
|
||||||
|
|
@ -1962,6 +1962,42 @@ normal templates.|,
|
||||||
context => q|This is the label for te main tab in the edit submissionnForm form|,
|
context => q|This is the label for te main tab in the edit submissionnForm form|,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'pending' => {
|
||||||
|
message => q|Pending|,
|
||||||
|
lastUpdated => 1147050475,
|
||||||
|
context => q|Label for pending status on submission.|,
|
||||||
|
},
|
||||||
|
|
||||||
|
'feedback' => {
|
||||||
|
message => q|Feedback|,
|
||||||
|
lastUpdated => 1147050475,
|
||||||
|
context => q|Label for feedback requested on a submission.|,
|
||||||
|
},
|
||||||
|
|
||||||
|
'denied' => {
|
||||||
|
message => q|Denied|,
|
||||||
|
lastUpdated => 1147050475,
|
||||||
|
context => q|Label for denied status on a submission.|,
|
||||||
|
},
|
||||||
|
|
||||||
|
'approved' => {
|
||||||
|
message => q|Approved|,
|
||||||
|
lastUpdated => 1147050475,
|
||||||
|
context => q|Label for approved status on a submission.|,
|
||||||
|
},
|
||||||
|
|
||||||
|
'created' => {
|
||||||
|
message => q|Created|,
|
||||||
|
lastUpdated => 1147050475,
|
||||||
|
context => q|Label for status indicating ticket is created for submission.|,
|
||||||
|
},
|
||||||
|
|
||||||
|
'failed' => {
|
||||||
|
message => q|Failed|,
|
||||||
|
lastUpdated => 1147050475,
|
||||||
|
context => q|Label indicating ticket creation failed for submission.|,
|
||||||
|
},
|
||||||
|
|
||||||
# 'TODO' => {
|
# 'TODO' => {
|
||||||
# message => q|TODO|,
|
# message => q|TODO|,
|
||||||
# lastUpdated => 1147050475,
|
# lastUpdated => 1147050475,
|
||||||
|
|
|
||||||
|
|
@ -399,8 +399,9 @@ 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
|
||||||
|
|
||||||
} # end of use packages skip
|
print $ems->www_getAllSubmissions;
|
||||||
|
|
||||||
|
} # end of use packages skip
|
||||||
}; # end of eval
|
}; # end of eval
|
||||||
print $@ if $@;
|
print $@ if $@;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue