ems badge listing now works and you can add badges
made address book address selector use callbacks so that it can be used by things other than shipping
This commit is contained in:
parent
aaac88ce6f
commit
8a07dde303
5 changed files with 155 additions and 70 deletions
|
|
@ -56,9 +56,20 @@ sub upgradeEMS {
|
|||
}
|
||||
}
|
||||
print "\t\tAltering table structures.\n" unless ($quiet);
|
||||
$db->write("alter table EventManagementSystem add column timezone varchar(30) not null default 'America/Chicago'");
|
||||
$db->write("alter table EventManagementSystem drop column globalMetadata");
|
||||
$db->write("alter table EventManagementSystem drop column globalPrerequisites");
|
||||
$db->write("alter table EventManagementSystem drop column displayTemplateId");
|
||||
$db->write("alter table EventManagementSystem drop column checkoutTemplateId");
|
||||
$db->write("alter table EventManagementSystem drop column managePurchasesTemplateId");
|
||||
$db->write("alter table EventManagementSystem drop column viewPurchaseTemplateId");
|
||||
$db->write("alter table EventManagementSystem drop column searchTemplateId");
|
||||
$db->write("alter table EventManagementSystem drop column paginateAfter");
|
||||
$db->write("alter table EventManagementSystem drop column groupToAddEvents");
|
||||
$db->write("alter table EventManagementSystem drop column badgePrinterTemplateId");
|
||||
$db->write("alter table EventManagementSystem drop column ticketPrinterTemplateId");
|
||||
$db->write("alter table EventManagementSystem add column timezone varchar(30) not null default 'America/Chicago'");
|
||||
$db->write("alter table EventManagementSystem add column templateId varchar(22) binary not null");
|
||||
$db->write("alter table EventManagementSystem add column extrasTemplateId varchar(22) binary not null");
|
||||
print "\t\tCreating new tables.\n" unless ($quiet);
|
||||
$db->write("create table EMSRegistrant (
|
||||
badgeId varchar(22) binary not null primary key,
|
||||
|
|
@ -380,6 +391,7 @@ sub addShippingDrivers {
|
|||
# and here's our code
|
||||
$session->config->delete('shippingPlugins');
|
||||
$session->config->addToArray('shippingDrivers', 'WebGUI::Shop::ShipDriver::FlatRate');
|
||||
$session->db->write("insert into shipper (shipperId, className,options) values ('defaultfreeshipping000','WebGUI::Shop::ShipDriver::FlatRate',?)",[q|{"label":"Free Shipping","enabled":1}|]);
|
||||
}
|
||||
|
||||
#-------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -242,18 +242,18 @@ sub view {
|
|||
$info->hidden(name=>"func", value=>"addToCart");
|
||||
$info->text(
|
||||
name => 'name',
|
||||
defaultValue => (defined $address) ? $address->get("name") : $form->get('name'),
|
||||
label => $i18n->get('name','Shop'),
|
||||
defaultValue => (defined $address) ? $address->get("name") : $form->get('name'),
|
||||
);
|
||||
$info->text(
|
||||
name => 'organization',
|
||||
defaultValue => $form->get("organization"),
|
||||
label => $i18n->get('organization'),
|
||||
defaultValue => $form->get("organization"),
|
||||
);
|
||||
$info->text(
|
||||
name => 'address1',
|
||||
defaultValue => (defined $address) ? $address->get("address1") : $form->get('address1'),
|
||||
label => $i18n->get('address','Shop'),
|
||||
defaultValue => (defined $address) ? $address->get("address1") : $form->get('address1'),
|
||||
);
|
||||
$info->text(
|
||||
name => 'address2',
|
||||
|
|
@ -265,35 +265,35 @@ sub view {
|
|||
);
|
||||
$info->text(
|
||||
name => 'city',
|
||||
defaultValue => (defined $address) ? $address->get("city") : $form->get('city'),
|
||||
label => $i18n->get('city','Shop'),
|
||||
defaultValue => (defined $address) ? $address->get("city") : $form->get('city'),
|
||||
);
|
||||
$info->text(
|
||||
name => 'state',
|
||||
defaultValue => (defined $address) ? $address->get("state") : $form->get('state'),
|
||||
label => $i18n->get('state','Shop'),
|
||||
defaultValue => (defined $address) ? $address->get("state") : $form->get('state'),
|
||||
);
|
||||
$info->zipcode(
|
||||
name => 'zipcode',
|
||||
defaultValue => (defined $address) ? $address->get("code") : $form->get('zipcode','zipcode'),
|
||||
label => $i18n->get('code','Shop'),
|
||||
defaultValue => (defined $address) ? $address->get("code") : $form->get('zipcode','zipcode'),
|
||||
);
|
||||
$info->country(
|
||||
name => 'country',
|
||||
defaultValue => (defined $address) ? $address->get("country") : ($form->get('country') || 'United States'),
|
||||
label => $i18n->get('country','Shop'),
|
||||
defaultValue => (defined $address) ? $address->get("country") : ($form->get('country') || 'United States'),
|
||||
);
|
||||
$info->phone(
|
||||
name => 'phoneNumber',
|
||||
defaultValue => (defined $address) ? $address->get("phoneNumber") : $form->get("phone","phone"),
|
||||
label => $i18n->get('phone number','Shop'),
|
||||
defaultValue => (defined $address) ? $address->get("phoneNumber") : $form->get("phone","phone"),
|
||||
);
|
||||
$info->email(
|
||||
name => 'email',
|
||||
label => $i18n->get('email address'),
|
||||
defaultValue => $form->get("email","email")
|
||||
);
|
||||
$info->submit(value=>$i18n->get('add to cart','Shop'));
|
||||
$info->submit(value=>$i18n->get('add to cart'));
|
||||
|
||||
# render the page;
|
||||
my $output = '<h1>'.$self->getTitle.'</h1>'
|
||||
|
|
|
|||
|
|
@ -85,19 +85,30 @@ See WebGUI::Asset::prepareView() for details.
|
|||
sub prepareView {
|
||||
my $self = shift;
|
||||
$self->SUPER::prepareView();
|
||||
my $template = WebGUI::Asset::Template->new($self->session, $self->get("templateId"));
|
||||
$template->prepare;
|
||||
|
||||
# set up all the files that we need
|
||||
my ($style, $url) = $self->session->quick(qw(style url));
|
||||
$style->setLink($url->extras('/yui/build/fonts/fonts-min.css'), {rel=>'stylesheet', type=>'text/css'});
|
||||
$style->setLink($url->extras('/yui/build/datatable/assets/skins/sam/datatable.css'), {rel=>'stylesheet', type=>'text/css'});
|
||||
$style->setLink($url->extras('/yui/build/container/assets/skins/sam/container.css'), {rel=>'stylesheet', type=>'text/css'});
|
||||
$style->setScript($url->extras('/yui/build/utilities/utilities.js'), {type=>'text/javascript'});
|
||||
$style->setScript($url->extras('/yui/build/json/json-min.js'), {type=>'text/javascript'});
|
||||
$style->setScript($url->extras('/yui/build/datasource/datasource-beta-min.js'), {type=>'text/javascript'});
|
||||
$style->setScript($url->extras('/yui/build/datatable/datatable-beta-min.js'), {type=>'text/javascript'});
|
||||
|
||||
|
||||
$style->setScript($url->extras('/yui/build/container/container-min.js'), {type=>'text/javascript'});
|
||||
$style->setRawHeadTags(q|
|
||||
<style type="text/css">
|
||||
.badgeDescription {
|
||||
background-color: white;
|
||||
max-width: 400px;
|
||||
border:1px solid #000;
|
||||
padding:10px;
|
||||
}
|
||||
</style>
|
||||
|);
|
||||
return undef;
|
||||
my $template = WebGUI::Asset::Template->new($self->session, $self->get("templateId"));
|
||||
$template->prepare;
|
||||
$self->{_viewTemplate} = $template;
|
||||
}
|
||||
|
||||
|
|
@ -116,7 +127,6 @@ sub view {
|
|||
|
||||
# set up objects we'll need
|
||||
my $badgeId = $session->form->get("badgeId");
|
||||
my $i18n = WebGUI::International->new($session, "Asset_EventManagementSystem");
|
||||
my %var = ();
|
||||
|
||||
|
||||
|
|
@ -127,51 +137,91 @@ sub view {
|
|||
my $output = q|
|
||||
|
||||
<div class=" yui-skin-sam">
|
||||
<a href="|.$self->getUrl('func=add;class=WebGUI::Asset::Sku::EMSBadge').q|">Add a badge</a>
|
||||
<div id="emsBadgeList"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
YAHOO.util.Event.onDOMReady(function () {
|
||||
var DataSource = YAHOO.util.DataSource,
|
||||
Dom = YAHOO.util.Dom,
|
||||
DataTable = YAHOO.widget.DataTable,
|
||||
Paginator = YAHOO.widget.Paginator;
|
||||
|;
|
||||
|
||||
# the datasource deals with the stuff returned from www_getTransactionsAsJson
|
||||
# the datasource deals with the stuff returned from www_getBadgesAsJson
|
||||
$output .= "var mySource = new DataSource('".$self->getUrl('func=getBadgesAsJson')."');";
|
||||
$output .= <<STOP;
|
||||
mySource.responseType = DataSource.TYPE_JSON;
|
||||
mySource.responseSchema = {
|
||||
resultsList : 'records',
|
||||
totalRecords: 'totalRecords',
|
||||
fields : [ 'url', 'title', 'description', 'price', 'quantityAvailable']
|
||||
fields : [ 'url', 'title', 'description', 'price', 'quantityAvailable', 'deleteUrl', 'editUrl', 'assetId']
|
||||
};
|
||||
STOP
|
||||
|
||||
# create the data table, and a special formatter for the view transaction urls
|
||||
# paginator in case there are a lot of badges
|
||||
$output .= <<STOP;
|
||||
var formatViewBadgeDescription = function(elCell, oRecord, oColumn, orderNumber) {
|
||||
var myPaginator = new Paginator({
|
||||
containers : ['paging'],
|
||||
pageLinks : 5,
|
||||
rowsPerPage : 25,
|
||||
rowsPerPageOptions : [25,50,100],
|
||||
template : "<strong>{CurrentPageReport}</strong> {PreviousPageLink} {PageLinks} {NextPageLink} {RowsPerPageDropdown}"
|
||||
});
|
||||
STOP
|
||||
$output .= q{elCell.innerHTML = '<a href="transactionId=' + oRecord.getData('transactionId') + '">' + orderNumber + '</a>'; };
|
||||
$output .= '
|
||||
|
||||
# badge description formatter
|
||||
$output .= q|
|
||||
var formatViewBadgeDescription = function(elCell, oRecord, oColumn, title) {
|
||||
elCell.innerHTML = title;
|
||||
elCell.id = 'cell_' + oRecord.getData('assetId');
|
||||
elCell.tooltip = new YAHOO.widget.Tooltip("tt_" + oRecord.getData('assetId'),
|
||||
{ context:elCell.id, autodismissdelay:250000,
|
||||
text:'<div class="badgeDescription">'+oRecord.getData('description')+'</div>' });
|
||||
};
|
||||
|;
|
||||
|
||||
# add to cart formatter
|
||||
$output .= q|
|
||||
var formatAddToCart = function(elCell, oRecord, oColumn, url) {
|
||||
elCell.innerHTML = '<a href="' + url + '">Add To Cart</a>';
|
||||
};
|
||||
|;
|
||||
|
||||
# manage badge formatter
|
||||
$output .= q|
|
||||
var formatManageBadge = function(elCell, oRecord, oColumn, editUrl) {
|
||||
elCell.innerHTML = '<a href="' + oRecord.getData('deleteUrl') + '">Delete</a> / <a href="' + editUrl + '">Edit</a>';
|
||||
};
|
||||
|;
|
||||
|
||||
# quantity available formatter
|
||||
$output .= q|
|
||||
var formatQuantityAvailable = function(elCell, oRecord, oColumn, quantityAvailable) {
|
||||
elCell.innerHTML = (quantityAvailable == 0) ? '<strong>Sold Out!</strong>' : quantityAvailable;
|
||||
};
|
||||
|;
|
||||
|
||||
# create the data table
|
||||
$output .= <<STOP;
|
||||
var myTableConfig = {
|
||||
initialRequest : '',
|
||||
paginator : myPaginator
|
||||
};
|
||||
var myColumnDefs = [
|
||||
';
|
||||
$output .= '{key:"title", label:"'.$i18n->get('title').'", formatter:formatViewBadgeDescription},';
|
||||
$output .= '{key:"price", label:"'.$i18n->get('price').'",formatter:YAHOO.widget.DataTable.formatCurrency},';
|
||||
$output .= '{key:"quantityAvailable", label:"'.$i18n->get('').'"},';
|
||||
STOP
|
||||
if ($session->var->isAdminOn) {
|
||||
$output .= '{key:"editUrl", label:"Manage", formatter:formatManageBadge},';
|
||||
}
|
||||
$output .= '{key:"url", label:"Add To Cart", formatter:formatAddToCart},';
|
||||
$output .= '{key:"title", label:"Title",sortable:true,formatter:formatViewBadgeDescription},';
|
||||
$output .= '{key:"price", label:"Price",sortable:true,formatter:YAHOO.widget.DataTable.formatCurrency},';
|
||||
$output .= '{key:"quantityAvailable",sortable:true,label:"Quantity Available", formatter:formatQuantityAvailable},';
|
||||
$output .= <<STOP;
|
||||
];
|
||||
var myTable = new DataTable('emsBadgeList', myColumnDefs, mySource);
|
||||
STOP
|
||||
|
||||
# add the necessary event handler to the search button that sends the search request via ajax
|
||||
$output .= <<STOP;
|
||||
Dom.get('keywordSearchForm').onsubmit = function () {
|
||||
mySource.sendRequest(';keywords=' + Dom.get('keywordsField').value + ';startIndex=0',
|
||||
myTable.onDataReturnInitializeTable, myTable);
|
||||
return false;
|
||||
};
|
||||
var myTable = new DataTable('emsBadgeList', myColumnDefs, mySource, myTableConfig);
|
||||
|
||||
});
|
||||
</script>
|
||||
|
|
@ -197,13 +247,16 @@ sub www_getBadgesAsJson {
|
|||
return $session->privilege->insufficient() unless $self->canView;
|
||||
my ($db, $form) = $session->quick(qw(db form));
|
||||
my %results = ();
|
||||
foreach my $badge (@{$self->getLineage(['children'],{returnObjects=>1, includeOnlyClasses=>['WebGUI::Asset::Sku::Badge']})}) {
|
||||
foreach my $badge (@{$self->getLineage(['children'],{returnObjects=>1, includeOnlyClasses=>['WebGUI::Asset::Sku::EMSBadge']})}) {
|
||||
push(@{$results{records}}, {
|
||||
title => $badge->getTitle,
|
||||
description => $badge->get('description'),
|
||||
price => $badge->getPrice,
|
||||
price => $badge->getPrice+0,
|
||||
quantityAvailable => $badge->getQuantityAvailable,
|
||||
url => $badge->getUrl
|
||||
url => $badge->getUrl,
|
||||
editUrl => $badge->getUrl('func=edit'),
|
||||
deleteUrl => $badge->getUrl('func=delete'),
|
||||
assetId => $badge->getId,
|
||||
});
|
||||
}
|
||||
$results{totalRecords} = $results{recordsReturned} = scalar(@{$results{records}});
|
||||
|
|
@ -3822,22 +3875,6 @@ sub www_saveRegistrantInfo {
|
|||
return $self->www_view();
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 prepareView ( )
|
||||
|
||||
See WebGUI::Asset::prepareView() for details.
|
||||
|
||||
=cut
|
||||
|
||||
sub prepareView {
|
||||
my $self = shift;
|
||||
$self->SUPER::prepareView();
|
||||
my $templateId = $self->get("displayTemplateId");
|
||||
my $template = WebGUI::Asset::Template->new($self->session, $templateId);
|
||||
$template->prepare;
|
||||
$self->{_viewTemplate} = $template;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_search {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package WebGUI::Shop::AddressBook;
|
|||
use strict;
|
||||
|
||||
use Class::InsideOut qw{ :std };
|
||||
use JSON;
|
||||
use WebGUI::Asset::Template;
|
||||
use WebGUI::Exception::Shop;
|
||||
use WebGUI::Form;
|
||||
|
|
@ -146,6 +147,24 @@ sub delete {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 formatCallbackForm ( callback )
|
||||
|
||||
Returns an HTML hidden form field with the callback JSON block properly escaped.
|
||||
|
||||
=head3 callback
|
||||
|
||||
A JSON string that holds the callback information.
|
||||
|
||||
=cut
|
||||
|
||||
sub formatCallbackForm {
|
||||
my ($self, $callback) = @_;
|
||||
$callback =~ s/"/'/g;
|
||||
return '<input type="hidden" name="callback" value="'.$callback.'" />';
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 get ( [ property ] )
|
||||
|
||||
Returns a duplicated hash reference of this object’s data.
|
||||
|
|
@ -329,9 +348,9 @@ sub www_editAddress {
|
|||
error => $error,
|
||||
formHeader => WebGUI::Form::formHeader($session)
|
||||
.WebGUI::Form::hidden($session, {name=>"shop", value=>"address"})
|
||||
.$self->formatCallbackForm($form->get('callback'))
|
||||
.WebGUI::Form::hidden($session, {name=>"method", value=>"editAddressSave"})
|
||||
.WebGUI::Form::hidden($session, {name=>"addressId", value=>$form->get("addressId")})
|
||||
.WebGUI::Form::hidden($session, {name=>"itemId", value=>$form->get("itemId")}),
|
||||
.WebGUI::Form::hidden($session, {name=>"addressId", value=>$form->get("addressId")}),
|
||||
saveButton => WebGUI::Form::submit($session),
|
||||
formFooter => WebGUI::Form::formFooter($session),
|
||||
address1Field => WebGUI::Form::text($session, {name=>"address1", maxlength=>35, defaultValue=>($form->get("address1") || ((defined $address) ? $address->get('address1') : undef))}),
|
||||
|
|
@ -419,6 +438,13 @@ sub www_view {
|
|||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
my $callback = $form->get('callback');
|
||||
$callback =~ s/'/"/g;
|
||||
$callback = JSON::from_json($callback);
|
||||
my $callbackForm = '';
|
||||
foreach my $param (@{$callback->{params}}) {
|
||||
$callbackForm .= WebGUI::Form::hidden($session, {name=>$param->{name}, value=>$param->{value}});
|
||||
}
|
||||
my $i18n = WebGUI::International->new($session, "Shop");
|
||||
my @addresses = ();
|
||||
foreach my $address (@{$self->getAddresses}) {
|
||||
|
|
@ -429,21 +455,19 @@ sub www_view {
|
|||
.WebGUI::Form::hidden($session, {name=>"shop", value=>"address"})
|
||||
.WebGUI::Form::hidden($session, {name=>"method", value=>"deleteAddress"})
|
||||
.WebGUI::Form::hidden($session, {name=>"addressId", value=>$address->getId})
|
||||
.WebGUI::Form::hidden($session, {name=>"itemId", value=>$form->get("itemId")})
|
||||
.$self->formatCallbackForm($form->get('callback'))
|
||||
.WebGUI::Form::submit($session, {value=>$i18n->get("delete")})
|
||||
.WebGUI::Form::formFooter($session),
|
||||
editButton => WebGUI::Form::formHeader($session)
|
||||
.WebGUI::Form::hidden($session, {name=>"shop", value=>"address"})
|
||||
.WebGUI::Form::hidden($session, {name=>"method", value=>"editAddress"})
|
||||
.WebGUI::Form::hidden($session, {name=>"addressId", value=>$address->getId})
|
||||
.WebGUI::Form::hidden($session, {name=>"itemId", value=>$form->get("itemId")})
|
||||
.$self->formatCallbackForm($form->get('callback'))
|
||||
.WebGUI::Form::submit($session, {value=>$i18n->get("edit")})
|
||||
.WebGUI::Form::formFooter($session),
|
||||
useButton => WebGUI::Form::formHeader($session)
|
||||
.WebGUI::Form::hidden($session, {name=>"shop", value=>"cart"})
|
||||
.WebGUI::Form::hidden($session, {name=>"method", value=>"setShippingAddress"})
|
||||
.WebGUI::Form::hidden($session, {name=>"shippingAddressId", value=>$address->getId})
|
||||
.WebGUI::Form::hidden($session, {name=>"itemId", value=>$form->get("itemId")})
|
||||
useButton => WebGUI::Form::formHeader($session,{action=>$callback->{url}})
|
||||
.$callbackForm
|
||||
.WebGUI::Form::hidden($session, {name=>"addressId", value=>$address->getId})
|
||||
.WebGUI::Form::submit($session, {value=>$i18n->get("use this address")})
|
||||
.WebGUI::Form::formFooter($session),
|
||||
});
|
||||
|
|
@ -453,7 +477,7 @@ sub www_view {
|
|||
addButton => WebGUI::Form::formHeader($session)
|
||||
.WebGUI::Form::hidden($session, {name=>"shop", value=>"address"})
|
||||
.WebGUI::Form::hidden($session, {name=>"method", value=>"editAddress"})
|
||||
.WebGUI::Form::hidden($session, {name=>"itemId", value=>$form->get("itemId")})
|
||||
.$self->formatCallbackForm($form->get('callback'))
|
||||
.WebGUI::Form::submit($session, {value=>$i18n->get("add a new address")})
|
||||
.WebGUI::Form::formFooter($session),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package WebGUI::Shop::Cart;
|
|||
use strict;
|
||||
|
||||
use Class::InsideOut qw{ :std };
|
||||
use JSON;
|
||||
use WebGUI::Asset::Template;
|
||||
use WebGUI::Exception::Shop;
|
||||
use WebGUI::Form;
|
||||
|
|
@ -429,10 +430,10 @@ sub www_setShippingAddress {
|
|||
my $self = shift;
|
||||
my $form = $self->session->form;
|
||||
if ($form->get("itemId") ne "") {
|
||||
$self->getItem($form->get("itemId"))->update({shippingAddressId=>$form->get('shippingAddressId')});
|
||||
$self->getItem($form->get("itemId"))->update({shippingAddressId=>$form->get('addressId')});
|
||||
}
|
||||
else {
|
||||
$self->update({shippingAddressId=>$form->get('shippingAddressId')});
|
||||
$self->update({shippingAddressId=>$form->get('addressId')});
|
||||
}
|
||||
return $self->www_view;
|
||||
}
|
||||
|
|
@ -475,6 +476,17 @@ sub www_view {
|
|||
my $url = $session->url;
|
||||
my $i18n = WebGUI::International->new($session, "Shop");
|
||||
my @items = ();
|
||||
$session->style->setRawHeadTags(q|
|
||||
<script type="text/javascript">
|
||||
function setCallbackForAddressChooser (form, itemId) {
|
||||
form.shop.value='address';
|
||||
form.method.value='view';
|
||||
itemId = (itemId == undefined) ? 'null' : "'" + itemId + "'";
|
||||
form.callback.value='{"url":"|.$url->page.q|","params":[{"name":"shop","value":"cart"},{"name":"method","value":"setShippingAddress"},{"name":"itemId","value":'+itemId+'}]}';
|
||||
form.submit();
|
||||
}
|
||||
</script>
|
||||
|);
|
||||
foreach my $item (@{$self->getItems}) {
|
||||
my $sku = $item->getSku;
|
||||
$sku->applyOptions($item->get("options"));
|
||||
|
|
@ -489,7 +501,7 @@ sub www_view {
|
|||
removeButton => WebGUI::Form::submit($session, {value=>$i18n->get("remove button"),
|
||||
extras=>q|onclick="this.form.method.value='removeItem';this.form.itemId.value='|.$item->getId.q|';this.form.submit;"|}),
|
||||
shipToButton => WebGUI::Form::submit($session, {value=>$i18n->get("ship to button"),
|
||||
extras=>q|onclick="this.form.shop.value='address';this.form.method.value='view';this.form.itemId.value='|.$item->getId.q|';this.form.submit;"|}),
|
||||
extras=>q|onclick="setCallbackForAddressChooser(this.form,'|.$item->getId.q|');"|}),
|
||||
);
|
||||
my $address = eval { $item->getShippingAddress };
|
||||
unless (WebGUI::Error->caught) {
|
||||
|
|
@ -504,7 +516,7 @@ sub www_view {
|
|||
formHeader => WebGUI::Form::formHeader($session)
|
||||
. WebGUI::Form::hidden($session, {name=>"shop", value=>"cart"})
|
||||
. WebGUI::Form::hidden($session, {name=>"method", value=>"update"})
|
||||
. WebGUI::Form::hidden($session, {name=>"itemId", value=>""}),
|
||||
. WebGUI::Form::hidden($session, {name=>"callback", value=>""}),
|
||||
formFooter => WebGUI::Form::formFooter($session),
|
||||
updateButton => WebGUI::Form::submit($session, {value=>$i18n->get("update cart button")}),
|
||||
checkoutButton => WebGUI::Form::submit($session, {value=>$i18n->get("checkout button"),
|
||||
|
|
@ -512,9 +524,9 @@ sub www_view {
|
|||
continueShoppingButton => WebGUI::Form::submit($session, {value=>$i18n->get("continue shopping button"),
|
||||
extras=>q|onclick="this.form.method.value='continueShopping';this.form.submit;"|}),
|
||||
chooseShippingButton => WebGUI::Form::submit($session, {value=>$i18n->get("choose shipping button"),
|
||||
extras=>q|onclick="this.form.shop.value='address';this.form.method.value='view';this.form.submit;"|}),
|
||||
extras=>q|onclick="setCallbackForAddressChooser(this.form);"|}),
|
||||
shipToButton => WebGUI::Form::submit($session, {value=>$i18n->get("ship to button"),
|
||||
extras=>q|onclick="this.form.shop.value='address';this.form.method.value='view';this.form.submit;"|}),
|
||||
extras=>q|onclick="setCallbackForAddressChooser(this.form);"|}),
|
||||
couponField => WebGUI::Form::text($session, {name=>"couponCode", value=>"", size=>20}),
|
||||
subtotalPrice => $self->formatCurrency($self->calculateSubtotal()),
|
||||
couponDiscount => $self->formatCurrency(0),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue