// tweak on switch + admin import

This commit is contained in:
Kevin Granger
2013-11-25 17:16:59 +01:00
parent 652c370a1d
commit fae1fd58a9
23 changed files with 338 additions and 293 deletions
+42 -39
View File
@@ -3167,7 +3167,7 @@ a.link-social:hover { text-decoration: none; }
.bootstrap .alert.alert-info:before, .bootstrap #carrier_wizard .alert-info.wizard_error:before { position: absolute; top: 0; left: 10px; display: block; min-height: 25px; min-width: 25px; font-family: FontAwesome; font-weight: normal; font-style: normal; font-size: 35px; text-decoration: inherit; -webkit-font-smoothing: antialiased; content: "\F05A"; }
.bootstrap .overflow-y { max-height: 200px; margin-bottom: 15px; overflow-y: auto; }
.bootstrap .table { border-collapse: separate; border-spacing: 0 2px 0 0; margin-bottom: 5px; }
.bootstrap .table thead > tr > th { border: none; font-weight: normal; vertical-align: top; border-bottom: solid 1px #8bc6e7; }
.bootstrap .table thead > tr > th { border: none; font-weight: normal; vertical-align: top; background: white; border-bottom: solid 1px #8bc6e7; }
.bootstrap .table thead > tr > th span.title_box { color: black; font-size: 1.1em; font-weight: bold; display: block; word-wrap: nowrap; white-space: nowrap; }
.bootstrap .table thead > tr > th span.title_box.active { font-weight: bold; }
.bootstrap .table thead > tr > th span.title_box a { text-decoration: none; }
@@ -3246,47 +3246,50 @@ a.link-social:hover { text-decoration: none; }
.bootstrap .data_chart line { stroke: black; }
.bootstrap .data_chart .area { fill: rgba(255, 255, 255, 0.3); stroke-width: 0; }
.bootstrap .icon-big { font-size: 4em; color: #c5c5c5; }
.bootstrap .switch .slide-button, .bootstrap .toggle p span { display: none; }
.bootstrap .switch { background-color: #e9e9e9; border-radius: 3px; }
.bootstrap .switch label { padding: 0; cursor: pointer; }
@media only screen { .bootstrap .toggle { position: relative; padding: 0; margin-left: 100px; }
.bootstrap .toggle label { position: relative; z-index: 3; display: block; width: 100%; }
.bootstrap .toggle input { position: absolute; opacity: 0; z-index: 5; }
.bootstrap .toggle p { position: absolute; left: -100px; width: 100%; margin: 0; padding-right: 100px; text-align: left; }
.bootstrap .toggle p span { position: absolute; top: 0; left: 0; z-index: 5; display: block; width: 50%; margin-left: 100px; text-align: center; }
.bootstrap .toggle:last-child { left: 50%; }
.bootstrap .toggle .slide-button { position: absolute; right: 0; top: 0; z-index: 4; display: block; width: 50%; height: 100%; padding: 0; }
.bootstrap .switch { position: relative; padding: 0; }
.bootstrap .switch a, .bootstrap .switch-light span span { display: none; }
@media only screen { .bootstrap .switch-light { display: block; height: 26px; position: relative; overflow: visible; padding: 0; }
.bootstrap .switch-light * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.bootstrap .switch-light a { display: block; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }
.bootstrap .switch-light label, .bootstrap .switch-light > span { line-height: 26px; vertical-align: middle; }
.bootstrap .switch-light label { position: relative; z-index: 3; display: block; width: 100%; }
.bootstrap .switch-light input { position: absolute; opacity: 0; z-index: 5; }
.bootstrap .switch-light input:checked ~ a { left: 0%; }
.bootstrap .switch-light > span { position: absolute; left: 0; width: 100%; margin: 0; text-align: left; }
.bootstrap .switch-light > span span { position: absolute; top: 0; left: 0; z-index: 5; display: block; width: 50%; text-align: center; }
.bootstrap .switch-light > span span:last-child { left: 50%; }
.bootstrap .switch-light a { position: absolute; left: 50%; top: 0; z-index: 4; display: block; width: 50%; height: 100%; padding: 0; }
.bootstrap .switch { display: block; height: 26px; position: relative; padding: 0 !important; }
.bootstrap .switch * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.bootstrap .switch a { display: block; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }
.bootstrap .switch label, .bootstrap .switch > span { line-height: 26px; vertical-align: middle; }
.bootstrap .switch input { position: absolute; opacity: 0; }
.bootstrap .switch label { position: relative; z-index: 2; float: left; width: 50%; height: 100%; margin: 0; text-align: center; }
.bootstrap .switch .slide-button { position: absolute; top: 0; left: 0; padding: 0; z-index: 1; width: 50%; height: 100%; }
.bootstrap .switch input:last-of-type:checked ~ .slide-button { left: 50%; }
.bootstrap .switch.switch-three label, .bootstrap .switch.switch-three .slide-button { width: 33.3%; }
.bootstrap .switch.switch-three input:checked:nth-of-type(2) ~ .slide-button { left: 33.3%; }
.bootstrap .switch.switch-three input:checked:last-of-type ~ .slide-button { left: 66.6%; }
.bootstrap .switch.switch-four label, .bootstrap .switch.switch-four .slide-button { width: 25%; }
.bootstrap .switch.switch-four input:checked:nth-of-type(2) ~ .slide-button { left: 25%; }
.bootstrap .switch.switch-four input:checked:nth-of-type(3) ~ .slide-button { left: 50%; }
.bootstrap .switch.switch-four input:checked:last-of-type ~ .slide-button { left: 75%; }
.bootstrap .switch.switch-five label, .bootstrap .switch.switch-five .slide-button { width: 20%; }
.bootstrap .switch.switch-five input:checked:nth-of-type(2) ~ .slide-button { left: 20%; }
.bootstrap .switch.switch-five input:checked:nth-of-type(3) ~ .slide-button { left: 40%; }
.bootstrap .switch.switch-five input:checked:nth-of-type(4) ~ .slide-button { left: 60%; }
.bootstrap .switch.switch-five input:checked:last-of-type ~ .slide-button { left: 80%; }
.bootstrap .toggle, .bootstrap .switch { display: block; height: 27px; }
.bootstrap .switch *, .bootstrap .toggle * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; }
.bootstrap .switch .slide-button, .bootstrap .toggle .slide-button { display: block; -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -ms-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }
.bootstrap .toggle label, .bootstrap .toggle p, .bootstrap .switch label { line-height: 27px; vertical-align: middle; }
.bootstrap .toggle input:checked ~ .slide-button { right: 50%; }
.bootstrap .toggle input:focus ~ .slide-button, .bootstrap .switch input:focus + label { outline: 1px dotted #888888; }
.bootstrap .switch, .bootstrap .toggle { -webkit-animation: bugfix infinite 1s; }
.bootstrap .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; }
.bootstrap .prestashop-switch label { padding-top: 0 !important; font-weight: 500; }
.bootstrap .prestashop-switch input:checked + label { color: #333333 !important; text-shadow: rgba(255, 255, 255, 0.7) 1px 1px 0; }
.bootstrap .switch a { position: absolute; top: 0; left: 0; padding: 0; z-index: 1; width: 50%; height: 100%; }
.bootstrap .switch input:last-of-type:checked ~ a { left: 50%; }
.bootstrap .switch.switch-3 label, .bootstrap .switch.switch-3 a { width: 33.33333%; }
.bootstrap .switch.switch-3 input:checked:nth-of-type(2) ~ a { left: 33.33333%; }
.bootstrap .switch.switch-3 input:checked:last-of-type ~ a { left: 66.66667%; }
.bootstrap .switch.switch-4 label, .bootstrap .switch.switch-4 a { width: 25%; }
.bootstrap .switch.switch-4 input:checked:nth-of-type(2) ~ a { left: 25%; }
.bootstrap .switch.switch-4 input:checked:nth-of-type(3) ~ a { left: 50%; }
.bootstrap .switch.switch-4 input:checked:last-of-type ~ a { left: 75%; }
.bootstrap .switch.switch-5 label, .bootstrap .switch.switch-5 a { width: 20%; }
.bootstrap .switch.switch-5 input:checked:nth-of-type(2) ~ a { left: 20%; }
.bootstrap .switch.switch-5 input:checked:nth-of-type(3) ~ a { left: 40%; }
.bootstrap .switch.switch-5 input:checked:nth-of-type(4) ~ a { left: 60%; }
.bootstrap .switch.switch-5 input:checked:last-of-type ~ a { left: 80%; }
.bootstrap .prestashop-switch { min-width: 150px; background-color: #eeeeee; border-radius: 3px; color: #333333; text-align: center; font-weight: 400; -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0 1px 3px 1px inset; box-shadow: rgba(0, 0, 0, 0.15) 0 1px 3px 1px inset; }
.bootstrap .prestashop-switch * { outline: 0 !important; }
.bootstrap .prestashop-switch label { text-transform: uppercase; color: #bbbbbb; font-weight: 400; cursor: pointer; -webkit-transition: color 0.2s ease-out; transition: color 0.2s ease-out; }
.bootstrap .prestashop-switch input:checked + label { color: #666666; }
.bootstrap .prestashop-switch input:not(:checked) + label i { color: #999999 !important; }
.bootstrap .prestashop-switch .slide-button { position: relative; margin-right: 3px; color: white; }
.bootstrap .prestashop-switch p { color: #333333; }
.bootstrap .prestashop-switch span { color: white; } }
.bootstrap .prestashop-switch > span { color: #666666; text-transform: uppercase; cursor: pointer; }
.bootstrap .prestashop-switch.switch-light input:checked ~ a { border: solid 1px #5cb85c; background-color: #80c780; -webkit-box-shadow: #5cb85c 0 -1px 0 inset; box-shadow: #5cb85c 0 -1px 0 inset; }
.bootstrap .prestashop-switch.switch-light input:checked ~ span span:first-of-type { color: white; }
.bootstrap .prestashop-switch.switch-light input:checked ~ span span:last-of-type { color: #cccccc; }
.bootstrap .prestashop-switch.switch-light input ~ a { border: solid 1px #d9534f; background-color: #e27c79; -webkit-box-shadow: #d9534f 0 -1px 0 inset; box-shadow: #d9534f 0 -1px 0 inset; }
.bootstrap .prestashop-switch.switch-light input ~ span span:first-of-type { color: #cccccc; }
.bootstrap .prestashop-switch.switch-light input ~ span span:last-of-type { color: white; } }
.bootstrap .page-head { width: 100%; height: 55px; padding: 0 10px 0 0; margin: 0; border-bottom: 4px solid #75a139; position: fixed; top: 36px; left: 0px; z-index: 499; background-color: #8fc04d; -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0 7px 0; box-shadow: rgba(0, 0, 0, 0.15) 0 7px 0; }
.bootstrap .page-head h2.page-title { padding: 0 0 0 260px; font-size: 18px; color: white; text-transform: uppercase; }
@media (max-width: 768px) { .bootstrap .page-head h2.page-title { padding: 0 0 0 20px; } }
@@ -2,166 +2,161 @@
// Licensed under Unlicense
// https://github.com/ghinda/css-toggle-switch
//Hide by default
.switch .slide-button, .toggle p span
display: none
.switch
background-color: #E9E9E9
border-radius: 3px
label
padding: 0
cursor: pointer
//Toggle Switches
//We can't test for a specific feature, so we only target browsers with support for media queries.
//Position the label over all the elements, except the slide-button
//Clicking anywhere on the label will change the switch-state
// Don't hide the input from screen-readers and keyboard access
@media only screen
// Checkbox
.toggle
position: relative
padding: 0
margin-left: 100px
label
position: relative
z-index: 3
display: block
width: 100%
input
position: absolute
opacity: 0
z-index: 5
p
position: absolute
left: -100px
width: 100%
margin: 0
padding-right: 100px
text-align: left
p span
position: absolute
top: 0
left: 0
z-index: 5
display: block
width: 50%
margin-left: 100px
text-align: center
&:last-child
left: 50%
.slide-button
position: absolute
right: 0
top: 0
z-index: 4
display: block
width: 50%
height: 100%
padding: 0
// Radio Switch
.switch
position: relative
padding: 0
input
position: absolute
opacity: 0
label
position: relative
z-index: 2
float: left
width: 50%
height: 100%
margin: 0
text-align: center
.slide-button
position: absolute
top: 0
left: 0
padding: 0
z-index: 1
width: 50%
height: 100%
input:last-of-type:checked ~ .slide-button
left: 50%
// Switch with 3 items
&.switch-three label, &.switch-three .slide-button
width: 33.3%
&.switch-three input:checked:nth-of-type(2) ~ .slide-button
left: 33.3%
&.switch-three input:checked:last-of-type ~ .slide-button
left: 66.6%
// Switch with 4 items
&.switch-four label, &.switch-four .slide-button
width: 25%
&.switch-four input:checked:nth-of-type(2) ~ .slide-button
left: 25%
&.switch-four input:checked:nth-of-type(3) ~ .slide-button
left: 50%
&.switch-four input:checked:last-of-type ~ .slide-button
left: 75%
// Switch with 5 items
&.switch-five label, &.switch-five .slide-button
width: 20%
&.switch-five input:checked:nth-of-type(2) ~ .slide-button
left: 20%
&.switch-five input:checked:nth-of-type(3) ~ .slide-button
left: 40%
&.switch-five input:checked:nth-of-type(4) ~ .slide-button
left: 60%
&.switch-five input:checked:last-of-type ~ .slide-button
left: 80%
// Shared
.toggle, .switch
@mixin switch-shared()
display: block
height: 26px
*
@include box-sizing(border-box)
a
display: block
height: $input-height-base
.switch *, .toggle *
-webkit-box-sizing: border-box
-moz-box-sizing: border-box
-ms-box-sizing: border-box
-o-box-sizing: border-box
box-sizing: border-box
.switch .slide-button, .toggle .slide-button
display: block
-webkit-transition: all 0.3s ease-out
-moz-transition: all 0.3s ease-out
-ms-transition: all 0.3s ease-out
-o-transition: all 0.3s ease-out
transition: all 0.3s ease-out
.toggle label, .toggle p, .switch label
line-height: $input-height-base
@include transition(all 0.3s ease-out)
label,
> span
line-height: 26px
vertical-align: middle
.toggle input:checked ~ .slide-button
right: 50%
// Outline the toggles when the inputs are focused
.toggle input:focus ~ .slide-button, .switch input:focus + label
outline: 1px dotted #888
// Bugfix for older Webkit, including mobile Webkit. Adapted from:
// http://css-tricks.com/webkit-sibling-bug/
.switch, .toggle
-webkit-animation: bugfix infinite 1s
//@-webkit-keyframes bugfix { from { position: relative; } to { position: relative; } }
// Prestashop Theme
@mixin switch-light()
@include switch-shared()
position: relative
overflow: visible
padding: 0
// Position the label over all the elements, except the slide-button (<a>)
// Clicking anywhere on the label will change the switch-state
label
position: relative
z-index: 3
display: block
width: 100%
// Don't hide the input from screen-readers and keyboard access
input
position: absolute
opacity: 0
z-index: 5
&:checked ~ a
left: 0%
> span
position: absolute
left: 0
width: 100%
margin: 0
text-align: left
span
position: absolute
top: 0
left: 0
z-index: 5
display: block
width: 50%
text-align: center
&:last-child
left: 50%
a
position: absolute
left: 50%
top: 0
z-index: 4
display: block
width: 50%
height: 100%
padding: 0
// Radio Switch
@mixin switch-toggle()
@include switch-shared()
position: relative
// For callout panels in foundation
padding: 0 !important
input
position: absolute
opacity: 0
label
position: relative
z-index: 2
float: left
width: 50%
height: 100%
margin: 0
text-align: center
a
position: absolute
top: 0
left: 0
padding: 0
z-index: 1
width: 50%
height: 100%
input:last-of-type:checked ~ a
left: 50%
//Generate styles for the multiple states
@for $i from 1 through 3
$state: $i + 2
$width: 100 / ($i + 2)
&.switch-#{$state}
label,
a
width: $width * 1%
@for $j from 2 through ($i + 1)
&.switch-#{$state} input:checked:nth-of-type(#{$j}) ~ a
left: $width * ($j - 1) * 1%
&.switch-#{$state} input:checked:last-of-type ~ a
left: 100 - $width * 1%
.switch a,
.switch-light span span
display: none
@media only screen
.switch-light
@include switch-light()
.switch
@include switch-toggle()
.prestashop-switch
min-width: 150px
color: #999
text-align: center
background-color: #eee
border-radius: 3px
@include box-shadow(rgba(black,0.2) 0 2px 5px 1px inset)
color: #333
text-align: center
font-weight: 400
@include box-shadow(rgba(black,0.15) 0 1px 3px 1px inset)
*
outline: 0!important
label
padding-top: 0!important
font-weight: 500
text-transform: uppercase
color: #bbb
font-weight: 400
cursor: pointer
@include transition(color 0.2s ease-out)
input:checked + label
color: #333!important
@include text-shadow(rgba(white,0.7) 1px 1px 0)
color: #666
input:not(:checked) + label
i
color: #999!important
.slide-button
position: relative
margin-right: 3px
color: lighten($bg-content-color,50%)
p
color: #333
span
color: #fff
> span
color: #666
text-transform: uppercase
cursor: pointer
&.switch-light input:checked
~ a
border: solid 1px $brand-success
background-color: lighten($brand-success,10%)
@include box-shadow($brand-success 0 -1px 0 inset)
~ span span
&:first-of-type
color: white
&:last-of-type
color: #ccc
&.switch-light input
~ a
border: solid 1px $brand-danger
background-color: lighten($brand-danger,10%)
@include box-shadow($brand-danger 0 -1px 0 inset)
~ span span
&:first-of-type
color: #ccc
&:last-of-type
color: white
@@ -6,6 +6,7 @@
border: none
font-weight: normal
vertical-align: top
background: white
border-bottom: solid 1px darken(#CAE5F4,15%)
span.title_box
color: black
@@ -10,7 +10,7 @@
<label class="t radio" for="free_shipping_off">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -123,7 +123,7 @@
<label class="t radio" for="free_gift_off">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -73,7 +73,7 @@
<label class="t radio" for="highlight_on"><i class="icon-check-sign color_success"></i> {l s='Yes'}</label>
<input type="radio" name="highlight" id="highlight_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'highlight')|intval}checked="checked"{/if} />
<label class="t radio" for="highlight_off"><i class="icon-ban-circle color_danger"></i> {l s='No'}</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -92,7 +92,7 @@
<label class="t radio" for="partial_use_on"><i class="icon-check-sign color_success"></i> {l s='Yes'}</label>
<input type="radio" name="partial_use" id="partial_use_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'partial_use')|intval}checked="checked"{/if} />
<label class="t radio" for="partial_use_off"><i class="icon-ban-circle color_danger"></i> {l s='No'}</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -117,7 +117,7 @@
<label class="t radio" for="active_on"><i class="icon-check-sign color_success"></i> {l s='Yes'}</label>
<input type="radio" name="active" id="active_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'active')|intval}checked="checked"{/if} />
<label class="t radio" for="active_off"><i class="icon-ban-circle color_danger"></i> {l s='No'}</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -70,7 +70,7 @@
<label class="radio" for="{$input.name}_off">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -140,7 +140,7 @@
<label class="radioCheck" for="PS_DASHBOARD_SIMULATION_off">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</section>
@@ -189,7 +189,7 @@
<label class="radio" for="{$module->name}_on"><i class="icon-check-sign color_success"></i> Yes</label>
<input type="radio" name="{$module->name}" id="{$module->name}_off" value="0">
<label class="radio" for="{$module->name}_off"><i class="icon-ban-circle color_danger"></i> No</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
<input type="hidden" name="modulesBoxAuth[]" value="{$module->id}">
</div>
@@ -204,7 +204,7 @@
<label class="radio" for="{$module->name}_on"><i class="icon-check-sign color_success"></i> Yes</label>
<input type="radio" name="{$module->name}" id="{$module->name}_off" value="0" checked="checked">
<label class="radio" for="{$module->name}_off"><i class="icon-ban-circle color_danger"></i> No</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
<input type="hidden" name="modulesBoxUnauth[]" value="{$module->id}">
</div>
@@ -113,7 +113,7 @@
<label for="erase_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -30,10 +30,9 @@
</div>
{/if}
<div id="upload_file_import" style="display: none">
<div class="alert alert-info">{l s='Only UTF-8 and ISO-8859-1 encoding are allowed'}</div>
<div>{l s='Only UTF-8 and ISO-8859-1 encoding are allowed'}</div>
<form action="{$current}&token={$token}" method="post" enctype="multipart/form-data" class="form-horizontal">
<div class="panel">
<div class="clearfix">&nbsp;</div>
<div class="form-group">
<label class="control-label col-lg-3">{l s='Select your CSV file'}</label>
<div class="col-lg-9">
@@ -92,9 +91,7 @@
<option value="{$filename}"{if $csv_selected == $filename} selected="selected"{/if}>{$filename|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
<div class="clearfix">&nbsp;</div>
{/if}
<a href="#upload_file_import" id="upload_file_import_link" class="btn btn-default">
<i class="icon-plus-sign-alt"></i>
{l s='Upload'}
@@ -102,31 +99,60 @@
</div>
</div>
<div class="form-group">
<div class="col-lg-6">
<p class="alert alert-info">
<p class="panel">
<a href="#" onclick="$('#sample_files_import').slideToggle(); return false;">
{l s='Click to view our sample import csv files.'}
</a>
</p>
<div id="sample_files_import" style="display:none" class="list-group">
<a class="list-group-item" href="../docs/csv_import/categories_import.csv" target="_blank">{l s='Sample Categories file'}</a>
<a class="list-group-item" href="../docs/csv_import/products_import.csv" target="_blank">{l s='Sample Products file'}</a>
<a class="list-group-item" href="../docs/csv_import/combinations_import.csv" target="_blank">{l s='Sample Combinations file'}</a>
<a class="list-group-item" href="../docs/csv_import/customers_import.csv" target="_blank">{l s='Sample Customers file'}</a>
<a class="list-group-item" href="../docs/csv_import/addresses_import.csv" target="_blank">{l s='Sample Addresses file'}</a>
<a class="list-group-item" href="../docs/csv_import/manufacturers_import.csv" target="_blank">{l s='Sample Manufacturers file'}</a>
<a class="list-group-item" href="../docs/csv_import/suppliers_import.csv" target="_blank">{l s='Sample Suppliers file'}</a>
<a class="list-group-item" href="../docs/csv_import/alias_import.csv" target="_blank">{l s='Sample Alias file'}</a>
<a class="list-group-item" href="../docs/csv_import/categories_import.csv" target="_blank">
<i class="icon-download"></i>
{l s='Sample Categories file'}
</a>
<a class="list-group-item" href="../docs/csv_import/products_import.csv" target="_blank">
<i class="icon-download"></i>
{l s='Sample Products file'}
</a>
<a class="list-group-item" href="../docs/csv_import/combinations_import.csv" target="_blank">
<i class="icon-download"></i>
{l s='Sample Combinations file'}
</a>
<a class="list-group-item" href="../docs/csv_import/customers_import.csv" target="_blank">
<i class="icon-download"></i>
{l s='Sample Customers file'}
</a>
<a class="list-group-item" href="../docs/csv_import/addresses_import.csv" target="_blank">
<i class="icon-download"></i>
{l s='Sample Addresses file'}
</a>
<a class="list-group-item" href="../docs/csv_import/manufacturers_import.csv" target="_blank">
<i class="icon-download"></i>
{l s='Sample Manufacturers file'}
</a>
<a class="list-group-item" href="../docs/csv_import/suppliers_import.csv" target="_blank">
<i class="icon-download"></i>
{l s='Sample Suppliers file'}
</a>
<a class="list-group-item" href="../docs/csv_import/alias_import.csv" target="_blank">
<i class="icon-download"></i>
{l s='Sample Alias file'}
</a>
{if $PS_ADVANCED_STOCK_MANAGEMENT}
<a class="list-group-item" href="../docs/csv_import/supply_orders_import.csv" target="_blank">{l s='Supply Orders sample file'}</a>
<a class="list-group-item" href="../docs/csv_import/supply_orders_details_import.csv" target="_blank">{l s='Supply Orders Details sample file'}</a>
<a class="list-group-item" href="../docs/csv_import/supply_orders_import.csv" target="_blank">
<i class="icon-download"></i>
{l s='Supply Orders sample file'}
</a>
<a class="list-group-item" href="../docs/csv_import/supply_orders_details_import.csv" target="_blank">
<i class="icon-download"></i>
{l s='Supply Orders Details sample file'}
</a>
{/if}
</div>
</div>
<div class="col-lg-6">
<p class="alert alert-info">
<p class="panel">
<a href="#" onclick="$('#csv_files_import').slideToggle(); return false;">
{l s='Click to view your csv files.'}
</a>
@@ -147,7 +173,7 @@
<div class="form-group">
<label class="control-label col-lg-3">{l s='What kind of entity would you like to import?'} </label>
<div class="col-lg-6">
<div class="col-lg-9">
<select name="entity" id="entity">
{foreach $entities AS $entity => $i}
<option value="{$i}"{if $entity_selected == $i} selected="selected"{/if}>
@@ -163,50 +189,65 @@
{l s='Language of the file'}
</span>
</label>
<div class="col-lg-6">
<div class="col-lg-9">
<select name="iso_lang">
{foreach $languages AS $lang}
<option value="{$lang.iso_code}" {if $lang.id_lang == $id_language} selected="selected"{/if}>{$lang.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="form-group">
<label for="convert" class="control-label col-lg-3">{l s='ISO-8859-1 encoded file?'} </label>
<div class="col-lg-6">
<p class="checkbox">
<div class="col-lg-9">
<label class="switch-light prestashop-switch fixed-width-lg">
<input name="convert" id="convert" type="checkbox" />
</p>
<span>
<span>{l s='Yes'}</span>
<span>{l s='No'}</span>
</span>
<a class="slide-button btn btn-default"></a>
</label>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">{l s='Field separator'} </label>
<div class="col-lg-6 input-group">
<span class="input-group-addon">{l s='e.g. '}"1; Ipod; 129.90; 5"</span>
<input type="text" size="2" value="{if isset($separator_selected)}{$separator_selected|escape:'html':'UTF-8'}{else};{/if}" name="separator"/>
<div class="col-lg-9">
<input type="text" value="{if isset($separator_selected)}{$separator_selected|escape:'html':'UTF-8'}{else};{/if}" name="separator"/>
<div class="help-block">{l s='e.g. '} 1; Ipod; 129.90; 5</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">{l s='Multiple value separator'} </label>
<div class="col-lg-6 input-group">
<span class="input-group-addon">{l s='e.g. '}"Ipod; red.jpg, blue.jpg, green.jpg; 129.90"</span>
<input type="text" size="2" value="{if isset($multiple_value_separator_selected)}{$multiple_value_separator_selected|escape:'html':'UTF-8'}{else},{/if}" name="multiple_value_separator"/>
<div class="col-lg-9">
<input type="text" value="{if isset($multiple_value_separator_selected)}{$multiple_value_separator_selected|escape:'html':'UTF-8'}{else},{/if}" name="multiple_value_separator"/>
<div class="help-block">{l s='e.g. '} Ipod; red.jpg, blue.jpg, green.jpg; 129.90</div>
</div>
</div>
<div class="form-group">
<label for="truncate" class="control-label col-lg-3">{l s='Delete all'} <span id="entitie">{l s='categories'}</span> {l s='before import?'} </label>
<div class="col-lg-6">
<p class="checkbox">
<div class="col-lg-9">
<label class="switch-light prestashop-switch fixed-width-lg">
<input name="truncate" id="truncate" type="checkbox"/>
</p>
<span>
<span>{l s='Yes'}</span>
<span>{l s='No'}</span>
</span>
<a class="slide-button btn btn-default"></a>
</label>
</div>
</div>
<div class="form-group" style="display: none">
<label for="match_ref" class="control-label col-lg-3">{l s='Use product reference as key?'}</label>
<div class="col-lg-6">
<p class="checkbox">
<div class="col-lg-9">
<label class="switch-light prestashop-switch fixed-width-lg">
<input name="match_ref" id="match_ref" type="checkbox" />
</p>
<span>
<span>{l s='Yes'}</span>
<span>{l s='No'}</span>
</span>
<a class="slide-button btn btn-default"></a>
</label>
</div>
</div>
<div class="form-group">
@@ -221,15 +262,23 @@
{l s='Force all ID\'s during import?'}
</span>
</label>
<div class="col-lg-6">
<p class="checkbox">
<input name="forceIDs" id="forceIDs" type="checkbox"/>
</p>
<div class="col-lg-9">
<label class="switch-light prestashop-switch fixed-width-lg">
<input name="forceIDs" id="forceIDs" type="checkbox"/>
<span>
<span>{l s='Yes'}</span>
<span>{l s='No'}</span>
</span>
<a class="slide-button btn btn-default"></a>
</label>
</div>
</div>
<div class="form-group">
<div class="col-lg-6 col-lg-push-3">
<input type="submit" name="submitImportFile" id="submitImportFile" value="{l s='Next step'}" class="btn btn-default" {if empty($files_to_import)}disabled{/if}/>
<button type="submit" name="submitImportFile" id="submitImportFile" class="btn btn-default" {if empty($files_to_import)}disabled{/if}>
<i class="icon-circle-arrow-right"></i>
{l s='Next step'}
</button>
</div>
</div>
@@ -247,7 +296,7 @@
{if !count($files_to_import)}
<div class="alert alert-warning">
<p>{l s='There is no CSV file available. Please upload one using the \'Upload\' button above.'}</p>
<ul class="nav">
<ul>
<li>{l s='You can read information on CSV import at:'} <a href="http://doc.prestashop.com/display/PS14/Troubleshooting#Troubleshooting-HowtocorrectlyimportaccentuatedcontentusingaCSVfile%3F" target="_blank">http://doc.prestashop.com/display/PS14/Troubleshooting</a>
<li>{l s='Read more about CSV format at:'} <a href="http://en.wikipedia.org/wiki/Comma-separated_values" target="_blank">http://en.wikipedia.org/wiki/Comma-separated_values</a>
</ul>
@@ -83,7 +83,7 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">{l s='Save your mapping configuration'}</label>
<label class="control-label col-lg-3" for="newImportMatchs">{l s='Save your mapping configuration'}</label>
<div class="col-lg-7">
<input type="text" name="newImportMatchs" id="newImportMatchs" />
</div>
@@ -116,35 +116,33 @@
<input type="hidden" name="separator" value="{$fields_value.separator}" />
<input type="hidden" name="multiple_value_separator" value="{$fields_value.multiple_value_separator}" />
<div class="form-group">
<label class="control-label col-lg-3">{l s='Lines to skip'}</label>
<label class="control-label col-lg-3" for="skip">{l s='Lines to skip'}</label>
<div class="col-lg-7">
<input type="text" size="2" name="skip" value="1" />
<input type="text" name="skip" id="skip" value="1" />
<p class="help-block">{l s='This number indicates how many of the first lines of your CSV file should be skipped when importing the data. For instance set it to 1 if the first row of your file contains headers.'}</p>
</div>
</div>
<div class="form-group">
<div class="col-lg-12">
<table class="table">
<tr>
<td valign="top" align="center">
<button id="btn_left" type="button" class="btn btn-default" onclick="showTable(current - 1);">{l s='<<'}</button>
</td>
<td align="left">
{section name=nb_i start=0 loop=$nb_table step=1}
{assign var=i value=$smarty.section.nb_i.index}
{$data.$i}
{/section}
</td>
<td valign="top" align="center">
<button id="btn_right" type="button" class="btn btn-default" onclick="showTable(current + 1);">{l s='>>'}</button>
</td>
</tr>
</table>
{section name=nb_i start=0 loop=$nb_table step=1}
{assign var=i value=$smarty.section.nb_i.index}
{$data.$i}
{/section}
<button id="btn_left" type="button" class="btn btn-default pull-left" onclick="showTable(current - 1);">
<i class="icon-chevron-sign-left"></i>
</button>
<button id="btn_right" type="button" class="btn btn-default pull-right" onclick="showTable(current + 1);">
<i class="icon-chevron-sign-right"></i>
</button>
</div>
</div>
<hr>
<div class="form-group">
<div class="col-lg-12">
<button name="import" type="submit" onclick="return (validateImportation(new Array({$res})));" id="import" class="btn btn-default pull-right"><i class="icon-cloud-upload"></i> {l s='Import .CSV data'}</button>
<button name="import" type="submit" onclick="return (validateImportation(new Array({$res})));" id="import" class="btn btn-default pull-right">
<i class="icon-ok text-success"></i>
{l s='Import .CSV data'}
</button>
</div>
</div>
</form>
@@ -1394,7 +1394,7 @@
<i class="icon-ban-circle text-danger"></i>
{l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -556,7 +556,7 @@
<i class="icon-ban-circle text-danger"></i>
{l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -194,7 +194,7 @@
<i class="icon-ban-circle text-danger"></i>
{l s='Disabled'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -40,7 +40,7 @@
<label class="radio" for="multishop_{$product_tab}_off">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
<div class="col-lg-7">
@@ -63,8 +63,8 @@
}
</div>
</div>
<div class="form-group">
{* Removed for simplicity *}
<div class="form-group hide">
<label class="control-label col-lg-3" for="meta_keywords_{$id_lang}">
{include file="controllers/products/multishop/checkbox.tpl" field="meta_keywords" type="default" multilang="true"}
<span class="label-tooltip" data-toggle="tooltip"
@@ -47,7 +47,7 @@
<label class="t radio" for="tracking_dt_off">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -86,7 +86,7 @@
<label class="radio" for="{$field.name}_off">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
{elseif $key == 'select'}
@@ -399,7 +399,7 @@
{/if}
</label>
{/foreach}
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -72,7 +72,7 @@
<label class="radio" for="{$table}_multishop_{$category}_off">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
<div class="col-lg-7">
@@ -148,7 +148,7 @@
<label for="{$key}_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -35,7 +35,7 @@ class AdminCartRulesControllerCore extends AdminController
$this->addRowAction('edit');
$this->addRowAction('delete');
$this->bulk_actions = array('delete' => array('text' => $this->l('Delete selected'), 'confirm' => $this->l('Delete selected items?')));
$this->bulk_actions = array('delete' => array('text' => $this->l('Delete selected'),'icon' => 'icon-trash', 'confirm' => $this->l('Delete selected items?')));
$this->fields_list = array(
'id_cart_rule' => array('title' => $this->l('ID'), 'align' => 'center', 'class' => 'fixed-width-xs'),
+9 -10
View File
@@ -625,21 +625,20 @@ class AdminImportControllerCore extends AdminController
protected function generateContentTable($current_table, $nb_column, $handle, $glue)
{
$html = '<table id="table'.$current_table.'" style="display: none;" class="table" cellspacing="0" cellpadding="0">
<tr>';
$html = '<table id="table'.$current_table.'" style="display: none;" class="table">
<thead><tr>';
// Header
for ($i = 0; $i < $nb_column; $i++)
if (MAX_COLUMNS * (int)$current_table <= $i && (int)$i < MAX_COLUMNS * ((int)$current_table + 1))
$html .= '<th style="width: '.(900 / MAX_COLUMNS).'px; vertical-align: top; padding: 4px">
<select style="width: '.(900 / MAX_COLUMNS).'px;"
id="type_value['.$i.']"
$html .= '<th>
<select id="type_value['.$i.']"
name="type_value['.$i.']"
class="type_value">
'.$this->getTypeValuesOptions($i).'
</select>
</th>';
$html .= '</tr>';
$html .= '</tr></thead><tbody>';
AdminImportController::setLocale();
for ($current_line = 0; $current_line < 10 && $line = fgetcsv($handle, MAX_LINE_SIZE, $glue); $current_line++)
@@ -647,13 +646,13 @@ class AdminImportControllerCore extends AdminController
/* UTF-8 conversion */
if (Tools::getValue('convert'))
$line = $this->utf8EncodeArray($line);
$html .= '<tr id="table_'.$current_table.'_line_'.$current_line.'" style="padding: 4px">';
$html .= '<tr id="table_'.$current_table.'_line_'.$current_line.'">';
foreach ($line as $nb_c => $column)
if ((MAX_COLUMNS * (int)$current_table <= $nb_c) && ((int)$nb_c < MAX_COLUMNS * ((int)$current_table + 1)))
$html .= '<td>'.htmlentities(Tools::substr($column, 0, 200), ENT_QUOTES, 'UTF-8').'</td>';
$html .= '</tr>';
}
$html .= '</table>';
$html .= '</tbody></table>';
AdminImportController::rewindBomAware($handle);
return $html;
}
@@ -783,13 +782,13 @@ class AdminImportControllerCore extends AdminController
if ($k === 'no')
continue;
if ($k === 'price_tin')
$fields[$i - 1] = '<div>'.$this->available_fields[$keys[$i - 1]]['label'].' '.$this->l('or').' '.$field['label'].'<span style="margin-left:16px"></span></div>';
$fields[$i - 1] = '<div>'.$this->available_fields[$keys[$i - 1]]['label'].' '.$this->l('or').' '.$field['label'].'</div>';
else
{
if (isset($field['help']))
$html = '&nbsp;<a href="#" class="info_import" title="'.$this->l('Info').'|'.$field['help'].'"><i class="icon-info-sign"></i></a>';
else
$html = '<span style="margin-left:16px"></span>';
$html = '';
$fields[] = '<div>'.$field['label'].$html.'</div>';
}
++$i;
+10 -10
View File
@@ -920,7 +920,7 @@ class BlockLayered extends Module
<label for="indexable_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> '.$this->l('No').'
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -1033,7 +1033,7 @@ class BlockLayered extends Module
<label for="indexable_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> '.$this->l('No').'
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -2139,7 +2139,7 @@ class BlockLayered extends Module
<label for="ps_layered_hide_0_values_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> '.$this->l('No').'
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -2159,7 +2159,7 @@ class BlockLayered extends Module
<label for="ps_layered_show_qties_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> '.$this->l('No').'
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -2179,7 +2179,7 @@ class BlockLayered extends Module
<label for="ps_layered_full_tree_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> '.$this->l('No').'
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -2205,7 +2205,7 @@ class BlockLayered extends Module
<label for="pps_layered_filter_price_usetax_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> '.$this->l('No').'
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -2225,7 +2225,7 @@ class BlockLayered extends Module
<label for="ps_layered_filter_index_condition_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> '.$this->l('No').'
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -2245,7 +2245,7 @@ class BlockLayered extends Module
<label for="ps_layered_filter_index_availability_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> '.$this->l('No').'
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -2265,7 +2265,7 @@ class BlockLayered extends Module
<label for="ps_layered_filter_index_manufacturer_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> '.$this->l('No').'
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
@@ -2285,7 +2285,7 @@ class BlockLayered extends Module
<label for="ps_layered_filter_index_category_off" class="radioCheck">
<i class="icon-ban-circle color_danger"></i> '.$this->l('No').'
</label>
<span class="slide-button btn btn-default"></span>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>