thecore_ui_rails_admin 2.1.3 → 2.1.10
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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/rails_admin/ra.widgets.coffee +233 -0
- data/app/assets/javascripts/thecore_ui_rails_admin/thecore_rails_admin.js +78 -0
- data/app/assets/stylesheets/thecore_ui_rails_admin/animate.css +3458 -0
- data/app/assets/stylesheets/thecore_ui_rails_admin/apexcharts.scss +7 -0
- data/app/assets/stylesheets/thecore_ui_rails_admin/common.scss +36 -0
- data/app/assets/stylesheets/thecore_ui_rails_admin/devise.scss +248 -0
- data/app/assets/stylesheets/thecore_ui_rails_admin/flashing.scss +28 -0
- data/app/assets/stylesheets/thecore_ui_rails_admin/mixins.scss +18 -0
- data/app/assets/stylesheets/thecore_ui_rails_admin/thecore.scss +25 -0
- data/app/assets/stylesheets/thecore_ui_rails_admin/thecore_rails_admin.scss +204 -0
- data/app/assets/stylesheets/thecore_ui_rails_admin/togglable-sidebar.scss +90 -0
- data/app/controllers/pages_controller.rb +43 -0
- data/app/helpers/devise_bootstrap_errors_helper.rb +20 -0
- data/app/helpers/thecore_helper.rb +54 -0
- data/app/views/layouts/rails_admin/_navigation.html.haml +13 -0
- data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +3 -0
- data/app/views/layouts/rails_admin/_sidebar_navigation.html.haml +4 -0
- data/app/views/layouts/rails_admin/_user_navigation.html.haml +7 -0
- data/app/views/layouts/rails_admin/application.html.haml +59 -0
- data/app/views/layouts/rails_admin/pjax.html.haml +25 -0
- data/app/views/rails_admin/main/_card.html.haml +17 -0
- data/app/views/rails_admin/main/_modal_interaction.html.erb +53 -0
- data/app/views/rails_admin/main/dashboard.html.haml +43 -0
- data/app/views/rails_admin/main/index.html.haml +90 -0
- data/app/views/shared/_flash.html.erb +10 -0
- data/config/initializers/rails_admin.rb +73 -0
- data/config/initializers/thecore_concern.rb +130 -0
- data/config/initializers/thecore_ui_rails_admin_app_configs.rb +17 -0
- data/config/locales/en.index_cards.custom.yml +8 -0
- data/config/locales/en.main.yml +27 -0
- data/config/locales/en.rails_admin.yml +34 -0
- data/config/locales/en.rollincode.yml +5 -0
- data/config/locales/it.index_cards.custom.yml +20 -0
- data/config/locales/it.main.yml +27 -0
- data/config/locales/it.rails_admin.yml +4 -0
- data/config/locales/it.rollincode.yml +5 -0
- data/config/locales/thecore_settings.en.yml +31 -0
- data/config/locales/thecore_settings.it.yml +31 -0
- data/config/routes.rb +10 -0
- data/db/migrate/20161227101954_create_rails_admin_settings.rb +25 -0
- data/db/migrate/20161227101956_add_app_name.rb +5 -0
- data/lib/abilities/thecore_ui_rails_admin.rb +12 -0
- data/lib/concerns/rails_admin_requirements.rb +19 -0
- data/lib/concerns/thecore_rails_admin_bulk_delete_concern.rb +16 -0
- data/lib/concerns/thecore_rails_admin_export_concern.rb +16 -0
- data/lib/concerns/thecore_ui_rails_admin_permission.rb +32 -0
- data/lib/concerns/thecore_ui_rails_admin_role.rb +36 -0
- data/lib/concerns/thecore_ui_rails_admin_user.rb +75 -0
- data/lib/thecore_ui_rails_admin.rb +21 -3
- data/lib/thecore_ui_rails_admin/version.rb +1 -1
- metadata +147 -2
@@ -0,0 +1,90 @@
|
|
1
|
+
/* Toggle Styles */
|
2
|
+
|
3
|
+
#wrapper {
|
4
|
+
padding-left: 0;
|
5
|
+
-webkit-transition: all 0.5s ease;
|
6
|
+
-moz-transition: all 0.5s ease;
|
7
|
+
-o-transition: all 0.5s ease;
|
8
|
+
transition: all 0.5s ease;
|
9
|
+
}
|
10
|
+
#wrapper.toggled {
|
11
|
+
padding-left: 250px;
|
12
|
+
}
|
13
|
+
#sidebar-wrapper {
|
14
|
+
z-index: 100;
|
15
|
+
position: fixed;
|
16
|
+
left: 250px;
|
17
|
+
width: 0;
|
18
|
+
height: 100%;
|
19
|
+
margin-left: -250px;
|
20
|
+
overflow-y: auto;
|
21
|
+
background: #000;
|
22
|
+
-webkit-transition: all 0.5s ease;
|
23
|
+
-moz-transition: all 0.5s ease;
|
24
|
+
-o-transition: all 0.5s ease;
|
25
|
+
transition: all 0.5s ease;
|
26
|
+
}
|
27
|
+
#wrapper.toggled #sidebar-wrapper {
|
28
|
+
width: 250px;
|
29
|
+
}
|
30
|
+
#page-content-wrapper {
|
31
|
+
z-index: 150;
|
32
|
+
width: 100%;
|
33
|
+
position: absolute;
|
34
|
+
padding: 15px;
|
35
|
+
background-color: rgb(59,78,89);
|
36
|
+
min-height: 100vh;
|
37
|
+
}
|
38
|
+
#wrapper.toggled #page-content-wrapper {
|
39
|
+
position: absolute;
|
40
|
+
margin-right: -250px;
|
41
|
+
background-color: rgb(59,78,89);
|
42
|
+
}
|
43
|
+
/* Sidebar Styles */
|
44
|
+
|
45
|
+
.sidebar-nav {
|
46
|
+
position: absolute;
|
47
|
+
top: 0;
|
48
|
+
width: 250px;
|
49
|
+
margin: 0;
|
50
|
+
padding: 0;
|
51
|
+
list-style: none;
|
52
|
+
}
|
53
|
+
.sidebar-nav li {
|
54
|
+
text-indent: 20px;
|
55
|
+
line-height: 40px;
|
56
|
+
}
|
57
|
+
.sidebar-nav li a {
|
58
|
+
display: block;
|
59
|
+
text-decoration: none;
|
60
|
+
color: #999999;
|
61
|
+
}
|
62
|
+
.sidebar-nav li a:hover {
|
63
|
+
text-decoration: none;
|
64
|
+
color: #fff;
|
65
|
+
background: rgba(255, 255, 255, 0.2);
|
66
|
+
}
|
67
|
+
.sidebar-nav li a:active,
|
68
|
+
.sidebar-nav li a:focus {
|
69
|
+
text-decoration: none;
|
70
|
+
}
|
71
|
+
.sidebar-nav > .sidebar-brand {
|
72
|
+
height: 65px;
|
73
|
+
font-size: 18px;
|
74
|
+
line-height: 60px;
|
75
|
+
}
|
76
|
+
.sidebar-nav > .sidebar-brand a {
|
77
|
+
color: #999999;
|
78
|
+
}
|
79
|
+
.sidebar-nav > .sidebar-brand a:hover {
|
80
|
+
color: #fff;
|
81
|
+
background: none;
|
82
|
+
}
|
83
|
+
|
84
|
+
body.rails_admin .sidebar-nav {
|
85
|
+
top: 0px;
|
86
|
+
}
|
87
|
+
|
88
|
+
.sub-menu a {
|
89
|
+
padding-left: 20px;
|
90
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
class PagesController < ApplicationController
|
2
|
+
before_action :authenticate_user!, only: [
|
3
|
+
:inside, :contact
|
4
|
+
]
|
5
|
+
|
6
|
+
# So the static link navigation can be set runtime (yes it's an hack
|
7
|
+
# since I have to set this dynamically at runtime, using a class
|
8
|
+
# continously re-evaluated)
|
9
|
+
RailsAdmin.config do |config|
|
10
|
+
config.navigation_static_label = I18n.t('admin.links.label')
|
11
|
+
end
|
12
|
+
|
13
|
+
def home
|
14
|
+
end
|
15
|
+
|
16
|
+
def inside
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
def email
|
21
|
+
@name = params[:name]
|
22
|
+
@email = params[:email]
|
23
|
+
@message = params[:message]
|
24
|
+
|
25
|
+
if @name.blank?
|
26
|
+
flash[:alert] = "Please enter your name before sending your message. Thank you."
|
27
|
+
render :contact
|
28
|
+
elsif @email.blank? || @email.scan(/\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i).size < 1
|
29
|
+
flash[:alert] = "You must provide a valid email address before sending your message. Thank you."
|
30
|
+
render :contact
|
31
|
+
elsif @message.blank? || @message.length < 10
|
32
|
+
flash[:alert] = "Your message is empty. Requires at least 10 characters. Nothing to send."
|
33
|
+
render :contact
|
34
|
+
elsif @message.scan(/<a href=/).size > 0 || @message.scan(/\[url=/).size > 0 || @message.scan(/\[link=/).size > 0 || @message.scan(/http:\/\//).size > 0
|
35
|
+
flash[:alert] = "You can't send links. Thank you for your understanding."
|
36
|
+
render :contact
|
37
|
+
else
|
38
|
+
ContactMailer.contact_message(@name,@email,@message).deliver_now
|
39
|
+
redirect_to root_path, notice: "Your message was sent. Thank you."
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module DeviseBootstrapErrorsHelper
|
2
|
+
def devise_bootstrap_error_messages!
|
3
|
+
return '' if resource.errors.empty?
|
4
|
+
|
5
|
+
messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
|
6
|
+
sentence = I18n.t('errors.messages.not_saved',
|
7
|
+
count: resource.errors.count,
|
8
|
+
resource: resource.class.model_name.human.downcase)
|
9
|
+
|
10
|
+
html = <<-HTML
|
11
|
+
<div class="alert alert-danger alert-block devise-bs">
|
12
|
+
<button type="button" class="close" data-dismiss="alert">×</button>
|
13
|
+
<h5>#{sentence}</h5>
|
14
|
+
<ul>#{messages}</ul>
|
15
|
+
</div>
|
16
|
+
HTML
|
17
|
+
|
18
|
+
html.html_safe
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module ThecoreHelper
|
2
|
+
def bootstrap_class_for(flash_type)
|
3
|
+
{
|
4
|
+
success: "alert-success",
|
5
|
+
error: "alert-error",
|
6
|
+
alert: "alert-danger",
|
7
|
+
notice: "alert-info"
|
8
|
+
}[flash_type.to_sym] || flash_type.to_s
|
9
|
+
end
|
10
|
+
|
11
|
+
def bootstrap_glyphs_icon(flash_type)
|
12
|
+
{
|
13
|
+
success: "glyphicon-ok",
|
14
|
+
error: "glyphicon-exclamation-sign",
|
15
|
+
alert: "glyphicon-warning-sign",
|
16
|
+
notice: "glyphicon-info-sign"
|
17
|
+
}[flash_type.to_sym] || 'glyphicon-screenshot'
|
18
|
+
end
|
19
|
+
|
20
|
+
def title(title)
|
21
|
+
content_for(:title) { title }
|
22
|
+
end
|
23
|
+
|
24
|
+
def meta_description(meta_description)
|
25
|
+
content_for(:meta_description) { meta_description }
|
26
|
+
end
|
27
|
+
|
28
|
+
def og_title(og_title)
|
29
|
+
content_for(:og_title) { og_title }
|
30
|
+
end
|
31
|
+
|
32
|
+
def og_description(og_description)
|
33
|
+
content_for(:og_description) { og_description }
|
34
|
+
end
|
35
|
+
|
36
|
+
def og_image(og_image)
|
37
|
+
content_for(:og_image) { og_image }
|
38
|
+
end
|
39
|
+
|
40
|
+
def bootstrap_class_for(flash_type)
|
41
|
+
case flash_type
|
42
|
+
when 'success'
|
43
|
+
'alert-success'
|
44
|
+
when 'error'
|
45
|
+
'alert-danger'
|
46
|
+
when 'alert'
|
47
|
+
'alert-warning'
|
48
|
+
when 'notice'
|
49
|
+
'alert-info'
|
50
|
+
else
|
51
|
+
flash_type.to_s
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
-# .container-fluid
|
2
|
+
-# .navbar-header
|
3
|
+
-# %button.navbar-toggle.collapsed{ type: 'button', data: { toggle: 'collapse', target: '#secondary-navigation' }, aria: {expanded: 'false', controls: 'navbar'} }
|
4
|
+
-# %span.sr-only= t('admin.toggle_navigation')
|
5
|
+
-# %span.icon-bar
|
6
|
+
-# %span.icon-bar
|
7
|
+
-# %span.icon-bar
|
8
|
+
-# - # Added support for app name setting (falling back if not existing to standard rails_admin behaviour)
|
9
|
+
-# %a.navbar-brand.pjax{href: dashboard_path}
|
10
|
+
-# = Settings.app_name rescue (_get_plugin_name[0] || 'Rails')
|
11
|
+
-# %small= _get_plugin_name[1] || 'Admin'
|
12
|
+
-# .navbar-collapse.collapse#secondary-navigation
|
13
|
+
-# = render partial: 'layouts/rails_admin/secondary_navigation'
|
@@ -0,0 +1,7 @@
|
|
1
|
+
- if _current_user
|
2
|
+
-# %ul.sidebar-nav
|
3
|
+
%li.dropdown-header=t :current_user
|
4
|
+
- if user_link = edit_user_link
|
5
|
+
%li.edit_user_root_link= link_to content_tag('i', "", class: 'fa fa-user', style: 'text-indent: 0') + _current_user.email, show_path(:user, _current_user.id)
|
6
|
+
- if logout_path.present?
|
7
|
+
%li=link_to content_tag('i', "", class: 'fa fa-unlink', style: 'text-indent: 0') + t('admin.misc.log_out'), logout_path, method: logout_method
|
@@ -0,0 +1,59 @@
|
|
1
|
+
!!! 5
|
2
|
+
%html{lang: I18n.locale}
|
3
|
+
%head
|
4
|
+
%meta{content: "IE=edge", "http-equiv" => "X-UA-Compatible"}
|
5
|
+
%meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
|
6
|
+
%meta{name: "viewport", content: "width=device-width, initial-scale=1"}
|
7
|
+
%meta{content: "NONE,NOARCHIVE", name: "robots"}
|
8
|
+
= csrf_meta_tag
|
9
|
+
%style{media: "screen"}
|
10
|
+
div#sidebar-wrapper div.sidebar-nav li.dropdown-header { padding-left: 0px }
|
11
|
+
div.sub-menu-container li.sub-menu a.pjax { padding-left: 0px }
|
12
|
+
div#wrapper div#sidebar-wrapper { overflow: hidden }
|
13
|
+
|
14
|
+
-# Getting all the assets needed by thecore_rails_admin from all the gems
|
15
|
+
= get_asset_tags_for("thecore_rails_admin")
|
16
|
+
|
17
|
+
= favicon_link_tag 'apple-touch-icon.png', rel: 'apple-touch-icon', sizes: "180x180"
|
18
|
+
= favicon_link_tag 'favicon-32x32.png', rel: 'icon', sizes: "32x32"
|
19
|
+
= favicon_link_tag 'favicon-16x16.png', rel: 'icon', sizes: "16x16"
|
20
|
+
= favicon_link_tag 'safari-pinned-tab.svg', rel: 'mask-icon', color: "#5bbad5"
|
21
|
+
%body.rails_admin
|
22
|
+
#admin-js{:'data-i18n-options' => I18n.t("admin.js").to_json}
|
23
|
+
-# Initialize JS simple i18n
|
24
|
+
:javascript
|
25
|
+
RailsAdmin.I18n.init('#{I18n.locale}', document.getElementById("admin-js").dataset.i18nOptions);
|
26
|
+
#loading.label.label-warning{style: 'display:none; position:fixed; right:20px; bottom:20px; z-index:100000'}= t('admin.loading')
|
27
|
+
-# %nav.navbar.navbar-default.navbar-fixed-top
|
28
|
+
-# = render "layouts/rails_admin/navigation"
|
29
|
+
#wrapper
|
30
|
+
#sidebar-wrapper
|
31
|
+
.sidebar-nav
|
32
|
+
= render "layouts/rails_admin/secondary_navigation"
|
33
|
+
= render "layouts/rails_admin/sidebar_navigation"
|
34
|
+
= render "layouts/rails_admin/user_navigation"
|
35
|
+
#page-content-wrapper
|
36
|
+
.container-fluid
|
37
|
+
.row
|
38
|
+
.col-lg-12
|
39
|
+
%button#sidebar-collapse{href: "#menu-toggle"}
|
40
|
+
%i.fa.fa-bars.fa-2x
|
41
|
+
-# %a#app-name.pjax{href: dashboard_path}
|
42
|
+
%span#app-name
|
43
|
+
= Settings.app_name rescue "Thecore"
|
44
|
+
.content{:'data-pjax-container' => true}
|
45
|
+
= render template: 'layouts/rails_admin/pjax'
|
46
|
+
= render "rails_admin/main/modal_interaction"
|
47
|
+
-# -# Initialize JS simple i18n
|
48
|
+
-# :javascript
|
49
|
+
-# RailsAdmin.I18n.init('#{I18n.locale}', JSON.parse("#{j I18n.t("admin.js").to_json}"))
|
50
|
+
-# %body.rails_admin
|
51
|
+
-# #loading.label.label-warning{style: 'display:none; position:fixed; right:20px; bottom:20px; z-index:100000'}= t('admin.loading')
|
52
|
+
-# %nav.navbar.navbar-default.navbar-fixed-top
|
53
|
+
-# = render "layouts/rails_admin/navigation"
|
54
|
+
-# .container-fluid
|
55
|
+
-# .row
|
56
|
+
-# .col-sm-3.col-md-2.sidebar-nav
|
57
|
+
-# = render "layouts/rails_admin/sidebar_navigation"
|
58
|
+
-# .col-sm-9.col-sm-offset-3.col-md-10.col-md-offset-2
|
59
|
+
-# .content{:'data-pjax-container' => true}= render template: 'layouts/rails_admin/pjax'
|
@@ -0,0 +1,25 @@
|
|
1
|
+
:javascript
|
2
|
+
$('.nav.nav-pills li.active').removeClass('active');
|
3
|
+
$('.nav.nav-pills li[data-model="#{@abstract_model.to_param}"]').addClass('active');
|
4
|
+
$(window).off('keydown');
|
5
|
+
|
6
|
+
- # Integration of the rails_admin_settings gem, if not available, it rescues to the normal naming
|
7
|
+
%title= "#{(@abstract_model.try(:pretty_name) || @page_name)} | #{Settings.app_name rescue ([_get_plugin_name[0] || 'Rails', _get_plugin_name[1] || 'Admin'].join(' '))}"
|
8
|
+
.page-header
|
9
|
+
%h1= @page_name
|
10
|
+
- flash && flash.each do |key, value|
|
11
|
+
.alert.alert-dismissible{class: flash_alert_class(key)}
|
12
|
+
%button.close{type: 'button', :'data-dismiss' => "alert"} ×
|
13
|
+
= value
|
14
|
+
- # if it's and abstract model, then is not a root model for sure (like the dashboard)
|
15
|
+
- # these actions (root ones) are the actions listed at the same level as the dashboard (not related to a model)
|
16
|
+
- if @abstract_model
|
17
|
+
= breadcrumb
|
18
|
+
.well.well-sm
|
19
|
+
%ul.nav.nav-pills
|
20
|
+
= menu_for((@abstract_model ? (@object.try(:persisted?) ? :member : :collection) : :root), @abstract_model, @object)
|
21
|
+
= content_for :contextual_tabs
|
22
|
+
.well.well-sm
|
23
|
+
= yield
|
24
|
+
- else
|
25
|
+
= yield
|
@@ -0,0 +1,17 @@
|
|
1
|
+
%div.panel.panel-success
|
2
|
+
%div.panel-heading
|
3
|
+
%ul.inline.list-inline.pull-right
|
4
|
+
= menu_for :member, @abstract_model, object, true
|
5
|
+
%h4.panel-title
|
6
|
+
= check_box_tag "bulk_ids[]", object.id, false, id: "bulk_ids_#{object.id}"
|
7
|
+
%a{:"data-toggle" => "collapse", href: "#object-id-#{object.id}"}
|
8
|
+
= (object.resume rescue false || object.display_name rescue false || object.title rescue false || object.name rescue false || object.code rescue false)
|
9
|
+
%div{id: "object-id-#{object.id}", class: "panel-collapse collapse"}
|
10
|
+
%div.panel-body
|
11
|
+
- properties.map{ |property| property.bind(:object, object) }.each do |property|
|
12
|
+
- key = capitalize_first_letter(property.label)
|
13
|
+
- value = property.pretty_value
|
14
|
+
%p.card-text{class: "#{property.css_class} #{property.type_css_class}", title: strip_tags(value.to_s)}
|
15
|
+
%strong
|
16
|
+
= key + ":"
|
17
|
+
= value
|
@@ -0,0 +1,53 @@
|
|
1
|
+
<div id="modal-interaction" class="modal fade" tabindex="-1" role="dialog">
|
2
|
+
<div class="modal-dialog" role="document">
|
3
|
+
<div class="modal-content">
|
4
|
+
<div class="modal-header">
|
5
|
+
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
6
|
+
<span aria-hidden="true">×</span>
|
7
|
+
</button>
|
8
|
+
<h4 class="modal-title" id="modal-interaction-label"> </h4>
|
9
|
+
</div>
|
10
|
+
<div class="modal-body" id="modal-interaction-body">
|
11
|
+
|
12
|
+
</div>
|
13
|
+
<div class="modal-footer" id="modal-interaction-footer">
|
14
|
+
<button type="button" class="btn btn-default" data-dismiss="modal" id="modal-interaction-secondary"> </button>
|
15
|
+
<button type="button" class="btn btn-primary" id="modal-interaction-primary"> </button>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<!-- /.modal-content -->
|
19
|
+
</div>
|
20
|
+
<!-- /.modal-dialog -->
|
21
|
+
</div>
|
22
|
+
<!-- /.modal -->
|
23
|
+
|
24
|
+
<script>
|
25
|
+
function openModal(title, message, buttonPrimary, buttonSecondary) {
|
26
|
+
$('#modal-interaction-label').html(title);
|
27
|
+
$('#modal-interaction-body').html(message);
|
28
|
+
if (buttonPrimary != null) {
|
29
|
+
$('#modal-interaction-primary').html(buttonPrimary.lbl);
|
30
|
+
$('#modal-interaction-primary').on('click', buttonPrimary.func);
|
31
|
+
$('#modal-interaction-primary').show();
|
32
|
+
}
|
33
|
+
if (buttonSecondary != null) {
|
34
|
+
$('#modal-interaction-secondary').html(buttonSecondary.lbl);
|
35
|
+
$('#modal-interaction-secondary').on('click', buttonSecondary.func);
|
36
|
+
$('#modal-interaction-secondary').show();
|
37
|
+
}
|
38
|
+
(buttonPrimary != null || buttonSecondary != null) ? $("#modal-interaction-footer").show() : $("#modal-interaction-footer").hide();
|
39
|
+
$('#modal-interaction').modal('show');
|
40
|
+
}
|
41
|
+
function closeModal() {
|
42
|
+
$('#modal-interaction').modal('hide');
|
43
|
+
$('#modal-interaction-label').html(" ");
|
44
|
+
$('#modal-interaction-body').html(" ");
|
45
|
+
$('#modal-interaction-primary').html(" ");
|
46
|
+
$('#modal-interaction-secondary').html(" ");
|
47
|
+
$('#modal-interaction-primary').hide();
|
48
|
+
$('#modal-interaction-secondary').hide();
|
49
|
+
$("#modal-interaction-footer").hide();
|
50
|
+
$('#modal-interaction-primary').off();
|
51
|
+
$('#modal-interaction-secondary').off();
|
52
|
+
}
|
53
|
+
</script>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
= breadcrumb
|
2
|
+
- charts_high = []
|
3
|
+
- charts_medium = []
|
4
|
+
- self.methods.each do |m|
|
5
|
+
- charts_high << m if m.start_with? "charts_high_"
|
6
|
+
- charts_medium << m if m.start_with? "charts_medium_"
|
7
|
+
|
8
|
+
- charts_high.in_groups_of(2, false).each_with_index do |group, i|
|
9
|
+
.row
|
10
|
+
- group.each do |item|
|
11
|
+
.col-sm-6
|
12
|
+
.box.bg.bg-clear= self.send(item)
|
13
|
+
|
14
|
+
- charts_medium.in_groups_of(3, false).each_with_index do |group, i|
|
15
|
+
.row
|
16
|
+
- group.each do |item|
|
17
|
+
.col-sm-4
|
18
|
+
.box.bg.bg-clear= self.send(item)
|
19
|
+
|
20
|
+
- @list_bg = ['info', 'success', 'danger', 'success', 'info', 'warning', 'danger', 'info', 'success']
|
21
|
+
- if @abstract_models
|
22
|
+
.row
|
23
|
+
- index = 0
|
24
|
+
- @abstract_models.each do |abstract_model|
|
25
|
+
- index_path = index_path(model_name: abstract_model.to_param)
|
26
|
+
- if authorized?(:index, abstract_model) && !index_path.include?("ckeditor")
|
27
|
+
- if index == @list_bg.length
|
28
|
+
- index = 0
|
29
|
+
- row_class = "box bg-#{ @list_bg[index].to_s } #{"link" if index_path} #{abstract_model.param_key}_links #{abstract_model.config.label_plural}"
|
30
|
+
.col-sm-4
|
31
|
+
.box{class: row_class, :"data-link" => index_path}
|
32
|
+
%i{class: "icon-bg #{abstract_model.config.navigation_icon.present? ? abstract_model.config.navigation_icon : 'file' }"}
|
33
|
+
.text-center
|
34
|
+
%p= capitalize_first_letter(abstract_model.config.label_plural)
|
35
|
+
%strong= @count[abstract_model.model.name].to_s
|
36
|
+
%p= link_to content_tag("i", "", class: "fa fa-list-ul"), index_path, class: 'btn btn-black pjax'
|
37
|
+
- index += 1
|
38
|
+
|
39
|
+
- if @auditing_adapter && authorized?(:history_index)
|
40
|
+
#block-tables.block
|
41
|
+
.content
|
42
|
+
%h2= t("admin.actions.history_index.menu")
|
43
|
+
= render partial: 'rails_admin/main/dashboard_history'
|