From 12acaa5e3859b9d296cf04ca5fdd1a0bc569100a Mon Sep 17 00:00:00 2001 From: Juan Ferrer Toribio Date: Thu, 7 Jan 2016 13:58:29 +0100 Subject: [PATCH] =?UTF-8?q?Mejorada=20compatibilidad=20con=20dispositivos?= =?UTF-8?q?=20m=C3=B3viles,=20los=20pagos=20del=20TPV=20ahora=20usan=20la?= =?UTF-8?q?=20firma=20SHA256,=20estilo=20del=20catalog=20mejorado=20y=20ma?= =?UTF-8?q?s=20intuitivo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/changelog | 2 +- debian/conf/config.php | 17 +- lib/vn/hedera/init.php | 2 +- lib/vn/hedera/web.php | 37 +- lib/vn/tpv/tpv.php | 3 +- web/forms/account/address/ui.xml | 10 +- web/forms/admin/connections/ui.xml | 10 +- web/forms/cms/home/style.css | 2 +- web/forms/cms/home/ui.xml | 6 +- web/forms/ecomerce/basket/ui.xml | 12 +- web/forms/ecomerce/catalog/catalog.js | 147 +++--- web/forms/ecomerce/catalog/style.css | 162 +++++-- web/forms/ecomerce/catalog/ui.xml | 563 +++++++++++----------- web/forms/ecomerce/orders/ui.xml | 18 +- web/forms/news/new/ui.xml | 10 +- web/image/blog.svg | 154 ++++++ web/image/dark/view-grid.svg | 168 +++---- web/image/dark/view-list.svg | 108 +++-- web/image/family_dark/1.svg | 73 +++ web/image/family_dark/2.svg | 92 ++++ web/image/family_dark/3.svg | 69 +++ web/image/family_dark/4.svg | 62 +++ web/image/family_dark/5.svg | 62 +++ web/image/family_dark/7.svg | 96 ++++ web/image/loader-black.gif | Bin 7033 -> 0 bytes web/image/loader-white.gif | Bin 63785 -> 0 bytes web/image/loader.gif | Bin 6103 -> 0 bytes web/js/db/model.js | 161 ++++--- web/js/hedera/gui.css | 71 ++- web/js/hedera/gui.js | 2 +- web/js/hedera/gui.xml | 21 +- web/js/hedera/login.css | 2 +- web/js/hedera/login.xml | 3 + web/js/hedera/style.css | 48 +- web/js/htk/field/select.js | 8 +- web/js/sql/filter-item.js | 20 - web/js/sql/string.js | 6 +- web/js/vn/hash-param.js | 2 +- web/js/vn/param.js | 2 +- web/locale/ca/forms/ecomerce/catalog.json | 28 +- web/locale/en/forms/ecomerce/catalog.json | 28 +- web/locale/es/forms/ecomerce/catalog.json | 28 +- web/locale/fr/forms/ecomerce/catalog.json | 28 +- web/locale/mn/forms/ecomerce/catalog.json | 32 +- web/locale/pt/forms/ecomerce/catalog.json | 28 +- 45 files changed, 1613 insertions(+), 790 deletions(-) create mode 100644 web/image/blog.svg create mode 100644 web/image/family_dark/1.svg create mode 100644 web/image/family_dark/2.svg create mode 100644 web/image/family_dark/3.svg create mode 100644 web/image/family_dark/4.svg create mode 100644 web/image/family_dark/5.svg create mode 100644 web/image/family_dark/7.svg delete mode 100644 web/image/loader-black.gif delete mode 100644 web/image/loader-white.gif delete mode 100644 web/image/loader.gif diff --git a/debian/changelog b/debian/changelog index 051cda79..47c5f3be 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -hedera-web (1.315-deb8) stable; urgency=low +hedera-web (1.316-deb8) stable; urgency=low * Initial Release. diff --git a/debian/conf/config.php b/debian/conf/config.php index b59b22a8..1ee3ec59 100755 --- a/debian/conf/config.php +++ b/debian/conf/config.php @@ -1,6 +1,17 @@ config.www.php + * - http://test.mydomain.org -> config.test.php **/ $conf = [ @@ -9,16 +20,12 @@ $conf = [ **/ 'db' => [ 'host' => 'db.verdnatura.es' + ,'port' => 3306 ,'schema' => 'hedera-web' ,'user' => 'hedera-web' ,'pass' => 'base64pass' ] -/** - * The default language. - **/ -,'defaultLang' => 'es' - ]; ?> diff --git a/lib/vn/hedera/init.php b/lib/vn/hedera/init.php index cddca06c..7706960c 100644 --- a/lib/vn/hedera/init.php +++ b/lib/vn/hedera/init.php @@ -8,7 +8,7 @@ if (!defined (__NAMESPACE__.'\_DEVELOPER_MODE')) define (__NAMESPACE__.'\_LOG_DIR', '/var/log'); } -require_once (_CONFIG_DIR .'/config.php'); +$conf = NULL; ini_set ('log_errors', TRUE); ini_set ('error_log', 'syslog'); diff --git a/lib/vn/hedera/web.php b/lib/vn/hedera/web.php index b9b0f701..235d34e7 100755 --- a/lib/vn/hedera/web.php +++ b/lib/vn/hedera/web.php @@ -16,12 +16,13 @@ class Web { static $sysConn = NULL; static $conn = NULL; + static $confIncluded = FALSE; /** * Initializes the Hedera web library. **/ static function init () - { + { if (self::isHttps ()) ini_set ('session.cookie_secure', TRUE); @@ -83,6 +84,8 @@ class Web { global $conf; + self::includeConf (); + if (self::$sysConn) return; @@ -109,9 +112,41 @@ class Web return (int) filectime (__FILE__); } + /** + * Includes the configuration file. + **/ + static function includeConf () + { + global $conf; + + if (self::$confIncluded) + return; + + $customFile = _CONFIG_DIR .'/config.my.php'; + + if (!empty ($_SERVER['SERVER_NAME']) + && preg_match ('/^[\w\-\.]+$/', $_SERVER['SERVER_NAME'])) + { + $hostSplit = explode ('.', $_SERVER['SERVER_NAME']); + $hostFile = _CONFIG_DIR .'/config.'. $hostSplit[0] .'.php'; + } + + if (isset ($hostFile) && file_exists ($hostFile)) + $confFile = $hostFile; + elseif (file_exists ($customFile)) + $confFile = $customFile; + else + $confFile = _CONFIG_DIR .'/config.php'; + + require ($confFile); + self::$confIncluded = TRUE; + } + static function login () { global $conf; + + self::includeConf (); $wasLoged = Auth::isLogged (); $useCookies = TRUE; diff --git a/lib/vn/tpv/tpv.php b/lib/vn/tpv/tpv.php index 5369c51e..2ec5035b 100755 --- a/lib/vn/tpv/tpv.php +++ b/lib/vn/tpv/tpv.php @@ -193,14 +193,13 @@ class Tpv try { return self::$conn->query ( - 'CALL transaction_confirm_with_check (#, #, #, #, #, #, #)', + 'CALL transaction_confirm (#, #, #, #, #, #, #)', [ $params['Ds_Amount'] ,$params['Ds_Order'] ,$params['Ds_MerchantCode'] ,$params['Ds_Currency'] ,$params['Ds_Response'] - ,$params['Ds_Signature'] ,$error ] ); diff --git a/web/forms/account/address/ui.xml b/web/forms/account/address/ui.xml index 3a1d8ce6..c8a7f77d 100755 --- a/web/forms/account/address/ui.xml +++ b/web/forms/account/address/ui.xml @@ -28,16 +28,16 @@

