From 66647d13edbcf13dac21b0f3a4c9645bd6f635f0 Mon Sep 17 00:00:00 2001 From: mMarinetti Date: Thu, 27 Oct 2011 14:38:58 +0000 Subject: [PATCH] [*] BO : #PSFV-94 - adminProducts > informations, toolbar and css (starting new design integration (thanks to vuThe) git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@9679 b9a71923-0436-4b27-9f14-aed3839534dd --- admin-dev/themes/default/admin.css | 88 ++++++-- .../themes/default/process-icon-cancel.png | Bin 0 -> 2342 bytes .../themes/default/process-icon-delete.png | Bin 0 -> 3151 bytes .../themes/default/process-icon-duplicate.png | Bin 0 -> 1788 bytes admin-dev/themes/default/process-icon-new.png | Bin 0 -> 1529 bytes .../themes/default/process-icon-preview.png | Bin 0 -> 2264 bytes .../default/process-icon-save-and-stay.png | Bin 0 -> 3767 bytes .../themes/default/process-icon-save.png | Bin 0 -> 3767 bytes .../themes/default/process-icon-stats.png | Bin 0 -> 2371 bytes .../themes/template/products/content.tpl | 41 ++-- .../themes/template/products/informations.tpl | 128 +++++++++++- classes/AdminController.php | 13 +- controllers/admin/AdminProductsController.php | 192 +++++++----------- css/admin.css | 5 +- 14 files changed, 302 insertions(+), 165 deletions(-) create mode 100644 admin-dev/themes/default/process-icon-cancel.png create mode 100644 admin-dev/themes/default/process-icon-delete.png create mode 100644 admin-dev/themes/default/process-icon-duplicate.png create mode 100644 admin-dev/themes/default/process-icon-new.png create mode 100644 admin-dev/themes/default/process-icon-preview.png create mode 100644 admin-dev/themes/default/process-icon-save-and-stay.png create mode 100644 admin-dev/themes/default/process-icon-save.png create mode 100644 admin-dev/themes/default/process-icon-stats.png diff --git a/admin-dev/themes/default/admin.css b/admin-dev/themes/default/admin.css index e31f7f89d..8543e37fc 100644 --- a/admin-dev/themes/default/admin.css +++ b/admin-dev/themes/default/admin.css @@ -1,7 +1,20 @@ -body{background:#EFEFEF} +body {font-family: Arial, Helvetica, sans-serif;} + +h1, h2, h3, h4, h5, h6 {font-family: Arial, Helvetica, sans-serif;} + + + +ul li {list-style-type:none;} + + + #top_container{margin:0;padding:0} -#header_infos{float:left;font-size:10px;margin:10px 20px 4px 0;width:380px;height:40px} -#header_infos #header_shopname span{display:block;font-size:24px;height:28px;overflow:hidden;margin-bottom:-8px} + + +/*HEADER*/ +#header { background-color: #3d3d3d; height:94px;} +#header_infos{float:left;font-size:10px;margin:10px 20px 4px 0;width:380px;} +#header_infos #header_shopname span{display:block;font-size:24px;height:28px;overflow:hidden;margin-bottom:-8px; color:#fff;} #header_infos #header_logout{text-decoration:underline} #header_infos #header_foaccess{text-decoration:none} #header_search{float:right;height:39px;width:356px} @@ -10,8 +23,9 @@ body{background:#EFEFEF} #header_search #bo_search_submit{cursor:pointer;float:left;font-weight:700;margin:7px 0 0 2px;width:79px} #header_quick{float:right;height:39px;margin-right:1px;width:175px} #header_quick #quick_select{margin:8px 0 0 20px;vertical-align:middle;width:140px} -#header_shoplist{float: right;} +#header_shoplist{float: right;clear:right} #header_myaccount{background:url(bg-lang.png) no-repeat;display:block;float:right;height:16px;margin:8px 1px 0 0;width:16px} +.path_bar {display:none;} .button{background-color:#FFF6D3;border:1px solid #DFD5AF;border-left:1px solid #FFF6D3;border-top:1px solid #FFF6D3;color:#268CCD;padding:3px} .button[disabled=disabled]{color:#8C8C8C} input.button[disabled=disabled]:hover{background-color:#FFF6D3} @@ -35,9 +49,11 @@ input.button[disabled=disabled]:hover{background-color:#FFF6D3} .cat_bar a{font-weight:700} fieldset{background:#FFFFF0;border:1px solid #DFD5C3;font-size:1.1em;margin:0;padding:1em} legend{background:#FFF6D3;border:1px solid #DFD5C3;font-weight:700;margin:0;padding:.2em .5em;text-align:left} -#menu{float:left;height:30px;line-height:normal;margin:10px 0 0;*margin:7px 0 0;padding:0;width:100%;padding:0 1px} -#menu li.maintab{background:url(bg-tab.png) repeat-x 0 -2px;float:left;height:29px;list-style:none;margin:0 1px 0 0;list-style:none;display:block;border:1px solid #999999;-moz-border-radius-topright:6px;-moz-border-radius-topleft:6px;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px} -#menu li.submenu_size .title{color:#000;display:block;height:20px;padding:8px 6px 4px 0;font-weight:bold;font-size:0.95em;} + +/*MENU*/ +#menu{ background-color: #f8f8f8; border-bottom:1px solid #e5e5e5; float:left;height:36px;line-height:normal;margin:10px 0;*margin:0;padding:0;width:100%;} +#menu li.maintab{float:left;height:29px;list-style:none;margin:0 1px 0 0;list-style:none;display:block; border-left:1px solid #fff; border-right:1px solid #ccc;} +#menu li.submenu_size .title{color:#000;display:block;height:20px;padding:8px 6px 4px 0;font-weight:normal;font-size:0.95em;} #menu li.submenu_size .title{_display:inline;_padding:6px 5px 4px 0} #menu li{_height:32px;_padding-top:3px} #menu img{display:inline;padding:0 3px 0 6px;vertical-align:top;width:16px;height:16px} @@ -47,15 +63,10 @@ legend{background:#FFF6D3;border:1px solid #DFD5C3;font-weight:700;margin:0;padd .withLeftBorder{background:transparent url(separator_subnav.png) no-repeat 0 5px} .submenu li{list-style:none;margin:0;padding-left:7px;padding-right:7px;margin-top:8px;float:left;height:16px;} .submenu li a{text-decoration:underline} -.tab-row {height:24px;width:100px;margin-left:25px;border:1px solid #cccccc} -.tab-row .tab .selected {background:#FFF6D3;margin:1px -3px -3px 25px;top:-2px;background-color:#eeeeee} -.tab-row .tab {background:#EFEFEF;width:100px;} -.tab-row .tab-page.selected {background:#FFF6D3;font-weight:bold;margin:1px -3px -3px 0px;top:-2px;background-color:#eeeeee} -.tab-row .tab-page {background:#EFEFEF;width:100px;} hr {height: 1px;color:#E0D0B1;background-color:#E0D0B1} #footer {height:40px;background:#ECEADE url(footer-bg.png) repeat-x scroll left bottom;border:1px solid #999999;font-size:12px;clear:both;font-size:0.9em;color:#666666} -#content {background-color:#FFF;border-left:1px solid #999999;border-right:1px solid #999999; border-top:1px solid #999999} -input[type="text"],input[type="password"],input[type="file"],textarea {border:1px solid #E0D0B1} +#content {} +input[type="text"],input[type="password"],input[type="file"],textarea {border:1px solid #ccc;} select {border: 1px solid #E0D0B1} select[disabled="disabled"], input[disabled="disabled"],textarea[disabled="disabled"] {border: 1px solid #CCCCCC;color: #AAAAAA} .header_module{background:url(header_module.png);padding-left: 0.5em;padding-top: 0.8em;height:20px;color: #812143;border:solid 1px #CCC;} @@ -88,10 +99,51 @@ a.module_toggle_all{color: #268CCD;} #header_infos .notifs_wrapper a {font-weight: bold;color: black;} .notifs_wrapper p {font-size: 12px;padding-top:8px;margin:0;border-top: 2px solid #E0E0E0;} .notifs_wrapper p.no_notifs {border: none;} -.productTabs ol{padding:0;} -.productTabs{background-color:#e0e0e0;border:1px solid #cccccc;position:absolute;top:100px;left:50px;} +/*toolbarBox*/ +.toolbarBox { margin-bottom:10px;} +.toolbarBox .pageTitle { line-height:48px} +.toolbarBox .pageTitle h3 {font-size: 2em; font-weight: bold; line-height: 48px; margin: 0; padding: 0;} + +.toolbarBox ul.cc_button {float:right;margin:0;padding:0;} +.toolbarBox ul.cc_button li {color: #666666; float: left; height: 48px; list-style: none outside none; padding: 1px 1px 3px 4px; text-align: center;} +.toolbarBox a.toolbar_btn { border-color: #cccccc #bbbbbb #a0a0a0; border-left: 1px solid #bbbbbb; border-radius: 3px 3px 3px 3px; border-right: 1px solid #bbbbbb; border-style: solid; border-width: 1px;font-size:11px;cursor: pointer; display: block; float: left; padding: 1px 5px; white-space: nowrap; text-shadow: 0 1px 0 #ffffff; + background: -moz-linear-gradient(center top , #ffffff, #eeeeee) repeat scroll 0 0 transparent; + background: -webkit-linear-gradient(center top , #ffffff, #eeeeee) repeat scroll 0 0 transparent;} +.toolbarBox a.toolbar_btn:hover {border-color:#939393;} +.toolbarBox .toolbar_btn span{ display: block;float: none;height: 32px;margin: 0 auto;width: 32px;} +.toolbarBox .process-icon-delete { background-image: url(process-icon-delete.png);} +.toolbarBox .process-icon-duplicate { background-image: url(process-icon-duplicate.png);} +.toolbarBox .process-icon-preview { background-image: url(process-icon-preview.png);} +.toolbarBox .process-icon-stats { background-image: url(process-icon-stats.png);} +.toolbarBox .process-icon-cancel { background-image: url(process-icon-cancel.png);} +.toolbarBox .process-icon-new{ background-image: url(process-icon-new.png);} +.toolbarBox .process-icon-save { background-image: url(process-icon-save.png);} +.toolbarBox .process-icon-save-and-stay { background-image: url(process-icon-save-and-stay.png);} + + +/*productBox*/ +#productBox { position:relative; width:100%; float:left;} + + +/*tab-pane*/ +form#product{ background-color:#ebedf4; border:1px solid #ccced7; min-height:300px; padding: 5px 10px 10px; margin-left:140px;} +form.defaultForm{ background-color:#ebedf4; border:1px solid #ccced7; min-height:300px; padding: 5px 10px 10px;} +.tab-row {} +.tab-row .tab {background:#EFEFEF;width:100px;} +.tab-row .tab-page.selected {} +.tab-row .tab-page {} +.productTabs{ background-color:#fafafa; border:1px solid #ccced7; border-right:none; float:left; width:140px;} +.productTabs ul{padding:0;} +.productTabs ul li.tab-row { border:none; } +.productTabs ul li.tab-row:first-child a {border-top:none;} +.productTabs ul li.tab-row a { display:block; font-weight:normal; color:#666;padding: 7px 10px; border-top:1px solid #CCCED7; border-right:1px solid #CCCED7;} +.productTabs ul li.tab-row a.selected { background-color:#EBEDF4;font-weight:bold;color:#000; border-right:none;} +.product-tab-content h4.tab { display:none;} + + + ul.cc_button {float:right;margin:0;padding:6px 0;} ul.cc_button li {float:left;text-decoration: none;list-style: none;font-size:12px;padding:5px 0;} -.available_btn {border:2px outset black;display:block;height:50px;margin:2px;padding:3px 2px 1px 2px;width:60px;} -.available_btn span{font-size:small;margin-top:5px;text-align:center} +.toolbar_btn {border:2px outset black;display:block;height:50px;margin:2px;padding:3px 2px 1px 2px;width:60px;} +.toolbar_btn span{font-size:small;margin-top:5px;text-align:center} diff --git a/admin-dev/themes/default/process-icon-cancel.png b/admin-dev/themes/default/process-icon-cancel.png new file mode 100644 index 0000000000000000000000000000000000000000..3cfadb3e2b64c0d26a9ab178241d0fde5f77bea8 GIT binary patch literal 2342 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 literal 0 HcmV?d00001 diff --git a/admin-dev/themes/default/process-icon-duplicate.png b/admin-dev/themes/default/process-icon-duplicate.png new file mode 100644 index 0000000000000000000000000000000000000000..2e6a86481ee4fef3270f7df66b2efe27b6b81961 GIT binary patch literal 1788 zcmaJ?c~BEq99{(#6^e?=rDX}nsE}ks8Uh)@kxL>589>E@;wD)jg=9mrkbsPGcmNgz zZ%#!mMXB6KiJ%s*3YJlZ4hljAiZF$YR0IlG?FIq+N9oS&zW00cec$hVv#EZ*Ta8v& ztN;MOi0{qu$5&AI8Z5=X%DA|9_+pN6gRlTJ6jQ+p1n?50LImVX;V{G>fyJ>=j}bQj z&?86!gRmgMc7_O*l3*Q%q?XEYHUPMJsO7LI0>MBb5+;!`32$!QA%GGwldzj6fCO?j z5-#zMQy>9xzJa2+2$8Fp;NcFssTsI{6v1FnEsc~Z8EPhBMwfx_b;o1^I0L~Vn1oM3 z1qu8>HmX2C8VMqbAZG}4rjRJqujq8TBj^NCATs1crZ^EPbOzOl0YTvGL%_W$#Gwp- z4sX^MZZQer7$#?s$tsnKq@t2gMHrdl>guY~aB?Ez2%<7phQVs0OldQxz(JHEg+z`? zP#LIGgoS7{#w6g8eo8?qpO=*>XUl{ajI4&`WC{t=r8EZ=2>u@`mCmD;m_PD4-v1O< z2FA(}vOl6kqZJ~&aiKOkS8@hhfxsB52t?7yxhndFqZq0TN97|1Te{caNk+s=A^)CYqI3KP4=$Jk5&158q^hhjcV_4 zL)EQEEgxcD*HTSVDNAi9;}6A2rP_cSyGlG4XW1^#IC;|2!NI|*rKQD}+s>VSYud^x z9QonvGWwovFS@%w$Z}qvumxOF%z)9s!Qz6@QP3dB>{z5qHBlb8WvA6f&$4z=M&HOp zet!NvMV;Hk0bmdl$LDq2{G~%1V|9OOYU+G{f4?eR`MMj>bdl)8)3?icl{GbEHU8J? z>rDa1#s~EDr<#U_hKIw$!zFFNemCY(>-5YC@9~L=9hrH`RAB!L(sXopsK?=ua>y=W z6K0#6n|m=UZzl}E&qW1RwTfWEuI+QU`74vAD z5vbvo4k^Ijjp~bjOMB2e8XgkeMvH1#<=DC8oyT@DHFMWmZqM~0h83AeY$)ATf{xVi z`?3Iqd3wp4gLj3aW;ux!o-KW2tgQYE>E)=<7U&%7X&S#|It2whnHcB{HqEqrSsdO( z!`2mS51lltvR{-?0jML_ng^F94^(zG9re#^YGkJ|syVI8^e)YDF;Z z$D<(Wf}S7SK+ia>LtA93C7pu!2BrLl5R%W|z3JNS{_lh#z1OV(kA0s)KlO1~O1eoBPGu-n$=E1}g{X?h1hpC8lDr5rJ= zG@}#ph8QoY4aElwAYtO_agPx4hNQvGK39`-^J_J!RM`0nJ5kTn7T$ma)?BWOVDp4) zPVGjr)5n1VZzsd#unqAU`ks3-?TUHrsouTWG}!@~ literal 0 HcmV?d00001 diff --git a/admin-dev/themes/default/process-icon-new.png b/admin-dev/themes/default/process-icon-new.png new file mode 100644 index 0000000000000000000000000000000000000000..a4705a29fbed1d9ce0f601a32f82077516d238b9 GIT binary patch literal 1529 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|80+w{G(j&jGsViy#K6SD&B@r!+{Mk%(AB`g+{w(<(A>$~)XmAs z)y){D*Cju>G&eP`1g19yq1ObbUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnqfXG!Lpb z1-Dy_aO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i-W7kxpMilX*VDx@q~g|_ z>HE8d9Yv1ce{*KmgZ>2?ixj%JZbf#8U7NS`|BT+M}5MlrwynTk+)V zwk6!=d9nX%KA+3o^kY+gtA@GdUYUJ2qJIB)8Z__nJ)Px;)qmUhN=MnGm0V-?oL^(f zt940v?$foov!-=%T2EV~Ge!6Gu|>xNM4vY?glr8~EZaAW-F;f+C)rOc*D~EuJ-kyj z&7Ajv26O)}l&p$4P**m!9(-(g-o-0_$ z;TYMvknh3KZwI$=nbsYhcit%K_$}=iv6FTie!ZBpzv%6%M*`>B<|uHv2XL|No;vFz zkNk$!cU0uIF5J3|KmUGi{<`<;Z0fc0CvmZ`$9$6#lGiY8=xILvi|bET!&CTY)+J`nA{)h=F&9iLpR@S)N`oVH=7z1oN{5dh*u21Ng7Ty60>`8u0VW4zO7o6>KCStstLc@j zNyWROU9Ue_xdlJ`^ns!2lZB}1oYo&*@dgdELYP`rdYL?4fA+{`4Oz-?{3Sy{$wl== uz83Xum4=KTq{6FD*SmQ)m_6Rkz|62Mzx49_=UmpH!r0T*&t;ucLK6U^!9)H4 literal 0 HcmV?d00001 diff --git a/admin-dev/themes/default/process-icon-preview.png b/admin-dev/themes/default/process-icon-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..d8a448281fa0e450625daf1f18f3d3bc459db417 GIT binary patch literal 2264 zcmaJ@dpMN&9)HVSYfDN|@irn^b00Hi+!iy#lu-?HP%Y;2#>8CAyu+9$MN=51R;Mg# zLxo~fPNh9(R&uR&*~HpHM55F(>0)Yf>ddrh&mX7rd!G0G{l35F^Z9(Q@AJIsP2nLn z){fQy0N5}>sVu_|8Xrq@!&|0QzBFtOFfAI65O0UmI8q1*ES6 zd;!1&A&88IqnTk8o>++D7%?b?P-0*MfNy|8!r>)BFvx`x1R_6#R?~<81$;k5lou1j zlmtVGf>5Oticp3}@{~zDG9MA(5Be%71_2=ib3lbKStO$<{16{>DTcH08jS!yK;R@l z#GgS$GdF?3VkrcAp)g1uhKK=)SQHjdAdyI(AP$4YpfNZ!7Kg-=D0mzNg8@G-gu$DX zzn#LO(m(n#Sbm5^7?x1b=(MynR2m*7mL{OFWHQ;Pfx{sU2&61s1alNfk<4XIfeOiZ zQh@{(h((}Lk;4_sVLyZ+(mzuWNUD7k)W|Cj4`D-Ad~t3p+ey&vHmU$}l~~3%p21Y9STcf^7Ucz4P zchSe^Vx#biW@|s=J1POZ(n9H~MH62s7cncD*a9XP^PE>mWaRd)4PS z6!SVj73V7ui|_w-_wHQ;P0b@%T3y*ZTGS1Ul`V%J9o|_6Lw#J zpsudoLS85k3I~<5ucssYOVJk)z*u&rATcRvK>4_<-2Vi(cixhUdzv)u){Kmd94pl+ zPrJeu;Z=6UVdnqvJXKTkR7l(0F*G!!o2d3Lw9-uu=*rpKiz)>U*_?uvGqZMiY+l*7 zhh`++&;KA12!wN%nWCal&(H&>Shir~h?%y-B(#Fnp9fs9pjGeuC3!unGGD#Ry(GM^ z%r17VVu+#efEbjxv*&6iG1Ihj@6vA6Uk>j77GTU-?PhF6g$Hhr|A=l;q! z+yo_O>TeEi9sXbz<9$(BC??F}NpivG@SMpEcgk}D1I4L&?$JcTF}LK^~9P~?-gQu zFu65*d~$H3@2W|Kr}-Ds)WgIr9RPm(vf2R`1DqVDmJoa31>}=)5}Xb{5lw#{Z=Y{E zSoZEOnnt#<+yQXKdi359k-?>7!CZ*R-JA&OUrPVsssyJ)Y zyMTL2GWqU37fIK(F$bLdaUP+(dc*x)#RS5cW@xHnX;h-7JRVrK?)ov(@2a$DU5_~B z%kCX9Uc-y6_Hw`e845J_6*|&u*8uhPu#KY4_1q1b*Soetrni1j>#cjVyq-|2I+^%# z+#S+9tvg>a&`Qx%v5(?X~$e-+wcxH8(vce?8k(HLaMf3You% zwmClP%0NT%ii~rk>B+l^d07jhFjCip8|nmH>ZSbQwG&gVA-tS`_dgCSJ7axS-(8O{ z@toYTV~2kIqP-{T>gt@Gtm7q;XU$D2i$irh_PVvUn=cw=VKd`-G%a$-NW8f0dHolb6PYr z+WYS>UmsP!)ag`Louzfr2eMwLvVjYh`+|HXTArT1uRYHJEe{yJ`rpQ{dC(9A-f6?v zvi#tkje|WsEeED5v^mQPSN;;^lB>4oKAGy6L|1}u2aB6K({GR^+BK^2R literal 0 HcmV?d00001 diff --git a/admin-dev/themes/default/process-icon-save-and-stay.png b/admin-dev/themes/default/process-icon-save-and-stay.png new file mode 100644 index 0000000000000000000000000000000000000000..05137c83f0d7327e1c606e859c5928aac3f725da GIT binary patch literal 3767 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 literal 0 HcmV?d00001 diff --git a/admin-dev/themes/default/process-icon-save.png b/admin-dev/themes/default/process-icon-save.png new file mode 100644 index 0000000000000000000000000000000000000000..05137c83f0d7327e1c606e859c5928aac3f725da GIT binary patch literal 3767 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 literal 0 HcmV?d00001 diff --git a/admin-dev/themes/default/process-icon-stats.png b/admin-dev/themes/default/process-icon-stats.png new file mode 100644 index 0000000000000000000000000000000000000000..0ff815b510269a1ed4ca952b4b08d736d6e0e7bc GIT binary patch literal 2371 zcmaJ@dpJ~iA0Ky-66KQ1o`!6!xiMzUG%90e&>Fdg?d@XBoVj2wW{ze^B^9Z+DBT8; zilS0U?Yl`t8!EXpbU{R=UCEkptL(HhZQA#bxA#2HIltfc_k2E|@AdgTCo3e_-^^sO z2@D1^3k;xyX;wh{8XIc9l9ZHj&0-5tqoHsi8feco1VlzmB z!Svv~h-fI99z%5l z{|+je9s>9Y#US8?L?f7J92&r3kQh%a9*=hiJkS_43hjZycpxx%qNfKDjRw9vaE&)H zi%krp(7yQ6SUzwr1c`_!lvFB3NE9{vMPFqFk}qY_6bvO}h)@_LTAR`=kWT;qP(J@FS^|ZE z|HS)0g(VTmA`le@N`y&brlxUhC#@?H(N7FAAfY%yC`_2GVhC3V2_;;i2=EK{0_Y4T zPoT9wyxq{j>z-n$174YgbzQa){Z9LQf)vO>)w2LYS7C%_md+@ zWU*&7Z8-86X8H0Ts!lmp95SKA zo%6rjl8;~caUHRn66Km+9^q65C_x&o|PJTBqr@morE@f$U1>;82a93(c*!#*} z!S>d7iLS5&Ps1fUL`A;mUfbNw30#Yh&-pN~Xu*W7|HxMJ0Q?JyOCOyo0Lr-3CTTnU|0G4rdtq+eKT>| z{79r@>4M?a0AfeRzj~CwIy>k6McwST`&T+_5cg&51)$a%XFd|Ntq^|P7kK3q|$Bfq3QeFON zAIsCf+bB>+JvdOid*@XIw={F8WW$rJ(1_l}30v(0gT{HPj$oS!9VPCqbyxdjYltxN zVAbH6ENk@T?CopRlq*Tg>IlK6i%|1>6)}z2D=4=K0_^RJx9i)dD+J^1-9ce?kSx=t z(~i16Yg5B%&UxpWeFwULO>gq7UT zhKR(N5Gjs?9?8GERrUF96T0$pYgc*kXn};y(=9X88G2r`W#Hnw-49e9Dt2h~z(&<= zjE_$D;_qn-6R??zK1xr3(}Mc|<3NbL&4T!wbt9I0hEr;ukM6R+=3SmRP14-mQqwc@ zom<@9PUu&F&r@wb{x-C{inebFKiE``O&rB4&LbYMT|UgjNu}0L6Rhxp9@(6MBc(HA@aII%BvYv-Vs^&3D+pCBh_?Mrhnn+Z6F3~B_oXQUA&0c z?`X3xuJaU0q$b?!6LsmoIEs zMY%MRbB4w_RW`2^shYdBe|p;cBqd!(!L2+R;EW^0g(mwO)G^-%kvG&R5<((L&R0#i z71Z=d*EfWMf9--zPEP8YP>?%LF3+&IwA9cF(c>(V9zA-r!~O>=D=Wj-X$=RMOfM4t2H%d_wuS?uV25GVOrjsm78J}hK&x7W-=09bxhqpySIVYU}Gj(ZMcfP zHAwYQfjYK&>2`_4a%!}1=;Wf9q@*LA_l=>4Ls>zkh1t4Iw};iF dPixY2VAuN>dfnn|xS;*538V&7D#$VEe*yf#>{S2& literal 0 HcmV?d00001 diff --git a/admin-dev/themes/template/products/content.tpl b/admin-dev/themes/template/products/content.tpl index 953d1974b..65848b593 100644 --- a/admin-dev/themes/template/products/content.tpl +++ b/admin-dev/themes/template/products/content.tpl @@ -4,15 +4,41 @@ + +
+ + + {if isset($product)} +
+

