Beginnings of templated view method for Event Manager
This commit is contained in:
parent
9d4eb51fb2
commit
372d376b43
2 changed files with 57 additions and 9 deletions
|
|
@ -101,14 +101,30 @@ sub updateTemplates {
|
|||
#-------------------------------------------------
|
||||
sub addEMSTemplates {
|
||||
print "\tAdding Event Management System Templates.\n" unless ($quiet);
|
||||
|
||||
my $template = <<EOT1;
|
||||
<a name="id<tmpl_var assetId>" id="id<tmpl_var assetId>"></a>
|
||||
|
||||
<tmpl_if session.var.adminOn>
|
||||
<p><tmpl_var controls></p>
|
||||
</tmpl_if>
|
||||
|
||||
<tmpl_if canManageEvents>
|
||||
<a href='<tmpl_var manageEvents.url>'><tmpl_var manageEvents.label></a>
|
||||
</tmpl_if>
|
||||
|
||||
<tmpl_loop events_loop>
|
||||
<tmpl_var title> <tmpl_var description> <tmpl_var price><br>
|
||||
</tmpl_loop>
|
||||
|
||||
<tmpl_var paginateBar>
|
||||
EOT1
|
||||
|
||||
my $template2 = <<EOT2;
|
||||
<h1><tmpl_var title></h1><br>
|
||||
<tmpl_var description> <tmpl_var price><br>
|
||||
|
||||
|
||||
EOT2
|
||||
my $in = WebGUI::Asset->getImportNode($session);
|
||||
$in->addChild({
|
||||
className=>'WebGUI::Asset::Template',
|
||||
|
|
@ -116,6 +132,13 @@ EOT1
|
|||
namespace=>'EventManagementSystem',
|
||||
}, "EventManagerTmpl000001"
|
||||
);
|
||||
|
||||
$in->addChild({
|
||||
className=>'WebGUI::Asset::Template',
|
||||
template=>$template2,
|
||||
namespace=>'EventManagementSystem_product',
|
||||
}, "EventManagerTmpl000002"
|
||||
);
|
||||
}
|
||||
|
||||
#-------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -434,7 +434,7 @@ sub www_editEvent {
|
|||
$f->hidden( -name=>"func",-value=>"editEventSave" );
|
||||
$f->hidden( -name=>"pid", -value=>$pid );
|
||||
|
||||
if ($self->session->user->isInGroup($self->get("groupToApproveEvents"))) {
|
||||
if ($self->session->user->isInGroup($self->get("groupToApproveEvents")) && $pid ne "new") {
|
||||
unless ($self->eventIsApproved($pid)) {
|
||||
$f->readOnly(
|
||||
-value => sprintf "<a href='%s'>%s</a>", $self->getUrl("func=approveEvent;pid=".$pid), $i18n->get('add/edit approve event'),
|
||||
|
|
@ -465,7 +465,7 @@ sub www_editEvent {
|
|||
|
||||
$f->template(
|
||||
-name => "templateId",
|
||||
-namespace => "product",
|
||||
-namespace => "EventManagementSystem_product",
|
||||
-value => $self->session->form->get("templateId") || $event->{templateId},
|
||||
-hoverHelp => $i18n->get('add/edit event template description'),
|
||||
-label => "Event Template" #$i18n->get('add/edit event template')
|
||||
|
|
@ -748,16 +748,41 @@ sub view {
|
|||
my %var;
|
||||
|
||||
# Get the products available for sale for this page
|
||||
my $sql = "select p.productId, p.title, p.description, p.price, e.approved from products as p, EventManagementSystem_products as e
|
||||
my $sql = "select p.productId, p.title, p.description, p.price, p.templateId, e.approved
|
||||
from products as p, EventManagementSystem_products as e
|
||||
where
|
||||
p.productId = e.productId and approved=1
|
||||
and e.assetId =".$self->session->db->quote($self->get("assetId"));
|
||||
|
||||
#my $p = WebGUI::Paginator->new($self->session,$self->getUrl,$self->get("paginateAfter"));
|
||||
#$p->setDataByQuery($sql);
|
||||
#$var{'events_loop'} = $p->getPage;
|
||||
#$p->appendTemplateVars(\%var);
|
||||
$var{'events_loop'} = $self->session->db->quickHash($sql);
|
||||
my $p = WebGUI::Paginator->new($self->session,$self->getUrl,$self->get("paginateAfter"));
|
||||
$p->setDataByQuery($sql);
|
||||
my $eventData = $p->getPageData;
|
||||
my @events;
|
||||
|
||||
#We are getting each events information, passing it to the *events* template and processing it
|
||||
#The html returned from each events template is returned to the Event Manager Display Template for arranging
|
||||
#how the events are displayed in relation to one another.
|
||||
foreach my $event (@$eventData) {
|
||||
my %eventFields;
|
||||
|
||||
$eventFields{'title'} = $event->{'title'};
|
||||
$eventFields{'description'} = $event->{'description'};
|
||||
$eventFields{'price'} = $event->{'price'};
|
||||
|
||||
push (@events, {'event' => $self->processTemplate(\%eventFields, $event->{'templateId'}) });
|
||||
}
|
||||
|
||||
$var{'events_loop'} = \@events;
|
||||
$var{'paginateBar'} = $p->getBarTraditional;
|
||||
$var{'manageEvents.url'} = $self->getUrl('func=manageEvents');
|
||||
$var{'manageEvents.label'} = "Manage Events";
|
||||
if ($self->session->user->isInGroup($self->get("groupToManageEvents"))) {
|
||||
$var{'canManageEvents'} = 1;
|
||||
}
|
||||
else {
|
||||
$var{'canManageEvents'} = 0;
|
||||
}
|
||||
$p->appendTemplateVars(\%var);
|
||||
|
||||
my $templateId = $self->get("displayTemplateId");
|
||||
return $self->processTemplate(\%var, undef, $self->{_viewTemplate});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue