From 3931914203dc52a069135ac1380838e3d5a3aee2 Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Tue, 12 Nov 2013 09:54:20 +0100 Subject: [PATCH 01/17] // Add Modernizr and Modernizr-loads check and loading for unsuported browsers --- .../themes/default/js/modernizr-loads.js | 8 ++ .../js/vendor/matchMedia.addListener.js | 75 +++++++++++++++++++ .../themes/default/js/vendor/matchMedia.js | 46 ++++++++++++ .../themes/default/js/vendor/modernizr.js | 4 + classes/controller/AdminController.php | 4 +- 5 files changed, 135 insertions(+), 2 deletions(-) create mode 100644 admin-dev/themes/default/js/modernizr-loads.js create mode 100644 admin-dev/themes/default/js/vendor/matchMedia.addListener.js create mode 100644 admin-dev/themes/default/js/vendor/matchMedia.js create mode 100644 admin-dev/themes/default/js/vendor/modernizr.js diff --git a/admin-dev/themes/default/js/modernizr-loads.js b/admin-dev/themes/default/js/modernizr-loads.js new file mode 100644 index 000000000..299598385 --- /dev/null +++ b/admin-dev/themes/default/js/modernizr-loads.js @@ -0,0 +1,8 @@ +Modernizr.load([ + { + test: window.matchMedia, + nope: ["themes/default/js/vendor/matchMedia.js", "themes/default/js/vendor/matchMedia.addListener.js"] + }, + "themes/default/js/vendor/enquire.js", + "themes/default/js/admin-theme.js" +]); \ No newline at end of file diff --git a/admin-dev/themes/default/js/vendor/matchMedia.addListener.js b/admin-dev/themes/default/js/vendor/matchMedia.addListener.js new file mode 100644 index 000000000..764232d94 --- /dev/null +++ b/admin-dev/themes/default/js/vendor/matchMedia.addListener.js @@ -0,0 +1,75 @@ +/*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */ +(function(){ + // Bail out for browsers that have addListener support + if (window.matchMedia && window.matchMedia('all').addListener) { + return false; + } + + var localMatchMedia = window.matchMedia, + hasMediaQueries = localMatchMedia('only all').matches, + isListening = false, + timeoutID = 0, // setTimeout for debouncing 'handleChange' + queries = [], // Contains each 'mql' and associated 'listeners' if 'addListener' is used + handleChange = function(evt) { + // Debounce + clearTimeout(timeoutID); + + timeoutID = setTimeout(function() { + for (var i = 0, il = queries.length; i < il; i++) { + var mql = queries[i].mql, + listeners = queries[i].listeners || [], + matches = localMatchMedia(mql.media).matches; + + // Update mql.matches value and call listeners + // Fire listeners only if transitioning to or from matched state + if (matches !== mql.matches) { + mql.matches = matches; + + for (var j = 0, jl = listeners.length; j < jl; j++) { + listeners[j].call(window, mql); + } + } + } + }, 30); + }; + + window.matchMedia = function(media) { + var mql = localMatchMedia(media), + listeners = [], + index = 0; + + mql.addListener = function(listener) { + // Changes would not occur to css media type so return now (Affects IE <= 8) + if (!hasMediaQueries) { + return; + } + + // Set up 'resize' listener for browsers that support CSS3 media queries (Not for IE <= 8) + // There should only ever be 1 resize listener running for performance + if (!isListening) { + isListening = true; + window.addEventListener('resize', handleChange, true); + } + + // Push object only if it has not been pushed already + if (index === 0) { + index = queries.push({ + mql : mql, + listeners : listeners + }); + } + + listeners.push(listener); + }; + + mql.removeListener = function(listener) { + for (var i = 0, il = listeners.length; i < il; i++){ + if (listeners[i] === listener){ + listeners.splice(i, 1); + } + } + }; + + return mql; + }; +}()); diff --git a/admin-dev/themes/default/js/vendor/matchMedia.js b/admin-dev/themes/default/js/vendor/matchMedia.js new file mode 100644 index 000000000..0bfca11e6 --- /dev/null +++ b/admin-dev/themes/default/js/vendor/matchMedia.js @@ -0,0 +1,46 @@ +/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */ + +window.matchMedia || (window.matchMedia = function() { + "use strict"; + + // For browsers that support matchMedium api such as IE 9 and webkit + var styleMedia = (window.styleMedia || window.media); + + // For those that don't support matchMedium + if (!styleMedia) { + var style = document.createElement('style'), + script = document.getElementsByTagName('script')[0], + info = null; + + style.type = 'text/css'; + style.id = 'matchmediajs-test'; + + script.parentNode.insertBefore(style, script); + + // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers + info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle; + + styleMedia = { + matchMedium: function(media) { + var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; + + // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers + if (style.styleSheet) { + style.styleSheet.cssText = text; + } else { + style.textContent = text; + } + + // Test if media query is true or false + return info.width === '1px'; + } + }; + } + + return function(media) { + return { + matches: styleMedia.matchMedium(media || 'all'), + media: media || 'all' + }; + }; +}()); diff --git a/admin-dev/themes/default/js/vendor/modernizr.js b/admin-dev/themes/default/js/vendor/modernizr.js new file mode 100644 index 000000000..f67462315 --- /dev/null +++ b/admin-dev/themes/default/js/vendor/modernizr.js @@ -0,0 +1,4 @@ +/* Modernizr 2.6.3 (Custom Build) | MIT & BSD + * Build: http://modernizr.com/download/#-shiv-cssclasses-load + */ +;window.Modernizr=function(a,b,c){function u(a){j.cssText=a}function v(a,b){return u(prefixes.join(a+";")+(b||""))}function w(a,b){return typeof a===b}function x(a,b){return!!~(""+a).indexOf(b)}function y(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:w(f,"function")?f.bind(d||b):f}return!1}var d="2.6.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m={},n={},o={},p=[],q=p.slice,r,s={}.hasOwnProperty,t;!w(s,"undefined")&&!w(s.call,"undefined")?t=function(a,b){return s.call(a,b)}:t=function(a,b){return b in a&&w(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=q.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(q.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(q.call(arguments)))};return e});for(var z in m)t(m,z)&&(r=z.toLowerCase(),e[r]=m[z](),p.push((e[r]?"":"no-")+r));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)t(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},u(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+p.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;faddJS(__PS_BASE_URI__.$admin_webpath.'/themes/'.$this->bo_theme.'/js/vendor/bootstrap.js'); - $this->addJS(__PS_BASE_URI__.$admin_webpath.'/themes/'.$this->bo_theme.'/js/vendor/enquire.js'); - $this->addJS(__PS_BASE_URI__.$admin_webpath.'/themes/'.$this->bo_theme.'/js/admin-theme.js'); + $this->addJS(__PS_BASE_URI__.$admin_webpath.'/themes/'.$this->bo_theme.'/js/vendor/modernizr.js'); + $this->addJS(__PS_BASE_URI__.$admin_webpath.'/themes/'.$this->bo_theme.'/js/modernizr-loads.js'); if (!Tools::getValue('submitFormAjax')) { From 5ca23d44a6e7f7c4b7d02cf9f1a57fa8c4fc5098 Mon Sep 17 00:00:00 2001 From: Kevin Granger Date: Tue, 12 Nov 2013 10:43:52 +0100 Subject: [PATCH 02/17] // label with tooltip --- admin-dev/themes/default/css/admin-theme.css | 2 +- admin-dev/themes/default/scss/admin-theme/_admin-forms.sass | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/admin-dev/themes/default/css/admin-theme.css b/admin-dev/themes/default/css/admin-theme.css index e9cfd7f9a..9546ddab8 100644 --- a/admin-dev/themes/default/css/admin-theme.css +++ b/admin-dev/themes/default/css/admin-theme.css @@ -3694,7 +3694,7 @@ td.actions { min-width: 200px; } label.control-label { font-size: 13px; font-weight: normal; color: #666666; } -label.control-label span.label-tooltip { text-decoration: none; font-size: 13px; background-color: #ebebeb; border: none; border-bottom: solid 1px #dfdfdf; padding: 0 5px; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; } +label.control-label span.label-tooltip { text-decoration: none; font-size: 13px; color: #3586ae; background-color: #edf7fb; border: none; border-bottom: solid 1px #d8edf7; padding: 0 5px; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; } label.required:before { content: "*"; color: red; font-size: 14px; position: relative; line-height: 12px; } diff --git a/admin-dev/themes/default/scss/admin-theme/_admin-forms.sass b/admin-dev/themes/default/scss/admin-theme/_admin-forms.sass index 1844c5bba..e3c395a03 100644 --- a/admin-dev/themes/default/scss/admin-theme/_admin-forms.sass +++ b/admin-dev/themes/default/scss/admin-theme/_admin-forms.sass @@ -7,9 +7,10 @@ label.control-label label.control-label span.label-tooltip text-decoration: none font-size: 13px - background-color: darken($bg-content-color,5%) + color: #3586AE + background-color: lighten(#D8EDF7,5%) border: none - border-bottom: solid 1px darken($bg-content-color,10%) + border-bottom: solid 1px #D8EDF7 padding: 0 5px @include border-radius(3px) From 44d1ed0982834cec409fd59e648a31f09f61f68f Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Tue, 12 Nov 2013 10:45:17 +0100 Subject: [PATCH 03/17] // Add category name to page header title --- controllers/admin/AdminCategoriesController.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/controllers/admin/AdminCategoriesController.php b/controllers/admin/AdminCategoriesController.php index 6ee52154d..823c8e0ce 100644 --- a/controllers/admin/AdminCategoriesController.php +++ b/controllers/admin/AdminCategoriesController.php @@ -160,16 +160,25 @@ class AdminCategoriesControllerCore extends AdminController public function initPageHeaderToolbar() { - if (empty($this->display)) - { + parent::initPageHeaderToolbar(); + + if ($this->display != 'add') $this->page_header_toolbar_btn['new_category'] = array( 'href' => self::$currentIndex.'&addcategory&token='.$this->token, 'desc' => $this->l('Add new category'), 'icon' => 'process-icon-new' ); - } - parent::initPageHeaderToolbar(); + if ($this->display == 'view') + { + array_pop($this->toolbar_title); + $obj = $this->loadObject(); + + if (Validate::isLoadedObject($obj)) + $this->toolbar_title[] = $obj->name[$this->context->employee->id_lang]; + + $this->page_header_toolbar_title = implode(' '.Configuration::get('PS_NAVIGATION_PIPE').' ', $this->toolbar_title); + } } public function initContent() From 41196f3c5fb98bc1febb2162270f7ac175d4d2c7 Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Tue, 12 Nov 2013 11:06:20 +0100 Subject: [PATCH 04/17] // General modification for view and edit title --- classes/controller/AdminController.php | 18 ++++++++++++++++-- .../admin/AdminCategoriesController.php | 11 ----------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/classes/controller/AdminController.php b/classes/controller/AdminController.php index d9c4e6f27..d55cb8a81 100644 --- a/classes/controller/AdminController.php +++ b/classes/controller/AdminController.php @@ -1119,8 +1119,6 @@ class AdminControllerCore extends Controller if (!is_array($this->toolbar_title)) $this->toolbar_title = array($this->toolbar_title); - $title = implode(' '.Configuration::get('PS_NAVIGATION_PIPE').' ', $this->toolbar_title); - switch ($this->display) { case 'view': @@ -1135,6 +1133,12 @@ class AdminControllerCore extends Controller 'href' => $back, 'desc' => $this->l('Back to list') ); + $obj = $this->loadObject(); + if (Validate::isLoadedObject($obj) && isset($obj->name) && !empty($obj->name)) + { + array_pop($this->toolbar_title); + $this->toolbar_title[] = is_array($obj->name) ? $obj->name[$this->context->employee->id_lang] : $obj->name; + } break; case 'add': case 'edit': @@ -1154,6 +1158,14 @@ class AdminControllerCore extends Controller 'href' => $back, 'desc' => $this->l('Cancel') ); + + $obj = $this->loadObject(); + if (Validate::isLoadedObject($obj) && isset($obj->name) && !empty($obj->name)) + { + array_pop($this->toolbar_title); + $this->toolbar_title[] = sprintf($this->l('Edit: %s'), + is_array($obj->name) ? $obj->name[$this->context->employee->id_lang] : $obj->name); + } break; case 'options': // Default save button - action dynamically handled in javascript @@ -1163,6 +1175,8 @@ class AdminControllerCore extends Controller ); } + $title = implode(' '.Configuration::get('PS_NAVIGATION_PIPE').' ', $this->toolbar_title); + if (is_array($this->page_header_toolbar_btn) && $this->page_header_toolbar_btn instanceof Traversable || trim($title) != '') diff --git a/controllers/admin/AdminCategoriesController.php b/controllers/admin/AdminCategoriesController.php index 823c8e0ce..de4877ab0 100644 --- a/controllers/admin/AdminCategoriesController.php +++ b/controllers/admin/AdminCategoriesController.php @@ -168,17 +168,6 @@ class AdminCategoriesControllerCore extends AdminController 'desc' => $this->l('Add new category'), 'icon' => 'process-icon-new' ); - - if ($this->display == 'view') - { - array_pop($this->toolbar_title); - $obj = $this->loadObject(); - - if (Validate::isLoadedObject($obj)) - $this->toolbar_title[] = $obj->name[$this->context->employee->id_lang]; - - $this->page_header_toolbar_title = implode(' '.Configuration::get('PS_NAVIGATION_PIPE').' ', $this->toolbar_title); - } } public function initContent() From 4a6346b29509442d5401eb2f58868702ecf07ab0 Mon Sep 17 00:00:00 2001 From: Kevin Granger Date: Tue, 12 Nov 2013 11:07:30 +0100 Subject: [PATCH 05/17] // adjustment on switch --- admin-dev/themes/default/css/admin-theme.css | 6 +++--- .../themes/default/scss/admin-theme/_admin-switch.sass | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/admin-dev/themes/default/css/admin-theme.css b/admin-dev/themes/default/css/admin-theme.css index 9546ddab8..ad9bff087 100644 --- a/admin-dev/themes/default/css/admin-theme.css +++ b/admin-dev/themes/default/css/admin-theme.css @@ -3767,7 +3767,7 @@ textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[ty .switch .slide-button, .toggle p span { display: none; } -.switch { background-color: #d2d2d2; border-radius: 3px; } +.switch { background-color: #e9e9e9; border-radius: 3px; } .switch label { padding: 0; cursor: pointer; } @media only screen { .toggle { position: relative; padding: 0; margin-left: 100px; } @@ -3801,10 +3801,10 @@ textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[ty .toggle input:checked ~ .slide-button { right: 50%; } .toggle input:focus ~ .slide-button, .switch input:focus + label { outline: 1px dotted #888888; } .switch, .toggle { -webkit-animation: bugfix infinite 1s; } - .prestashop-switch { min-width: 150px; color: #666666; text-align: center; border-radius: 3px; -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 5px 1px inset; box-shadow: rgba(0, 0, 0, 0.2) 0 2px 5px 1px inset; } + .prestashop-switch { min-width: 150px; color: #999999; text-align: center; border-radius: 3px; -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 5px 1px inset; box-shadow: rgba(0, 0, 0, 0.2) 0 2px 5px 1px inset; } .prestashop-switch label { padding-top: 0 !important; font-weight: 500; } .prestashop-switch input:checked + label { color: #333333 !important; text-shadow: rgba(255, 255, 255, 0.7) 1px 1px 0; } - .prestashop-switch input:not(:checked) + label i { color: #666666 !important; } + .prestashop-switch input:not(:checked) + label i { color: #999999 !important; } .prestashop-switch .slide-button { position: relative; margin-right: 3px; color: white; } .prestashop-switch p { color: #333333; } .prestashop-switch span { color: white; } } diff --git a/admin-dev/themes/default/scss/admin-theme/_admin-switch.sass b/admin-dev/themes/default/scss/admin-theme/_admin-switch.sass index dcdf581e5..73c75aa46 100755 --- a/admin-dev/themes/default/scss/admin-theme/_admin-switch.sass +++ b/admin-dev/themes/default/scss/admin-theme/_admin-switch.sass @@ -6,7 +6,7 @@ .switch .slide-button, .toggle p span display: none .switch - background-color: darken($bg-content-color,15%) + background-color: #E9E9E9 border-radius: 3px label padding: 0 @@ -144,7 +144,7 @@ // Prestashop Theme .prestashop-switch min-width: 150px - color: #666 + color: #999 text-align: center border-radius: 3px @include box-shadow(rgba(black,0.2) 0 2px 5px 1px inset) @@ -156,7 +156,7 @@ @include text-shadow(rgba(white,0.7) 1px 1px 0) input:not(:checked) + label i - color: #666!important + color: #999!important .slide-button position: relative margin-right: 3px From db0e1e41a96321a73b3d496fb6c2d2f04c6053ec Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Tue, 12 Nov 2013 11:10:55 +0100 Subject: [PATCH 06/17] // Small Fix --- classes/controller/AdminController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classes/controller/AdminController.php b/classes/controller/AdminController.php index d55cb8a81..7eab4890b 100644 --- a/classes/controller/AdminController.php +++ b/classes/controller/AdminController.php @@ -1133,7 +1133,7 @@ class AdminControllerCore extends Controller 'href' => $back, 'desc' => $this->l('Back to list') ); - $obj = $this->loadObject(); + $obj = $this->loadObject(true); if (Validate::isLoadedObject($obj) && isset($obj->name) && !empty($obj->name)) { array_pop($this->toolbar_title); @@ -1159,7 +1159,7 @@ class AdminControllerCore extends Controller 'desc' => $this->l('Cancel') ); - $obj = $this->loadObject(); + $obj = $this->loadObject(true); if (Validate::isLoadedObject($obj) && isset($obj->name) && !empty($obj->name)) { array_pop($this->toolbar_title); From 94817a9371ff366924970f05188ae62e93e20d25 Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Tue, 12 Nov 2013 11:16:31 +0100 Subject: [PATCH 07/17] // ooops --- classes/controller/AdminController.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/classes/controller/AdminController.php b/classes/controller/AdminController.php index 7eab4890b..ec63e315b 100644 --- a/classes/controller/AdminController.php +++ b/classes/controller/AdminController.php @@ -1141,7 +1141,6 @@ class AdminControllerCore extends Controller } break; case 'add': - case 'edit': // Default save button - action dynamically handled in javascript $this->page_header_toolbar_btn['save'] = array( 'href' => '#', @@ -1158,7 +1157,7 @@ class AdminControllerCore extends Controller 'href' => $back, 'desc' => $this->l('Cancel') ); - + case 'edit': $obj = $this->loadObject(true); if (Validate::isLoadedObject($obj) && isset($obj->name) && !empty($obj->name)) { From ec37efdf8b8cabb9ebb71d2e3ebacdf7a2c6274a Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Tue, 12 Nov 2013 11:30:01 +0100 Subject: [PATCH 08/17] // Add identifier name --- classes/controller/AdminController.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/classes/controller/AdminController.php b/classes/controller/AdminController.php index ec63e315b..99ecd9d93 100644 --- a/classes/controller/AdminController.php +++ b/classes/controller/AdminController.php @@ -52,6 +52,7 @@ class AdminControllerCore extends Controller /** @var string Object identifier inside the associated table */ protected $identifier = false; + protected $identifier_name = 'name'; /** @var string Tab name */ public $className; @@ -1134,10 +1135,11 @@ class AdminControllerCore extends Controller 'desc' => $this->l('Back to list') ); $obj = $this->loadObject(true); - if (Validate::isLoadedObject($obj) && isset($obj->name) && !empty($obj->name)) + $id_name = $this->identifier_name; + if (Validate::isLoadedObject($obj) && isset($obj->$id_name) && !empty($obj->$id_name)) { array_pop($this->toolbar_title); - $this->toolbar_title[] = is_array($obj->name) ? $obj->name[$this->context->employee->id_lang] : $obj->name; + $this->toolbar_title[] = is_array($obj->$id_name) ? $obj->$id_name[$this->context->employee->id_lang] : $obj->$id_name; } break; case 'add': @@ -1159,11 +1161,12 @@ class AdminControllerCore extends Controller ); case 'edit': $obj = $this->loadObject(true); - if (Validate::isLoadedObject($obj) && isset($obj->name) && !empty($obj->name)) + $id_name = $this->identifier_name; + if (Validate::isLoadedObject($obj) && isset($obj->$id_name) && !empty($obj->$id_name)) { array_pop($this->toolbar_title); $this->toolbar_title[] = sprintf($this->l('Edit: %s'), - is_array($obj->name) ? $obj->name[$this->context->employee->id_lang] : $obj->name); + is_array($obj->$id_name) ? $obj->$id_name[$this->context->employee->id_lang] : $obj->$id_name); } break; case 'options': From fe387fa8ed77aafcdf636792b8b69530aa65f5e2 Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Tue, 12 Nov 2013 11:30:26 +0100 Subject: [PATCH 09/17] // Set Identifier name for search engine --- controllers/admin/AdminSearchEnginesController.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/controllers/admin/AdminSearchEnginesController.php b/controllers/admin/AdminSearchEnginesController.php index 7a571324b..df28cdcfc 100644 --- a/controllers/admin/AdminSearchEnginesController.php +++ b/controllers/admin/AdminSearchEnginesController.php @@ -86,6 +86,8 @@ class AdminSearchEnginesControllerCore extends AdminController 'desc' => $this->l('Add new search engine'), 'icon' => 'process-icon-new' ); + + $this->identifier_name = 'server'; parent::initPageHeaderToolbar(); } From 0430d09753dc2baaf264db54817fd037e4bbb266 Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Tue, 12 Nov 2013 11:36:26 +0100 Subject: [PATCH 10/17] // Better php def for Page header title edit and view --- classes/controller/AdminController.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/classes/controller/AdminController.php b/classes/controller/AdminController.php index 99ecd9d93..0908bf0fa 100644 --- a/classes/controller/AdminController.php +++ b/classes/controller/AdminController.php @@ -1135,11 +1135,10 @@ class AdminControllerCore extends Controller 'desc' => $this->l('Back to list') ); $obj = $this->loadObject(true); - $id_name = $this->identifier_name; - if (Validate::isLoadedObject($obj) && isset($obj->$id_name) && !empty($obj->$id_name)) + if (Validate::isLoadedObject($obj) && isset($obj->{$this->identifier_name}) && !empty($obj->{$this->identifier_name})) { array_pop($this->toolbar_title); - $this->toolbar_title[] = is_array($obj->$id_name) ? $obj->$id_name[$this->context->employee->id_lang] : $obj->$id_name; + $this->toolbar_title[] = is_array($obj->{$this->identifier_name}) ? $obj->{$this->identifier_name}[$this->context->employee->id_lang] : $obj->{$this->identifier_name}; } break; case 'add': @@ -1161,12 +1160,11 @@ class AdminControllerCore extends Controller ); case 'edit': $obj = $this->loadObject(true); - $id_name = $this->identifier_name; - if (Validate::isLoadedObject($obj) && isset($obj->$id_name) && !empty($obj->$id_name)) + if (Validate::isLoadedObject($obj) && isset($obj->{$this->identifier_name}) && !empty($obj->{$this->identifier_name})) { array_pop($this->toolbar_title); $this->toolbar_title[] = sprintf($this->l('Edit: %s'), - is_array($obj->$id_name) ? $obj->$id_name[$this->context->employee->id_lang] : $obj->$id_name); + is_array($obj->{$this->identifier_name}) ? $obj->{$this->identifier_name}[$this->context->employee->id_lang] : $obj->{$this->identifier_name}); } break; case 'options': From d6df601d0e0cf569342b139b367c46922f90e7d5 Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Tue, 12 Nov 2013 11:55:54 +0100 Subject: [PATCH 11/17] // Preferences identrifer names --- controllers/admin/AdminMetaController.php | 1 + controllers/admin/AdminSearchConfController.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/controllers/admin/AdminMetaController.php b/controllers/admin/AdminMetaController.php index 92aa510e6..75eea4162 100644 --- a/controllers/admin/AdminMetaController.php +++ b/controllers/admin/AdminMetaController.php @@ -36,6 +36,7 @@ class AdminMetaControllerCore extends AdminController parent::__construct(); $this->bootstrap = true; + $this->identifier_name = 'page'; $this->ht_file = _PS_ROOT_DIR_.'/.htaccess'; $this->rb_file = _PS_ROOT_DIR_.'/robots.txt'; $this->sm_file = _PS_ROOT_DIR_.'/sitemap.xml'; diff --git a/controllers/admin/AdminSearchConfController.php b/controllers/admin/AdminSearchConfController.php index 0f9346dba..b7e601225 100644 --- a/controllers/admin/AdminSearchConfController.php +++ b/controllers/admin/AdminSearchConfController.php @@ -199,7 +199,7 @@ class AdminSearchConfControllerCore extends AdminController 'desc' => $this->l('Add new alias'), 'icon' => 'process-icon-new' ); - + $this->identifier_name = 'alias'; parent::initPageHeaderToolbar(); } From c7fff6b20d457b67a44fb95ae8d3b9fbe108a1e2 Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Tue, 12 Nov 2013 12:05:00 +0100 Subject: [PATCH 12/17] // Change edit title on employees controller --- controllers/admin/AdminEmployeesController.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/controllers/admin/AdminEmployeesController.php b/controllers/admin/AdminEmployeesController.php index 28d83105f..d4152e260 100644 --- a/controllers/admin/AdminEmployeesController.php +++ b/controllers/admin/AdminEmployeesController.php @@ -150,6 +150,8 @@ class AdminEmployeesControllerCore extends AdminController public function initPageHeaderToolbar() { + parent::initPageHeaderToolbar(); + if (empty($this->display)) $this->page_header_toolbar_btn['new_employee'] = array( 'href' => self::$currentIndex.'&addemployee&token='.$this->token, @@ -157,7 +159,16 @@ class AdminEmployeesControllerCore extends AdminController 'icon' => 'process-icon-new' ); - parent::initPageHeaderToolbar(); + if ($this->display == 'edit') + { + $obj = $this->loadObject(true); + if (Validate::isLoadedObject($obj)) + { + array_pop($this->toolbar_title); + $this->toolbar_title[] = sprintf($this->l('Edit: %1$s %2$s'), $obj->lastname, $obj->firstname); + $this->page_header_toolbar_title = implode(' '.Configuration::get('PS_NAVIGATION_PIPE').' ', $this->toolbar_title); + } + } } public function renderList() From cf9da09f988cd901f520c36361cb1c5ac4fa4a0d Mon Sep 17 00:00:00 2001 From: Vincent Augagneur Date: Tue, 12 Nov 2013 14:40:58 +0100 Subject: [PATCH 13/17] //remove unused smarty variable --- .../views/templates/hook/dashboard_zone_one.tpl | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/modules/dashactivity/views/templates/hook/dashboard_zone_one.tpl b/modules/dashactivity/views/templates/hook/dashboard_zone_one.tpl index e96fba8f8..6f242d1cf 100644 --- a/modules/dashactivity/views/templates/hook/dashboard_zone_one.tpl +++ b/modules/dashactivity/views/templates/hook/dashboard_zone_one.tpl @@ -64,7 +64,6 @@ - {if $DASHACTIVITY_SHOW_PENDING}
{l s='Currently Pending' mod='dashactivity'}
    @@ -74,32 +73,26 @@ - {if $DASHACTIVITY_SHOW_RETURNS}
  • {l s='Return/Exchanges' mod='dashactivity'}
  • - {/if}
  • {l s='Abandoned Carts' mod='dashactivity'}
  • - {if $DASHACTIVITY_SHOW_STOCK}
  • {l s='Products Out of Stock' mod='dashactivity'}
  • - {/if}
- {/if} - {if $DASHACTIVITY_SHOW_NOTIFICATION}
{l s='Notifications' mod='dashactivity'}
    @@ -123,8 +116,6 @@
- {/if} - {if $DASHACTIVITY_SHOW_CUSTOMERS}
{l s='Customers & Newsletters' mod='dashactivity'}
    @@ -148,8 +139,6 @@
- {/if} - {if $DASHACTIVITY_SHOW_TRAFFIC}
{l s='Traffic' mod='dashactivity'} @@ -184,9 +173,7 @@
- {/if} -