comable_backend 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/comable/admin/application.coffee +21 -14
  3. data/app/assets/stylesheets/comable/admin/_common.scss +264 -0
  4. data/app/assets/stylesheets/comable/admin/_dashboard.scss +81 -0
  5. data/app/assets/stylesheets/comable/admin/_errors.scss +18 -0
  6. data/app/assets/stylesheets/comable/admin/_mixins.scss +16 -0
  7. data/app/assets/stylesheets/comable/admin/_orders.scss +54 -0
  8. data/app/assets/stylesheets/comable/admin/_overrides.scss +4 -0
  9. data/app/assets/stylesheets/comable/admin/_products.scss +18 -0
  10. data/app/assets/stylesheets/comable/admin/_user_sessions.scss +57 -0
  11. data/app/assets/stylesheets/comable/admin/_variables.scss +44 -0
  12. data/app/assets/stylesheets/comable/admin/application.scss +15 -597
  13. data/app/assets/stylesheets/comable/admin/overrides/bootstrap.scss +83 -0
  14. data/app/assets/stylesheets/comable/admin/overrides/jstree.scss +71 -0
  15. data/app/assets/stylesheets/comable/admin/overrides/pace.scss +4 -0
  16. data/app/assets/stylesheets/comable/admin/overrides/tagit.scss +22 -0
  17. data/app/controllers/comable/admin/application_controller.rb +3 -0
  18. data/app/controllers/comable/admin/categories_controller.rb +3 -0
  19. data/app/controllers/comable/admin/customers_controller.rb +6 -0
  20. data/app/controllers/comable/admin/orders_controller.rb +3 -0
  21. data/app/controllers/comable/admin/payment_methods_controller.rb +7 -1
  22. data/app/controllers/comable/admin/products_controller.rb +10 -4
  23. data/app/controllers/comable/admin/shipment_methods_controller.rb +7 -1
  24. data/app/controllers/comable/admin/stocks_controller.rb +16 -20
  25. data/app/controllers/comable/admin/store_controller.rb +3 -0
  26. data/app/controllers/comable/admin/user_sessions_controller.rb +7 -0
  27. data/app/helpers/comable/admin/application_helper.rb +16 -0
  28. data/app/views/comable/admin/categories/index.slim +83 -86
  29. data/app/views/comable/admin/customers/edit.slim +64 -79
  30. data/app/views/comable/admin/customers/index.slim +60 -59
  31. data/app/views/comable/admin/customers/show.slim +83 -88
  32. data/app/views/comable/admin/dashboard/show.slim +59 -57
  33. data/app/views/comable/admin/orders/_google_map.slim +22 -0
  34. data/app/views/comable/admin/orders/index.slim +67 -70
  35. data/app/views/comable/admin/orders/show.slim +98 -68
  36. data/app/views/comable/admin/payment_methods/_form.slim +26 -41
  37. data/app/views/comable/admin/payment_methods/edit.slim +25 -26
  38. data/app/views/comable/admin/payment_methods/index.slim +38 -50
  39. data/app/views/comable/admin/payment_methods/new.slim +14 -15
  40. data/app/views/comable/admin/products/_form.slim +124 -101
  41. data/app/views/comable/admin/products/_image_fields.slim +15 -0
  42. data/app/views/comable/admin/products/edit.slim +39 -38
  43. data/app/views/comable/admin/products/index.slim +64 -70
  44. data/app/views/comable/admin/products/new.slim +14 -15
  45. data/app/views/comable/admin/shared/_footer.slim +8 -0
  46. data/app/views/comable/admin/shared/_header.slim +31 -0
  47. data/app/views/comable/admin/shared/_notifier.slim +5 -0
  48. data/app/views/comable/admin/shared/_sidebar.slim +52 -0
  49. data/app/views/comable/admin/shipment_methods/_form.slim +23 -43
  50. data/app/views/comable/admin/shipment_methods/edit.slim +25 -26
  51. data/app/views/comable/admin/shipment_methods/index.slim +35 -47
  52. data/app/views/comable/admin/shipment_methods/new.slim +14 -15
  53. data/app/views/comable/admin/stocks/_form.slim +27 -33
  54. data/app/views/comable/admin/stocks/edit.slim +35 -44
  55. data/app/views/comable/admin/stocks/index.slim +57 -76
  56. data/app/views/comable/admin/stocks/new.slim +16 -15
  57. data/app/views/comable/admin/store/_form.slim +26 -42
  58. data/app/views/comable/admin/store/edit.slim +10 -11
  59. data/app/views/comable/admin/user_sessions/new.slim +25 -0
  60. data/app/views/layouts/comable/admin/application.slim +14 -96
  61. data/config/routes.rb +4 -1
  62. data/lib/comable/backend/engine.rb +2 -1
  63. metadata +93 -53
  64. data/app/assets/stylesheets/comable/admin/products.css +0 -4
