EMS work
This commit is contained in:
parent
1416aa76e8
commit
fcfc0bc9b4
2 changed files with 58 additions and 12 deletions
|
|
@ -183,6 +183,7 @@ sub addEMSTemplates {
|
||||||
print "\tAdding Event Management System Templates.\n" unless ($quiet);
|
print "\tAdding Event Management System Templates.\n" unless ($quiet);
|
||||||
|
|
||||||
my $template = <<EOT1;
|
my $template = <<EOT1;
|
||||||
|
|
||||||
<a name="id<tmpl_var assetId>" id="id<tmpl_var assetId>"></a>
|
<a name="id<tmpl_var assetId>" id="id<tmpl_var assetId>"></a>
|
||||||
|
|
||||||
<tmpl_if session.var.adminOn>
|
<tmpl_if session.var.adminOn>
|
||||||
|
|
@ -193,17 +194,17 @@ my $template = <<EOT1;
|
||||||
</tmpl_if>
|
</tmpl_if>
|
||||||
|
|
||||||
<tmpl_loop events_loop>
|
<tmpl_loop events_loop>
|
||||||
<tmpl_var title> <tmpl_var description> <tmpl_var price><br>
|
<tmpl_var event>
|
||||||
</tmpl_loop>
|
</tmpl_loop>
|
||||||
|
|
||||||
<tmpl_var paginateBar>
|
<tmpl_var paginateBar>
|
||||||
EOT1
|
EOT1
|
||||||
|
|
||||||
my $template2 = <<EOT2;
|
my $template2 = <<EOT2;
|
||||||
|
|
||||||
<h1><tmpl_var title></h1><br>
|
<h1><tmpl_var title></h1><br>
|
||||||
<tmpl_var description> <tmpl_var price><br>
|
<tmpl_var description> <tmpl_var price><br>
|
||||||
|
<a href="<tmpl_var purchase.url>"><tmpl_var purchase.label></a>
|
||||||
|
|
||||||
EOT2
|
EOT2
|
||||||
my $in = WebGUI::Asset->getImportNode($session);
|
my $in = WebGUI::Asset->getImportNode($session);
|
||||||
$in->addChild({
|
$in->addChild({
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ use WebGUI::HTMLForm;
|
||||||
use WebGUI::International;
|
use WebGUI::International;
|
||||||
use WebGUI::Commerce::ShoppingCart;
|
use WebGUI::Commerce::ShoppingCart;
|
||||||
use WebGUI::Commerce::Item;
|
use WebGUI::Commerce::Item;
|
||||||
|
use Data::Dumper;
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 checkRequiredFields ( requiredFields )
|
=head2 checkRequiredFields ( requiredFields )
|
||||||
|
|
@ -284,6 +285,49 @@ sub getRequiredEventNames {
|
||||||
return $self->session->db->buildArrayRef($sql);
|
return $self->session->db->buildArrayRef($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#------------------------------------------------------------------
|
||||||
|
sub getSubEvents {
|
||||||
|
my $self = shift;
|
||||||
|
my $eventId = shift;
|
||||||
|
my @subEvents;
|
||||||
|
|
||||||
|
my @prerequisites = $self->session->db->buildArray("
|
||||||
|
select prerequisiteId from EventManagementSystem_prerequisites
|
||||||
|
where productId=".$self->session->db->quote($eventId));
|
||||||
|
print "<pre>".Dumper(@prerequisites)."</pre>";
|
||||||
|
|
||||||
|
foreach my $prerequisite (@prerequisites) {
|
||||||
|
|
||||||
|
my $sth = $self->session->db->read("
|
||||||
|
select p.productId, p.title, pr.operator
|
||||||
|
from products as p, EventManagementSystem_prerequisites as pr, EventManagementSystem_prerequisiteEvents as pe
|
||||||
|
where
|
||||||
|
p.productId = pe.requiredProductId and
|
||||||
|
pr.prerequisiteId = pe.prerequisiteId and
|
||||||
|
pr.prerequisiteId =".$self->session->db->quote($prerequisite));
|
||||||
|
my %eventList;
|
||||||
|
my $operator;
|
||||||
|
while (my $hashRef = $sth->hashRef) {
|
||||||
|
$eventList{$hashRef->{productId}} = $hashRef->{title};
|
||||||
|
$operator = $hashRef->{operator} #overwritten each itteration with same value
|
||||||
|
}
|
||||||
|
push (@subEvents, {
|
||||||
|
'eventList' => \%eventList,
|
||||||
|
'operator' => $operator
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
print "<pre>".Dumper(@subEvents)."</pre>";
|
||||||
|
return \@subEvents;
|
||||||
|
}
|
||||||
|
|
||||||
|
#------------------------------------------------------------------
|
||||||
|
sub startCheckoutWizard {
|
||||||
|
my $self = shift;
|
||||||
|
my $eventId = shift;
|
||||||
|
my $subEvents = $self->getSubEvents($eventId);
|
||||||
|
}
|
||||||
|
|
||||||
#------------------------------------------------------------------
|
#------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 validateEditEventForm ( )
|
=head2 validateEditEventForm ( )
|
||||||
|
|
@ -335,6 +379,7 @@ Method that will add an event to the users shopping cart.
|
||||||
sub www_addToCart {
|
sub www_addToCart {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $eventId = $self->session->form->get("pid");
|
my $eventId = $self->session->form->get("pid");
|
||||||
|
$self->startCheckoutWizard($eventId);
|
||||||
|
|
||||||
WebGUI::Commerce::ShoppingCart->new($self->session)->add($eventId, 'Event');
|
WebGUI::Commerce::ShoppingCart->new($self->session)->add($eventId, 'Event');
|
||||||
|
|
||||||
|
|
@ -509,7 +554,7 @@ sub www_editEvent {
|
||||||
$f->dateTime(
|
$f->dateTime(
|
||||||
-name => "endDate",
|
-name => "endDate",
|
||||||
-value => $self->session->form->get("endDate") || $event->{endDate},
|
-value => $self->session->form->get("endDate") || $event->{endDate},
|
||||||
-defaultValue => "32472169200",
|
-defaultValue => time()+3600, #one hour from start date
|
||||||
-hoverHelp => $i18n->get('add/edit event end date description'),
|
-hoverHelp => $i18n->get('add/edit event end date description'),
|
||||||
-label => $i18n->get('add/edit event end date')
|
-label => $i18n->get('add/edit event end date')
|
||||||
);
|
);
|
||||||
|
|
@ -540,10 +585,10 @@ sub www_editEvent {
|
||||||
|
|
||||||
$f->radioList(
|
$f->radioList(
|
||||||
-name => "requirement",
|
-name => "requirement",
|
||||||
-options => { "and" => $i18n->get("and"),
|
-options => { 'and' => $i18n->get("and"),
|
||||||
"or" => $i18n->get("or"),
|
'or' => $i18n->get("or"),
|
||||||
},
|
},
|
||||||
-defaultValue => "and"
|
-value => 'and',
|
||||||
-label => $i18n->get("add/edit event operator"),
|
-label => $i18n->get("add/edit event operator"),
|
||||||
-hoverHelp => $i18n->get("add/edit event operator description"),
|
-hoverHelp => $i18n->get("add/edit event operator description"),
|
||||||
);
|
);
|
||||||
|
|
@ -784,7 +829,7 @@ sub view {
|
||||||
where
|
where
|
||||||
p.productId = e.productId and approved=1
|
p.productId = e.productId and approved=1
|
||||||
and e.assetId =".$self->session->db->quote($self->get("assetId"))."
|
and e.assetId =".$self->session->db->quote($self->get("assetId"))."
|
||||||
and p.productId not in (select distinct(productId) from EventManagementSystem_prerequisites)";
|
and p.productId not in (select distinct(requiredProductId) from EventManagementSystem_prerequisiteEvents)";
|
||||||
|
|
||||||
my $p = WebGUI::Paginator->new($self->session,$self->getUrl,$self->get("paginateAfter"));
|
my $p = WebGUI::Paginator->new($self->session,$self->getUrl,$self->get("paginateAfter"));
|
||||||
$p->setDataByQuery($sql);
|
$p->setDataByQuery($sql);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue