tienda 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +35 -0
  4. data/app/assets/images/tienda/chosen-sprite.png +0 -0
  5. data/app/assets/images/tienda/chosen-sprite@2x.png +0 -0
  6. data/app/assets/images/tienda/document.svg +1 -0
  7. data/app/assets/images/tienda/icons/bag.svg +1 -0
  8. data/app/assets/images/tienda/icons/balance.svg +1 -0
  9. data/app/assets/images/tienda/icons/box.svg +1 -0
  10. data/app/assets/images/tienda/icons/building.svg +1 -0
  11. data/app/assets/images/tienda/icons/chart.svg +1 -0
  12. data/app/assets/images/tienda/icons/chat.svg +1 -0
  13. data/app/assets/images/tienda/icons/checkbox.svg +1 -0
  14. data/app/assets/images/tienda/icons/checkbox2.svg +1 -0
  15. data/app/assets/images/tienda/icons/cloud.svg +1 -0
  16. data/app/assets/images/tienda/icons/cone.svg +1 -0
  17. data/app/assets/images/tienda/icons/credit_card.svg +1 -0
  18. data/app/assets/images/tienda/icons/currency.svg +1 -0
  19. data/app/assets/images/tienda/icons/edit.svg +14 -0
  20. data/app/assets/images/tienda/icons/flowchart.svg +1 -0
  21. data/app/assets/images/tienda/icons/gift.svg +1 -0
  22. data/app/assets/images/tienda/icons/globe.svg +1 -0
  23. data/app/assets/images/tienda/icons/id.svg +1 -0
  24. data/app/assets/images/tienda/icons/id2.svg +1 -0
  25. data/app/assets/images/tienda/icons/locked.svg +1 -0
  26. data/app/assets/images/tienda/icons/report.svg +1 -0
  27. data/app/assets/images/tienda/icons/search.svg +1 -0
  28. data/app/assets/images/tienda/icons/support.svg +1 -0
  29. data/app/assets/images/tienda/icons/tags.svg +1 -0
  30. data/app/assets/images/tienda/icons/toolbox.svg +1 -0
  31. data/app/assets/images/tienda/icons/unlocked.svg +1 -0
  32. data/app/assets/images/tienda/icons/wallet.svg +1 -0
  33. data/app/assets/images/tienda/logo.svg +47 -0
  34. data/app/assets/images/tienda/move.svg +1 -0
  35. data/app/assets/images/tienda/shoppe.svg +25 -0
  36. data/app/assets/images/tienda/square.svg +9 -0
  37. data/app/assets/images/tienda/statuses/accepted.svg +14 -0
  38. data/app/assets/images/tienda/statuses/paid.svg +16 -0
  39. data/app/assets/images/tienda/statuses/received.svg +15 -0
  40. data/app/assets/images/tienda/statuses/rejected.svg +14 -0
  41. data/app/assets/images/tienda/statuses/shipped.svg +14 -0
  42. data/app/assets/images/tienda/table-tear-off.png +0 -0
  43. data/app/assets/javascripts/tienda/application.coffee +119 -0
  44. data/app/assets/javascripts/tienda/chosen.jquery.js +1166 -0
  45. data/app/assets/javascripts/tienda/jquery_ui.js +6 -0
  46. data/app/assets/javascripts/tienda/mousetrap.js +9 -0
  47. data/app/assets/javascripts/tienda/order_form.coffee +47 -0
  48. data/app/assets/stylesheets/tienda/application.scss +585 -0
  49. data/app/assets/stylesheets/tienda/chosen.scss +424 -0
  50. data/app/assets/stylesheets/tienda/dialog.scss +25 -0
  51. data/app/assets/stylesheets/tienda/elements.scss +79 -0
  52. data/app/assets/stylesheets/tienda/printable.scss +67 -0
  53. data/app/assets/stylesheets/tienda/reset.scss +93 -0
  54. data/app/assets/stylesheets/tienda/sub.scss +106 -0
  55. data/app/assets/stylesheets/tienda/variables.scss +1 -0
  56. data/app/controllers/tienda/application_controller.rb +46 -0
  57. data/app/controllers/tienda/attachments_controller.rb +14 -0
  58. data/app/controllers/tienda/countries_controller.rb +47 -0
  59. data/app/controllers/tienda/dashboard_controller.rb +9 -0
  60. data/app/controllers/tienda/delivery_service_prices_controller.rb +45 -0
  61. data/app/controllers/tienda/delivery_services_controller.rb +47 -0
  62. data/app/controllers/tienda/orders_controller.rb +90 -0
  63. data/app/controllers/tienda/payments_controller.rb +33 -0
  64. data/app/controllers/tienda/product_categories_controller.rb +47 -0
  65. data/app/controllers/tienda/products_controller.rb +58 -0
  66. data/app/controllers/tienda/sessions_controller.rb +34 -0
  67. data/app/controllers/tienda/settings_controller.rb +16 -0
  68. data/app/controllers/tienda/stock_level_adjustments_controller.rb +40 -0
  69. data/app/controllers/tienda/tax_rates_controller.rb +49 -0
  70. data/app/controllers/tienda/users_controller.rb +53 -0
  71. data/app/controllers/tienda/variants_controller.rb +50 -0
  72. data/app/helpers/tienda/application_helper.rb +60 -0
  73. data/app/mailers/tienda/order_mailer.rb +25 -0
  74. data/app/mailers/tienda/user_mailer.rb +10 -0
  75. data/app/models/tienda/country.rb +27 -0
  76. data/app/models/tienda/delivery_service.rb +33 -0
  77. data/app/models/tienda/delivery_service_price.rb +31 -0
  78. data/app/models/tienda/order/actions.rb +98 -0
  79. data/app/models/tienda/order/billing.rb +105 -0
  80. data/app/models/tienda/order/delivery.rb +229 -0
  81. data/app/models/tienda/order/states.rb +69 -0
  82. data/app/models/tienda/order.rb +93 -0
  83. data/app/models/tienda/order_item.rb +239 -0
  84. data/app/models/tienda/payment.rb +80 -0
  85. data/app/models/tienda/product/product_attributes.rb +20 -0
  86. data/app/models/tienda/product/variants.rb +51 -0
  87. data/app/models/tienda/product.rb +169 -0
  88. data/app/models/tienda/product_attribute.rb +66 -0
  89. data/app/models/tienda/product_category.rb +23 -0
  90. data/app/models/tienda/setting.rb +68 -0
  91. data/app/models/tienda/stock_level_adjustment.rb +19 -0
  92. data/app/models/tienda/tax_rate.rb +46 -0
  93. data/app/models/tienda/user.rb +49 -0
  94. data/app/validators/permalink_validator.rb +7 -0
  95. data/app/views/layouts/tienda/application.html.haml +34 -0
  96. data/app/views/layouts/tienda/printable.html.haml +11 -0
  97. data/app/views/layouts/tienda/sub.html.haml +10 -0
  98. data/app/views/tienda/countries/_form.html.haml +35 -0
  99. data/app/views/tienda/countries/edit.html.haml +6 -0
  100. data/app/views/tienda/countries/index.html.haml +25 -0
  101. data/app/views/tienda/countries/new.html.haml +7 -0
  102. data/app/views/tienda/delivery_service_prices/_form.html.haml +44 -0
  103. data/app/views/tienda/delivery_service_prices/edit.html.haml +6 -0
  104. data/app/views/tienda/delivery_service_prices/index.html.haml +23 -0
  105. data/app/views/tienda/delivery_service_prices/new.html.haml +6 -0
  106. data/app/views/tienda/delivery_services/_form.html.haml +38 -0
  107. data/app/views/tienda/delivery_services/edit.html.haml +9 -0
  108. data/app/views/tienda/delivery_services/index.html.haml +27 -0
  109. data/app/views/tienda/delivery_services/new.html.haml +6 -0
  110. data/app/views/tienda/order_mailer/accepted.text.erb +12 -0
  111. data/app/views/tienda/order_mailer/received.text.erb +12 -0
  112. data/app/views/tienda/order_mailer/rejected.text.erb +10 -0
  113. data/app/views/tienda/order_mailer/shipped.text.erb +16 -0
  114. data/app/views/tienda/orders/_form.html.haml +55 -0
  115. data/app/views/tienda/orders/_order_details.html.haml +57 -0
  116. data/app/views/tienda/orders/_order_items.html.haml +38 -0
  117. data/app/views/tienda/orders/_order_items_form.html.haml +61 -0
  118. data/app/views/tienda/orders/_payments_form.html.haml +15 -0
  119. data/app/views/tienda/orders/_payments_table.html.haml +37 -0
  120. data/app/views/tienda/orders/_search_form.html.haml +24 -0
  121. data/app/views/tienda/orders/_status_bar.html.haml +35 -0
  122. data/app/views/tienda/orders/despatch_note.html.haml +45 -0
  123. data/app/views/tienda/orders/edit.html.haml +21 -0
  124. data/app/views/tienda/orders/index.html.haml +39 -0
  125. data/app/views/tienda/orders/new.html.haml +14 -0
  126. data/app/views/tienda/orders/show.html.haml +25 -0
  127. data/app/views/tienda/payments/refund.html.haml +13 -0
  128. data/app/views/tienda/product_categories/_form.html.haml +26 -0
  129. data/app/views/tienda/product_categories/edit.html.haml +6 -0
  130. data/app/views/tienda/product_categories/index.html.haml +19 -0
  131. data/app/views/tienda/product_categories/new.html.haml +6 -0
  132. data/app/views/tienda/products/_form.html.haml +118 -0
  133. data/app/views/tienda/products/_table.html.haml +42 -0
  134. data/app/views/tienda/products/edit.html.haml +8 -0
  135. data/app/views/tienda/products/import.html.haml +63 -0
  136. data/app/views/tienda/products/index.html.haml +9 -0
  137. data/app/views/tienda/products/new.html.haml +7 -0
  138. data/app/views/tienda/sessions/new.html.haml +12 -0
  139. data/app/views/tienda/sessions/reset.html.haml +12 -0
  140. data/app/views/tienda/settings/edit.html.haml +19 -0
  141. data/app/views/tienda/shared/error.html.haml +6 -0
  142. data/app/views/tienda/stock_level_adjustments/index.html.haml +40 -0
  143. data/app/views/tienda/tax_rates/form.html.haml +28 -0
  144. data/app/views/tienda/tax_rates/index.html.haml +17 -0
  145. data/app/views/tienda/user_mailer/new_password.text.erb +9 -0
  146. data/app/views/tienda/users/_form.html.haml +27 -0
  147. data/app/views/tienda/users/edit.html.haml +5 -0
  148. data/app/views/tienda/users/index.html.haml +17 -0
  149. data/app/views/tienda/users/new.html.haml +7 -0
  150. data/app/views/tienda/variants/form.html.haml +66 -0
  151. data/app/views/tienda/variants/index.html.haml +33 -0
  152. data/config/locales/en.yml +650 -0
  153. data/config/locales/pl.yml +650 -0
  154. data/config/locales/pt-BR.yml +643 -0
  155. data/config/routes.rb +42 -0
  156. data/db/countries.txt +252 -0
  157. data/db/migrate/20150124094549_create_tienda_initial_schema.rb +184 -0
  158. data/db/seeds.rb +128 -0
  159. data/db/seeds_data/poe400.jpg +0 -0
  160. data/db/seeds_data/snom-870-blk.jpg +0 -0
  161. data/db/seeds_data/snom-870-grey.jpg +0 -0
  162. data/db/seeds_data/snom-mm2.jpg +0 -0
  163. data/db/seeds_data/spa303.jpg +0 -0
  164. data/db/seeds_data/t18p.jpg +0 -0
  165. data/db/seeds_data/t20p.jpg +0 -0
  166. data/db/seeds_data/t22p.jpg +0 -0
  167. data/db/seeds_data/t26p.jpg +0 -0
  168. data/db/seeds_data/t41pn.jpg +0 -0
  169. data/db/seeds_data/t46gn.jpg +0 -0
  170. data/db/seeds_data/w52p.jpg +0 -0
  171. data/db/seeds_data/yhs32.jpg +0 -0
  172. data/lib/tasks/tienda.rake +29 -0
  173. data/lib/tienda/associated_countries.rb +20 -0
  174. data/lib/tienda/country_importer.rb +14 -0
  175. data/lib/tienda/default_navigation.rb +20 -0
  176. data/lib/tienda/engine.rb +48 -0
  177. data/lib/tienda/error.rb +21 -0
  178. data/lib/tienda/errors/inappropriate_delivery_service.rb +6 -0
  179. data/lib/tienda/errors/insufficient_stock_to_fulfil.rb +15 -0
  180. data/lib/tienda/errors/invalid_configuration.rb +6 -0
  181. data/lib/tienda/errors/not_enough_stock.rb +15 -0
  182. data/lib/tienda/errors/payment_declined.rb +6 -0
  183. data/lib/tienda/errors/refund_failed.rb +6 -0
  184. data/lib/tienda/errors/unorderable_item.rb +6 -0
  185. data/lib/tienda/navigation_manager.rb +81 -0
  186. data/lib/tienda/orderable_item.rb +39 -0
  187. data/lib/tienda/settings.rb +26 -0
  188. data/lib/tienda/settings_loader.rb +16 -0
  189. data/lib/tienda/setup_generator.rb +10 -0
  190. data/lib/tienda/version.rb +3 -0
  191. data/lib/tienda/view_helpers.rb +16 -0
  192. data/lib/tienda.rb +59 -0
  193. metadata +604 -0