AddEditAddress

- +
diff --git a/web/forms/admin/connections/ui.xml b/web/forms/admin/connections/ui.xml index 6e8a7880..12e26d2e 100755 --- a/web/forms/admin/connections/ui.xml +++ b/web/forms/admin/connections/ui.xml @@ -3,6 +3,11 @@

Connections

+
connections
-
diff --git a/web/forms/cms/home/style.css b/web/forms/cms/home/style.css index 8f75629b..a3e7f890 100755 --- a/web/forms/cms/home/style.css +++ b/web/forms/cms/home/style.css @@ -9,7 +9,7 @@ .action-bar button.start-order { background-color: #EF5350; - margin: .7em .4em; + margin: .7em; padding: .5em; box-shadow: 0 0 0.4em rgba(1, 1, 1, 0.4); } diff --git a/web/forms/cms/home/ui.xml b/web/forms/cms/home/ui.xml index 1189ba9b..13cc1f3f 100755 --- a/web/forms/cms/home/ui.xml +++ b/web/forms/cms/home/ui.xml @@ -25,10 +25,12 @@

-
+ --> +
diff --git a/web/forms/ecomerce/basket/ui.xml b/web/forms/ecomerce/basket/ui.xml index c8d57f0f..7c2d4f40 100755 --- a/web/forms/ecomerce/basket/ui.xml +++ b/web/forms/ecomerce/basket/ui.xml @@ -4,9 +4,9 @@
diff --git a/web/forms/ecomerce/catalog/catalog.js b/web/forms/ecomerce/catalog/catalog.js index c98a68b7..5a3589ab 100755 --- a/web/forms/ecomerce/catalog/catalog.js +++ b/web/forms/ecomerce/catalog/catalog.js @@ -31,9 +31,6 @@ Vn.Catalog = new Class ,activate: function () { document.body.appendChild (this.$('right-panel')); - - this.popup = new Htk.Popup (); - this.popup.setChildNode (this.$('lots-popup')); this.$('items-model').setInfo ('a', 'Articles', 'vn2008', ['item_id']); @@ -66,12 +63,20 @@ Vn.Catalog = new Class if (view === Vn.Catalog.View.GRID) { + this.$('view-button').setProperties ({ + image: 'image/dark/view-list.svg', + tip: _('List view') + }); this.view = Vn.Catalog.View.GRID; this.viewNode = this.$('grid-view').getNode (); this.viewHolder = this.$('grid-view'); } else { + this.$('view-button').setProperties ({ + image: 'image/dark/view-grid.svg', + tip: _('Grid view') + }); this.view = Vn.Catalog.View.LIST; this.viewNode = this.$('list-view'); this.viewHolder = this.$('items-grid'); @@ -96,6 +101,25 @@ Vn.Catalog = new Class link.href = this.hash.make ({'type': form.get ('tipo_id')}, true); } + ,onItemsChange: function (model, status) + { + if (status !== Db.Model.Status.CLEAN) + this.$('order').style.display = 'block'; + else + this.$('order').style.display = 'none'; + } + + ,onOrderChange: function (e) + { + var value = e.target.value; + var sortField = value.substr (2); + var sortWay = value.charAt (0) === 'A' ? + Db.Model.SortWay.ASC : Db.Model.SortWay.DESC; + + if (sortField) + this.$('items-model').sortByName (sortField, sortWay); + } + ,realmRenderer: function (builder, form) { var link = builder.$('link'); @@ -105,17 +129,50 @@ Vn.Catalog = new Class }); var img = builder.$('image'); - img.src = 'image/family/'+ form.get ('id') +'.svg'; - img.title = form.get ('reino'); + img.src = 'image/family_dark/'+ form.get ('id') +'.svg'; + img.title = form.get ('name'); img.alt = img.title; } - - ,onTypeChange: function () + + ,onRealmChange: function (param, newValue) { - if (this.$('type').value) + if (newValue) + { + this.$('filters').style.display = 'block'; + this.$('realm-msg').style.display = 'none'; + } + else + { + this.$('filters').style.display = 'none'; + this.$('realm-msg').style.display = 'block'; + } + + this.refreshTitleColor (); + this.refreshFilter (newValue, undefined); + } + + ,onTypeChange: function (param, newValue) + { + if (newValue) this.hideMenu (); this.refreshTitle (); + this.refreshFilter (undefined, newValue); + } + + ,refreshFilter: function (realm, type) + { + var batch = this.$('filter-batch'); + batch.block (); + this.$('realm-value').value = realm; + this.$('type-value').value = type; + this.$('search').value = undefined; + this.$('color').value = undefined; + this.$('origin').value = undefined; + this.$('category').value = undefined; + this.$('producer').value = undefined; + batch.unblock (); + batch.changed (); } ,refreshTitleColor: function () @@ -241,19 +298,17 @@ Vn.Catalog = new Class ,onInfoClick: function (button, form) { - var descNode = this.$('desc-popup'); + var descNode = this.$('description'); Vn.Node.removeChilds (descNode); - var desc = this.$('items-model').get (form.row, 'description'); + var desc = form.get ('description'); if (!desc) desc = _('No info available'); descNode.appendChild (document.createTextNode (desc)); - var popup = new Htk.Popup (); - popup.setChildNode (descNode); - popup.show (button.getNode ()); + this.$('desc-popup').show (button.getNode ()); } ,onGridAddItemClick: function (button, form) @@ -279,7 +334,7 @@ Vn.Catalog = new Class this.itemRow = row; this.onEraseClick (); - this.popup.show (button); + this.$('lots-popup').show (button); } ,onAddLotClick: function (column, value, row, button) @@ -343,38 +398,12 @@ Vn.Catalog = new Class sprintf (_('Added%dOf%s'), amountSum, itemName)); } - this.popup.hide (); + this.$('lots-popup').hide (); } ,onStatusChange: function (model) { - if (this.popup) - this.popup.reset (); - } - - ,onOrderChange: function (e) - { - var sortField = e.target.value; - - if (sortField) - this.$('items-model').sortByName (sortField); - } - - ,onRemoveFiltersClick: function () - { - var batch = this.$('filter-batch'); - batch.block (); - - this.$('search').value = undefined; - this.$('realm').value = undefined; - this.$('type').value = undefined; - this.$('color').value = undefined; - this.$('origin').value = undefined; - this.$('category').value = undefined; - this.$('producer').value = undefined; - - batch.unblock (); - batch.changed (); + this.$('lots-popup').reset (); } ,gridRenderer: function (res, form) @@ -387,6 +416,14 @@ Vn.Catalog = new Class } }); +Vn.Catalog.extend +({ + View: { + LIST: 0, + GRID: 1 + } +}); + Vn.Filter = new Class ({ Extends: Htk.Field @@ -421,18 +458,6 @@ Vn.Filter = new Class return this._placeholder; } }, - column: - { - type: String - ,set: function (x) - { - this._column = x; - } - ,get: function () - { - return this._column; - } - }, filter: { type: Sql.Filter @@ -457,7 +482,7 @@ Vn.Filter = new Class this.node.className = 'vn-filter'; this._select = new Htk.Select (); - this._select.on ('mousedown', this._onClick, this); + this._select.on ('mousedown', this._onMouseDown, this); this._select.on ('changed', this._onChange, this); this._select.on ('ready', this._onReady, this); this.node.appendChild (this._select.getNode ()); @@ -469,7 +494,7 @@ Vn.Filter = new Class this.parent (props); } - ,_onClick: function (e) + ,_onMouseDown: function (e) { if (this._model && this._model.status === Db.Model.Status.CLEAN) this._model.refresh (); @@ -520,7 +545,7 @@ Vn.Filter = new Class ,putValue: function (value) { - this._onClick (); + this._onMouseDown (); this._realSetValue (value); } @@ -576,14 +601,6 @@ Vn.Filter = new Class } }) -Vn.Catalog.extend -({ - View: { - LIST: 0, - GRID: 1 - } -}); - Vn.ColumnItem = new Class ({ Extends: Htk.Column diff --git a/web/forms/ecomerce/catalog/style.css b/web/forms/ecomerce/catalog/style.css index 2543c6f1..3697ed10 100755 --- a/web/forms/ecomerce/catalog/style.css +++ b/web/forms/ecomerce/catalog/style.css @@ -5,10 +5,6 @@ /* Main */ -.catalog > .main -{ - padding: .5em; -} .htk-toast { margin-left: -11em; @@ -35,29 +31,19 @@ box-shadow: 0 0 .2em rgba(1, 1, 1, 0.4); overflow: auto; } -.right-panel > .body -{ - text-align: center; -} -.right-panel .section -{ - padding: 1.2em 2em; -} -.right-panel .section > button -{ - display: block; - margin: 0 auto; - margin-top: .4em; -} .right-panel .basket-info { - background-color: #00acc1; + background-color: #00ACC1; color: white; box-shadow: 0 .1em .1em rgba(1, 1, 1, 0.3); + padding: 1.2em 2em; } .right-panel .basket-info > button { - color: #e0f2f1; + color: #E0F2F1; + margin: 0 auto; + display: block; + margin-top: .4em; } .right-panel .basket-info > p { @@ -69,17 +55,67 @@ white-space: nowrap; overflow: hidden; } -.right-panel .filters +.right-panel .filter { + padding: 1em 1.8em; } -.right-panel .section > select, -.right-panel .section > .vn-filter +.right-panel .filters, +.right-panel .order { - margin-bottom: 1em; + display: none; } +.right-panel .realm-msg +{ + margin-top: 1em; +/* box-shadow: 0 0 .3em rgba(1, 1, 1, 0.5); + border-radius: 50%; + overflow: hidden;*/ +} +.right-panel .realm-msg > h1 +{ + font-weight: normal; + text-align: center; + padding: 2.5em 0; + color: #777; +/* background-color: #009688; + color: white;*/ +} +.right-panel h2 +{ + font-weight: normal; + padding: .4em 0; + color: #777; + font-size: 1.1em; +} +.right-panel .realms +{ + width: 95%; + margin: .2em auto; +} +.right-panel .realms a +{ + display: block; + float: left; + width: 33.33%; +} +.right-panel .realms a:hover +{ + background-color: rgba(1, 1, 1, 0.05); + border-radius: .1em; +} +.right-panel .realms a > img +{ + display: block; + padding: 0; + width: 100%; +} +.right-panel .vn-filter, .right-panel select { - width: 100%; + margin: 0 auto; + margin-bottom: .7em; + width: 90%; + display: block; } .vn-filter > ul { @@ -87,14 +123,14 @@ list-style-type: none; text-align: left; color: #666; - padding-left: 1.5em; + padding-left: .8em; } .vn-filter li { margin: 0; - margin-top: .4em; + margin-top: .3em; line-height: 2em; - max-width: 85%; + max-width: 90%; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; @@ -106,6 +142,12 @@ padding: .2em; margin-right: .2em; } +.right-panel .filters > button +{ + display: block; + margin: 0 auto; + margin-top: 1em; +} /* Item description */ @@ -144,7 +186,7 @@ button.confirm > img .catalog .list-view { margin: 0 auto; - padding: .5em; + padding: 1em; max-width: 45em; min-width: 25em; } @@ -198,17 +240,20 @@ td.third-category .catalog .grid-view { + padding: 1em; + padding-right: .2em; + padding-bottom: .4em; text-align: center; } .item-box { - display: inline-block; text-align: left; position: relative; - width: 23em; -/* padding: .8em;*/ - margin: .4em; - margin-bottom: .1em; + display: inline-block; + width: 22.5em; + margin: 0; + margin-right: .8em; + margin-bottom: .6em; height: 10em; overflow: hidden; } @@ -217,7 +262,6 @@ td.third-category width: 10em; height: 100%; float: left; - margin-right: 1em; } .item-box > .image > img { @@ -225,9 +269,23 @@ td.third-category height: 100%; display: block; margin: 0 auto; -/* border-radius: .3em;*/ } -.item-box > p +.item-info +{ + position: absolute; + left: 10.4em; + right: 0; + top: 0; + bottom: 0; + margin: .6em; +} +.item-info > h2 +{ + font-size: 1.2em; + font-weight: normal; + padding-top: 0; +} +.item-info > p { margin: 0; padding: 0; @@ -237,36 +295,33 @@ td.third-category white-space: nowrap; overflow: hidden; } -.item-box > .producer +.item-info > .producer { text-transform: uppercase; } -.item-box > h2 -{ - font-size: 1.2em; - font-weight: normal; - padding-top: .6em; -} -.item-box > .aval-price +.item-info > .aval-price { position: absolute; - bottom: .6em; - right: 3.5em; + bottom: 0; + right: 2.8em; } -.item-box .from +.item-info .from { font-size: .8em; font-style: italic; - } -.item-box > .add-button +.item-info .add-button { position: absolute; - bottom: .2em; - right: .3em; + bottom: 0; + right: 0; padding: .3em; } -.item-box > .info-button +.item-info .add-button > img +{ + vertical-align: middle; +} +.item-info > .info-button { float: right; } @@ -276,6 +331,7 @@ td.third-category .catalog-actions > button.menu { display: none; + padding: 1.1em .5em; } .catalog-actions > button.menu > img { diff --git a/web/forms/ecomerce/catalog/ui.xml b/web/forms/ecomerce/catalog/ui.xml index cdee7115..cb55d6aa 100755 --- a/web/forms/ecomerce/catalog/ui.xml +++ b/web/forms/ecomerce/catalog/ui.xml @@ -1,27 +1,27 @@ - - + + - - + + - + + + + + - - - - @@ -39,10 +39,6 @@ - - - - SELECT item_id, warehouse_id, SUM(amount) amount @@ -50,7 +46,7 @@ GROUP BY warehouse_id - + CREATE TEMPORARY TABLE tmp.bionic_calc (INDEX (item_id)) @@ -103,22 +99,22 @@

Catalog

- - + - + +
@@ -128,7 +124,7 @@ @@ -186,62 +182,51 @@ full-dir="900x900" editable="true"/>
- -

- -

-

- -

-

- Size , - Category -

-

- Color - -

-
- - - from - - - - +
+ +

+ +

+

+ +

+

+ Size , + Category +

+

+ Color + +

+
+ + + from + + + + +
+
- -
-
+

@@ -253,204 +238,234 @@ Change
-
- - - - - SELECT r.id, l.str name, r.color - FROM vn2008.reinos r - LEFT JOIN vn_locale.realm_view l ON l.realm_id = r.id - WHERE r.display != FALSE - ORDER BY name - - - - - - - CALL item_available (); - SELECT DISTINCT t.tipo_id, l.str name - FROM vn2008.Tipos t - JOIN vn2008.Articles a ON a.tipo_id = t.tipo_id - LEFT JOIN vn_locale.family_view l ON l.family_id = t.tipo_id - JOIN tmp.item_available i ON i.item_id = a.Id_Article - WHERE #filter - ORDER BY name - - - - - - - - - - - - - - - - - - CALL item_available (); - SELECT DISTINCT c.Id_Tinta, l.str name - FROM vn2008.Tintas c - JOIN vn2008.Articles a ON a.Color = c.Id_Tinta - LEFT JOIN vn_locale.color_view l ON l.color_id = c.Id_Tinta - JOIN tmp.item_available i ON i.item_id = a.Id_Article - WHERE #filter - ORDER BY name - - - - - - - - - - - - - - CALL item_available (); - SELECT DISTINCT p.producer_id, p.name - FROM vn2008.producer p - JOIN vn2008.Articles a ON a.producer_id = p.producer_id - JOIN tmp.item_available i ON i.item_id = a.Id_Article - WHERE #filter - ORDER BY name - - - - - - - - - - - - - - CALL item_available (); - SELECT DISTINCT o.id, l.str name, o.Abreviatura - FROM vn2008.Origen o - JOIN vn2008.Articles a ON a.id_origen = o.id - LEFT JOIN vn_locale.origin_view l ON l.origin_id = o.id - JOIN tmp.item_available i ON i.item_id = a.Id_Article - WHERE #filter - ORDER BY name - - - - - - - - - - - - - - CALL item_available (); - SELECT DISTINCT a.Categoria, a.Categoria category - FROM vn2008.Articles a - JOIN tmp.item_available i ON i.item_id = a.Id_Article - WHERE #filter - ORDER BY a.Categoria - - - - - - - - - - - +
+
+
+ + + + SELECT r.id, l.str name, r.color + FROM vn2008.reinos r + LEFT JOIN vn_locale.realm_view l ON l.realm_id = r.id + WHERE r.display != FALSE + ORDER BY name + + + + + + + + +
+
+
+
+

Choose a realm

+
+
+

Filter by

+ + + + CALL item_available (); + SELECT DISTINCT t.tipo_id, l.str name + FROM vn2008.Tipos t + JOIN vn2008.Articles a ON a.tipo_id = t.tipo_id + LEFT JOIN vn_locale.family_view l ON l.family_id = t.tipo_id + JOIN tmp.item_available i ON i.item_id = a.Id_Article + WHERE #filter + ORDER BY name + + + + + + + + + + + + + CALL item_available (); + SELECT DISTINCT c.Id_Tinta, l.str name + FROM vn2008.Tintas c + JOIN vn2008.Articles a ON a.Color = c.Id_Tinta + JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id + LEFT JOIN vn_locale.color_view l ON l.color_id = c.Id_Tinta + JOIN tmp.item_available i ON i.item_id = a.Id_Article + WHERE #filter + ORDER BY name + + + + + + + + + + + + + + + CALL item_available (); + SELECT DISTINCT p.producer_id, p.name + FROM vn2008.producer p + JOIN vn2008.Articles a ON a.producer_id = p.producer_id + JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id + JOIN tmp.item_available i ON i.item_id = a.Id_Article + WHERE #filter + ORDER BY name + + + + + + + + + + + + + + + CALL item_available (); + SELECT DISTINCT o.id, l.str name, o.Abreviatura + FROM vn2008.Origen o + JOIN vn2008.Articles a ON a.id_origen = o.id + JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id + LEFT JOIN vn_locale.origin_view l ON l.origin_id = o.id + JOIN tmp.item_available i ON i.item_id = a.Id_Article + WHERE #filter + ORDER BY name + + + + + + + + + + + + + + + CALL item_available (); + SELECT DISTINCT a.Categoria, a.Categoria category + FROM vn2008.Articles a + JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id + JOIN tmp.item_available i ON i.item_id = a.Id_Article + WHERE #filter + ORDER BY a.Categoria + + + + + + + + + + + +
+
+

Order by

+ +
-
-
- - - - - - -
- - - -
+ +
+ + +
+ + + + + + +
+ + + +
+
-
+
diff --git a/web/forms/ecomerce/orders/ui.xml b/web/forms/ecomerce/orders/ui.xml index 0b13099d..af6f0b1f 100755 --- a/web/forms/ecomerce/orders/ui.xml +++ b/web/forms/ecomerce/orders/ui.xml @@ -12,6 +12,15 @@

LastOrders

+ +
Balance: @@ -33,15 +42,6 @@ class="info" alt="Info"/>
- -
diff --git a/web/forms/news/new/ui.xml b/web/forms/news/new/ui.xml index e041e7e6..3df63967 100755 --- a/web/forms/news/new/ui.xml +++ b/web/forms/news/new/ui.xml @@ -25,16 +25,16 @@

AddEditNew

- +
diff --git a/web/image/blog.svg b/web/image/blog.svg new file mode 100644 index 00000000..c162845a --- /dev/null +++ b/web/image/blog.svg @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/image/dark/view-grid.svg b/web/image/dark/view-grid.svg index 5f2d7ebe..86f11ed6 100644 --- a/web/image/dark/view-grid.svg +++ b/web/image/dark/view-grid.svg @@ -59,7 +59,7 @@ inkscape:window-width="1920" inkscape:window-x="1920" inkscape:window-y="27" - inkscape:zoom="51.5"> + inkscape:zoom="51.6875"> - - - - - - - - - + + + + + + + + + + + diff --git a/web/image/dark/view-list.svg b/web/image/dark/view-list.svg index 1316d90c..43de6898 100644 --- a/web/image/dark/view-list.svg +++ b/web/image/dark/view-list.svg @@ -63,7 +63,7 @@ inkscape:window-width="1920" inkscape:window-x="1920" inkscape:window-y="27" - inkscape:zoom="51.5"> + inkscape:zoom="51.6875"> - - - - - - + + + + + + + + diff --git a/web/image/family_dark/1.svg b/web/image/family_dark/1.svg new file mode 100644 index 00000000..665cb84f --- /dev/null +++ b/web/image/family_dark/1.svg @@ -0,0 +1,73 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/web/image/family_dark/2.svg b/web/image/family_dark/2.svg new file mode 100644 index 00000000..f658ceb3 --- /dev/null +++ b/web/image/family_dark/2.svg @@ -0,0 +1,92 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/web/image/family_dark/3.svg b/web/image/family_dark/3.svg new file mode 100644 index 00000000..ebf769fa --- /dev/null +++ b/web/image/family_dark/3.svg @@ -0,0 +1,69 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/web/image/family_dark/4.svg b/web/image/family_dark/4.svg new file mode 100644 index 00000000..bcf2debb --- /dev/null +++ b/web/image/family_dark/4.svg @@ -0,0 +1,62 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/web/image/family_dark/5.svg b/web/image/family_dark/5.svg new file mode 100644 index 00000000..9a9bf0ff --- /dev/null +++ b/web/image/family_dark/5.svg @@ -0,0 +1,62 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/web/image/family_dark/7.svg b/web/image/family_dark/7.svg new file mode 100644 index 00000000..830a9ad6 --- /dev/null +++ b/web/image/family_dark/7.svg @@ -0,0 +1,96 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/web/image/loader-black.gif b/web/image/loader-black.gif deleted file mode 100644 index dec45f5605dc7e07a48933550a331b7765244ba5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7033 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 diff --git a/web/image/loader.gif b/web/image/loader.gif deleted file mode 100644 index 77b2725054b77f9e1a534a98d52f32c807527c00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6103 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 0) - if (!this.requestedMainTable - || tables[i].name === this.requestedMainTable) + if (!this._requestedMainTable + || tables[i].name === this._requestedMainTable) { newMainTable = i; break; @@ -372,7 +406,7 @@ Db.Model.implement **/ ,setDefault: function (field, table, expr) { - this.defaults.push + this._defaults.push ({ field: field ,table: table @@ -389,7 +423,7 @@ Db.Model.implement **/ ,setDefaultFromValue: function (field, table, value) { - this.defaults.push + this._defaults.push ({ field: field ,table: table @@ -407,7 +441,7 @@ Db.Model.implement **/ ,setDefaultFromColumn: function (field, table, srcColumn) { - this.defaults.push + this._defaults.push ({ field: field ,table: table @@ -591,7 +625,7 @@ Db.Model.implement var op = this._createOperation (rowIndex); op.type |= Db.Model.Operation.DELETE; - if (!this.requestedMainTable) + if (!this._requestedMainTable) { this.signalEmit ('row-deleted-before', rowIndex); this.data.splice (rowIndex, 1); @@ -659,7 +693,7 @@ Db.Model.implement **/ ,performOperations: function () { - var ops = this.operations; + var ops = this._operations; if (ops.length === 0) { @@ -742,9 +776,9 @@ Db.Model.implement var dmlQuery = new Sql.Insert (); var table = this.tables[tableIndex]; - for (var i = 0; i < this.defaults.length; i++) + for (var i = 0; i < this._defaults.length; i++) { - var def = this.defaults[i]; + var def = this._defaults[i]; if (def.table === table.name) { @@ -798,10 +832,10 @@ Db.Model.implement { if (resultSet.getError ()) { - this.operations = this.operations.concat (ops); + this._operations = this._operations.concat (ops); for (var i = 0; i < ops.length; i++) - this.operationsMap[ops[i].row.index] = ops[i]; + this._operationsMap[ops[i].row.index] = ops[i]; return; } @@ -874,9 +908,9 @@ Db.Model.implement **/ ,reverseOperations: function () { - for (var i = 0; i < this.operations.length; i++) + for (var i = 0; i < this._operations.length; i++) { - var op = this.operations[i]; + var op = this._operations[i]; var row = op.row; if (op.type & Db.Model.Operation.DELETE @@ -909,8 +943,8 @@ Db.Model.implement ,_resetOperations: function () { - this.operations = []; - this.operationsMap = {}; + this._operations = []; + this._operationsMap = {}; } /* @@ -947,12 +981,13 @@ Db.Model.implement **/ ,sortByName: function (columnName, way) { + this._requestedSortIndex = -1; + this._requestedSortName = columnName; + var index = this.getColumnIndex (columnName); if (index != -1) - this.sort (index, way); - else - console.warn ('Db.Model: Column %s doesn\'t exist', columnName); + this._sort (index, way); } /** @@ -963,28 +998,40 @@ Db.Model.implement **/ ,sort: function (column, way) { + this._requestedSortIndex = column; + this._requestedSortName = null; + if (!this.checkColExists (column)) return; - - this._setStatus (Db.Model.Status.LOADING); - if (column !== this.sortColumn) + this._sort (column, way); + } + + ,_sort: function (column, way) + { + this._setStatus (Db.Model.Status.LOADING); + this._realSort (column, way); + this._setStatus (Db.Model.Status.READY); + } + + ,_realSort: function (column, way) + { + if (column !== this._sortColumn) { if (way === Db.Model.SortWay.DESC) var sortFunction = this.sortFunctionDesc; else var sortFunction = this.sortFunctionAsc; - + this.data.sort (sortFunction.bind (this, column)); } - else if (way !== this.sortWay) + else if (way !== this._sortWay) this.data.reverse (); - - this.sortColumn = column; - this.sortWay = way; + + this._sortColumn = column; + this._sortWay = way; this._refreshRowIndexes (0); - this._setStatus (Db.Model.Status.READY); } /** @@ -998,7 +1045,7 @@ Db.Model.implement **/ ,indexColumn: function (column) { - this.requestedIndexes[column] = true; + this._requestedIndexes[column] = true; if (this._status === Db.Model.Status.READY) this._buildIndex (column); @@ -1026,7 +1073,7 @@ Db.Model.implement index[data[i][columnIndex]] = i; } - this.indexes[columnIndex] = index; + this._indexes[columnIndex] = index; } } @@ -1077,7 +1124,7 @@ Db.Model.implement // Searchs the value using an internal index. - var index = this.indexes[col]; + var index = this._indexes[col]; if (index) { @@ -1168,7 +1215,7 @@ Db.Model.implement ,_createOperation: function (rowIndex) { - var op = this.operationsMap[rowIndex]; + var op = this._operationsMap[rowIndex]; if (!op) { @@ -1176,8 +1223,8 @@ Db.Model.implement type: 0, row: this.data[rowIndex] }; - this.operations.push (op); - this.operationsMap[rowIndex] = op; + this._operations.push (op); + this._operationsMap[rowIndex] = op; } return op; diff --git a/web/js/hedera/gui.css b/web/js/hedera/gui.css index fdbf5e9d..8360b67c 100755 --- a/web/js/hedera/gui.css +++ b/web/js/hedera/gui.css @@ -6,8 +6,7 @@ /* Font */ -.vn-gui .welcome, -.vn-gui .supplant > span, +.vn-gui .user-info, .vn-gui .menu-title, .vn-gui .main-menu a { @@ -28,18 +27,18 @@ box-shadow: 0 0.1em 0.1em rgba(1, 1, 1, 0.3); height: 3.9em; color: white; -/* + transition-property: left, background-color, transform; transition-duration: 200ms; - transition-timing-function: linear; -*/ - transition: transform 200ms ease-in-out; - -webkit-transition: transform 200ms ease-in-out; + transition-timing-function: ease-in-out; +/* transition: transform 100ms ease-in-out; + -webkit-transition: transform 100ms ease-in-out;*/ } .vn-gui .menu-button { + position: absolute; + left: 0; display: none; - float: left; border: none; background-color: transparent; padding: 0 .4em; @@ -64,7 +63,7 @@ font-weight: normal; font-size: 1.4em; padding: .7em .6em; - padding-right: 0; + padding-right: .3em; margin: 0; } .vn-gui .navbar > .htk-spinner @@ -72,22 +71,6 @@ float: left; margin: 1.05em .8em; } -.vn-gui .exit -{ - float: right; - padding: 0 .4em; - display: block; - height: 100%; -} -.vn-gui .exit:hover -{ - background-color: rgba(0, 0, 0, .2); -} -.vn-gui .exit > img -{ - height: 1.8em; - vertical-align: middle; -} /* Action bar */ @@ -106,12 +89,12 @@ } .vn-gui .action-bar > div > * { - float: left; + float: right; } .vn-gui .action-bar button { margin: 0; - padding: 1.15em .5em; + padding: 1.25em .5em; } .vn-gui .action-bar button:hover { @@ -179,31 +162,34 @@ width: 12em; margin-bottom: .6em; } -.vn-gui .welcome +.vn-gui .user-info { - display: block; + position: relative; +} +.vn-gui .user-info > span +{ + max-width: 9em; + display: inline-block; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; + vertical-align: middle; +} +.vn-gui button.logout +{ + float: right; + padding: .2em; +} +.vn-gui button.logout > img +{ + height: 1.2em; + display: block; } .vn-gui .supplant { margin-top: .2em; display: none; } -.vn-gui .supplant > span -{ - max-width: 10em; - display: inline-block; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} -.vn-gui .supplant > button -{ - float: right; - padding: .2em; -} /* Test link */ @@ -356,6 +342,7 @@ } .vn-gui > .navbar { + padding-left: 2.8em; left: 0; } .vn-gui > .body diff --git a/web/js/hedera/gui.js b/web/js/hedera/gui.js index 61d7f65f..34bab537 100755 --- a/web/js/hedera/gui.js +++ b/web/js/hedera/gui.js @@ -204,7 +204,7 @@ Vn.Gui = new Class { if (this._scrollTimeout === null) this._scrollTimeout = setTimeout ( - this._scrollTimeoutFunc.bind (this), 300); + this._scrollTimeoutFunc.bind (this), 150); } ,_scrollTimeoutFunc: function () diff --git a/web/js/hedera/gui.xml b/web/js/hedera/gui.xml index 694232f4..d4e464e5 100755 --- a/web/js/hedera/gui.xml +++ b/web/js/hedera/gui.xml @@ -1,13 +1,10 @@