{l s='Current product:'} 

+
+ {/if} +
+ +
{if isset($product_tabs)}
-
    +
      {foreach $product_tabs key=numStep item=tab}
    • {$tab.name}{*todo href when nojs*}
    • {/foreach} -
+
-
{$draft_warning} -
@@ -210,6 +226,7 @@ $(document).ready(function(){
+

{l s='Back to list'}
{else} diff --git a/admin-dev/themes/template/products/informations.tpl b/admin-dev/themes/template/products/informations.tpl index 5582c4858..2f9f29a60 100644 --- a/admin-dev/themes/template/products/informations.tpl +++ b/admin-dev/themes/template/products/informations.tpl @@ -61,8 +61,7 @@ } }); - {l s='Product global information'} -  -

{l s='Current product:'}{l s='no name'}

+

{l s='Product global information'}

-
+

{* global information *} @@ -139,7 +138,7 @@ {* status informations *}
- + + {/if} active}style="display:none"{/if} > - + + + {if $ps_use_ecotax} + + + + + {/if} + + + + + + + + + + + + + + + + + + + + + {* [end] prices *} + {$content} diff --git a/classes/AdminController.php b/classes/AdminController.php index f79783f28..62e701799 100644 --- a/classes/AdminController.php +++ b/classes/AdminController.php @@ -92,7 +92,7 @@ class AdminControllerCore extends Controller protected $_list = array(); /** @var array Cache for query results */ - protected $toolbar_btn = array(); + protected $toolbar_btn = null; /** @var integer Number of results in list */ protected $_listTotal = 0; @@ -712,7 +712,8 @@ class AdminControllerCore extends Controller } /** - * assign $this->toolbar_btn in smarty + * assign default action in toolbar_btn smarty var, if they are not set. + * uses override to specifically add, modify or remove items * */ public function initToolbar() @@ -982,7 +983,7 @@ class AdminControllerCore extends Controller 'lang_iso' => $this->context->language->iso_code, 'link' => $this->context->link, 'bo_color' => isset($this->context->employee->bo_color) ? Tools::htmlentitiesUTF8($this->context->employee->bo_color) : null, - 'shop_name' => Configuration::get('PS_SHOP_NAME'), + 'shop_name' => $shop_name, 'show_new_orders' => Configuration::get('PS_SHOW_NEW_ORDERS'), 'show_new_customers' => Configuration::get('PS_SHOW_NEW_CUSTOMERS'), 'show_new_messages' => Configuration::get('PS_SHOW_NEW_MESSAGES'), @@ -1043,6 +1044,8 @@ class AdminControllerCore extends Controller */ public function initContent() { + // toolbar (save, cancel, new, ..) + $this->initToolbar(); if ($this->display == 'edit' || $this->display == 'add') { if (!($this->object = $this->loadObject(true))) @@ -1055,9 +1058,6 @@ class AdminControllerCore extends Controller $this->content .= $this->initOptions(); } - // toolbar (save, cancel, new, ..) - $this->initToolbar(); - $this->context->smarty->assign(array( 'table' => $this->table, 'current' => self::$currentIndex, @@ -1160,6 +1160,7 @@ class AdminControllerCore extends Controller $helper->default_form_language = $this->default_form_language; $helper->allow_employee_form_lang = $this->allow_employee_form_lang; $helper->fields_value = $this->getFieldsValue($this->object); + $helper->toolbar_btn = $this->toolbar_btn; if ($this->tabAccess['view']) { if (Tools::getValue('back')) diff --git a/controllers/admin/AdminProductsController.php b/controllers/admin/AdminProductsController.php index c9d5f8a6d..b8fd5990b 100644 --- a/controllers/admin/AdminProductsController.php +++ b/controllers/admin/AdminProductsController.php @@ -1703,6 +1703,55 @@ if (false) $this->context->smarty->assign('draft_warning',$content); } + public function initToolbar() + { + if ($this->display == 'edit') + if ($product = $this->loadObject(true)) + { + if($this->tabAccess['delete']) + $this->toolbar_btn['delete'] = array( + 'short' => 'Delete', + 'href' => $this->context->link->getAdminLink('AdminProducts').'&id_product='.$product->id.'&deleteproduct', + 'desc' => $this->l('Delete this product'), + 'confirm' => 1); + + if($this->tabAccess['add']) + $this->toolbar_btn['duplicate'] = array( + 'short' => 'Duplicate', + 'href' => '#todo'.$this->context->link->getAdminLink('AdminProducts').'&id_product='.$product->id, 'desc' => $this->l('Duplicate'), + 'confirm' => 1 + ); + // @TODO navigation + $this->toolbar_btn['preview'] = array( + 'short' => 'Preview', + 'href' => '', 'desc' => 'prevdesc', + 'class' => 'previewUrl', + ); + if (file_exists(_PS_MODULE_DIR_.'statsproduct/statsproduct.php')) + $this->toolbar_btn['stats'] = array( + 'short' => 'Statistics', + 'href' => $this->context->link->getAdminLink('AdminStats').'&module=statsproduct&id_product='.$product->id, + 'desc' => $this->l('View product sales'), + ); + + $this->toolbar_btn['cancel'] = array( + 'short' => 'Close', + 'href' => '#todo'.$this->context->link->getAdminLink('AdminProducts').'&id_product='.$product->id, 'desc' => $this->l('Cancel'), + 'confirm' => 1); + if($this->tabAccess['add']) + $this->toolbar_btn['new'] = array( + 'short' => 'Create', + 'href' => '#todo'.$this->context->link->getAdminLink('AdminProducts').'&id_product='.$product->id, 'desc' => $this->l('Create'), + ); + if($this->tabAccess['edit']) + $this->toolbar_btn['save'] = array( + 'short' => 'Save', + 'href' => '#todo'.$this->context->link->getAdminLink('AdminProducts').'&id_product='.$product->id, 'desc' => $this->l('Save'), + ); + } + return parent::initToolbar(); + } + /** * initForm contains all necessary initialization needed for all tabs * @@ -1722,8 +1771,9 @@ if (false) $this->context->smarty->assign('upload_max_filesize', ini_get('upload_max_filesize')); $this->context->smarty->assign('country_display_tax_label', $this->context->country->display_tax_label); + // let's calculate this once for all if (!($obj = $this->loadObject(true))) - throw new Exception('object not loaded'); + throw new PrestashopException('object not loaded'); $this->_displayDraftWarning($obj->active); return parent::initForm(); } @@ -1734,7 +1784,7 @@ if (false) parent::displayForm(); $this->addJs(_PS_JS_DIR_.'attributesBack.js'); if (!($product = $this->loadObject(true))) - throw new Exception('object not loaded'); + throw new PrestashopException('object not loaded'); $smarty = $this->context->smarty; $product_tabs = array(); // action defines which tab to display first @@ -1860,7 +1910,7 @@ switch ($this->action) } } - function initFormPrices($obj, $languages, $defaultLanguage) + public function initFormPrices($obj, $languages, $defaultLanguage) { $content = ''; if ($obj->id) @@ -2325,6 +2375,15 @@ switch ($this->action) // customization 'uploadable_files', 'text_fields' ); + // prices + array_push($product_props, + 'price', 'wholesale_price', 'id_tax_rules_group', 'unit_price_ratio', 'on_sale', + 'unity' + ); + + if(Configuration::get('PS_USE_ECOTAX')) + array_push($product_props, 'ecotax'); + foreach($product_props as $prop) $product->$prop = $this->getFieldValue($product, $prop); $product->manufacturer_name = Manufacturer::getNameById($product->id_manufacturer); @@ -2402,121 +2461,20 @@ $product->supplier_name = Supplier::getNameById($product->id_supplier); $smarty->assign('error_product_download', $error); } - $currency = $this->context->currency; - $content .= ' - - - - '; - $content .= ' - - - - '; - $tax_rules_groups = TaxRulesGroup::getTaxRulesGroups(true); - $taxesRatesByGroup = TaxRulesGroup::getAssociatedTaxRatesByIdCountry($this->context->country->id); - $ecotaxTaxRate = Tax::getProductEcotaxRate(); - $content .= ''; - $content .= ' - - - - - '; - if (Configuration::get('PS_USE_ECOTAX')) - $content .= ' - - - - '; - - if ($this->context->country->display_tax_label) - { - $content .= ' - - - - '; - } - else - $content .= ''; - - $content .= ' - - - - - - - - - - - - - - - - '; + $smarty->assign('ps_tax', Configuration::get('PS_TAX')); if ((int)Configuration::get('PS_STOCK_MANAGEMENT')) @@ -2756,7 +2714,7 @@ $product->supplier_name = Supplier::getNameById($product->id_supplier); { $content .= ' - +
{l s='Status:' } active}checked="checked" {/if} /> {l s='Shop association:'} {$displayAssoShop}
{l s='Options:' } available_for_order}checked="checked"{/if} /> + + + + + {l s='Create'} {l s='Create'} + + + {if $tax_exclude_taxe_option} + {l s='Taxes are currently disabled'} ({l s='Tax options'}) + + {/if} +
+ {$currency->prefix}{$currency->suffix} + ({l s='already included in price'}) +
+ {$currency->prefix}{$currency->suffix} +
+ {$currency->prefix} {$currency->suffix} + {l s='per'} + {if $ps_tax && $country_display_tax_label} + {l s='or'} + {$currency->prefix}0.00{$currency->suffix} + {l s='per'} {$product->unity} {l s='with tax'} + + {/if} +