@@ -0,0 +1,585 @@
1
+ /*
2
+ *= require tienda/reset
3
+ *= require tienda/elements
4
+ *= require tienda/chosen
5
+ *= require nifty/dialog
6
+ *= require tienda/dialog
7
+ *= require_self
8
+ */
9
+
10
+ @import 'variables';
11
+
12
+ html { font-family:$font; font-size:12px; color:#000; -webkit-font-smoothing:antialiased; background-color:#f7f9fc; overflow-y:scroll}
13
+
14
+ nav.sidebar {
15
+ width:200px;
16
+ background:#40454D;
17
+ position:fixed;
18
+ top:0;
19
+ bottom:0;
20
+ header.logo {
21
+ height:57px;
22
+ background:image-url('tienda/logo.svg') #9AC835 no-repeat 22px 25px;
23
+ background-size:45px;
24
+ padding-left:80px;
25
+ padding-top:28px;
26
+ h1 a {
27
+ display:block;
28
+ width:72px;
29
+ height:16px;
30
+ background:image-url('tienda/tienda.svg') no-repeat;
31
+ background-size:72px 16px;
32
+ text-indent:-40000px;
33
+ }
34
+ p { color:#fff; font-size:0.9em; margin-top:4px; }
35
+ }
36
+
37
+ p.logged {
38
+ background:#5B6270;
39
+ padding:12px 20px;
40
+ color:#fff;
41
+ font-size:0.9em;
42
+ }
43
+
44
+ ul {
45
+ li {
46
+ span.pending { float:right; font-size:0.9em; font-weight:bold;background:#5B6270; color:#fff; padding:2px 10px; border-radius:16px; margin-top:9px; margin-right:10px;}
47
+ a {
48
+ display:block;
49
+ border-bottom:1px solid rgba(255,255,255,0.05);
50
+ color:rgba(255,255,255,0.7);
51
+ text-decoration:none;
52
+ padding:10px 20px;
53
+ font-size:1.1em;
54
+ &:hover {
55
+ background:rgba(0,0,0,0.05);
56
+ }
57
+ &.active {
58
+ font-weight:bold;
59
+ color:#fff;
60
+ background:rgba(0,0,0,0.08);
61
+ }
62
+ }
63
+ }
64
+ }
65
+ }
66
+
67
+ header.main {
68
+ position:fixed;
69
+ left:200px;
70
+ right:0;
71
+ height:85px;
72
+ background:#fff;
73
+ box-shadow: 0 0px 15px -2px rgba(0,0,0,0.2);
74
+ z-index: 1;
75
+ p.buttons { float:right; margin-top:27px; margin-right:35px;}
76
+ p.buttons a { margin-left:10px;}
77
+ h2 { margin-top:28px; margin-left:35px; font-size:2.0em; font-weight:300; color:#333; background-repeat:no-repeat; background-size:22px; background-position:0 5px; padding-left:32px;}
78
+ h2 span { font-size:0.4em; font-weight:normal; color:#999; margin-left:10px;}
79
+ h2 b { font-weight:500;}
80
+ h2.products { background-image:image-url('tienda/icons/tags.svg')}
81
+ h2.orders { background-image:image-url('tienda/icons/bag.svg'); background-position: 0 3px;}
82
+ h2.delivery_services { background-image:image-url('tienda/icons/box.svg'); background-position: 0 3px; background-size:20px;}
83
+ h2.tax_rates { background-image:image-url('tienda/icons/currency.svg'); background-position: 0 2px; background-size:22px;}
84
+ h2.users { background-image:image-url('tienda/icons/id.svg'); background-position: 0 2px; background-size:22px;}
85
+ h2.countries { background-image:image-url('tienda/icons/globe.svg'); background-position: 0 2px; background-size:22px;}
86
+ h2.settings { background-image:image-url('tienda/icons/toolbox.svg'); background-position: 0 2px; background-size:22px;}
87
+
88
+ }
89
+
90
+ #content {
91
+ padding-left:200px;
92
+ padding-top:85px;
93
+
94
+ section.main {
95
+ padding:35px;
96
+ }
97
+
98
+ //
99
+ // flashes
100
+ //
101
+ #flash-notice { background:#21a3e0; padding:15px 35px; color:#fff; font-size:1.2em; font-weight:bold;}
102
+ #flash-alert { background:#e04e21; padding:15px 35px; color:#fff; font-size:1.2em; font-weight:bold;}
103
+
104
+ //
105
+ // sub title
106
+ //
107
+ .subtitle {
108
+ background:#fff;
109
+ border:1px solid #CFD4DD;
110
+ margin-bottom:25px;
111
+ padding:15px;
112
+ h3 { font-size:2.0em; font-weight:500;}
113
+ }
114
+
115
+
116
+ //
117
+ // Status tags
118
+ //
119
+ span.status-tag {
120
+ font-weight:600;
121
+ font-size:11px;
122
+ text-transform:uppercase;
123
+ background-size:16px;
124
+ background-repeat:no-repeat;
125
+ padding-left:20px;
126
+ min-height:16px;
127
+ display:inline-block;
128
+ &.shipped { color:#E32479; background-image:image-url('tienda/statuses/shipped.svg'); }
129
+ &.accepted { color:#89BD2F; background-image:image-url('tienda/statuses/accepted.svg'); }
130
+ &.rejected { color:#E33127; background-image:image-url('tienda/statuses/rejected.svg'); }
131
+ &.received { color:#909091; background-image:image-url('tienda/statuses/received.svg'); }
132
+ }
133
+
134
+ //
135
+ // fieldset
136
+ //
137
+ fieldset {
138
+ border:1px solid #dce2eb;
139
+ background:#fff;
140
+ padding-top:15px;
141
+ padding-bottom:25px;
142
+ margin-bottom:15px;
143
+ legend {color:#5B6270; margin:0 25px; font-weight:300; font-size:1.5em;}
144
+ &.padded { padding:15px 25px 25px 25px;}
145
+ &.padded legend { margin:0;}
146
+ }
147
+
148
+ //
149
+ // forms
150
+ //
151
+ form {
152
+ fieldset {
153
+
154
+ .splitContainer { margin:0 25px; margin-bottom:15px; height:50px;}
155
+ .splitContainer:last-child { margin-bottom:0;}
156
+
157
+ dl {
158
+ margin:0 25px;
159
+ margin-bottom:15px;
160
+ &:last-child { margin-bottom:0;}
161
+ dt { margin-bottom:10px; font-size:1.2em;}
162
+ dt label { font-weight:500;}
163
+ dd { }
164
+ dd input[type=text], dd input[type=password], textarea {
165
+ }
166
+ dd select { width:100%;}
167
+ dd textarea { height:80px; }
168
+ dd p.help { margin-top:15px; color:#333; background:image-url('tienda/icons/support.svg') no-repeat 0 3px; line-height:1.5; background-size:13px; padding-left:18px; opacity:0.7;}
169
+ dd.checkbox { margin-top:14px; font-size:1.1em; color:#999;}
170
+ dd.checkbox input { float:left; margin-right:10px; margin-top:2px; }
171
+ dd div.radios {
172
+ padding-top:4px;
173
+ input,label { margin-right:10px;}
174
+ }
175
+ dd.space { margin-bottom:5px;}
176
+ dd.space:last-child { margin-bottom:0;}
177
+ &.half {
178
+ width:49%;
179
+ margin:0;
180
+ float:left;
181
+ &:last-child { float:right;}
182
+ }
183
+
184
+ &.third {
185
+ width:31%;
186
+ margin:0;
187
+ float:left;
188
+ &:nth-child(2) { margin-left:2%; width:32%;}
189
+ &:last-child { float:right; width:33%;}
190
+ }
191
+
192
+ &.quarter {
193
+ width:23%;
194
+ margin:0;
195
+ margin-left:2%;
196
+ float:left;
197
+ &:last-child { float:right; width:25%;}
198
+ &:first-child { margin:0;}
199
+ }
200
+
201
+ &.three-quarter {
202
+ width:75%;
203
+ margin:0;
204
+ float:right;
205
+ }
206
+ }
207
+
208
+ dl.sided {
209
+ clear:both;
210
+ dt { float:left; width:25%; text-align:right; padding-top:4px;}
211
+ dd { margin-left:30%; }
212
+ dd p.help { margin-top:10px;}
213
+ dd div.checkbox { padding-top:5px;}
214
+ }
215
+
216
+
217
+ //
218
+ // margined container
219
+ //
220
+ div.margin { margin: 0 25px;}
221
+
222
+ //
223
+ // attributes table
224
+ //
225
+ table.productAttributes {
226
+ width:100%;
227
+ margin-bottom:10px;
228
+ line-height:1.0;
229
+ thead td, thead th { text-align:left; border:1px solid #ccc; background:#f7f7f7; color:#999; font-size:0.9em; padding:10px; }
230
+ tr:nth-child(even) td {
231
+ background:#fbfbfb;
232
+ }
233
+ td {
234
+ border:1px solid #ccc;
235
+ padding:10px;
236
+ vertical-align:middle;
237
+ width:40%;
238
+ input[type=text] { width:100%; border:0; padding:0; margin:0; font-size:1.2em;}
239
+ &.remove { width:8%; text-align:center; background:#ffeff5;}
240
+ &.searchable { width:8%; text-align:center; }
241
+ &.handle { width:4%; background:image-url('tienda/move.svg') no-repeat center; background-size:16px;}
242
+ }
243
+ }
244
+
245
+ //
246
+ // imports example table
247
+ //
248
+ table.importExample {
249
+ @extend table.productAttributes;
250
+ tr:nth-last-child(2) td {
251
+ border-bottom: none;
252
+ }
253
+ tr.tear-off td {
254
+ border:none;
255
+ background:image-url('tienda/table-tear-off.png') repeat-x 0 0;
256
+ height:5px;
257
+ padding:0;
258
+ }
259
+ td {
260
+ border:1px solid #ddd;
261
+ font-size:0.9em;
262
+ width:auto;
263
+ }
264
+ }
265
+ }
266
+ p.submit {margin:0; background:#fff; border:1px solid #dce2eb; padding:25px; }
267
+ p.submit .button {
268
+ margin-right:5px;
269
+ vertical-align: middle;
270
+ }
271
+ p.submit .right .button {margin-left:5px; margin-right:0;}
272
+ p.submit span.right {float:right;}
273
+ p.submit.sided { padding-left:30%;}
274
+ .errorExplanation {
275
+ margin-bottom:25px;
276
+ border:1px solid #EB2732;
277
+ background:#fff;
278
+ padding:25px;
279
+ line-height:1.5;
280
+ h2 { font-size:1.5em !important; font-weight:300; color:#de1818; margin-bottom:10px;}
281
+ p { display:none;}
282
+ ul li { list-style:disc; margin-left:25px; font-size:1.2em;}
283
+ }
284
+ }
285
+
286
+ //
287
+ // attachment preview
288
+ //
289
+ div.attachmentPreview {
290
+ overflow:hidden;
291
+ border:1px solid #ccc;
292
+ background:#f7f7f7;
293
+ padding:10px;
294
+ margin-bottom:15px;
295
+ div.imgContainer { float:left;padding:4px; border:1px solid #ccc; background:#fff;}
296
+ div.imgContainer div.img { background-image:image-url('tienda/document.svg'); width:40px; height:40px; display:block;background-size:contain; background-repeat:no-repeat; background-position: center center;}
297
+ div.imgContainer div.img.none { background-image:none;}
298
+ div.desc {margin-left:60px; padding-top:5px;}
299
+ div.desc span { display:block}
300
+ div.desc span.filename { font-size:1.1em; margin-bottom:5px;}
301
+ div.desc span.filename a { text-decoration:none; font-weight:bold;}
302
+ div.desc span.delete a { color:#FF9781; font-size:0.9em; }
303
+ div.desc a { color:#000;}
304
+ div.desc.none { color:#999; font-style:italic;}
305
+ }
306
+
307
+ //
308
+ // order summary page
309
+ //
310
+ #order {
311
+ .details {
312
+ overflow:hidden;
313
+ .left {
314
+ width:55%;
315
+ float:left
316
+ }
317
+ .right {
318
+ width:45%;
319
+ float:left;
320
+ p.acceptreject { text-align:center; margin-top:22px; }
321
+ p.acceptreject a { margin: 0 5px;}
322
+ p.ship { text-align:center; margin-top:22px;}
323
+ p.ship input[type=text] { }
324
+ }
325
+
326
+ dl {
327
+ dt { float:left; width:30%; text-align:right; color:#888;white-space:nowrap}
328
+ dd { font-weight:bold; margin-left:35%; margin-bottom:6px; white-space:nowrap}
329
+ dd a { color:inherit;}
330
+ dt.padding { padding-top:6px;}
331
+ }
332
+
333
+ dl.form {
334
+ margin-top:15px;
335
+ input.text { width:70%;}
336
+ a.button { margin-right:5px;}
337
+ }
338
+
339
+ }
340
+
341
+ .status-bar {
342
+ background:image-url('tienda/square.svg') repeat-x 0 15px;
343
+ background-size:8px;
344
+ margin:45px 0;
345
+ overflow:hidden;
346
+ ul {
347
+ li { width:33%;float:left; text-align:center; background:image-url('tienda/statuses/shipped.svg') no-repeat center 0; background-size:36px; padding-top:42px;z-index:10;}
348
+ h4 { color:#E32479;}
349
+ li p { margin-top:5px; font-size:0.9em; color:#999;}
350
+ li a { color:inherit;}
351
+ li.payment { background-image:image-url('tienda/statuses/paid.svg')}
352
+ li.payment h4 { color:#3DB3E2;}
353
+ li.received { background-image:image-url('tienda/statuses/received.svg')}
354
+ li.received h4 { color:#909091;}
355
+ li.accepted { background-image:image-url('tienda/statuses/accepted.svg')}
356
+ li.accepted h4 { color:#89BD2F;}
357
+ li.rejected { background-image:image-url('tienda/statuses/rejected.svg')}
358
+ li.rejected h4 { color: #E33127}
359
+ }
360
+ }
361
+
362
+ .order_items {
363
+ table.data {
364
+ .money { text-align:right; width:8%}
365
+ .product { width:42%;}
366
+ .sku { width:18%;}
367
+ .qty {text-align:center; width:5%;}
368
+ }
369
+ }
370
+ }
371
+
372
+ //
373
+ // warning message
374
+ //
375
+ p.warning {
376
+ background:#ffffed;
377
+ border:1px solid #ed7c04;
378
+ color:#ed7c04;
379
+ font-size:1.1em;
380
+ font-weight:500;
381
+ margin-bottom:25px;
382
+ padding:15px;
383
+ }
384
+
385
+ //
386
+ // payments
387
+ //
388
+ fieldset.orderPayments {
389
+ h4 { font-weight:bold; text-transform:uppercase; color:#5B6270;}
390
+ .table {
391
+ margin-bottom:20px;
392
+ table td.refund { width:10%; text-align:center;}
393
+ table td.confirmed { width:5%; text-align:center;}
394
+ }
395
+ form {
396
+ overflow:hidden;
397
+ background:#F7F9FC;
398
+ border:1px solid #DCE2EB;
399
+ padding:15px;
400
+ dl {
401
+ width:23%;float:left;
402
+ dt { margin-bottom:4px; font-size:0.9em;color:#A9AEB5; font-weight:500;}
403
+ &.text { width:27%;margin-right:2%;}
404
+ &.amount { width:25%;}
405
+ &.submit { width:15%; text-align:right; margin-top:15px;}
406
+ }
407
+ }
408
+ p.notice {
409
+ background:#fffff3;
410
+ padding:10px;
411
+ color:#F67C00;
412
+ border:1px solid #F6B721;
413
+ margin-bottom:15px;
414
+ }
415
+ }
416
+
417
+ //
418
+ // order search
419
+ //
420
+ div.orderSearch {
421
+ overflow:hidden;
422
+ display:none;
423
+ dl.left, dl.right {
424
+ float:left;
425
+ width:50%;
426
+ dt { float:left; width:40%; text-align:right; padding-top:3px; color:#888;}
427
+ dd { margin-left:44%; margin-bottom:15px;}
428
+ dd input.small { width:40%;}
429
+ }
430
+ p.submit {
431
+ float:right;
432
+ }
433
+ }
434
+
435
+ //
436
+ // new order form
437
+ //
438
+ form.orderForm {
439
+ input[type=text].disabled { background:#f7f7f7; color:#888}
440
+ p.slaWarning {
441
+ background:#e5eaf4;
442
+ padding:15px;
443
+ border:1px solid #abb4c6;
444
+ border-top:0;
445
+ text-align:center;
446
+ }
447
+ table.orderItems {
448
+ thead {
449
+ th.product { width:40%;}
450
+ th.qty, th.stock { width:5%; text-align:center;}
451
+ th.price, th.tax, th.total, th.weight { width:50px;}
452
+ }
453
+ tbody {
454
+ td.qty input { text-align:center;}
455
+ td.stock { text-align:center;}
456
+ td input { width:100%; font-size:1.0em; padding:3px; background:#f7f7f7;}
457
+ td.product select {width:400px;}
458
+ tr.item.new td { background:#f7f7f7;}
459
+ td.stock.oos { background:#fff4f4; color:#e32828;}
460
+ tr.delivery td.none { background:#fff4f4; color:#e32828; font-weight:500;}
461
+ }
462
+ tfoot {
463
+ td input { width:100%;padding:3px; background:transparent; border:0; font-size:1.0em; color:#fff;}
464
+ }
465
+
466
+ }
467
+ }
468
+
469
+
470
+ }
471
+
472
+ footer {
473
+ position:fixed;
474
+ bottom:0;
475
+ width:200px;
476
+ background:rgba(0,0,0,0.05);
477
+
478
+ p.store {
479
+ a {
480
+ display:block;
481
+ background:#4B515C;
482
+ color:rgba(255,255,255,0.7);
483
+ padding:12px 20px;
484
+ font-size:1.1em;
485
+ text-decoration:none;
486
+ }
487
+ }
488
+ }
489
+
490
+ span.boolean span.true { color:#96BF48}
491
+ span.boolean span.false { color:#c04a4a}
492
+
493
+ .float-right { float:right;}
494
+
495
+ div.field_with_errors { display:inline;}
496
+
497
+ //
498
+ // money input box
499
+ //
500
+ div.moneyInput {
501
+ overflow:hidden;
502
+ div.currency {float:left; background:#f3f6ec; color:#74884a; padding:5px; width:20px; text-align:center;border:1px solid #c5ceb1; font-size:1.1em; border-right:0;}
503
+ input { width:100px; font-size:1.1em;}
504
+ }
505
+
506
+ //
507
+ // standard text input box
508
+ //
509
+ input.text, textarea.text {
510
+ width:100%; padding:5px; border:1px solid #ccc;
511
+ -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
512
+ -moz-box-sizing: border-box; /* Firefox, other Gecko */
513
+ box-sizing: border-box; /* Opera/IE 8+ */
514
+ font-size:1.1em;
515
+ font-family:$font;
516
+ &:focus { border-color:#9AC835; }
517
+ &.short { width:100px;}
518
+ }
519
+
520
+ //
521
+ // data table
522
+ //
523
+ div.table {
524
+ p.info {
525
+ overflow:hidden;
526
+ margin-bottom:10px;
527
+ color:#40454D;
528
+ }
529
+ }
530
+
531
+ table.data {
532
+ width:100%;
533
+ th, td { padding:10px; vertical-align:middle;}
534
+ thead th { border:1px solid #40454D; background:#40454D; text-align:left; font-weight:normal; font-size:0.9em; color:#fff; }
535
+ tbody td { border:1px solid #cfd4dd; background:#fff;}
536
+ a { color:inherit;}
537
+ tbody th { text-align:left; background:#5B6270; border:1px solid #5B6270;font-size:1.2em; color:#fff;}
538
+ tbody tr.empty td { padding:50px 0; text-align:center; color:#999; font-style:italic;}
539
+ tfoot td.right { text-align:right; }
540
+ tfoot td.bold { font-weight:bold;}
541
+ tfoot td { border-top:0 solid #ccc; background:#fafafa;}
542
+ tfoot tr:first-child td { border-top-width:3px;}
543
+ tbody td a.edit { background:image-url('tienda/icons/edit.svg') no-repeat; margin-top:3px;width:16px; width:16px; background-size:13px; display:inline-block; text-indent:-40000px; opacity:0.3}
544
+ tbody td a.edit:hover { opacity:0.5}
545
+ tbody td.table {
546
+ padding:0;
547
+ table.data {
548
+ td { padding:10px; border-width:0; border-right-width:1px; border-bottom-width:1px;}
549
+ td:last-child { border-right-width:0;}
550
+ tr:last-child td { border-bottom-width:0;}
551
+ }
552
+ }
553
+ tbody tr.form {
554
+ td { background:#f2f6fb;}
555
+ input[type=text] { border:1px solid #CFD4DD; padding:5px;}
556
+ input[type=text]:focus { border-color:#9AC835;}
557
+ td.desc input[type=text] { width:95%;}
558
+ td.adjustment input[type=text] { width:50px; margin-right:5px;}
559
+ }
560
+ tfoot td { background:#5B6270; color:#fff; border:1px solid #5B6270; font-weight:bold; font-size:1.1em;}
561
+ }
562
+
563
+ //
564
+ // pagination
565
+ //
566
+ nav.pagination {
567
+ display:block;
568
+ margin:25px 0;
569
+ overflow:hidden;
570
+ text-align:center;
571
+ span {
572
+ display:inline-block;
573
+ border:1px solid #ccc;
574
+ margin-right:3px;
575
+ color:#333;
576
+ background:#fff;
577
+ &.current { background:#9AC835; border-color:#7B9F26; color:#fff; font-weight:600; padding:5px 10px;}
578
+ a {
579
+ padding:5px 10px;
580
+ display:inline-block;
581
+ color:inherit;
582
+ text-decoration:none;
583
+ }
584
+ }
585
+ }