This commit is contained in:
Roy Johnson 2006-02-14 16:24:57 +00:00
parent 1416aa76e8
commit fcfc0bc9b4
2 changed files with 58 additions and 12 deletions

View file

@ -183,6 +183,7 @@ 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>
@ -190,20 +191,20 @@ my $template = <<EOT1;
</tmpl_if>
<tmpl_if canManageEvents>
<a href='<tmpl_var manageEvents.url>'><tmpl_var manageEvents.label></a>
</tmpl_if>
</tmpl_if>
<tmpl_loop events_loop>
<tmpl_var title>&nbsp;<tmpl_var description>&nbsp;<tmpl_var price><br>
</tmpl_loop>
<tmpl_loop events_loop>
<tmpl_var event>
</tmpl_loop>
<tmpl_var paginateBar>
<tmpl_var paginateBar>
EOT1
my $template2 = <<EOT2;
<h1><tmpl_var title></h1><br>
<tmpl_var description>&nbsp;<tmpl_var price><br>
<a href="<tmpl_var purchase.url>"><tmpl_var purchase.label></a>
EOT2
my $in = WebGUI::Asset->getImportNode($session);
$in->addChild({

View file

@ -21,6 +21,7 @@ use WebGUI::HTMLForm;
use WebGUI::International;
use WebGUI::Commerce::ShoppingCart;
use WebGUI::Commerce::Item;
use Data::Dumper;
#-------------------------------------------------------------------
=head2 checkRequiredFields ( requiredFields )
@ -284,6 +285,49 @@ sub getRequiredEventNames {
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 ( )
@ -335,6 +379,7 @@ Method that will add an event to the users shopping cart.
sub www_addToCart {
my $self = shift;
my $eventId = $self->session->form->get("pid");
$self->startCheckoutWizard($eventId);
WebGUI::Commerce::ShoppingCart->new($self->session)->add($eventId, 'Event');
@ -509,7 +554,7 @@ sub www_editEvent {
$f->dateTime(
-name => "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'),
-label => $i18n->get('add/edit event end date')
);
@ -540,10 +585,10 @@ sub www_editEvent {
$f->radioList(
-name => "requirement",
-options => { "and" => $i18n->get("and"),
"or" => $i18n->get("or"),
-options => { 'and' => $i18n->get("and"),
'or' => $i18n->get("or"),
},
-defaultValue => "and"
-value => 'and',
-label => $i18n->get("add/edit event operator"),
-hoverHelp => $i18n->get("add/edit event operator description"),
);
@ -784,7 +829,7 @@ sub view {
where
p.productId = e.productId and approved=1
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"));
$p->setDataByQuery($sql);