{l s='Eg. $15 per Lb'}

+
+ on_sale}checked="checked"{/if} value="1" />  +
+ + {$currency->prefix}{$currency->suffix} ({l s='tax incl.'}) + + + + {if $country_display_tax_label} + / + {/if} + {$currency->prefix}{$currency->suffix} {if $country_display_tax_label}({l s='tax excl.'}){/if} +
+
{l s='You can define many discounts and specific price rules in the Prices tab'}
+
- '.($currency->format % 2 != 0 ? $currency->sign.' ' : '').''.($currency->format % 2 == 0 ? ' '.$currency->sign : '').' - '.$this->l('The wholesale price at which you bought this product').' -
- '.($currency->format % 2 != 0 ? $currency->sign.' ' : '').''.($currency->format % 2 == 0 ? ' '.$currency->sign : '').' * - '.$this->l('The pre-tax retail price to sell this product').' -
- - - - '.$this->l('Create').' '.$this->l('Create').' - '; - if (Tax::excludeTaxeOption()) - { - $content .= ''.$this->l('Taxes are currently disabled').' ('.$this->l('Tax options').')'; - $content .= ''; - } - - $content .= '
- '.($currency->format % 2 != 0 ? $currency->sign.' ' : '').''.($currency->format % 2 == 0 ? ' '.$currency->sign : '').' - ('.$this->l('already included in price').') -
- '.($currency->format % 2 != 0 ? ' '.$currency->sign : '').' '.($currency->format % 2 == 0 ? ' '.$currency->sign : '').' -
- '.($currency->format % 2 != 0 ? ' '.$currency->sign : '').' '.($currency->format % 2 == 0 ? ' '.$currency->sign : '').' '.$this->l('per').' '. - (Configuration::get('PS_TAX') && $this->context->country->display_tax_label ? ''.$this->l('or').' '.($currency->format % 2 != 0 ? ' '.$currency->sign : '').'0.00'.($currency->format % 2 == 0 ? ' '.$currency->sign : '').' '.$this->l('per').' '.$this->getFieldValue($product, 'unity').' '.$this->l('with tax') : '').' -

