partial #1503
This commit is contained in:
parent
f80e4dd2a6
commit
fbf20ff2eb
@ -200,23 +200,67 @@ NGApp.controller('restaurant', function ($scope, $http, $routeParams, Restaurant
|
|||||||
|
|
||||||
$scope.service = RestaurantService;
|
$scope.service = RestaurantService;
|
||||||
|
|
||||||
|
|
||||||
|
// Alias to ServiceAccount.user
|
||||||
|
$scope.user = $scope.service.account.user;
|
||||||
|
|
||||||
$scope.service.init();
|
$scope.service.init();
|
||||||
$scope.cart = CartService;
|
$scope.cart = CartService;
|
||||||
|
|
||||||
|
// Credit card years
|
||||||
|
var date = new Date().getFullYear();
|
||||||
|
var years = [];
|
||||||
|
for (var x = date; x <= date + 20; x++) {
|
||||||
|
years[years.length] = x;
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.form = {
|
||||||
|
tip: App.order.tip,
|
||||||
|
name: $scope.user.name,
|
||||||
|
phone: App.phone.format( $scope.user.phone ),
|
||||||
|
address: $scope.user.address,
|
||||||
|
notes: ( $scope.user && $scope.user.presets && $scope.user.presets[$routeParams.id]) ? $scope.user.presets[$routeParams.id].notes : '',
|
||||||
|
card: {
|
||||||
|
number: $scope.user.card,
|
||||||
|
month: $scope.user.card_exp_month,
|
||||||
|
year: $scope.user.card_exp_year
|
||||||
|
},
|
||||||
|
months: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
|
||||||
|
years: years
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.AB = {
|
||||||
|
dollar: (App.config.ab && App.config.ab.dollarSign == 'show') ? '$' : '',
|
||||||
|
changeablePrice: function (dish) {
|
||||||
|
return (App.config.ab && App.config.ab.changeablePrice == 'show' && dish.changeable_price) ? '+' : ''
|
||||||
|
},
|
||||||
|
restaurantPage: (App.config.ab && App.config.ab.restaurantPage == 'restaurant-page-noimage') ? ' restaurant-pic-wrapper-hidden' : ''
|
||||||
|
};
|
||||||
|
|
||||||
$scope.$watch( 'service.loaded', function( newValue, oldValue, scope ) {
|
$scope.$watch( 'service.loaded', function( newValue, oldValue, scope ) {
|
||||||
if( newValue ){
|
if( newValue ){
|
||||||
|
|
||||||
$scope.restaurant = $scope.service.restaurant;
|
$scope.restaurant = $scope.service.restaurant;
|
||||||
$scope.user = $scope.service.account.user;
|
$scope.cart.restaurant = $scope.restaurant;
|
||||||
|
$scope.cart.updateTotal();
|
||||||
|
|
||||||
$scope.lastOrderDelivery = $scope.service.lastOrderDelivery;
|
$scope.lastOrderDelivery = $scope.service.lastOrderDelivery;
|
||||||
$scope.community = $scope.service.community;
|
$scope.community = $scope.service.community;
|
||||||
$scope.showRestaurantDeliv = $scope.service.showRestaurantDeliv;
|
$scope.showRestaurantDeliv = $scope.service.showRestaurantDeliv;
|
||||||
$scope.AB = $scope.service.AB;
|
|
||||||
$scope.form = $scope.service.form;
|
|
||||||
// $scope.cart = $scope.service.cart;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
// Validate gift card at the notes field
|
||||||
|
service.$watch( 'form.notes', function( newValue, oldValue, scope ) {
|
||||||
|
service.giftcard.text.content = service.form.notes;
|
||||||
|
service.giftcard.text.start();
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
// service.cart = {
|
||||||
|
// totalFixed: parseFloat(service.restaurant.delivery_min - service.cartService.total()).toFixed(2)
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
$('.config-icon').addClass('config-icon-mobile-hide');
|
$('.config-icon').addClass('config-icon-mobile-hide');
|
||||||
$('.nav-back').addClass('nav-back-show');
|
$('.nav-back').addClass('nav-back-show');
|
||||||
|
|||||||
@ -163,15 +163,13 @@ var Restaurant = function(id) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.deliveryDiff = function() {
|
self.deliveryDiff = function(total) {
|
||||||
var total = self.delivery_min_amt == 'subtotal' ? App.cart.subtotal() : App.cart.total();
|
var diff = parseFloat(self.delivery_min - total).toFixed(2);
|
||||||
var diff = parseFloat(App.restaurant.delivery_min - total).toFixed(2);
|
|
||||||
/* console.log(App.cart.subtotal(), App.cart.total(),self.delivery_min_amt, total, diff); */
|
/* console.log(App.cart.subtotal(), App.cart.total(),self.delivery_min_amt, total, diff); */
|
||||||
return diff;
|
return diff;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.meetDeliveryMin = function() {
|
self.meetDeliveryMin = function(total) {
|
||||||
var total = self.delivery_min_amt == 'subtotal' ? App.cart.subtotal() : App.cart.total();
|
|
||||||
return total < parseFloat(self.delivery_min) ? true : false;
|
return total < parseFloat(self.delivery_min) ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -113,19 +113,16 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
updateTotal: function () {
|
updateTotal: function () {
|
||||||
///TODO: REMOVE THIS RETURN
|
|
||||||
|
|
||||||
return;
|
|
||||||
var
|
var
|
||||||
totalText = (App.config.ab && App.config.ab.dollarSign == 'show' ? '$' : '') + this.charged(),
|
totalText = (App.config.ab && App.config.ab.dollarSign == 'show' ? '$' : '') + this.charged(),
|
||||||
tipText = '',
|
tipText = '',
|
||||||
feesText = '',
|
feesText = '',
|
||||||
totalItems = 0,
|
totalItems = 0,
|
||||||
credit = 0,
|
credit = 0,
|
||||||
hasFees = ((App.restaurant.delivery_fee && App.order.delivery_type == 'delivery') || App.restaurant.fee_customer) ? true : false;
|
hasFees = ((service.restaurant.delivery_fee && App.order.delivery_type == 'delivery') || service.restaurant.fee_customer) ? true : false;
|
||||||
|
|
||||||
if (App.credit.restaurant[App.restaurant.id]) {
|
if (App.credit.restaurant[service.restaurant.id]) {
|
||||||
credit = parseFloat(App.credit.restaurant[App.restaurant.id]);
|
credit = parseFloat(App.credit.restaurant[service.restaurant.id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var x in service.items) {
|
for (var x in service.items) {
|
||||||
@ -158,9 +155,10 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
totalText = (App.config.ab && App.config.ab.dollarSign == 'show' ? '$' : '') + this.charged();
|
totalText = (App.config.ab && App.config.ab.dollarSign == 'show' ? '$' : '') + this.charged();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (App.restaurant.meetDeliveryMin() && App.order.delivery_type == 'delivery') {
|
var _total = service.restaurant.delivery_min_amt == 'subtotal' ? service.subtotal() : service.total();
|
||||||
|
if (service.restaurant.meetDeliveryMin(_total) && App.order.delivery_type == 'delivery') {
|
||||||
$('.delivery-minimum-error').show();
|
$('.delivery-minimum-error').show();
|
||||||
$('.delivery-min-diff').html(App.restaurant.deliveryDiff());
|
$('.delivery-min-diff').html(service.restaurant.deliveryDiff(_total));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$('.delivery-minimum-error').hide();
|
$('.delivery-minimum-error').hide();
|
||||||
@ -223,7 +221,7 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
$('.cart-paymentType').html('');
|
$('.cart-paymentType').html('');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (serviceHighlightEnabled && $('.cart-summary').css('display') != 'none') {
|
if (App.cartHighlightEnabled && $('.cart-summary').css('display') != 'none') {
|
||||||
$('.cart-summary').removeClass('cart-summary-detail');
|
$('.cart-summary').removeClass('cart-summary-detail');
|
||||||
$('.cart-summary').effect('highlight', {}, 500, function () {
|
$('.cart-summary').effect('highlight', {}, 500, function () {
|
||||||
$('.cart-summary').addClass('cart-summary-detail');
|
$('.cart-summary').addClass('cart-summary-detail');
|
||||||
@ -354,7 +352,7 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
cart: service.getCart(),
|
cart: service.getCart(),
|
||||||
pay_type: App.order['pay_type'],
|
pay_type: App.order['pay_type'],
|
||||||
delivery_type: App.order['delivery_type'],
|
delivery_type: App.order['delivery_type'],
|
||||||
restaurant: App.restaurant.id,
|
restaurant: service.restaurant.id,
|
||||||
make_default: $('#default-order-check').is(':checked'),
|
make_default: $('#default-order-check').is(':checked'),
|
||||||
notes: $('[name="notes"]').val(),
|
notes: $('[name="notes"]').val(),
|
||||||
lat: (App.loc.pos()) ? App.loc.pos().lat : null,
|
lat: (App.loc.pos()) ? App.loc.pos().lat : null,
|
||||||
@ -435,7 +433,7 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
if (App.config && App.config.user && App.config.user.last_order) {
|
if (App.config && App.config.user && App.config.user.last_order) {
|
||||||
|
|
||||||
// Check if the order was made at this community
|
// Check if the order was made at this community
|
||||||
if (App.config.user.last_order.communities.indexOf(App.restaurant.id_community) > -1) {
|
if (App.config.user.last_order.communities.indexOf(service.restaurant.id_community) > -1) {
|
||||||
|
|
||||||
// Get the last address the user used at this community
|
// Get the last address the user used at this community
|
||||||
var lastAddress = App.config.user.last_order.address;
|
var lastAddress = App.config.user.last_order.address;
|
||||||
@ -448,7 +446,7 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
// Log the legacy address
|
// Log the legacy address
|
||||||
App.log.order({
|
App.log.order({
|
||||||
'address': lastAddress,
|
'address': lastAddress,
|
||||||
'restaurant': App.restaurant.name
|
'restaurant': service.restaurant.name
|
||||||
}, 'legacy address');
|
}, 'legacy address');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -464,7 +462,7 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
|
|
||||||
// Use the restautant's position to create the bounding box - just for tests
|
// Use the restautant's position to create the bounding box - just for tests
|
||||||
if( App.useRestaurantBoundingBox ){
|
if( App.useRestaurantBoundingBox ){
|
||||||
var latLong = new google.maps.LatLng( App.restaurant.loc_lat, App.restaurant.loc_long );
|
var latLong = new google.maps.LatLng( service.restaurant.loc_lat, service.restaurant.loc_long );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( !latLong ){
|
if( !latLong ){
|
||||||
@ -490,7 +488,7 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
$( '[name=pay-address]' ).val( App.loc.formatedAddress( theClosestAddress ) );
|
$( '[name=pay-address]' ).val( App.loc.formatedAddress( theClosestAddress ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!App.restaurant.deliveryHere({ lat: lat, lon: lon})) {
|
if (!service.restaurant.deliveryHere({ lat: lat, lon: lon})) {
|
||||||
App.alert( 'Sorry, you are out of delivery range or have an invalid address. \nPlease check your address, or order takeout.' );
|
App.alert( 'Sorry, you are out of delivery range or have an invalid address. \nPlease check your address, or order takeout.' );
|
||||||
|
|
||||||
|
|
||||||
@ -498,7 +496,7 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
$( '[name=pay-address]' ).val( App.loc.formatedAddress( theClosestAddress ) );
|
$( '[name=pay-address]' ).val( App.loc.formatedAddress( theClosestAddress ) );
|
||||||
|
|
||||||
// Log the error
|
// Log the error
|
||||||
App.log.order( { 'address' : $( '[name=pay-address]' ).val(), 'restaurant' : App.restaurant.name } , 'address out of delivery range' );
|
App.log.order( { 'address' : $( '[name=pay-address]' ).val(), 'restaurant' : service.restaurant.name } , 'address out of delivery range' );
|
||||||
|
|
||||||
App.busy.unBusy();
|
App.busy.unBusy();
|
||||||
return;
|
return;
|
||||||
@ -532,7 +530,7 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
$('.delivery-payment-info, .content-padder-before').hide();
|
$('.delivery-payment-info, .content-padder-before').hide();
|
||||||
$( '[name="pay-address"]' ).focus();
|
$( '[name="pay-address"]' ).focus();
|
||||||
// Log the error
|
// Log the error
|
||||||
App.log.order( { 'address' : $( '[name=pay-address]' ).val(), 'restaurant' : App.restaurant.name } , 'address not found or invalid' );
|
App.log.order( { 'address' : $( '[name=pay-address]' ).val(), 'restaurant' : service.restaurant.name } , 'address not found or invalid' );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -541,7 +539,7 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
App.alert( 'Oops, it looks like your address is incomplete. \nPlease enter a street name, number and zip code.' );
|
App.alert( 'Oops, it looks like your address is incomplete. \nPlease enter a street name, number and zip code.' );
|
||||||
App.busy.unBusy();
|
App.busy.unBusy();
|
||||||
// Log the error
|
// Log the error
|
||||||
App.log.order( { 'address' : $( '[name=pay-address]' ).val(), 'restaurant' : App.restaurant.name } , 'address not found' );
|
App.log.order( { 'address' : $( '[name=pay-address]' ).val(), 'restaurant' : service.restaurant.name } , 'address not found' );
|
||||||
};
|
};
|
||||||
|
|
||||||
// Call the geo method
|
// Call the geo method
|
||||||
@ -618,7 +616,7 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
'total': this.final_price,
|
'total': this.final_price,
|
||||||
'subtotal': this.price,
|
'subtotal': this.price,
|
||||||
'tip': this.tip,
|
'tip': this.tip,
|
||||||
'restaurant': App.restaurant.name,
|
'restaurant': service.restaurant.name,
|
||||||
'paytype': this.pay_type,
|
'paytype': this.pay_type,
|
||||||
'ordertype': this.order_type,
|
'ordertype': this.order_type,
|
||||||
'user': this.user,
|
'user': this.user,
|
||||||
@ -666,8 +664,8 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
*/
|
*/
|
||||||
_breackDownDelivery: function () {
|
_breackDownDelivery: function () {
|
||||||
var delivery = 0;
|
var delivery = 0;
|
||||||
if (App.restaurant.delivery_fee && App.order.delivery_type == 'delivery') {
|
if (service.restaurant.delivery_fee && App.order.delivery_type == 'delivery') {
|
||||||
delivery = parseFloat(App.restaurant.delivery_fee);
|
delivery = parseFloat(service.restaurant.delivery_fee);
|
||||||
}
|
}
|
||||||
delivery = App.ceil(delivery);
|
delivery = App.ceil(delivery);
|
||||||
return delivery;
|
return delivery;
|
||||||
@ -680,15 +678,15 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
*/
|
*/
|
||||||
_breackDownFee: function (feeTotal) {
|
_breackDownFee: function (feeTotal) {
|
||||||
var fee = 0;
|
var fee = 0;
|
||||||
if (App.restaurant.fee_customer) {
|
if (service.restaurant.fee_customer) {
|
||||||
fee = (feeTotal * (parseFloat(App.restaurant.fee_customer) / 100));
|
fee = (feeTotal * (parseFloat(service.restaurant.fee_customer) / 100));
|
||||||
}
|
}
|
||||||
fee = App.ceil(fee);
|
fee = App.ceil(fee);
|
||||||
return fee;
|
return fee;
|
||||||
},
|
},
|
||||||
|
|
||||||
_breackDownTaxes: function (feeTotal) {
|
_breackDownTaxes: function (feeTotal) {
|
||||||
var taxes = (feeTotal * (App.restaurant.tax / 100));
|
var taxes = (feeTotal * (service.restaurant.tax / 100));
|
||||||
taxes = App.ceil(taxes);
|
taxes = App.ceil(taxes);
|
||||||
return taxes;
|
return taxes;
|
||||||
},
|
},
|
||||||
@ -728,8 +726,8 @@ NGApp.factory( 'CartService', function ( RestaurantService ) {
|
|||||||
|
|
||||||
var finalAmount = this.total();
|
var finalAmount = this.total();
|
||||||
|
|
||||||
if (App.order.pay_type == 'card' && App.credit.restaurant[App.restaurant.id]) {
|
if (App.order.pay_type == 'card' && App.credit.restaurant[service.restaurant.id]) {
|
||||||
finalAmount = finalAmount - App.ceil(App.credit.restaurant[App.restaurant.id]).toFixed(2);
|
finalAmount = finalAmount - App.ceil(App.credit.restaurant[service.restaurant.id]).toFixed(2);
|
||||||
if (finalAmount < 0) {
|
if (finalAmount < 0) {
|
||||||
finalAmount = 0;
|
finalAmount = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -114,10 +114,10 @@ NGApp.factory('RestaurantService', function ($http, $routeParams, $rootScope, Ac
|
|||||||
service.load();
|
service.load();
|
||||||
}
|
}
|
||||||
|
|
||||||
service.load = function(){
|
|
||||||
|
|
||||||
service.account = AccountService;
|
service.account = AccountService;
|
||||||
|
|
||||||
|
service.load = function(){
|
||||||
|
|
||||||
App.cache('Restaurant', $routeParams.id, function () {
|
App.cache('Restaurant', $routeParams.id, function () {
|
||||||
|
|
||||||
if (service.restaurant && service.restaurant.permalink != $routeParams.id) {
|
if (service.restaurant && service.restaurant.permalink != $routeParams.id) {
|
||||||
@ -144,50 +144,12 @@ service.load = function(){
|
|||||||
|
|
||||||
var complete = function () {
|
var complete = function () {
|
||||||
|
|
||||||
var date = new Date().getFullYear();
|
|
||||||
var years = [];
|
|
||||||
for (var x = date; x <= date + 20; x++) {
|
|
||||||
years[years.length] = x;
|
|
||||||
}
|
|
||||||
|
|
||||||
service.loaded = true;
|
service.loaded = true;
|
||||||
|
|
||||||
service.lastOrderDelivery = lastOrderDelivery;
|
service.lastOrderDelivery = lastOrderDelivery;
|
||||||
|
|
||||||
service.showRestaurantDeliv = ((lastOrderDelivery == 'delivery' || service.restaurant.delivery == '1' || service.restaurant.takeout == '0') && lastOrderDelivery != 'takeout');
|
service.showRestaurantDeliv = ((lastOrderDelivery == 'delivery' || service.restaurant.delivery == '1' || service.restaurant.takeout == '0') && lastOrderDelivery != 'takeout');
|
||||||
|
|
||||||
service.AB = {
|
|
||||||
dollar: (App.config.ab && App.config.ab.dollarSign == 'show') ? '$' : '',
|
|
||||||
changeablePrice: function (dish) {
|
|
||||||
return (App.config.ab && App.config.ab.changeablePrice == 'show' && dish.changeable_price) ? '+' : ''
|
|
||||||
},
|
|
||||||
restaurantPage: (App.config.ab && App.config.ab.restaurantPage == 'restaurant-page-noimage') ? ' restaurant-pic-wrapper-hidden' : ''
|
|
||||||
};
|
|
||||||
|
|
||||||
service.form = {
|
|
||||||
tip: App.order.tip,
|
|
||||||
name: service.account.user.name,
|
|
||||||
phone: App.phone.format(service.account.user.phone),
|
|
||||||
address: service.account.user.address,
|
|
||||||
notes: ( service.account.user && service.account.user.presets && service.account.user.presets[service.restaurant.id_restaurant]) ? service.account.user.presets[service.restaurant.id_restaurant].notes : '',
|
|
||||||
card: {
|
|
||||||
number: service.account.user.card,
|
|
||||||
month: service.account.user.card_exp_month,
|
|
||||||
year: service.account.user.card_exp_year
|
|
||||||
},
|
|
||||||
months: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
|
|
||||||
years: years
|
|
||||||
};
|
|
||||||
/*
|
|
||||||
// Validate gift card at the notes field
|
|
||||||
service.$watch( 'form.notes', function( newValue, oldValue, scope ) {
|
|
||||||
service.giftcard.text.content = service.form.notes;
|
|
||||||
service.giftcard.text.start();
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
// service.cart = {
|
|
||||||
// totalFixed: parseFloat(service.restaurant.delivery_min - service.cartService.total()).toFixed(2)
|
|
||||||
// }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// double check what phase we are in
|
// double check what phase we are in
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user