diff --git a/include/library/Crunchbutton/Order.php b/include/library/Crunchbutton/Order.php index c15c1ddad..ce0075f7c 100644 --- a/include/library/Crunchbutton/Order.php +++ b/include/library/Crunchbutton/Order.php @@ -88,11 +88,14 @@ class Crunchbutton_Order extends Cana_Table { $this->notify(); - $defaultOrder = new Restaurant_DefaultOrder; - $defaultOrder->id_user = $this->id_user; - $defaultOrder->id_restaurant = $this->id_restaurant; - $defaultOrder->config = json_encode($params['cart']); - $defaultOrder->save(); + $def = json_encode($params['cart']); + if ($def != $this->restaurant()->defaultOrder()->config) { + $defaultOrder = new Restaurant_DefaultOrder; + $defaultOrder->id_user = $this->id_user; + $defaultOrder->id_restaurant = $this->id_restaurant; + $defaultOrder->config = $def; + $defaultOrder->save(); + } return true; } diff --git a/include/library/Crunchbutton/User.php b/include/library/Crunchbutton/User.php index 6e6cf734b..53d729bba 100644 --- a/include/library/Crunchbutton/User.php +++ b/include/library/Crunchbutton/User.php @@ -37,7 +37,10 @@ class Crunchbutton_User extends Cana_Table { public function exports() { $out = $this->properties(); - $out['defaults'] = $this->defaults(); + foreach ($this->defaults() as $default) { + $out['defaults'][$default->id_restaurant] = $default->exports(); + } + return $out; } diff --git a/www/assets/js/app.js b/www/assets/js/app.js index 80a5ebbf1..ba8aacc08 100644 --- a/www/assets/js/app.js +++ b/www/assets/js/app.js @@ -245,6 +245,8 @@ App.page.restaurant = function(id) { if (App.cart.hasItems()) { App.cart.reloadOrder(); + } else if (App.config.user.defaults[App.restaurant.id_restaurant]) { + App.cart.loadOrder(App.config.user.defaults[App.restaurant.id_restaurant]); } else { App.cart.loadOrder(App.restaurant.defaultOrder()); }