diff --git a/package/usr/share/hedera-web/forms/ecomerce/basket/basket.js b/package/usr/share/hedera-web/forms/ecomerce/basket/basket.js
index 5c976882..c131c3a3 100755
--- a/package/usr/share/hedera-web/forms/ecomerce/basket/basket.js
+++ b/package/usr/share/hedera-web/forms/ecomerce/basket/basket.js
@@ -13,14 +13,12 @@ Vn.Basket = new Class
{
var res = resultSet.fetchResult ();
- if (!res.next ())
- return;
-
+ if (res.next ())
switch (res.get ('stat'))
{
case 'BAD_CONFIG':
case 'NOT_EXISTS':
- this.onConfigureClick ();
+ this.hash.set ({'form': 'ecomerce/checkout'});
break;
case 'UPDATED':
(new Htk.Toast ()).showWarning (_('OrderItemsUpdated'));
diff --git a/package/usr/share/hedera-web/forms/ecomerce/basket/ui.xml b/package/usr/share/hedera-web/forms/ecomerce/basket/ui.xml
index e531dba8..336216c9 100755
--- a/package/usr/share/hedera-web/forms/ecomerce/basket/ui.xml
+++ b/package/usr/share/hedera-web/forms/ecomerce/basket/ui.xml
@@ -3,14 +3,13 @@
- SELECT id, date_send, agency_id, wh_id
- FROM order_view WHERE id = #id
+ SELECT id, date_send, agency_id
+ FROM basket
-
@@ -33,14 +32,13 @@
- CALL bionic_by_order (@calc);
+ CALL bionic_from_basket (@calc);
SELECT m.id, m.amount, t.available, a.Article, a.Categoria,
- a.Medida, a.Tallos, a.Color, o.Abreviatura, m.price2 price, a.Foto
- FROM order_row_view m
+ a.Medida, a.Tallos, a.Color, o.Abreviatura, m.price price, a.Foto
+ FROM basket_item m
INNER JOIN vn2008.Articles a ON a.Id_Article = m.item_id
LEFT JOIN vn2008.Origen o ON a.id_origen = o.id
- LEFT JOIN cache.bionic t ON m.warehouse_id = t.warehouse_id AND m.item_id = t.item_id AND t.calc_id = @calc
- WHERE m.order_id = #order;
+ LEFT JOIN cache.bionic t ON m.warehouse_id = t.warehouse_id AND m.item_id = t.item_id AND t.calc_id = @calc;
diff --git a/package/usr/share/hedera-web/forms/ecomerce/catalog/catalog.js b/package/usr/share/hedera-web/forms/ecomerce/catalog/catalog.js
index 79cce795..8e8096e1 100755
--- a/package/usr/share/hedera-web/forms/ecomerce/catalog/catalog.js
+++ b/package/usr/share/hedera-web/forms/ecomerce/catalog/catalog.js
@@ -182,59 +182,56 @@ Vn.Catalog = new Class
,onAddLotClick: function (column, value, row, button)
{
var model = this.$('item-lots');
-
var grouping = model.get (row, 'grouping');
var warehouse = model.get (row, 'warehouse_id');
- var rate = model.get (row, 'rate');
-
- for (var i = 0; i < this.items.length; i++)
- {
- var t = this.items[i];
- if (t.warehouse == warehouse && t.rate == rate)
- break;
- }
-
- if (i >= this.items.length)
- this.items.push ({
- warehouse: warehouse,
- rate: rate,
- amount: grouping
- });
- else
- t.amount += grouping;
- this.$('amount').value += grouping;
+ var lotAmount = this.items[warehouse];
+
+ if (lotAmount === undefined)
+ lotAmount = 0;
+
+ lotAmount += grouping;
+
+ if (lotAmount <= model.get (row, 'available'))
+ {
+ this.items[warehouse] = lotAmount;
+ this.$('amount').value += grouping;
+ }
+ else
+ (new Htk.Toast ()).showError (_('NoMoreAmountAvailable'));
}
,onEraseClick: function ()
{
this.$('amount').value = 0;
- this.items = [];
+ this.items = {};
}
,onConfirmClick: function ()
{
- if (this.items.length > 0)
- {
- var sql = '';
- var batch = new Sql.Batch ();
- var query = new Sql.String ({query: 'CALL order_row_new (#warehouse, #item, #rate, #amount);'});
-
- for (var i = 0; i < this.items.length; i++)
- {
- var t = this.items[i];
- batch.addValue ('warehouse', t.warehouse);
- batch.addValue ('item', this.itemId);
- batch.addValue ('rate', t.rate);
- batch.addValue ('amount', t.amount);
- sql += query.render (batch);
- }
+ var sql = '';
+ var batch = new Sql.Batch ();
+ var query = new Sql.String ({query: 'CALL basket_item_add (#warehouse, #item, #amount);'});
- this.conn.execQuery (sql);
+ for (var warehouse in this.items)
+ {
+ batch.addValue ('warehouse', warehouse);
+ batch.addValue ('item', this.itemId);
+ batch.addValue ('amount', this.items[warehouse]);
+ sql += query.render (batch);
}
+
+ if (sql != '')
+ this.conn.execQuery (sql);
this.popup.hide ();
}
+
+ ,onStatusChange: function (model)
+ {
+ if (this.popup)
+ this.popup.reset ();
+ }
});
Htk.Realm = new Class
diff --git a/package/usr/share/hedera-web/forms/ecomerce/catalog/ui.xml b/package/usr/share/hedera-web/forms/ecomerce/catalog/ui.xml
index 91d12cf8..0568a6ae 100755
--- a/package/usr/share/hedera-web/forms/ecomerce/catalog/ui.xml
+++ b/package/usr/share/hedera-web/forms/ecomerce/catalog/ui.xml
@@ -19,27 +19,31 @@
- CALL bionic_by_type (@calc, #type);
+ CALL bionic_from_type (@calc, #type);
SELECT t.item_id, SUM(t.available) available, MIN(t.price) price,
a.Foto, a.Article, a.Categoria, a.Medida, a.Tallos, a.Color, o.Abreviatura
FROM cache.bionic t
- JOIN vn2008.Articles a ON a.Id_Article = t.item_id
- LEFT JOIN vn2008.Origen o ON a.id_origen = o.id
- WHERE t.calc_id = @calc AND t.available > 0
- GROUP BY item_id
- ORDER BY a.Article, a.Medida
- LIMIT 400;
+ JOIN vn2008.Articles a ON a.Id_Article = t.item_id
+ LEFT JOIN vn2008.Origen o ON a.id_origen = o.id
+ WHERE t.calc_id = @calc AND t.available > 0
+ GROUP BY item_id
+ ORDER BY a.Article, a.Medida
+ LIMIT 400;
-
- CALL bionic_by_type (@calc, #type);
- SELECT warehouse_id, items, grouping, price, rate
- FROM cache.bionic_lot
- WHERE calc_id = @calc
- AND item_id = #item
- ORDER BY warehouse_id, grouping;
+
+ CALL bionic_from_type (@calc, #type);
+ SELECT l.warehouse_id, l.items, l.grouping, l.price, l.rate, b.available
+ FROM cache.bionic b
+ JOIN cache.bionic_lot l
+ ON l.warehouse_id = b.warehouse_id
+ AND l.item_id = b.item_id
+ AND l.calc_id = @calc
+ WHERE b.calc_id = @calc
+ AND b.item_id = #item
+ ORDER BY warehouse_id, grouping;
diff --git a/package/usr/share/hedera-web/forms/ecomerce/checkout/ui.xml b/package/usr/share/hedera-web/forms/ecomerce/checkout/ui.xml
index 7c92a833..a0f000cd 100755
--- a/package/usr/share/hedera-web/forms/ecomerce/checkout/ui.xml
+++ b/package/usr/share/hedera-web/forms/ecomerce/checkout/ui.xml
@@ -10,26 +10,25 @@
SELECT delivery_method, agency_id, address_id
- FROM order_defaults_view
+ FROM basket_defaults
SELECT v.code delivery_method, o.date_send, o.agency_id, o.address_id
- FROM order_view o
- JOIN vn2008.Vistas v ON o.delivery_method_id = v.vista_id
- LIMIT 1
+ FROM basket o
+ JOIN vn2008.Vistas v ON o.delivery_method_id = v.vista_id
- CALL agency_list_by_date (#date, #address);
+ CALL agency_list_from_date (#date, #address);
SELECT a.Id_Agencia, a.description
FROM t_agency t
- JOIN vn2008.Agencias a ON a.Id_Agencia = t.agency_id
- JOIN vn2008.Vistas v ON a.Vista = v.vista_id
- WHERE a.web != FALSE
+ JOIN vn2008.Agencias a ON a.Id_Agencia = t.agency_id
+ JOIN vn2008.Vistas v ON a.Vista = v.vista_id
+ WHERE a.web != FALSE
AND v.code = 'AGENCY'
- ORDER BY a.description;
+ ORDER BY a.description;
DROP TEMPORARY TABLE t_agency;
@@ -37,14 +36,14 @@
- CALL agency_list_by_date (#date, NULL);
+ CALL agency_list_from_date (#date, NULL);
SELECT a.Id_Agencia, SUBSTR(a.description, 5) description
FROM t_agency t
- JOIN vn2008.Agencias a ON a.Id_Agencia = t.agency_id
- JOIN vn2008.Vistas v ON a.Vista = v.vista_id
- WHERE a.web != FALSE
+ JOIN vn2008.Agencias a ON a.Id_Agencia = t.agency_id
+ JOIN vn2008.Vistas v ON a.Vista = v.vista_id
+ WHERE a.web != FALSE
AND v.code = 'PICKUP'
- ORDER BY a.description;
+ ORDER BY a.description;
DROP TEMPORARY TABLE t_agency;
diff --git a/package/usr/share/hedera-web/forms/ecomerce/confirm/ui.xml b/package/usr/share/hedera-web/forms/ecomerce/confirm/ui.xml
index f2362404..9cf71e0c 100755
--- a/package/usr/share/hedera-web/forms/ecomerce/confirm/ui.xml
+++ b/package/usr/share/hedera-web/forms/ecomerce/confirm/ui.xml
@@ -5,15 +5,14 @@
- SELECT o.id, o.date_send, o.note, o.company_id,
- ag.description agency, v.code method, c.credit,
- ad.consignee, ad.zip_code, ad.city, ad.name address
- FROM order_view o
- JOIN vn2008.Agencias ag ON ag.Id_Agencia = o.agency_id
- LEFT JOIN address_view ad ON ad.id = o.address_id
- JOIN vn2008.Vistas v ON v.vista_id = o.delivery_method_id
- JOIN customer_view c
- WHERE o.id = #order
+ SELECT o.id, o.date_send, o.note,
+ ag.description agency, v.code method, c.credit,
+ ad.consignee, ad.zip_code, ad.city, ad.name address
+ FROM basket o
+ JOIN vn2008.Agencias ag ON ag.Id_Agencia = o.agency_id
+ LEFT JOIN address_view ad ON ad.id = o.address_id
+ JOIN vn2008.Vistas v ON v.vista_id = o.delivery_method_id
+ JOIN customer_view c
@@ -21,7 +20,7 @@
- CALL order_get_vat (#order);
+ CALL basket_get_vat ();
SELECT
IFNULL(SUM(tax_base), 0) tax_base,
IFNULL(SUM(vat + surcharge), 0) vat
@@ -33,8 +32,8 @@
- CALL order_confirm_bionic (#order);
- SELECT customer_get_debt() debt;
+ CALL basket_confirm ();
+ SELECT customer_get_debt();
diff --git a/package/usr/share/hedera-web/global/style.css b/package/usr/share/hedera-web/global/style.css
index 2f3a26dd..c5d19583 100755
--- a/package/usr/share/hedera-web/global/style.css
+++ b/package/usr/share/hedera-web/global/style.css
@@ -573,8 +573,8 @@ img.icon
.htk-calendar div.enabled:hover
{
cursor: pointer;
- background-color: #DDD;
- color: #555;
+ background-color: #008678;
+ color: white;
}
/* Date chooser */
diff --git a/package/usr/share/hedera-web/js/db/model.js b/package/usr/share/hedera-web/js/db/model.js
index 863f6525..e0698e92 100755
--- a/package/usr/share/hedera-web/js/db/model.js
+++ b/package/usr/share/hedera-web/js/db/model.js
@@ -793,7 +793,7 @@ Db.Model.implement
for (var i = 0; i < ops.length; i++)
this.operationsMap[ops[i].row.index] = ops[i];
-
+
return;
}
@@ -1091,6 +1091,7 @@ Db.Model.implement
{
this._status = status;
this.signalEmit ('status-changed', status);
+ this.signalEmit ('status-changed-after', status);
}
,_createTarget: function (tableIndex)
diff --git a/package/usr/share/hedera-web/js/htk/field/image.js b/package/usr/share/hedera-web/js/htk/field/image.js
index e356184c..f7feb798 100755
--- a/package/usr/share/hedera-web/js/htk/field/image.js
+++ b/package/usr/share/hedera-web/js/htk/field/image.js
@@ -45,7 +45,6 @@ Htk.Image = new Class
,render: function (force)
{
- console.log (this._value);
if (this._value)
{
var url = '';
diff --git a/package/usr/share/hedera-web/js/htk/popup.js b/package/usr/share/hedera-web/js/htk/popup.js
index e6f27b65..a7983c65 100755
--- a/package/usr/share/hedera-web/js/htk/popup.js
+++ b/package/usr/share/hedera-web/js/htk/popup.js
@@ -36,11 +36,14 @@ Htk.Popup = new Class
document.addEventListener ('mousedown', this.hideHandler);
this.parent = parent;
- this.setPosition ();
+ this.reset ();
}
- ,setPosition: function ()
+ ,reset: function ()
{
+ if (!this.parent)
+ return;
+
var spacing = 5;
var rect = this.parent.getBoundingClientRect ();
var left = rect.left;
diff --git a/package/usr/share/hedera-web/locale/es/forms/ecomerce/catalog.json b/package/usr/share/hedera-web/locale/es/forms/ecomerce/catalog.json
index a3f31d1c..10781100 100755
--- a/package/usr/share/hedera-web/locale/es/forms/ecomerce/catalog.json
+++ b/package/usr/share/hedera-web/locale/es/forms/ecomerce/catalog.json
@@ -6,6 +6,7 @@
,"SelectSubtype": "Por favor, seleccione el subtipo en el menú de la derecha"
,"ArticleNotFound": "Artículo no encontrado"
,"ArticleNotAvailable": "Artículo no disponible"
+ ,"NoMoreAmountAvailable": "No hay mas cantidad disponible"
,"StartOrder": "Empezar pedido"
,"ShoppingBasket": "Cesta de la compra"
diff --git a/package/usr/share/php/vn/rest/service.php b/package/usr/share/php/vn/rest/service.php
index c8bbe5df..76dcaa06 100755
--- a/package/usr/share/php/vn/rest/service.php
+++ b/package/usr/share/php/vn/rest/service.php
@@ -53,9 +53,21 @@ class Service
self::sendReply ();
}
- static function errorHandler ($code, $message, $file, $line, $context)
+ static function errorHandler ($errno, $message, $file, $line, $context)
{
- self::setError ('PHP', 'error', "$file:$line:$message");
+ switch ($errno)
+ {
+ case E_ERROR:
+ case E_PARSE:
+ case E_CORE_ERROR:
+ case E_USER_ERROR:
+ case E_COMPILE_ERROR:
+ self::setError ('PHP', $errno, "$file:$line:$message");
+ break;
+ default:
+ self::addWarning ('PHP', $errno, "$file:$line:$message");
+ }
+
return TRUE;
}