comable-backend 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/Rakefile +97 -0
- data/app/assets/javascripts/comable/admin/application.coffee +76 -0
- data/app/assets/javascripts/comable/admin/categories.coffee +59 -0
- data/app/assets/javascripts/comable/admin/dashboard.coffee +32 -0
- data/app/assets/javascripts/comable/admin/dispatcher.coffee +21 -0
- data/app/assets/javascripts/comable/admin/orders.coffee +44 -0
- data/app/assets/javascripts/comable/admin/pages.coffee +69 -0
- data/app/assets/javascripts/comable/admin/products.coffee +21 -0
- data/app/assets/javascripts/comable/admin/search.coffee +35 -0
- data/app/assets/javascripts/comable/admin/themes.coffee +64 -0
- data/app/assets/stylesheets/comable/admin/_common.scss +153 -0
- data/app/assets/stylesheets/comable/admin/_dashboard.scss +81 -0
- data/app/assets/stylesheets/comable/admin/_errors.scss +18 -0
- data/app/assets/stylesheets/comable/admin/_flow.scss +149 -0
- data/app/assets/stylesheets/comable/admin/_mixins.scss +16 -0
- data/app/assets/stylesheets/comable/admin/_orders.scss +54 -0
- data/app/assets/stylesheets/comable/admin/_overrides.scss +4 -0
- data/app/assets/stylesheets/comable/admin/_pages.scss +30 -0
- data/app/assets/stylesheets/comable/admin/_products.scss +18 -0
- data/app/assets/stylesheets/comable/admin/_themes.scss +71 -0
- data/app/assets/stylesheets/comable/admin/_user_sessions.scss +57 -0
- data/app/assets/stylesheets/comable/admin/_variables.scss +38 -0
- data/app/assets/stylesheets/comable/admin/application.scss +26 -0
- data/app/assets/stylesheets/comable/admin/overrides/awesome_admin_layout.scss +25 -0
- data/app/assets/stylesheets/comable/admin/overrides/bootstrap.scss +81 -0
- data/app/assets/stylesheets/comable/admin/overrides/jstree.scss +71 -0
- data/app/assets/stylesheets/comable/admin/overrides/tagit.scss +22 -0
- data/app/controllers/comable/admin/application_controller.rb +58 -0
- data/app/controllers/comable/admin/categories_controller.rb +17 -0
- data/app/controllers/comable/admin/dashboard_controller.rb +19 -0
- data/app/controllers/comable/admin/orders_controller.rb +102 -0
- data/app/controllers/comable/admin/pages_controller.rb +72 -0
- data/app/controllers/comable/admin/payment_methods_controller.rb +59 -0
- data/app/controllers/comable/admin/products_controller.rb +82 -0
- data/app/controllers/comable/admin/shipment_methods_controller.rb +57 -0
- data/app/controllers/comable/admin/stocks_controller.rb +81 -0
- data/app/controllers/comable/admin/store_controller.rb +42 -0
- data/app/controllers/comable/admin/themes_controller.rb +101 -0
- data/app/controllers/comable/admin/trackers_controller.rb +58 -0
- data/app/controllers/comable/admin/user_sessions_controller.rb +8 -0
- data/app/controllers/comable/admin/users_controller.rb +47 -0
- data/app/helpers/comable/admin/application_helper.rb +53 -0
- data/app/helpers/comable/admin/orders_helper.rb +30 -0
- data/app/helpers/comable/admin/pages_helper.rb +6 -0
- data/app/helpers/comable/admin/products_helper.rb +6 -0
- data/app/helpers/comable/admin/shipment_methods_helper.rb +6 -0
- data/app/helpers/comable/admin/stores_helper.rb +6 -0
- data/app/helpers/comable/admin/themes_helper.rb +69 -0
- data/app/views/comable/admin/categories/index.slim +40 -0
- data/app/views/comable/admin/dashboard/_widget.slim +13 -0
- data/app/views/comable/admin/dashboard/show.slim +43 -0
- data/app/views/comable/admin/orders/_google_map.slim +39 -0
- data/app/views/comable/admin/orders/_payment_state.slim +40 -0
- data/app/views/comable/admin/orders/_shipment_state.slim +44 -0
- data/app/views/comable/admin/orders/edit.slim +170 -0
- data/app/views/comable/admin/orders/index.slim +95 -0
- data/app/views/comable/admin/orders/show.slim +177 -0
- data/app/views/comable/admin/pages/_form.slim +69 -0
- data/app/views/comable/admin/pages/edit.slim +31 -0
- data/app/views/comable/admin/pages/index.slim +55 -0
- data/app/views/comable/admin/pages/new.slim +16 -0
- data/app/views/comable/admin/payment_methods/_form.slim +35 -0
- data/app/views/comable/admin/payment_methods/edit.slim +27 -0
- data/app/views/comable/admin/payment_methods/index.slim +40 -0
- data/app/views/comable/admin/payment_methods/new.slim +16 -0
- data/app/views/comable/admin/products/_form.slim +137 -0
- data/app/views/comable/admin/products/edit.slim +41 -0
- data/app/views/comable/admin/products/index.slim +95 -0
- data/app/views/comable/admin/products/new.slim +16 -0
- data/app/views/comable/admin/shared/_advanced_search.slim +7 -0
- data/app/views/comable/admin/shared/_condition_fields.slim +15 -0
- data/app/views/comable/admin/shared/_footer.slim +8 -0
- data/app/views/comable/admin/shared/_grouping_fields.slim +8 -0
- data/app/views/comable/admin/shared/_image_fields.slim +15 -0
- data/app/views/comable/admin/shared/_notifier.slim +5 -0
- data/app/views/comable/admin/shared/_value_fields.slim +1 -0
- data/app/views/comable/admin/shared/export.xlsx.axlsx +17 -0
- data/app/views/comable/admin/shipment_methods/_form.slim +29 -0
- data/app/views/comable/admin/shipment_methods/edit.slim +27 -0
- data/app/views/comable/admin/shipment_methods/index.slim +37 -0
- data/app/views/comable/admin/shipment_methods/new.slim +16 -0
- data/app/views/comable/admin/stocks/_form.slim +34 -0
- data/app/views/comable/admin/stocks/edit.slim +37 -0
- data/app/views/comable/admin/stocks/index.slim +81 -0
- data/app/views/comable/admin/stocks/new.slim +18 -0
- data/app/views/comable/admin/store/_form.slim +32 -0
- data/app/views/comable/admin/store/edit.slim +12 -0
- data/app/views/comable/admin/themes/_editor.slim +8 -0
- data/app/views/comable/admin/themes/_form.slim +31 -0
- data/app/views/comable/admin/themes/edit.slim +35 -0
- data/app/views/comable/admin/themes/index.slim +37 -0
- data/app/views/comable/admin/themes/new.slim +16 -0
- data/app/views/comable/admin/themes/show_file.slim +93 -0
- data/app/views/comable/admin/trackers/_form.slim +109 -0
- data/app/views/comable/admin/trackers/edit.slim +27 -0
- data/app/views/comable/admin/trackers/index.slim +37 -0
- data/app/views/comable/admin/trackers/new.slim +16 -0
- data/app/views/comable/admin/user_sessions/new.slim +25 -0
- data/app/views/comable/admin/users/edit.slim +79 -0
- data/app/views/comable/admin/users/index.slim +71 -0
- data/app/views/comable/admin/users/show.slim +88 -0
- data/app/views/kaminari/comable_backend/_first_page.html.slim +2 -0
- data/app/views/kaminari/comable_backend/_gap.html.slim +2 -0
- data/app/views/kaminari/comable_backend/_last_page.html.slim +2 -0
- data/app/views/kaminari/comable_backend/_next_page.html.slim +2 -0
- data/app/views/kaminari/comable_backend/_page.html.slim +3 -0
- data/app/views/kaminari/comable_backend/_paginator.html.slim +15 -0
- data/app/views/kaminari/comable_backend/_prev_page.html.slim +2 -0
- data/app/views/layouts/comable/admin/application.slim +36 -0
- data/config/initializers/awesome_admin_layout.rb +110 -0
- data/config/routes.rb +63 -0
- data/lib/comable/backend.rb +1 -0
- data/lib/comable/backend/engine.rb +67 -0
- data/lib/tasks/comable_backend_tasks.rake +4 -0
- metadata +514 -0
@@ -0,0 +1,37 @@
|
|
1
|
+
.comable-page
|
2
|
+
.comable-page-heading
|
3
|
+
ul.pull-right.list-inline
|
4
|
+
li
|
5
|
+
= link_to Comable.t('admin.actions.new'), comable.new_admin_theme_path, class: 'btn btn-default'
|
6
|
+
|
7
|
+
h1.page-header
|
8
|
+
= Comable.t('admin.nav.theme')
|
9
|
+
small<
|
10
|
+
| #{@themes.size} #{Comable.t('admin.results')}
|
11
|
+
|
12
|
+
.comable-page-body
|
13
|
+
- if @themes.empty?
|
14
|
+
= Comable.t('admin.not_found')
|
15
|
+
- else
|
16
|
+
table.table.table-striped
|
17
|
+
thead
|
18
|
+
th
|
19
|
+
= @themes.klass.human_attribute_name(:name)
|
20
|
+
th
|
21
|
+
= @themes.klass.human_attribute_name(:version)
|
22
|
+
th
|
23
|
+
= @themes.klass.human_attribute_name(:author)
|
24
|
+
tbody
|
25
|
+
- @themes.each do |theme|
|
26
|
+
tr
|
27
|
+
td
|
28
|
+
= link_to theme.display_name, comable.tree_admin_theme_path(theme)
|
29
|
+
- if current_store.theme != theme
|
30
|
+
span.fa.fa-eye-slash.text-muted<
|
31
|
+
td
|
32
|
+
= theme.version
|
33
|
+
td
|
34
|
+
- if theme.homepage
|
35
|
+
= link_to (theme.author.presence || theme.homepage), theme.homepage
|
36
|
+
- else
|
37
|
+
= theme.author
|
@@ -0,0 +1,16 @@
|
|
1
|
+
.comable-page
|
2
|
+
.comable-main-fixed-top
|
3
|
+
.comable-page-heading
|
4
|
+
ul.pull-right.list-inline
|
5
|
+
li
|
6
|
+
= link_to_save
|
7
|
+
|
8
|
+
h1.page-header
|
9
|
+
ol.breadcrumb
|
10
|
+
li>
|
11
|
+
= link_to Comable.t('admin.nav.theme'), comable.admin_themes_path
|
12
|
+
li.active
|
13
|
+
= Comable.t('admin.actions.new')
|
14
|
+
|
15
|
+
.comable-page-body
|
16
|
+
= render 'form'
|
@@ -0,0 +1,93 @@
|
|
1
|
+
.comable-page
|
2
|
+
.comable-main-fixed-top
|
3
|
+
.comable-page-heading
|
4
|
+
ul.pull-right.list-inline
|
5
|
+
li
|
6
|
+
= link_to 'javascript:void();', class: 'btn btn-default', data: { toggle: 'modal', target: '#comable-help-modal' }
|
7
|
+
i.fa.fa-question-circle>
|
8
|
+
= Comable.t('admin.help')
|
9
|
+
li.btn-group
|
10
|
+
- if current_store.theme != @theme
|
11
|
+
= link_to comable.use_admin_theme_path(@theme), class: 'btn btn-default', method: 'put'
|
12
|
+
i.fa.fa-paint-brush>
|
13
|
+
= Comable.t('admin.use_this_theme')
|
14
|
+
= link_to comable.admin_theme_path(@theme), class: 'btn btn-default'
|
15
|
+
i.fa.fa-edit>
|
16
|
+
= Comable.t('admin.actions.property')
|
17
|
+
- if editable?
|
18
|
+
li
|
19
|
+
= link_to_save
|
20
|
+
|
21
|
+
h1.page-header
|
22
|
+
ol.breadcrumb
|
23
|
+
li>
|
24
|
+
= link_to Comable.t('admin.nav.theme'), comable.admin_themes_path
|
25
|
+
li.active
|
26
|
+
= @theme.display_name
|
27
|
+
|
28
|
+
.comable-page-body
|
29
|
+
.row
|
30
|
+
.col-md-3
|
31
|
+
#comable-file-tree
|
32
|
+
= display_views_directory_tree
|
33
|
+
|
34
|
+
.col-md-9
|
35
|
+
- if editable?
|
36
|
+
= render 'editor', code: @code, params: params
|
37
|
+
- else
|
38
|
+
#comable-theme-editor
|
39
|
+
.panel.panel-default
|
40
|
+
.panel-body
|
41
|
+
p
|
42
|
+
= Comable.t('admin.please_select_file_form_directory_tree_to_edit')
|
43
|
+
p
|
44
|
+
= Comable.t('admin.here_editor_will_be_displayed_and_you_can_edit_file')
|
45
|
+
|
46
|
+
.modal.fade#comable-help-modal tabindex="-1"
|
47
|
+
.modal-dialog
|
48
|
+
.modal-content
|
49
|
+
.modal-header
|
50
|
+
button.close type="button" data-dismiss="modal"
|
51
|
+
span
|
52
|
+
| ×
|
53
|
+
h4.modal-title
|
54
|
+
= Comable.t('admin.help')
|
55
|
+
.modal-body
|
56
|
+
h4
|
57
|
+
= Comable.t('admin.about_sintax')
|
58
|
+
p
|
59
|
+
= Comable.t('admin.please_see_following_page_for_syntax')
|
60
|
+
span<
|
61
|
+
= link_to 'https://github.com/Shopify/liquid/wiki/Liquid-for-Designers', target: '_blank' do
|
62
|
+
| Liquid for Designers
|
63
|
+
i.fa.fa-external-link<
|
64
|
+
|
65
|
+
.row
|
66
|
+
.col-sm-6
|
67
|
+
h4
|
68
|
+
= Comable.t('admin.available_assigns')
|
69
|
+
dl
|
70
|
+
dt
|
71
|
+
= Comable.t('admin.available_assigns_in_all_pages')
|
72
|
+
- %w( current_store current_comable_user current_order current_trackers form_authenticity_token ).each do |method|
|
73
|
+
dd
|
74
|
+
code
|
75
|
+
| #{method}
|
76
|
+
- liquidable_models.each do |model|
|
77
|
+
dl
|
78
|
+
dt
|
79
|
+
= model.model_name.human
|
80
|
+
- model.available_liquid_methods.each do |method|
|
81
|
+
dd
|
82
|
+
code
|
83
|
+
| #{model.name.demodulize.underscore}.#{method}
|
84
|
+
.col-sm-6
|
85
|
+
h4
|
86
|
+
= Comable.t('admin.available_filters')
|
87
|
+
dl
|
88
|
+
dt
|
89
|
+
- helpers = [ActionView::Helpers::AssetTagHelper, ActionView::Helpers::TranslationHelper, ActionView::Helpers::NumberHelper]
|
90
|
+
- helpers.map(&:public_instance_methods).flatten.sort.each do |method|
|
91
|
+
dd
|
92
|
+
code
|
93
|
+
| #{method}
|
@@ -0,0 +1,109 @@
|
|
1
|
+
= error_messages_for @tracker
|
2
|
+
|
3
|
+
= form_for [comable, :admin, @tracker] do |f|
|
4
|
+
.hidden
|
5
|
+
= f.submit
|
6
|
+
|
7
|
+
fieldset
|
8
|
+
.col-md-3
|
9
|
+
legend
|
10
|
+
= Comable.t('admin.general')
|
11
|
+
|
12
|
+
.col-md-9
|
13
|
+
.form-group
|
14
|
+
.checkbox
|
15
|
+
= f.label :activated_flag do
|
16
|
+
= f.check_box :activated_flag
|
17
|
+
= f.object.class.human_attribute_name(:activated_flag)
|
18
|
+
|
19
|
+
.form-group
|
20
|
+
= f.label :name
|
21
|
+
= f.text_field :name
|
22
|
+
|
23
|
+
.form-group
|
24
|
+
= f.label :tracker_id
|
25
|
+
= f.text_field :tracker_id
|
26
|
+
|
27
|
+
.form-group
|
28
|
+
= f.label :code
|
29
|
+
= f.text_area :code, rows: (f.object.code ? f.object.code.lines.count : nil)
|
30
|
+
|
31
|
+
br
|
32
|
+
|
33
|
+
.panel.panel-default
|
34
|
+
.panel-heading type="button" data-toggle="collapse" data-target="#comable-help-code"
|
35
|
+
strong
|
36
|
+
span.fa.fa-angle-down>
|
37
|
+
= Comable.t('admin.help')
|
38
|
+
.collapse#comable-help-code
|
39
|
+
.panel-body.help-block
|
40
|
+
p
|
41
|
+
== Comable.t('admin.tracker_code_help_introduction')
|
42
|
+
p
|
43
|
+
= Comable.t('admin.list_of_usable_variables')
|
44
|
+
dl.dl-horizontal
|
45
|
+
dt
|
46
|
+
= Comable::Tracker.human_attribute_name(:tracker_id)
|
47
|
+
dd
|
48
|
+
| tracker_id
|
49
|
+
dt
|
50
|
+
= Comable::Order.human_attribute_name(:code)
|
51
|
+
dd
|
52
|
+
| order.code
|
53
|
+
dt
|
54
|
+
= Comable::Order.human_attribute_name(:payment_fee)
|
55
|
+
dd
|
56
|
+
| order.payment_fee
|
57
|
+
dt
|
58
|
+
= Comable::Order.human_attribute_name(:shipment_fee)
|
59
|
+
dd
|
60
|
+
| order.shipment_fee
|
61
|
+
dt
|
62
|
+
= Comable::Order.human_attribute_name(:item_total_price)
|
63
|
+
dd
|
64
|
+
| order.item_total_price
|
65
|
+
dt
|
66
|
+
= Comable::Order.human_attribute_name(:total_price)
|
67
|
+
dd
|
68
|
+
| order.total_price
|
69
|
+
dt
|
70
|
+
= Comable::Order.human_attribute_name(:order_items)
|
71
|
+
dd
|
72
|
+
| order.order_items
|
73
|
+
p
|
74
|
+
== Comable.t('admin.tracker_code_help_additional')
|
75
|
+
dl.dl-horizontal
|
76
|
+
dt
|
77
|
+
= Comable::OrderItem.human_attribute_name(:code)
|
78
|
+
dd
|
79
|
+
| order_item.code
|
80
|
+
dt
|
81
|
+
= Comable::OrderItem.human_attribute_name(:name)
|
82
|
+
dd
|
83
|
+
| order_item.name
|
84
|
+
dt
|
85
|
+
= Comable::OrderItem.human_attribute_name(:name_with_sku)
|
86
|
+
dd
|
87
|
+
| order_item.name_with_sku
|
88
|
+
dt
|
89
|
+
= Comable::OrderItem.human_attribute_name(:subtotal_price)
|
90
|
+
dd
|
91
|
+
| order_item.subtotal_price
|
92
|
+
dt
|
93
|
+
= Comable::OrderItem.human_attribute_name(:quantity)
|
94
|
+
dd
|
95
|
+
| order_item.quantity
|
96
|
+
dt
|
97
|
+
= Comable::OrderItem.human_attribute_name(:price)
|
98
|
+
dd
|
99
|
+
| order_item.price
|
100
|
+
p
|
101
|
+
= Comable.t('admin.mote_infomation_for_syntax')
|
102
|
+
|
|
103
|
+
= link_to 'http://liquidmarkup.org/', target: :_blank do
|
104
|
+
| Liquid Templating language
|
105
|
+
i.fa.fa-external-link<
|
106
|
+
|
107
|
+
.form-group
|
108
|
+
= f.label :place
|
109
|
+
= f.select :place, f.object.class.place.options
|
@@ -0,0 +1,27 @@
|
|
1
|
+
.comable-page
|
2
|
+
.comable-main-fixed-top
|
3
|
+
.comable-page-heading
|
4
|
+
ul.pull-right.list-inline
|
5
|
+
li
|
6
|
+
= link_to_save
|
7
|
+
|
8
|
+
h1.page-header
|
9
|
+
ol.breadcrumb
|
10
|
+
li>
|
11
|
+
= link_to Comable.t('admin.nav.tracker'), comable.admin_trackers_path
|
12
|
+
li.active
|
13
|
+
= @tracker.name
|
14
|
+
|
15
|
+
.comable-page-body
|
16
|
+
= render 'form'
|
17
|
+
hr
|
18
|
+
.panel.panel-danger
|
19
|
+
.panel-heading type="button" data-toggle="collapse" data-target="#comable-danger"
|
20
|
+
strong
|
21
|
+
span.fa.fa-angle-down>
|
22
|
+
= Comable.t('admin.actions.destroy')
|
23
|
+
#comable-danger.collapse
|
24
|
+
.panel-body
|
25
|
+
p
|
26
|
+
= Comable.t('admin.confirmation_to_remove_product')
|
27
|
+
= link_to Comable.t('admin.actions.destroy'), comable.admin_tracker_path(@tracker), method: :delete, class: 'btn btn-danger'
|
@@ -0,0 +1,37 @@
|
|
1
|
+
.comable-page
|
2
|
+
.comable-page-heading
|
3
|
+
ul.pull-right.list-inline
|
4
|
+
li
|
5
|
+
= link_to Comable.t('admin.actions.new'), comable.new_admin_tracker_path, class: 'btn btn-default'
|
6
|
+
|
7
|
+
h1.page-header
|
8
|
+
= Comable.t('admin.nav.tracker')
|
9
|
+
small<
|
10
|
+
| #{@trackers.total_count} #{Comable.t('admin.results')}
|
11
|
+
|
12
|
+
.comable-page-body
|
13
|
+
- if @trackers.empty?
|
14
|
+
= Comable.t('admin.not_found')
|
15
|
+
- else
|
16
|
+
table.table.table-striped
|
17
|
+
thead
|
18
|
+
th
|
19
|
+
= @trackers.klass.human_attribute_name(:name)
|
20
|
+
th
|
21
|
+
= @trackers.klass.human_attribute_name(:tracker_id)
|
22
|
+
th
|
23
|
+
= @trackers.klass.human_attribute_name(:place)
|
24
|
+
tbody
|
25
|
+
- @trackers.each do |tracker|
|
26
|
+
tr
|
27
|
+
td
|
28
|
+
= link_to tracker.name, comable.admin_tracker_path(tracker)
|
29
|
+
- unless tracker.activated_flag
|
30
|
+
span.fa.fa-eye-slash.text-muted<
|
31
|
+
td
|
32
|
+
= tracker.tracker_id
|
33
|
+
td
|
34
|
+
= tracker.place.text
|
35
|
+
|
36
|
+
.text-center
|
37
|
+
= paginate @trackers, theme: :comable_backend
|
@@ -0,0 +1,16 @@
|
|
1
|
+
.comable-page
|
2
|
+
.comable-main-fixed-top
|
3
|
+
.comable-page-heading
|
4
|
+
ul.pull-right.list-inline
|
5
|
+
li
|
6
|
+
= link_to_save
|
7
|
+
|
8
|
+
h1.page-header
|
9
|
+
ol.breadcrumb
|
10
|
+
li>
|
11
|
+
= link_to Comable.t('admin.nav.tracker'), comable.admin_trackers_path
|
12
|
+
li.active
|
13
|
+
= Comable.t('admin.actions.new')
|
14
|
+
|
15
|
+
.comable-page-body
|
16
|
+
= render 'form'
|
@@ -0,0 +1,25 @@
|
|
1
|
+
- content_for :head do
|
2
|
+
link href="//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet"
|
3
|
+
|
4
|
+
.comable-signin
|
5
|
+
.comable-signin-heading
|
6
|
+
h1.page-header
|
7
|
+
= Comable.app_name
|
8
|
+
small
|
9
|
+
| provides a simple way to add e-commerce features.
|
10
|
+
|
11
|
+
.comable-signin-body
|
12
|
+
= form_for resource, as: resource_name, url: session_path(resource_name) do |f|
|
13
|
+
.form-group
|
14
|
+
= f.email_field :email, placeholder: f.object.class.human_attribute_name(:email)
|
15
|
+
|
16
|
+
.form-group
|
17
|
+
= f.password_field :password, placeholder: f.object.class.human_attribute_name(:password)
|
18
|
+
|
19
|
+
.form-group
|
20
|
+
.checkbox
|
21
|
+
= f.label :remember_me do
|
22
|
+
= f.check_box :remember_me
|
23
|
+
= f.object.class.human_attribute_name(:remember_me)
|
24
|
+
|
25
|
+
= f.submit Comable.t('admin.sign_in'), class: 'btn btn-primary btn-block btn-lg'
|
@@ -0,0 +1,79 @@
|
|
1
|
+
.comable-page
|
2
|
+
.comable-main-fixed-top
|
3
|
+
.comable-page-heading
|
4
|
+
ul.pull-right.list-inline
|
5
|
+
li
|
6
|
+
= link_to_save
|
7
|
+
|
8
|
+
h1.page-header
|
9
|
+
ol.breadcrumb
|
10
|
+
li>
|
11
|
+
= link_to Comable.t('admin.nav.user'), comable.admin_users_path
|
12
|
+
li>
|
13
|
+
= link_to @user.human_id, comable.admin_user_path(@user)
|
14
|
+
li.active
|
15
|
+
= Comable.t('admin.actions.edit')
|
16
|
+
|
17
|
+
.comable-page-body
|
18
|
+
section
|
19
|
+
= error_messages_for @user
|
20
|
+
|
21
|
+
= form_for @user, url: comable.admin_user_path(@user) do |f|
|
22
|
+
.hidden
|
23
|
+
= f.submit
|
24
|
+
|
25
|
+
fieldset
|
26
|
+
.col-md-3
|
27
|
+
legend
|
28
|
+
= Comable.t('admin.general')
|
29
|
+
.help-block
|
30
|
+
|
31
|
+
.col-md-9
|
32
|
+
.form-group
|
33
|
+
= f.label :role
|
34
|
+
= f.select :role, @user.class.role.options, {}, disabled: (@user == current_comable_user)
|
35
|
+
|
36
|
+
.form-group
|
37
|
+
= f.label :email
|
38
|
+
= f.text_field :email
|
39
|
+
|
40
|
+
.form-group
|
41
|
+
= f.label :password
|
42
|
+
= f.password_field :password
|
43
|
+
|
44
|
+
- if @user.bill_address
|
45
|
+
fieldset
|
46
|
+
.col-md-3
|
47
|
+
legend
|
48
|
+
= f.object.class.human_attribute_name(:bill_address)
|
49
|
+
.help-block
|
50
|
+
|
51
|
+
.col-md-9
|
52
|
+
= f.fields_for :bill_address do |ff|
|
53
|
+
.form-group
|
54
|
+
= ff.label :full_name
|
55
|
+
.row
|
56
|
+
.col-sm-6
|
57
|
+
= ff.text_field :family_name, placeholder: ff.object.class.human_attribute_name(:family_name)
|
58
|
+
.col-sm-6
|
59
|
+
= ff.text_field :first_name, placeholder: ff.object.class.human_attribute_name(:first_name)
|
60
|
+
|
61
|
+
.form-group
|
62
|
+
= ff.label :zip_code
|
63
|
+
= ff.text_field :zip_code, max_length: 8
|
64
|
+
|
65
|
+
.form-group
|
66
|
+
= ff.label :state_name
|
67
|
+
= ff.text_field :state_name
|
68
|
+
|
69
|
+
.form-group
|
70
|
+
= ff.label :city
|
71
|
+
= ff.text_field :city
|
72
|
+
|
73
|
+
.form-group
|
74
|
+
= ff.label :detail
|
75
|
+
= ff.text_field :detail
|
76
|
+
|
77
|
+
.form-group
|
78
|
+
= ff.label :phone_number
|
79
|
+
= ff.text_field :phone_number, max_length: 18
|