@@ -1,603 +1,21 @@
1
- //= require jquery-ui
2
- //= require jstree/themes/default/style
3
- //= require morris
4
- //= require pace/pace-theme-minimal
5
- //= require_self
6
- //= require_tree .
1
+ @import 'comable/admin/variables';
7
2
 
8
3
  @import 'compass/utilities';
9
4
  @import 'compass/css3';
10
5
  @import 'bootstrap-sprockets';
11
6
  @import 'bootstrap';
12
7
  @import 'font-awesome';
13
-
14
- // ---
15
- // variables
16
- // ---
17
- $comable-theme-bg: #7761a7;
18
-
19
- // ---
20
- // mixins
21
- // ---
22
-
23
- // from https://github.com/FortAwesome/Font-Awesome/issues/213
24
- @mixin glyphicon($name, $float: none) {
25
- &:before {
26
- float: $float;
27
- @extend .glyphicon;
28
- }
29
- @extend .glyphicon-#{$name};
30
- }
31
-
32
- @mixin fa($name, $float: none) {
33
- &:before {
34
- float: $float;
35
- @extend .fa;
36
- }
37
- @extend .fa-#{$name};
38
- }
39
-
40
- // ---
41
- // common
42
- // ---
43
-
44
- body {
45
- font-size: 12px;
46
- font-family: Verdana, '游ゴシック', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
47
- }
48
-
49
- #wrapper {
50
- display: table;
51
- width: 100%;
52
- position: absolute;
53
- height: 100%;
54
-
55
- body.animated & {
56
- opacity: 0;
57
- margin-left: -20px;
58
- transition: margin-left 600ms ease, opacity 600ms;
59
- }
60
- }
61
-
62
- .container {
63
- &.right {
64
- display: table-cell;
65
- vertical-align: top;
66
-
67
- margin-left: 216px;
68
- position: relative;
69
- }
70
-
71
- padding: 0;
72
- overflow: hidden;
73
-
74
- margin-right: auto;
75
- }
76
-
77
- .sidebar {
78
- display: table-cell;
79
- position: relative;
80
- vertical-align: top;
81
- padding-bottom: 200px;
82
-
83
- & {
84
- background: #272930;
85
- width: 280px;
86
- z-index: 2;
87
- }
88
- &.small {
89
- }
90
- }
91
-
92
- .logo {
93
- padding: 0 20px;
94
- height: 64px;
95
- line-height: 64px;
96
- background-color: #fc796b;
97
- background-color: #e55466;
98
- background-color: $comable-theme-bg;
99
-
100
- a {
101
- font-size: x-large;
102
- text-decoration: none;
103
-
104
- &:link,
105
- &:visited,
106
- &:hover,
107
- &:active {
108
- color: #fff;
109
- }
110
- }
111
- }
112
-
113
- .vnavigation {
114
- background-color: #272930;
115
-
116
- a {
117
- &:link,
118
- &:visited,
119
- &:hover,
120
- &:active {
121
- color: #aaa;
122
- text-decoration: none;
123
-
124
- }
125
-
126
-
127
- &:hover {
128
- color: #fff;
129
- }
130
- }
131
-
132
-
133
- ul {
134
- margin: 0;
135
- padding: 0;
136
- }
137
-
138
- & > ul {
139
- & > li > a {
140
- border-top: 1px solid #2f3137;
141
- display: block;
142
- padding: 12px 25px;
143
- font-size: 13px;
144
- font-weight: 400;
145
- white-space: nowrap;
146
- @include transition(color 250ms ease);
147
-
148
- border-left: 2px solid transparent;
149
- }
150
-
151
- &> li.active > a {
152
- color: #fff;
153
- background-color: #7761a7;
154
-
155
- &:hover {
156
- background-color: rgba(#7761a7, 0.9);
157
- @include transition(background-color 250ms ease);
158
- }
159
-
160
- i {
161
- text-align: center;
162
- width: 20px;
163
- font-size: 14px;
164
- margin-right: 7px;
165
- }
166
- }
167
- }
168
-
169
- li {
170
- margin: 0;
171
- padding: 0;
172
- list-style: none;
173
- }
174
-
175
- & > ul > li > a {
176
- &:hover {
177
- background-color: rgba(0, 0, 0, 0.1);
178
- @include transition(background-color 250ms ease);
179
- }
180
-
181
- i {
182
- text-align: center;
183
- width: 20px;
184
- font-size: 14px;
185
- margin-right: 7px;
186
- }
187
- }
188
-
189
- li.parent {
190
- & > a {
191
- //@include glyphicon(chevron-right, $float: right);
192
- @include fa(angle-right, $float: right);
193
- }
194
-
195
- & > ul {
196
- padding: 14px 0;
197
- background-color: #1d1f26;
198
- display: none;
199
-
200
- a {
201
- display: block;
202
- padding: 7px 42px;
203
-
204
- &:hover {
205
- background-color: rgba(0, 0, 0, 0.2);
206
- @include transition(background-color 250ms ease);
207
- }
208
- border-left: 2px solid transparent;
209
- }
210
-
211
- .active > a {
212
- color: #fff;
213
- border-left: 2px solid #7761a7;
214
- background-color: rgba(0, 0, 0, 0.2);
215
- }
216
-
217
- }
218
- }
219
- }
220
-
221
- // ---
222
- // apply Bootstrap
223
- // ---
224
- body {
225
- margin-top: $navbar-height;
226
- background-color: #d9e0e7;
227
- }
228
-
229
- .navbar {
230
- @include box-shadow(rgba(0, 0, 0, 0.3) 0 0 2px);
231
- }
232
-
233
- .panel {
234
- border: none;
235
-
236
- &.panel-inverse > .panel-heading {
237
- background: #313239;
238
- color: #fff;
239
- }
240
- }
241
-
242
- .page-header {
243
- font-size: 24px;
244
- margin: 0 0 20px;
245
- padding: 0;
246
- border: none;
247
- line-height: 28px;
248
- }
249
-
250
- .panel > .panel-footer {
251
- form {
252
- @extend .text-right;
253
- }
254
- }
255
-
256
- .breadcrumb {
257
- @extend .pull-right;
258
- margin-bottom: 0;
259
- padding-right: 0;
260
- background-color: transparent;
261
-
262
- & > li {
263
- float: right;
264
- }
265
-
266
- & > li + li:after {
267
- content: '/';
268
- padding: 0 5px;
269
- color: darken(#d9e0e7, 20%);
270
- }
271
-
272
- & > li + li:before {
273
- display: none;
274
- }
275
- }
276
-
277
- button {
278
- @extend .btn;
279
- }
280
-
281
- input[type="submit"] {
282
- @extend .btn;
283
- }
284
-
285
- section {
286
- input[type="submit"] {
287
- @extend .btn-primary;
288
- }
289
- }
290
-
291
- nav {
292
- input[type="submit"] {
293
- @extend .btn-default;
294
- }
295
- }
296
-
297
- select,
298
- input[type="password"],
299
- input[type="email"],
300
- input[type="text"] {
301
- @extend .form-control;
302
- margin-right: 0.5em;
303
-
304
- &:last-child {
305
- margin-right: 0;
306
- }
307
- }
308
-
309
- table {
310
- @extend .table;
311
-
312
- th > a {
313
- &:link, &:visited, &:hover, &:active {
314
- color: $text-color;
315
- }
316
- }
317
- }
318
-
319
- #comable-product {
320
- label.remove {
321
- display: block;
322
- margin: 0;
323
- }
324
-
325
- .table tbody > tr > td {
326
- .thumbnail {
327
- margin-bottom: 0;
328
- }
329
- &.comable-image {
330
- width: 180px;
331
- }
332
- &:not(.comable-image) {
333
- vertical-align: middle;
334
- }
335
- }
336
- }
337
-
338
- #comable-order {
339
- .panel > .panel-body > h3 {
340
- margin-top: 10px;
341
- }
342
- }
343
-
344
- legend {
345
- border-bottom: 0;
346
- }
347
-
348
- #comable-affix {
349
- @extend .hidden-sm;
350
- @extend .hidden-xs;
351
-
352
- &.affix {
353
- top: $navbar-height + 20px;
354
- }
355
-
356
- .list-group > a:before {
357
- @include fa(angle-right);
358
- margin-right: 1em;
359
- }
360
- }
361
-
362
- table > tbody > tr > td > ul {
363
- margin-bottom: 0;
364
- }
365
-
366
- main.container-fluid {
367
- padding: 20px;
368
- }
369
-
370
- footer {
371
- @extend .text-muted;
372
- margin: 25px;
373
- text-align: center;
374
-
375
- & > ul > li + li:before {
376
- content: '·';
377
- padding-right: 10px;
378
- }
379
- }
380
-
381
- hr {
382
- border-color: darken(#d9e0e7, 5%);
383
- }
384
-
385
- // ---
386
- // tag-it
387
- // ---
388
- ul.tagit > li > input[type="text"] {
389
- height: auto;
390
- }
391
-
392
- ul.tagit-autocomplete.ui-menu {
393
- @include border-radius($border-radius-base);
394
- @include box-shadow(0 6px 12px rgba(0, 0, 0, 0.175));
395
- padding: 5px 0;
396
- border-color: $dropdown-border;
397
-
398
- li.ui-menu-item {
399
- padding: $padding-base-vertical $padding-base-horizontal;
400
- color: $dropdown-link-color;
401
- background-color: $dropdown-bg;
402
- border: none;
403
-
404
- &.ui-state-focus {
405
- color: $dropdown-link-active-color;
406
- background-color: $dropdown-link-active-bg;
407
- }
408
- }
409
- }
410
-
411
- // ---
412
- // jstree
413
- // ---
414
- .jstree {
415
- @include border-radius($input-border-radius);
416
- @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, 0.075));
417
- padding: 5px 0;
418
- border: 1px solid $input-border;
419
-
420
- .jstree-wholerow {
421
- @include transition(none);
422
- }
423
-
424
- .jstree-wholerow-hovered {
425
- color: $dropdown-link-color;
426
- background: $dropdown-link-hover-bg;
427
- }
428
-
429
- .jstree-wholerow-clicked {
430
- color: $dropdown-link-active-color;
431
- background: $dropdown-link-active-bg;
432
- }
433
-
434
- .jstree-anchor.jstree-clicked {
435
- color: $dropdown-link-active-color;
436
-
437
- &:link, &:visited, &:hover, &:active {
438
- color: $dropdown-link-active-color;
439
- }
440
-
441
- & > input {
442
- @include border-radius($input-border-radius);
443
- @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, 0.075));
444
- color: $dropdown-link-color;
445
- padding-left: 5px !important;
446
- padding-right: 5px !important;
447
- }
448
- }
449
- }
450
-
451
- ul.vakata-context.jstree-contextmenu {
452
- @include border-radius($border-radius-base);
453
- @include box-shadow(0 6px 12px rgba(0, 0, 0, 0.175));
454
-
455
- padding: 5px 0;
456
- background-color: $dropdown-bg;
457
- border-color: $dropdown-border;
458
-
459
- & > li {
460
- @include border-radius(0);
461
-
462
- & > a {
463
- padding-top: 0;
464
- padding-bottom: 0;
465
- line-height: $line-height-computed;
466
- color: $dropdown-link-color;
467
- background-color: $dropdown-bg;
468
-
469
- & > i,
470
- & > .vakata-contextmenu-sep {
471
- display: none;
472
- }
473
- }
474
-
475
- &.vakata-context-hover > a {
476
- @include box-shadow(none);
477
- background-color: $dropdown-bg;
478
-
479
- &:hover {
480
- background-color: $dropdown-link-hover-bg;
481
- }
482
- }
483
- }
484
- }
485
-
486
- #comable-notifier {
487
- @include opacity(0.95);
488
- width: 100%;
489
- overflow: hidden;
490
- position: fixed;
491
- top: 0;
492
- left: 0;
493
- z-index: 999999;
494
-
495
- & > * {
496
- padding: 0 1em;
497
- height: $navbar-height;
498
- line-height: $navbar-height;
499
-
500
- &.comable-alert {
501
- color: $alert-danger-text;
502
- background-color: $alert-danger-bg;
503
- }
504
-
505
- &.comable-notice {
506
- color: $alert-success-text;
507
- background-color: $alert-success-bg;
508
- }
509
- }
510
- }
511
-
512
- // Dashboard
513
-
514
- .widget {
515
- border-radius: 3px;
516
- margin-bottom: 20px;
517
- color: #fff;
518
- padding: 15px;
519
- overflow: hidden;
520
-
521
- &.widget-stats {
522
- position: relative;
523
-
524
- & > .stats-icon {
525
- @include opacity(0.2);
526
- font-size: 42px;
527
- height: 56px;
528
- width: 56px;
529
- text-align: center;
530
- line-height: 56px;
531
- margin-left: 15px;
532
- color: #fff;
533
- position: absolute;
534
- right: 15px;
535
- top: 15px;
536
-
537
- &.stats-icon-lg {
538
- font-size: 52px;
539
- top: 12px;
540
- right: 21px;
541
- }
542
- }
543
-
544
- & > .stats-desc,
545
- & > .stats-title {
546
- color: #fff;
547
- color: rgba(255, 255, 255, 0.6);
548
- }
549
-
550
- & > .stats-title {
551
- margin: 2px 0 7px;
552
- font-size: 12px;
553
- line-height: 1.1;
554
- position: relative;
555
- }
556
-
557
- & > .stats-number {
558
- margin-bottom: 10px;
559
- font-size: 24px;
560
- font-weight: normal;
561
- }
562
-
563
- & > .stats-progress {
564
- margin: 0 -15px 12px;
565
- height: 2px;
566
- background: #000;
567
- background: rgba(0, 0, 0, 0.2);
568
-
569
- & > .progress-bar {
570
- @include box-shadow(none);
571
- background: #fff;
572
- }
573
- }
574
- }
575
-
576
- &.widget-bg-green {
577
- background: #00acac !important;
578
- }
579
-
580
- &.widget-bg-blue {
581
- background: #348fe2 !important;
582
- }
583
-
584
- &.widget-bg-black {
585
- background: #272930 !important;
586
- }
587
- }
588
-
589
- .morris > .morris-hover {
590
- @include border-radius($border-radius-base !important);
591
- padding: 8px !important;
592
- color: #ccc !important;
593
- background: rgba(0, 0, 0, 0.75) !important;
594
- border: none !important;
595
- }
596
-
597
- // ---
598
- // pace
599
- // ---
600
- .pace .pace-progress {
601
- background-color: $comable-theme-bg !important;
602
- @include transition-property(none);
603
- }
8
+ @import 'jquery-ui';
9
+ @import 'morris';
10
+ // TODO: https://github.com/yovu/pace-rails/issues/5
11
+ // @import 'pace/pace-theme-minimal';
12
+ @import 'gritter';
13
+
14
+ @import 'comable/admin/mixins';
15
+ @import 'comable/admin/overrides';
16
+ @import 'comable/admin/common';
17
+ @import 'comable/admin/errors';
18
+ @import 'comable/admin/dashboard';
19
+ @import 'comable/admin/orders';
20
+ @import 'comable/admin/products';
21
+ @import 'comable/admin/user_sessions';
@@ -0,0 +1,83 @@
1
+ body {
2
+ margin-top: $navbar-height;
3
+ }
4
+
5
+ .navbar {
6
+ @include box-shadow(rgba(0, 0, 0, 0.3) 0 0 2px);
7
+ }
8
+
9
+ .navbar-default .navbar-nav > li > a:hover {
10
+ @include transition(color 250ms ease, background-color 250ms ease);
11
+ }
12
+
13
+ .panel.panel-inverse {
14
+ border: none;
15
+
16
+ & > .panel-heading {
17
+ background-color: #313239;
18
+ color: #fff;
19
+ }
20
+ }
21
+
22
+ .page-header {
23
+ font-size: 24px;
24
+ margin: 0 0 20px;
25
+ padding: 0;
26
+ border: none;
27
+ line-height: 28px;
28
+ }
29
+
30
+ .panel > .panel-footer {
31
+ form {
32
+ @extend .text-right;
33
+ }
34
+ }
35
+
36
+ .page-header > .breadcrumb {
37
+ margin: 0;
38
+ padding: 0;
39
+ background-color: transparent;
40
+
41
+ & > li {
42
+ color: $text-color;
43
+
44
+ & > a {
45
+ color: darken($breadcrumb-color, 20%);
46
+ }
47
+ }
48
+ }
49
+
50
+ label {
51
+ @extend .control-label;
52
+ }
53
+
54
+ select,
55
+ input[type="password"],
56
+ input[type="email"],
57
+ input[type="text"] {
58
+ @extend .form-control;
59
+ margin-right: 0.5em;
60
+
61
+ &:last-child {
62
+ margin-right: 0;
63
+ }
64
+ }
65
+
66
+ table {
67
+ @extend .table;
68
+
69
+ th > a {
70
+ &:link, &:visited, &:hover, &:active {
71
+ color: $text-color;
72
+ }
73
+ }
74
+ }
75
+
76
+ legend {
77
+ margin-bottom: 0;
78
+ border-bottom: 0;
79
+ }
80
+
81
+ table > tbody > tr > td > ul {
82
+ margin-bottom: 0;
83
+ }