'.$this->l('Eg. $15 per Lb').'

-
- getFieldValue($product, 'on_sale') ? 'checked="checked"' : '').'value="1" />  -
- - '.($currency->format % 2 != 0 ? $currency->sign.' ' : '').''.($currency->format % 2 == 0 ? ' '.$currency->sign : '').' ('.$this->l('tax incl.').') - - '; - - if ($this->context->country->display_tax_label) - $content .= ' / '; - - $content .= ($currency->format % 2 != 0 ? $currency->sign.' ' : '').''.($currency->format % 2 == 0 ? ' '.$currency->sign : '').' '.($this->context->country->display_tax_label ? '('.$this->l('tax excl.').')' : '').' -
-
'.$this->l('You can define many discounts and specific price rules in the Prices tab').'
-
'.$this->l('Do you want an image associated with the product in your description?').' diff --git a/css/admin.css b/css/admin.css index 7bfe16cc9..900a1412c 100644 --- a/css/admin.css +++ b/css/admin.css @@ -68,11 +68,11 @@ hr { } legend, th { - font-family : Trebuchet,Arial,Helvetica,sans-serif; + font-family : Arial,Helvetica,sans-serif; } h1, h2, h3, h4, h5, h6 { - font-family : "Trebuchet MS",Trebuchet,Arial,Helvetica,sans-serif; + font-family : Arial,Helvetica,sans-serif; } h1 { @@ -327,7 +327,6 @@ select optgroup option { /* STRUCTURE */ #container { - width: 1024px; margin: 0 auto 2em auto; text-align: left; }