ab_admin 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/admin/flags/de.png +0 -0
- data/app/assets/images/admin/flags/en.png +0 -0
- data/app/assets/images/admin/flags/es.png +0 -0
- data/app/assets/images/admin/flags/fr.png +0 -0
- data/app/assets/images/admin/flags/it.png +0 -0
- data/app/assets/images/admin/flags/ja.png +0 -0
- data/app/assets/images/admin/flags/pl.png +0 -0
- data/app/assets/images/admin/flags/ru.png +0 -0
- data/app/assets/images/admin/flags/{b_de.png → toremove/b_de.png} +0 -0
- data/app/assets/images/admin/flags/{b_en.png → toremove/b_en.png} +0 -0
- data/app/assets/images/admin/flags/{b_es.png → toremove/b_es.png} +0 -0
- data/app/assets/images/admin/flags/{b_fr.png → toremove/b_fr.png} +0 -0
- data/app/assets/images/admin/flags/{b_it.png → toremove/b_it.png} +0 -0
- data/app/assets/images/admin/flags/{b_ru.png → toremove/b_ru.png} +0 -0
- data/app/assets/images/admin/flags/{b_uk.png → toremove/b_uk.png} +0 -0
- data/app/assets/images/admin/flags/{flag_de.gif → toremove/flag_de.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_de_nonact.gif → toremove/flag_de_nonact.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_en.gif → toremove/flag_en.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_en_nonact.gif → toremove/flag_en_nonact.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_es.gif → toremove/flag_es.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_es_nonact.gif → toremove/flag_es_nonact.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_fr.gif → toremove/flag_fr.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_fr_nonact.gif → toremove/flag_fr_nonact.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_it.gif → toremove/flag_it.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_it_nonact.gif → toremove/flag_it_nonact.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_ru.gif → toremove/flag_ru.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_ru_nonact.gif → toremove/flag_ru_nonact.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_uk.gif → toremove/flag_uk.gif} +0 -0
- data/app/assets/images/admin/flags/{flag_uk_nonact.gif → toremove/flag_uk_nonact.gif} +0 -0
- data/app/assets/images/admin/flags/uk.png +0 -0
- data/app/assets/javascripts/ab_admin/components/in_place_edit.js.coffee +9 -1
- data/app/assets/javascripts/ab_admin/components/select2_bridge.js.coffee +1 -2
- data/app/assets/javascripts/ab_admin/core/init.js.coffee +5 -3
- data/app/assets/javascripts/ab_admin/core/ui_utils.js.coffee +17 -0
- data/app/assets/javascripts/ab_admin/inputs/datetime_input.js.coffee +8 -3
- data/app/assets/stylesheets/ab_admin/bootstrap_and_overrides.scss +37 -8
- data/app/assets/stylesheets/ab_admin/components/_form.scss +31 -2
- data/app/assets/stylesheets/ab_admin/components/_locale_tabs.scss +13 -48
- data/app/assets/stylesheets/ab_admin/components/_navigation.scss +5 -0
- data/app/assets/stylesheets/ab_admin/main.scss +1 -1
- data/app/controllers/admin/base_controller.rb +14 -15
- data/app/controllers/admin/locators_controller.rb +18 -0
- data/app/controllers/admin/manager_controller.rb +6 -8
- data/app/controllers/admin/settings_controller.rb +1 -1
- data/app/controllers/admin/static_pages_controller.rb +1 -3
- data/app/controllers/admin/structures_controller.rb +2 -7
- data/app/controllers/admin/users_controller.rb +1 -1
- data/app/views/ab_admin/devise/sessions/new.html.slim +3 -3
- data/app/views/admin/base/_search_layout.html.slim +3 -1
- data/app/views/admin/base/_table.html.slim +1 -1
- data/app/views/admin/base/update.js.erb +3 -1
- data/app/views/admin/locators/show.html.slim +22 -1
- data/app/views/admin/manager/_chart.html.slim +4 -0
- data/app/views/admin/manager/_table.html.slim +16 -13
- data/app/views/admin/shared/_action_items.html.slim +12 -0
- data/app/views/admin/shared/_content_actions.html.slim +15 -3
- data/app/views/admin/shared/_locale_tabs.html.slim +5 -3
- data/app/views/admin/shared/_main_menu.html.slim +20 -0
- data/app/views/admin/shared/_save_buttons.html.slim +2 -1
- data/app/views/admin/users/_table.html.slim +6 -0
- data/app/views/layouts/admin/_navigation.html.slim +2 -24
- data/config/locales/de.yml +0 -8
- data/config/locales/en.yml +3 -11
- data/config/locales/it.yml +9 -17
- data/config/locales/ru.yml +0 -8
- data/config/locales/uk.yml +0 -8
- data/config/routes.rb +2 -1
- data/lib/ab_admin.rb +6 -1
- data/lib/ab_admin/abstract_resource.rb +1 -1
- data/lib/ab_admin/carrierwave/base_uploader.rb +1 -1
- data/lib/ab_admin/concerns/utilities.rb +2 -2
- data/lib/ab_admin/config/base.rb +7 -5
- data/lib/ab_admin/core_ext/hash.rb +19 -1
- data/lib/ab_admin/core_ext/other.rb +0 -48
- data/lib/ab_admin/hooks/will_paginate_id_prefetch.rb +1 -1
- data/lib/ab_admin/i18n_tools/model_translator.rb +4 -4
- data/lib/ab_admin/models/asset.rb +0 -4
- data/lib/ab_admin/models/locator.rb +37 -4
- data/lib/ab_admin/models/user.rb +2 -2
- data/lib/ab_admin/utils.rb +1 -1
- data/lib/ab_admin/utils/eval_helpers.rb +1 -5
- data/lib/ab_admin/utils/logger.rb +11 -2
- data/lib/ab_admin/utils/mysql.rb +2 -2
- data/lib/ab_admin/version.rb +1 -1
- data/lib/ab_admin/views/admin_helpers.rb +38 -21
- data/lib/ab_admin/views/admin_navigation_helpers.rb +6 -6
- data/lib/ab_admin/views/form_builder.rb +4 -1
- data/lib/ab_admin/views/helpers.rb +13 -34
- data/lib/ab_admin/views/inputs/date_time_picker_input.rb +5 -4
- data/lib/ab_admin/views/manager_helpers.rb +21 -3
- data/lib/generators/ab_admin/glob/glob_generator.rb +3 -6
- data/lib/generators/ab_admin/install/templates/models/asset.rb +1 -1
- data/lib/generators/ab_admin/install/templates/models/structure_type.rb +4 -0
- data/lib/generators/ab_admin/install/templates/spec/factories/sequences.rb +2 -2
- data/lib/generators/ab_admin/install/templates/spec/factories/structure_factory.rb +1 -1
- data/lib/generators/ab_admin/install/templates/spec/factories/user_factory.rb +1 -1
- data/lib/generators/ab_admin/install/templates/spec/spec_helper.rb +1 -1
- data/lib/generators/ab_admin/install/templates/spec/support/controller_macros.rb +4 -4
- data/lib/generators/template.rb +2 -2
- metadata +51 -39
@@ -4,6 +4,24 @@ class ::Admin::LocatorsController < ::Admin::BaseController
|
|
4
4
|
before_action :find_files, only: [:show, :edit, :update]
|
5
5
|
before_action :find_file, only: [:edit, :update]
|
6
6
|
|
7
|
+
def export
|
8
|
+
authorize! :export, resource_class
|
9
|
+
locales = I18n.available_locales & params[:locales].split(',').map(&:to_sym) if params[:locales].present?
|
10
|
+
keys = Locator.export_csv(*params[:keys].to_s.split(','), locales: locales)
|
11
|
+
send_data(keys, filename: "locales_#{Time.now.strftime('%Y_%m_%d')}.csv", type: Mime[:csv], disposition: 'attachment')
|
12
|
+
end
|
13
|
+
|
14
|
+
def import
|
15
|
+
if params[:csv_file].present?
|
16
|
+
locales = I18n.available_locales & params[:locales].split(',').map(&:to_sym) if params[:locales].present?
|
17
|
+
Locator.import_csv(params[:csv_file].read, locales: locales)
|
18
|
+
flash[:notice] = 'File imported'
|
19
|
+
else
|
20
|
+
flash[:error] = 'Missing or invalid csv file'
|
21
|
+
end
|
22
|
+
redirect_to admin_locators_path
|
23
|
+
end
|
24
|
+
|
7
25
|
def edit
|
8
26
|
@locale_hash = YAML.load_file(@file)
|
9
27
|
end
|
@@ -23,7 +23,11 @@ class ::Admin::ManagerController < ::Admin::BaseController
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def with_scopes(relation)
|
26
|
-
|
26
|
+
scopes_to_apply.inject(relation) { |result, scope| scope.apply(result, params) }
|
27
|
+
end
|
28
|
+
|
29
|
+
def scopes_to_apply
|
30
|
+
manager.scopes.find_all{|scope| params[scope.name].present? }
|
27
31
|
end
|
28
32
|
|
29
33
|
def begin_of_association_chain
|
@@ -125,13 +129,7 @@ class ::Admin::ManagerController < ::Admin::BaseController
|
|
125
129
|
end
|
126
130
|
|
127
131
|
def permitted_params
|
128
|
-
attrs =
|
129
|
-
when Proc then
|
130
|
-
instance_exec(&manager.permitted_params)
|
131
|
-
else
|
132
|
-
Array(manager.permitted_params)
|
133
|
-
end
|
134
|
-
|
132
|
+
attrs = Array(manager.permitted_params.is_a?(Proc) ? instance_exec(&manager.permitted_params) : manager.permitted_params)
|
135
133
|
resource_params = params[resource_class.model_name.param_key]
|
136
134
|
return {} unless resource_params
|
137
135
|
if attrs.first == :all
|
@@ -12,8 +12,6 @@ class Admin::StaticPagesController < Admin::BaseController
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def permitted_params
|
15
|
-
|
16
|
-
*StaticPage.all_translated_attribute_names, *AbAdmin.default_permitted_params]
|
17
|
-
params[:static_page].try!(:permit, *attrs)
|
15
|
+
params[:static_page].try!(:permit!)
|
18
16
|
end
|
19
17
|
end
|
@@ -8,7 +8,7 @@ class Admin::StructuresController < Admin::BaseController
|
|
8
8
|
def resource_action_items
|
9
9
|
edit_structure = AbAdmin::Config::ActionItem.new({}) { |r| link_to icon('wrench', true), edit_resource_path(r), class: 'btn btn-warning' }
|
10
10
|
edit_static_page = AbAdmin::Config::ActionItem.new({}) do |r|
|
11
|
-
link_to(icon('pencil', true), edit_structure_record_path(r), class: 'btn btn-primary') if r.structure_type.
|
11
|
+
link_to(icon('pencil', true), edit_structure_record_path(r), class: 'btn btn-primary') if r.structure_type.has_static_page?
|
12
12
|
end
|
13
13
|
[edit_static_page, edit_structure, :destroy, :show]
|
14
14
|
end
|
@@ -22,11 +22,6 @@ class Admin::StructuresController < Admin::BaseController
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def permitted_params
|
25
|
-
|
26
|
-
:structure_type, :position_type,
|
27
|
-
*Structure.simple_slug_columns,
|
28
|
-
*AbAdmin.default_permitted_params,
|
29
|
-
*Structure.all_translated_attribute_names, header_attributes: [:id, *Header.all_translated_attribute_names]]
|
30
|
-
params[:structure].try!(:permit, *attrs)
|
25
|
+
params[:structure].try!(:permit!)
|
31
26
|
end
|
32
27
|
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
= simple_form_for(resource, as: resource_name, url: session_path(resource_name), wrapper: :bootstrap) do |f|
|
2
|
-
h2= t 'admin.auth.sessions.title'
|
2
|
+
h2= t 'admin.auth.sessions.title', default: 'Sign in'
|
3
3
|
.form-inputs
|
4
4
|
= f.input :email, required: false, autofocus: true
|
5
5
|
= f.input :password, required: false
|
6
6
|
= f.input :remember_me, as: :boolean, wrapper: :default if devise_mapping.rememberable?
|
7
|
-
= f.button :submit, t('admin.auth.sessions.button'), class: 'btn-primary btn-large'
|
7
|
+
= f.button :submit, t('admin.auth.sessions.button', default: 'Sign in'), class: 'btn-primary btn-large'
|
8
8
|
br
|
9
9
|
br
|
10
|
-
= link_to t('admin.auth.passwords.new.title'), new_password_path(resource_name)
|
10
|
+
= link_to t('admin.auth.passwords.new.title', default: 'Forgot your password?'), new_password_path(resource_name) if devise_mapping.recoverable?
|
@@ -1,6 +1,8 @@
|
|
1
1
|
#toggle_sidebar_off.btn.btn-large = icon('chevron-left')
|
2
2
|
#toggle_sidebar_on.btn.btn-large = icon('chevron-right')
|
3
|
-
= search_admin_form_for @search, url: collection_path do |f|
|
3
|
+
= search_admin_form_for @search, url: collection_path(scope_params) do |f|
|
4
|
+
- if settings.dig(:search_form, :submit_on_top)
|
5
|
+
= f.submit t('admin.search.submit'), class: 'btn btn-success btn-small search-submit-wide'
|
4
6
|
= render 'search_form', f: f
|
5
7
|
br
|
6
8
|
div
|
@@ -8,7 +8,7 @@ table.table.table-striped.index_table#list
|
|
8
8
|
th=t 'admin.table.actions'
|
9
9
|
tbody
|
10
10
|
- collection.each do |item|
|
11
|
-
tr
|
11
|
+
tr id=dom_id(item, 'list')
|
12
12
|
= batch_action_item(item)
|
13
13
|
td= id_link(item)
|
14
14
|
- resource_class.content_columns.map(&:name).without('updated_at').each do |col|
|
@@ -5,8 +5,10 @@
|
|
5
5
|
%>
|
6
6
|
$('#<%= form_wrap_id %>').remove();
|
7
7
|
$('#<%= dom_id(resource, 'list') %>').replaceWith('<%= j html %>');
|
8
|
+
var $el = $('#<%= dom_id(resource, 'list') %>');
|
8
9
|
$(document).trigger('admin:list_init');
|
9
|
-
|
10
|
+
if (!$el[0].className) $el.addClass('success');
|
11
|
+
$el.scrollToEl();
|
10
12
|
<% end %>
|
11
13
|
|
12
14
|
window.ab_admin_last_updated = <%= raw resource.for_input_token.to_json %>;
|
@@ -10,4 +10,25 @@ table.table.table-striped.table-bordered style='width: 1050px;'
|
|
10
10
|
td= link_to filename, edit_admin_locators_path(filename: filename)
|
11
11
|
|
12
12
|
=> link_to t('admin.locators.prepare'), prepare_admin_locators_path, class: 'btn btn-warning', method: :post
|
13
|
-
=> link_to t('admin.locators.restart'), reload_admin_locators_path, class: 'btn btn-primary', method: :post
|
13
|
+
=> link_to t('admin.locators.restart'), reload_admin_locators_path, class: 'btn btn-primary', method: :post
|
14
|
+
|
15
|
+
hr
|
16
|
+
|
17
|
+
= form_tag export_admin_locators_path, method: :get do
|
18
|
+
input.input-xxlarge> type='text' name='keys' placeholder='Keys comma separated'
|
19
|
+
br
|
20
|
+
input.input-medium.fancy_select> type='text' name='locales' placeholder='Locales, all by default' data-tags=I18n.available_locales.to_json
|
21
|
+
br
|
22
|
+
br
|
23
|
+
button.btn Export CSV
|
24
|
+
|
25
|
+
hr
|
26
|
+
|
27
|
+
= form_tag import_admin_locators_path, method: :post, multipart: true do
|
28
|
+
= file_field_tag :csv_file
|
29
|
+
br
|
30
|
+
input.input-medium.fancy_select> type='text' name='locales' placeholder='Locales, all by default' data-tags=I18n.available_locales.to_json
|
31
|
+
br
|
32
|
+
br
|
33
|
+
button.btn Import CSV
|
34
|
+
|
@@ -9,26 +9,29 @@
|
|
9
9
|
th.actions_panel
|
10
10
|
- table_builder.fields.each do |field|
|
11
11
|
th class=('hide_cell' if field.options[:hidden])
|
12
|
-
- if field.options[:sortable]
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
12
|
+
- if field.options[:sortable].is_a?(FalseClass)
|
13
|
+
= field.name.is_a?(Symbol) ? ha(field.name) : field.name
|
14
|
+
- elsif field.options[:sortable].is_a?(TrueClass)
|
15
|
+
= list_sort_link field.name
|
16
|
+
- elsif field.options[:sortable].is_a?(Hash)
|
17
|
+
= list_sort_link field.name, field.options[:sortable]
|
18
|
+
- elsif resource_class.column_names.include?(field.name.to_s)
|
19
|
+
= list_sort_link field.name
|
18
20
|
- else
|
19
21
|
= field.name.is_a?(Symbol) ? ha(field.name) : field.name
|
20
22
|
tbody
|
21
23
|
- is_edit_link = manager.actions.include?(:edit)
|
22
24
|
- collection.each do |item|
|
23
|
-
tr id=dom_id(item, 'list') class=(table_builder.options[:row_class]
|
25
|
+
tr id=dom_id(item, 'list') class=(call_method_or_proc_on(item, table_builder.options[:row_class]) if table_builder.options[:row_class])
|
24
26
|
= batch_action_item(item)
|
25
27
|
td= id_link(item, edit: is_edit_link)
|
26
28
|
= item_index_actions_panel(item)
|
27
29
|
- table_builder.fields.each do |field|
|
28
|
-
td
|
29
|
-
-
|
30
|
-
|
31
|
-
|
32
|
-
=
|
30
|
+
td class=(field.options[:css_class] if field.options[:css_class])
|
31
|
+
- field_content = table_item_field(item, field)
|
32
|
+
- if field.options[:copy_button]
|
33
|
+
- field_id = dom_id(item, field.name)
|
34
|
+
span> id=field_id = field_content
|
35
|
+
.btn.btn-mini> class='js-copy' data-clipboard-target="##{field_id}" = icon('share')
|
33
36
|
- else
|
34
|
-
=
|
37
|
+
= field_content
|
@@ -0,0 +1,12 @@
|
|
1
|
+
- action_items.group_by{|ai| ai.is_a?(AbAdmin::Config::ActionItem) && ai.options[:group] }.each do |group, action_items|
|
2
|
+
- if group
|
3
|
+
.btn-group
|
4
|
+
a.btn.dropdown-toggle data-toggle="dropdown" href="#"
|
5
|
+
= group.to_s.humanize
|
6
|
+
span.caret
|
7
|
+
ul.dropdown-menu
|
8
|
+
- action_items.each do |action_item|
|
9
|
+
li= action_link(action_item)
|
10
|
+
- else
|
11
|
+
- action_items.each do |action_item|
|
12
|
+
= action_link(action_item)
|
@@ -15,16 +15,18 @@
|
|
15
15
|
)
|
16
16
|
= batch_action.title
|
17
17
|
- unless button_scopes.blank?
|
18
|
-
.btn-group
|
18
|
+
.btn-group
|
19
19
|
- button_scopes.each do |name, opts|
|
20
|
+
- next if opts[:if] && !call_method_or_proc_on(controller, opts[:if])
|
20
21
|
- param_name = opts[:as] || name
|
21
22
|
- active = params[param_name]
|
22
23
|
a.btn href=url_for(param_name => (active ? nil : 1)) class=('active' if active)
|
23
24
|
= t "admin.scopes.#{name}", default: name.to_s.titleize
|
24
25
|
- if opts[:badge]
|
25
|
-
-
|
26
|
+
- scope = opts[:block] ? opts[:block].call(controller, resource_class) : resource_class.send(name)
|
27
|
+
- scope_count = scope.send(*[opts[:badge][:value_type] || :count, opts[:badge][:column]].compact)
|
26
28
|
- unless scope_count.zero?
|
27
|
-
span.badge< class=("badge-#{opts[:badge][:type
|
29
|
+
span.badge< class=("badge-#{opts[:badge].try(:[], :type) || 'important'}") = scope_count
|
28
30
|
|
29
31
|
a.btn.pull-left#columns_hider_show href="#columns_hider" data-toggle='modal' = t 'admin.columns_hider.button'
|
30
32
|
|
@@ -49,3 +51,13 @@
|
|
49
51
|
.btn-group
|
50
52
|
- settings[:sort_buttons].each do |opts|
|
51
53
|
= list_sort_link(opts[:title], column: opts[:column], html_options: {class: 'btn'})
|
54
|
+
|
55
|
+
- if @search_collection && settings[:aggregations]
|
56
|
+
.aggregations
|
57
|
+
- settings[:aggregations].each do |ag|
|
58
|
+
.label> class=(ag[:css] || 'label-success')
|
59
|
+
=> ag[:label] || "#{ag[:column].to_s.humanize}:"
|
60
|
+
- if !ag[:type] || ag[:type] == :sum
|
61
|
+
= @search_collection.distinct(false).sum(ag[:column]).try!(:round, 2)
|
62
|
+
- elsif ag[:type] == :average
|
63
|
+
= @search_collection.average(ag[:column]).try!(:round, 2)
|
@@ -1,8 +1,10 @@
|
|
1
1
|
.tabbable.locale_tabs
|
2
2
|
ul.nav.nav-tabs
|
3
|
+
- active_locale = params[:edit_locale].present? ? params[:edit_locale].to_sym : locales.first
|
3
4
|
- locales.each_with_index do |l, i|
|
4
|
-
li class=('active' if
|
5
|
-
a data-toggle="tab" href="##{l}" class="ico_#{l}" =
|
5
|
+
li class=('active' if l == active_locale)
|
6
|
+
a data-toggle="tab" href="##{l}" class="ico_#{l}" title=l
|
7
|
+
img src=image_path("admin/flags/#{l}.png")
|
6
8
|
.tab-content
|
7
9
|
- locales.each_with_index do |l, i|
|
8
|
-
.tab-pane id=l class="tab_#{l} #{'active' if
|
10
|
+
.tab-pane id=l class="tab_#{l} #{'active' if l == active_locale}" = locale_html[l]
|
@@ -0,0 +1,20 @@
|
|
1
|
+
nav.navbar-inner
|
2
|
+
.container
|
3
|
+
button.btn.btn-navbar data-target=".nav-collapse" data-toggle="collapse"
|
4
|
+
span.icon-bar
|
5
|
+
span.icon-bar
|
6
|
+
span.icon-bar
|
7
|
+
a.brand href=(AbAdmin.root_path || root_path) target='_blank' = AbAdmin.site_name
|
8
|
+
.nav-collapse.collapse
|
9
|
+
= AdminMenu.render(self)
|
10
|
+
|
11
|
+
.btn-group.pull-right
|
12
|
+
a.btn.dropdown-toggle data-toggle="dropdown" href="#"
|
13
|
+
i.icon-user
|
14
|
+
= current_user.name
|
15
|
+
span.caret
|
16
|
+
ul.dropdown-menu
|
17
|
+
li
|
18
|
+
a href=edit_admin_user_path(current_user) = t 'admin.auth.profile'
|
19
|
+
li.divider
|
20
|
+
li= link_to(t('admin.auth.sign_out'), destroy_user_session_path, method: 'delete')
|
@@ -1,4 +1,5 @@
|
|
1
|
-
- return_to = params[:return_to].presence || request.referer
|
1
|
+
- return_to = params[:return_to].presence || request.referer || collection_path
|
2
|
+
- return_to = "#{return_to}##{dom_id(resource, 'list')}" if resource.persisted?
|
2
3
|
input type='hidden' name='return_to' value=return_to
|
3
4
|
.form-actions
|
4
5
|
button.btn.btn-primary type="submit" name="_save" data-disable-with=t('admin.form.save')
|
@@ -5,6 +5,7 @@ table.table.table-striped.index_table#list
|
|
5
5
|
th= list_sort_link(:id)
|
6
6
|
th.actions_panel
|
7
7
|
th= list_sort_link(:email)
|
8
|
+
th
|
8
9
|
th= ha :avatar
|
9
10
|
th= list_sort_link(:user_role_id)
|
10
11
|
th= list_sort_link(:first_name)
|
@@ -23,6 +24,11 @@ table.table.table-striped.index_table#list
|
|
23
24
|
- else
|
24
25
|
= link_to icon('ok', true), activate_admin_user_path(item), method: :post, class: 'btn btn-success', title: t('admin.actions.activate.link')
|
25
26
|
td= mail_to item.email
|
27
|
+
td
|
28
|
+
- if item.active?
|
29
|
+
.label.label-success= t 'admin.user.state.active'
|
30
|
+
- else
|
31
|
+
.label.label-danger= t 'admin.user.state.suspended'
|
26
32
|
td= item_image_link(item, assoc: :avatar)
|
27
33
|
td= item.user_role_type.try(:title)
|
28
34
|
td= item.first_name
|
@@ -1,28 +1,6 @@
|
|
1
1
|
header.navbar.navbar-inverse
|
2
|
-
|
3
|
-
.container
|
4
|
-
a.btn.btn-navbar data-target=".nav-collapse" data-toggle="collapse"
|
5
|
-
span.icon-bar
|
6
|
-
span.icon-bar
|
7
|
-
span.icon-bar
|
8
|
-
a.brand href=root_path target='_blank' = AbAdmin.site_name
|
9
|
-
.nav-collapse.in.collapse
|
10
|
-
= AdminMenu.render(self)
|
11
|
-
|
12
|
-
.btn-group.pull-right
|
13
|
-
a.btn.dropdown-toggle data-toggle="dropdown" href="#"
|
14
|
-
i.icon-user
|
15
|
-
= current_user.name
|
16
|
-
span.caret
|
17
|
-
ul.dropdown-menu
|
18
|
-
li
|
19
|
-
a href=edit_admin_user_path(current_user) = t 'admin.auth.profile'
|
20
|
-
li.divider
|
21
|
-
li= link_to(t('admin.auth.sign_out'), destroy_user_session_path, method: 'delete')
|
22
|
-
|
2
|
+
= render 'admin/shared/main_menu'
|
23
3
|
ul.breadcrumb
|
24
|
-
li.resource_actions
|
25
|
-
- action_items.each do |act|
|
26
|
-
= action_link(act)
|
4
|
+
li.resource_actions= render 'admin/shared/action_items'
|
27
5
|
= render 'admin/shared/breadcrumbs'
|
28
6
|
|
data/config/locales/de.yml
CHANGED
data/config/locales/en.yml
CHANGED
@@ -190,10 +190,10 @@ en:
|
|
190
190
|
moderator: Moderator
|
191
191
|
redactor: Editor
|
192
192
|
state:
|
193
|
-
active:
|
193
|
+
active: Active
|
194
194
|
deleted: Removed
|
195
|
-
pending:
|
196
|
-
suspended:
|
195
|
+
pending: Pending
|
196
|
+
suspended: Suspended
|
197
197
|
structure:
|
198
198
|
kind:
|
199
199
|
group: Group
|
@@ -246,14 +246,6 @@ en:
|
|
246
246
|
updater_id: ''
|
247
247
|
remember_me: Remember
|
248
248
|
password: Password
|
249
|
-
attrs:
|
250
|
-
en: Eng.
|
251
|
-
it: Italian
|
252
|
-
ru: Rus.
|
253
|
-
uk: Ukr.
|
254
|
-
de: Deutsch
|
255
|
-
fr: Fr
|
256
|
-
es: Es
|
257
249
|
flash:
|
258
250
|
admin:
|
259
251
|
actions:
|
data/config/locales/it.yml
CHANGED
@@ -64,17 +64,17 @@ it:
|
|
64
64
|
profile: Profilo
|
65
65
|
sign_out: Produzione
|
66
66
|
sessions:
|
67
|
-
title:
|
68
|
-
button:
|
67
|
+
title: Accedi
|
68
|
+
button: Accedi
|
69
69
|
passwords:
|
70
70
|
new:
|
71
|
-
title:
|
72
|
-
button:
|
71
|
+
title: Hai dimenticato la password?
|
72
|
+
button: Inviami le istruzioni per la reimpostazione della
|
73
73
|
edit:
|
74
|
-
title:
|
75
|
-
button:
|
76
|
-
password:
|
77
|
-
password_confirmation:
|
74
|
+
title: Cambia la tua password
|
75
|
+
button: Cambia la mia password
|
76
|
+
password: Nuova password
|
77
|
+
password_confirmation: Conferma la tua nuova password
|
78
78
|
avatar: Immagine
|
79
79
|
batch_actions: Attività
|
80
80
|
cache_clear: Cancella cache
|
@@ -238,15 +238,7 @@ it:
|
|
238
238
|
updater: ''
|
239
239
|
updater_id: ''
|
240
240
|
remember_me: ''
|
241
|
-
password: ''
|
242
|
-
attrs:
|
243
|
-
en: Ing.
|
244
|
-
it: Italiana.
|
245
|
-
ru: rus.
|
246
|
-
uk: Ukr.
|
247
|
-
de: De
|
248
|
-
fr: Fr
|
249
|
-
es: Es
|
241
|
+
password: 'Password'
|
250
242
|
flash:
|
251
243
|
admin:
|
252
244
|
actions:
|