keppler 2.0.2 → 2.0.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.
- checksums.yaml +5 -5
- data/.gitignore +8 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile.lock +26 -0
- data/LICENSE.txt +21 -0
- data/README.md +93 -22
- data/Rakefile +6 -0
- data/bin/keppler +6 -2
- data/bin/setup +2 -1
- data/exe/keppler +6 -0
- data/installer/core/.gitignore +87 -0
- data/installer/core/.ruby-version +1 -0
- data/installer/core/Gemfile +6 -4
- data/installer/core/README.md +86 -50
- data/installer/core/app/assets/images/.keep +0 -0
- data/installer/core/app/assets/images/admin/astronauta_keppler.svg +123 -0
- data/installer/core/app/assets/images/admin/avatar_keppler.svg +100 -0
- data/installer/core/app/assets/images/admin/image_default.png +0 -0
- data/installer/core/app/assets/images/app/fondo.svg +19 -0
- data/installer/core/app/assets/javascripts/admin/file_upload.coffee +11 -0
- data/installer/core/app/assets/javascripts/admin/main.coffee +23 -12
- data/installer/core/app/assets/javascripts/admin/preview_template.js +2 -2
- data/installer/core/app/assets/javascripts/admin/sidebar.js +8 -7
- data/installer/core/app/assets/javascripts/admin/swal.js +37 -0
- data/installer/core/app/assets/javascripts/admin/switch.js +6 -0
- data/installer/core/app/assets/javascripts/admin/tooltips.coffee +3 -0
- data/installer/core/app/assets/javascripts/errors/application.js.coffee +1 -0
- data/installer/core/app/assets/javascripts/errors/errors.js +113 -0
- data/installer/core/app/assets/javascripts/keppler_ga_dashboard/view-selector2.js +1 -1
- data/installer/core/app/assets/javascripts/vue_admin/index.js +34 -9
- data/installer/core/app/assets/stylesheets/admin/application.scss +4 -14
- data/installer/core/app/assets/stylesheets/admin/components/navigation/_navbar.scss +4 -5
- data/installer/core/app/assets/stylesheets/admin/components/navigation/_sidebar.scss +26 -17
- data/installer/core/app/assets/stylesheets/admin/pages/_appearance.scss +5 -0
- data/installer/core/app/assets/stylesheets/admin/pages/_customize.scss +21 -0
- data/installer/core/app/assets/stylesheets/admin/pages/_datepicker.scss +1088 -0
- data/installer/core/app/assets/stylesheets/admin/pages/_files.scss +26 -9
- data/installer/core/app/assets/stylesheets/admin/pages/_form.scss +19 -6
- data/installer/core/app/assets/stylesheets/admin/pages/_index.scss +4 -8
- data/installer/core/app/assets/stylesheets/admin/pages/_listing.scss +5 -0
- data/installer/core/app/assets/stylesheets/admin/pages/_navbar.scss +9 -2
- data/installer/core/app/assets/stylesheets/admin/pages/_roles.scss +6 -0
- data/installer/core/app/assets/stylesheets/admin/pages/_search.scss +24 -28
- data/installer/core/app/assets/stylesheets/admin/pages/_sidebar.scss +1 -1
- data/installer/core/app/assets/stylesheets/admin/pages/_switchs.scss +135 -39
- data/installer/core/app/assets/stylesheets/admin/pages/_timepicker.scss +16 -0
- data/installer/core/app/assets/stylesheets/admin/pages/_user.scss +6 -0
- data/installer/core/app/assets/stylesheets/admin/utils/_base.scss +6 -1
- data/installer/core/app/assets/stylesheets/admin/utils/_theme.scss +24 -11
- data/installer/core/app/assets/stylesheets/admin/utils/_variables.scss +1 -1
- data/installer/core/app/assets/stylesheets/app/pages/_front.sass +70 -56
- data/installer/core/app/assets/stylesheets/errors/errors.scss +161 -120
- data/installer/core/app/assets/stylesheets/vendor/admin-lte/_skin-blue.scss +1 -1
- data/installer/core/app/controllers/admin/admin_controller.rb +1 -1
- data/installer/core/app/controllers/admin/customizes_controller.rb +6 -8
- data/installer/core/app/controllers/admin/meta_tags_controller.rb +14 -18
- data/installer/core/app/controllers/admin/roles_controller.rb +176 -0
- data/installer/core/app/controllers/admin/scripts_controller.rb +14 -33
- data/installer/core/app/controllers/admin/settings_controller.rb +26 -27
- data/installer/core/app/controllers/admin/users_controller.rb +35 -29
- data/installer/core/app/controllers/app/app_controller.rb +27 -4
- data/installer/core/app/controllers/application_controller.rb +39 -1
- data/installer/core/app/controllers/concerns/.keep +0 -0
- data/installer/core/app/helpers/admin_helper.rb +5 -0
- data/installer/core/app/helpers/application_helper.rb +9 -0
- data/installer/core/app/helpers/roles_helper.rb +2 -0
- data/installer/core/app/inputs/file_material_input.rb +4 -2
- data/installer/core/app/inputs/keppler_boolean_input.rb +74 -0
- data/installer/core/app/inputs/keppler_file_input.rb +70 -0
- data/installer/core/app/mailers/.keep +0 -0
- data/installer/core/app/mailers/application_mailer.rb +13 -13
- data/installer/core/app/models/.keep +0 -0
- data/installer/core/app/models/appearance.rb +2 -0
- data/installer/core/app/models/application_record.rb +3 -0
- data/installer/core/app/models/concerns/.keep +0 -0
- data/installer/core/app/models/concerns/downloadable.rb +13 -0
- data/installer/core/app/models/concerns/sortable.rb +9 -0
- data/installer/core/app/models/concerns/uploadable.rb +10 -0
- data/installer/core/app/models/customize.rb +8 -6
- data/installer/core/app/models/front.rb +3 -0
- data/installer/core/app/models/google_analytics_setting.rb +2 -0
- data/installer/core/app/models/meta_tag.rb +27 -14
- data/installer/core/app/models/permission.rb +3 -0
- data/installer/core/app/models/role.rb +62 -5
- data/installer/core/app/models/script.rb +6 -15
- data/installer/core/app/models/setting.rb +2 -0
- data/installer/core/app/models/smtp_setting.rb +2 -0
- data/installer/core/app/models/social_account.rb +2 -0
- data/installer/core/app/models/user.rb +17 -1
- data/installer/core/app/policies/application_policy.rb +4 -4
- data/installer/core/app/policies/controller_policy.rb +15 -11
- data/installer/core/app/policies/role_policy.rb +25 -0
- data/installer/core/app/policies/user_policy.rb +1 -1
- data/installer/core/app/uploaders/attachment_uploader.rb +18 -1
- data/installer/core/app/views/admin/customizes/_description.html.haml +4 -4
- data/installer/core/app/views/admin/customizes/_form.html.haml +4 -4
- data/installer/core/app/views/admin/customizes/_listing.html.haml +1 -1
- data/installer/core/app/views/admin/customizes/_switch_default_template.html.haml +8 -13
- data/installer/core/app/views/admin/customizes/_switch_template.html.haml +8 -11
- data/installer/core/app/views/admin/customizes/index.html.haml +9 -9
- data/installer/core/app/views/admin/layouts/_head.html.haml +3 -3
- data/installer/core/app/views/admin/layouts/_keppler_boolean_script.haml +12 -0
- data/installer/core/app/views/admin/layouts/_navigation.html.haml +17 -16
- data/installer/core/app/views/admin/layouts/_sidebar.html.haml +27 -36
- data/installer/core/app/views/admin/layouts/application.html.haml +1 -0
- data/installer/core/app/views/admin/layouts/index/remote_messages.js.haml +6 -6
- data/installer/core/app/views/admin/meta_tags/_index_show.html.haml +2 -2
- data/installer/core/app/views/admin/meta_tags/_listing.html.haml +6 -6
- data/installer/core/app/views/admin/meta_tags/index.html.haml +15 -29
- data/installer/core/app/views/admin/meta_tags/show.html.haml +7 -8
- data/installer/core/app/views/admin/roles/_description.html.haml +13 -0
- data/installer/core/app/views/admin/roles/_form.html.haml +27 -0
- data/installer/core/app/views/admin/roles/_index_show.html.haml +24 -0
- data/installer/core/app/views/admin/roles/_listing.html.haml +46 -0
- data/installer/core/app/views/admin/roles/_switch.html.haml +20 -0
- data/installer/core/app/views/admin/roles/add_permissions.html.haml +60 -0
- data/installer/core/app/views/admin/roles/create_permissions.html.haml +0 -0
- data/installer/core/app/views/admin/roles/create_permissions.js.erb +1 -0
- data/installer/core/app/views/admin/roles/edit.html.haml +1 -0
- data/installer/core/app/views/admin/roles/index.html.haml +80 -0
- data/installer/core/app/views/admin/roles/new.html.haml +1 -0
- data/installer/core/app/views/admin/roles/reload.js.haml +5 -0
- data/installer/core/app/views/admin/roles/show.html.haml +32 -0
- data/installer/core/app/views/admin/roles/show.js.haml +4 -0
- data/installer/core/app/views/admin/roles/show_description.js.erb +2 -0
- data/installer/core/app/views/admin/scripts/_index_show.html.haml +2 -2
- data/installer/core/app/views/admin/scripts/_listing.html.haml +13 -13
- data/installer/core/app/views/admin/scripts/index.html.haml +12 -26
- data/installer/core/app/views/admin/scripts/show.html.haml +4 -4
- data/installer/core/app/views/admin/settings/components/_preview.html.haml +1 -1
- data/installer/core/app/views/admin/settings/fields/_appearance.html.haml +25 -17
- data/installer/core/app/views/admin/settings/fields/_basic_information.html.haml +13 -7
- data/installer/core/app/views/admin/settings/fields/_email_setting.html.haml +16 -16
- data/installer/core/app/views/admin/settings/fields/_google_analytics_setting.html.haml +1 -1
- data/installer/core/app/views/admin/settings/fields/_social_accounts.html.haml +39 -39
- data/installer/core/app/views/admin/users/_form.html.haml +18 -25
- data/installer/core/app/views/admin/users/_index_show.html.haml +2 -2
- data/installer/core/app/views/admin/users/_listing.html.haml +6 -6
- data/installer/core/app/views/admin/users/delete_avatar.js.haml +3 -0
- data/installer/core/app/views/admin/users/filter_by_role.js.erb +9 -0
- data/installer/core/app/views/admin/users/index.html.haml +22 -22
- data/installer/core/app/views/admin/users/show.html.haml +10 -12
- data/installer/core/app/views/app/front/index.html.haml +137 -87
- data/installer/core/app/views/app/layouts/_footer.html.haml +2 -2
- data/installer/core/app/views/app/layouts/_head.html.haml +4 -12
- data/installer/core/app/views/app/layouts/_meta_tags.html.haml +38 -6
- data/installer/core/app/views/app/layouts/application.html.haml +8 -8
- data/installer/core/app/views/devise/sessions/new.html.haml +32 -28
- data/installer/core/app/views/errors/internal_server_error.html.haml +50 -7
- data/installer/core/app/views/errors/not_authorized.html.haml +75 -6
- data/installer/core/app/views/errors/not_found.html.haml +101 -7
- data/installer/core/app/views/errors/unprocessable.html.haml +50 -7
- data/installer/core/bin/update +31 -0
- data/installer/core/bin/yarn +11 -0
- data/installer/core/config/application.rb +1 -1
- data/installer/core/config/environments/production.rb +1 -1
- data/installer/core/config/initializers/carrierwave.rb +12 -0
- data/installer/core/config/initializers/mime_types.rb +2 -2
- data/installer/core/config/initializers/simple_form_bootstrap.rb +20 -1
- data/installer/core/config/initializers/simple_form_components.rb +61 -0
- data/installer/core/config/locales/en.yml +29 -6
- data/installer/core/config/locales/es.yml +32 -5
- data/installer/core/config/locales/simple_form.en.yml +1 -0
- data/installer/core/config/locales/simple_form.es.yml +3 -2
- data/installer/core/config/menu.yml +34 -8
- data/installer/core/config/permissions.yml +21 -0
- data/installer/core/config/routes.rb +56 -14
- data/installer/core/db/migrate/20140812210925_rolify_create_roles.rb +2 -0
- data/installer/core/db/migrate/20160128131802_create_scripts.rb +1 -0
- data/installer/core/db/migrate/20180503174351_create_permissions.rb +11 -0
- data/installer/core/db/seeds.rb +12 -6
- data/installer/core/lib/generators/keppler_front/templates/views/template.html.haml +222 -177
- data/installer/core/lib/generators/keppler_relation/keppler_relation_generator.rb +1 -1
- data/installer/core/lib/generators/keppler_scaffold/keppler_scaffold_generator.rb +57 -40
- data/installer/core/lib/generators/keppler_scaffold/templates/controllers/controller.rb +29 -30
- data/installer/core/lib/generators/keppler_scaffold/templates/models/model.rb +14 -20
- data/installer/core/lib/generators/keppler_scaffold/templates/views/_form.html.haml +24 -35
- data/installer/core/lib/generators/keppler_scaffold/templates/views/_index_show.html.haml +12 -11
- data/installer/core/lib/generators/keppler_scaffold/templates/views/_listing.html.haml +7 -7
- data/installer/core/lib/generators/keppler_scaffold/templates/views/index.html.haml +17 -33
- data/installer/core/lib/generators/keppler_scaffold/templates/views/show.html.haml +23 -24
- data/installer/core/plugins/keppler_ga_dashboard/app/assets/images/keppler_ga_dashboard/.keep +0 -0
- data/installer/core/plugins/keppler_ga_dashboard/config/permissions.yml +4 -0
- data/installer/core/plugins/keppler_ga_dashboard/keppler_ga_dashboard.gemspec +1 -1
- data/installer/core/test/controllers/.keep +0 -0
- data/installer/core/test/controllers/roles_controller_test.rb +48 -0
- data/installer/core/test/fixtures/.keep +0 -0
- data/installer/core/test/fixtures/permissions.yml +9 -0
- data/installer/core/test/helpers/.keep +0 -0
- data/installer/core/test/integration/.keep +0 -0
- data/installer/core/test/mailers/.keep +0 -0
- data/installer/core/test/models/.keep +0 -0
- data/installer/core/test/models/permission_test.rb +7 -0
- data/installer/core/test/system/roles_test.rb +43 -0
- data/installer/core/vendor/assets/javascripts/.keep +0 -0
- data/installer/core/vendor/assets/stylesheets/.keep +0 -0
- data/installer/plugins/concerns/commons.rb +47 -0
- data/installer/plugins/concerns/destroy_multiple.rb +33 -0
- data/installer/plugins/concerns/history.rb +24 -0
- data/installer/plugins/config/locales/en.yml +104 -0
- data/installer/plugins/config/locales/es.yml +139 -0
- data/installer/plugins/config/menu.yml +12 -0
- data/installer/plugins/config/permissions.yml +1 -0
- data/installer/plugins/generators/keppler_scaffold/keppler_scaffold_generator.rb +203 -0
- data/installer/plugins/generators/keppler_scaffold/templates/controllers/controller.rb +171 -0
- data/installer/plugins/generators/keppler_scaffold/templates/models/model.rb +41 -0
- data/installer/plugins/generators/keppler_scaffold/templates/policies/policy.rb +11 -0
- data/installer/plugins/generators/keppler_scaffold/templates/views/_description.html.haml +13 -0
- data/installer/plugins/generators/keppler_scaffold/templates/views/_form.html.haml +49 -0
- data/installer/plugins/generators/keppler_scaffold/templates/views/_index_show.html.haml +26 -0
- data/installer/plugins/generators/keppler_scaffold/templates/views/_listing.html.haml +65 -0
- data/installer/plugins/generators/keppler_scaffold/templates/views/edit.html.haml +1 -0
- data/installer/plugins/generators/keppler_scaffold/templates/views/index.html.haml +97 -0
- data/installer/plugins/generators/keppler_scaffold/templates/views/new.html.haml +1 -0
- data/installer/plugins/generators/keppler_scaffold/templates/views/reload.js.haml +5 -0
- data/installer/plugins/generators/keppler_scaffold/templates/views/show.html.haml +66 -0
- data/installer/plugins/generators/keppler_scaffold/templates/views/show.js.haml +4 -0
- data/installer/plugins/install.rb +156 -0
- data/installer/plugins/layouts/_navigation.html.haml +47 -0
- data/installer/plugins/layouts/application.html.haml +24 -0
- data/keppler.gemspec +35 -0
- data/lib/keppler.rb +0 -1
- data/lib/keppler/add.rb +13 -0
- data/lib/keppler/cli.rb +134 -5
- data/lib/keppler/delete.rb +13 -0
- data/lib/keppler/version.rb +1 -1
- metadata +117 -23
- data/installer/core/app/assets/images/admin/space.png +0 -0
- data/installer/core/app/assets/stylesheets/admin/pages/_header.scss +0 -34
- data/installer/core/app/assets/stylesheets/admin/pages/_pageslide.scss +0 -125
- data/installer/core/db/schema.rb +0 -172
- data/installer/lib/conf.rb +0 -31
- data/installer/lib/scaffold.rb +0 -10
- data/installer/run.sh +0 -17
- data/installer/scripts/bin.sh +0 -61
- data/lib/keppler/cli/generate.rb +0 -19
@@ -8,31 +8,31 @@ class ControllerPolicy < ApplicationPolicy
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def index?
|
11
|
-
|
11
|
+
keppler_admin? || user_can?(@objects, 'index')
|
12
12
|
end
|
13
13
|
|
14
14
|
def new?
|
15
|
-
create?
|
15
|
+
create? || user_can?(@objects, 'create')
|
16
16
|
end
|
17
17
|
|
18
18
|
def create?
|
19
|
-
keppler_admin? ||
|
19
|
+
keppler_admin? || user_can?(@objects, 'create')
|
20
20
|
end
|
21
21
|
|
22
22
|
def edit?
|
23
|
-
update?
|
23
|
+
update? || user_can?(@objects, 'update')
|
24
24
|
end
|
25
25
|
|
26
26
|
def update?
|
27
|
-
keppler_admin? ||
|
27
|
+
keppler_admin? || user_can?(@objects, 'update')
|
28
28
|
end
|
29
29
|
|
30
30
|
def clone?
|
31
|
-
keppler_admin? ||
|
31
|
+
keppler_admin? || user_can?(@objects, 'clone')
|
32
32
|
end
|
33
33
|
|
34
34
|
def show?
|
35
|
-
|
35
|
+
keppler_admin? || user_can?(@objects, 'index')
|
36
36
|
end
|
37
37
|
|
38
38
|
def destroy_multiple?
|
@@ -40,14 +40,18 @@ class ControllerPolicy < ApplicationPolicy
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def destroy?
|
43
|
-
keppler_admin? ||
|
43
|
+
keppler_admin? || user_can?(@objects, 'destroy')
|
44
44
|
end
|
45
45
|
|
46
|
-
def
|
47
|
-
keppler_admin? ||
|
46
|
+
def upload?
|
47
|
+
keppler_admin? || user_can?(@objects, 'upload')
|
48
48
|
end
|
49
49
|
|
50
50
|
def download?
|
51
|
-
keppler_admin? ||
|
51
|
+
keppler_admin? || user_can?(@objects, 'download')
|
52
|
+
end
|
53
|
+
|
54
|
+
def sort?
|
55
|
+
keppler_admin? || user_can?(@objects, 'sort')
|
52
56
|
end
|
53
57
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Policy for Role model
|
2
|
+
class RolePolicy < ControllerPolicy
|
3
|
+
attr_reader :user, :objects
|
4
|
+
|
5
|
+
def initialize(user, objects)
|
6
|
+
@user = user
|
7
|
+
@objects = objects
|
8
|
+
end
|
9
|
+
|
10
|
+
def clone?
|
11
|
+
false
|
12
|
+
end
|
13
|
+
|
14
|
+
def add_permissions?
|
15
|
+
keppler_admin? || user_can?(@objects, 'add_permissions')
|
16
|
+
end
|
17
|
+
|
18
|
+
def create_permissions?
|
19
|
+
keppler_admin? || user_can?(@objects, 'create_permissions')
|
20
|
+
end
|
21
|
+
|
22
|
+
def show_description?
|
23
|
+
keppler_admin? || user_can?(@objects, 'create_permissions')
|
24
|
+
end
|
25
|
+
end
|
@@ -3,12 +3,16 @@
|
|
3
3
|
# AttachmentUploader Carrierwave
|
4
4
|
class AttachmentUploader < CarrierWave::Uploader::Base
|
5
5
|
# Include RMagick or MiniMagick support:
|
6
|
-
|
6
|
+
include CarrierWave::RMagick
|
7
|
+
include CarrierWave::ImageOptimizer
|
8
|
+
|
7
9
|
# include CarrierWave::MiniMagick
|
8
10
|
|
9
11
|
# Choose what kind of storage to use for this uploader:
|
10
12
|
storage :file
|
11
13
|
# storage :fog
|
14
|
+
process :optimize
|
15
|
+
process quality: 100
|
12
16
|
|
13
17
|
# Override the directory where uploaded files will be stored.
|
14
18
|
# This is a sensible default for uploaders that are meant to be mounted:
|
@@ -16,6 +20,13 @@ class AttachmentUploader < CarrierWave::Uploader::Base
|
|
16
20
|
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
17
21
|
end
|
18
22
|
|
23
|
+
def size_range
|
24
|
+
return_size_type(file.content_type)
|
25
|
+
end
|
26
|
+
|
27
|
+
version :thumb do
|
28
|
+
process resize_to_fit: [200, 200]
|
29
|
+
end
|
19
30
|
# Provide a default URL as a default if there hasn't been a file uploaded:
|
20
31
|
|
21
32
|
# Process files as they are uploaded:
|
@@ -41,4 +52,10 @@ class AttachmentUploader < CarrierWave::Uploader::Base
|
|
41
52
|
# def filename
|
42
53
|
# "something.jpg" if original_filename
|
43
54
|
# end
|
55
|
+
private
|
56
|
+
|
57
|
+
def return_size_type(file)
|
58
|
+
return 0..1.megabytes if file.include?('image')
|
59
|
+
0..5.megabytes
|
60
|
+
end
|
44
61
|
end
|
@@ -1,13 +1,13 @@
|
|
1
1
|
%aside.control-sidebar.control-sidebar-light
|
2
2
|
.tab-content
|
3
3
|
%p.control-sidebar-heading
|
4
|
-
= @activities.empty? ? t('keppler.messages.no_events') : t(
|
4
|
+
= @activities.empty? ? t('keppler.messages.no_events') : t('keppler.titles.history')
|
5
5
|
%ul.timeline
|
6
6
|
- @activities.each do |activity|
|
7
|
-
- if activity.trackable_type.eql?
|
7
|
+
- if activity.trackable_type.eql? 'Session'
|
8
8
|
%li
|
9
|
-
= render partial: "public_activity/session/#{activity.key.split(
|
9
|
+
= render partial: "public_activity/session/#{activity.key.split('.').second}", locals: { activity: activity, method: 'name' }
|
10
10
|
- else
|
11
11
|
%li
|
12
|
-
= render partial: "public_activity/layout/#{activity.key.split(
|
12
|
+
= render partial: "public_activity/layout/#{activity.key.split('.').second}", locals: { activity: activity, method: 'name' }
|
13
13
|
.control-sidebar-bg
|
@@ -2,7 +2,7 @@
|
|
2
2
|
.container
|
3
3
|
.row
|
4
4
|
.col-lg-2
|
5
|
-
= link_to admin_customizes_path,
|
5
|
+
= link_to admin_customizes_path, 'data-position' => 'bottom', 'data-tooltip' => t('keppler.actions.back') do
|
6
6
|
.arrow-back.btn.btn-default
|
7
7
|
%i.fa.fa-angle-left
|
8
8
|
= t('keppler.actions.back')
|
@@ -23,11 +23,11 @@
|
|
23
23
|
.row
|
24
24
|
.col-md-12
|
25
25
|
.form-group.files
|
26
|
-
%input{type:
|
26
|
+
%input{ type: 'hidden', name: 'customize[file]' }
|
27
27
|
= f.input :file, label: false
|
28
28
|
|
29
29
|
.row
|
30
30
|
.col-lg-12
|
31
31
|
.pull-right
|
32
|
-
= f.button :submit, t(
|
33
|
-
= f.button :submit, t(
|
32
|
+
= f.button :submit, t('keppler.actions.save'), name: '_save', class: 'btn-primary'
|
33
|
+
= f.button :submit, t('keppler.actions.save_and_add_another'), name: '_add_other'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
%tr{id: "row-#{customize.id}"}
|
2
2
|
%td.item-check{style:"width: 5%"}
|
3
|
-
- if
|
3
|
+
- if can?(Customize).destroy?
|
4
4
|
- if !customize.id.eql?(1) && !customize.installed
|
5
5
|
= link_to admin_customize_path(customize), method: :delete do
|
6
6
|
%i.icon-trash.icon-delete
|
@@ -1,16 +1,11 @@
|
|
1
1
|
= simple_form_for customize, url: admin_customize_install_default_path(customize), method: :post do |f|
|
2
2
|
- if customize.installed == false
|
3
|
-
%label
|
4
|
-
%
|
5
|
-
|
6
|
-
|
7
|
-
%input#default_switch{:name => "customize[installed]", type: "checkbox", value: "true"}/
|
8
|
-
%label.label-default{:for => "default_switch", onclick: "$('#edit_customize_#{customize.id}').submit(); $('#spinner').css('display', 'block')"}
|
9
|
-
|
3
|
+
%label.switch.pull-right
|
4
|
+
%input{ name: 'customize[installed]', type: 'hidden', value: 'true' }
|
5
|
+
%input#default_switch{ name: 'customize[installed]', type: 'checkbox', value: 'true'}
|
6
|
+
%span.slider.round{onclick: "$('#edit_customize_#{customize.id}').submit(); $('#spinner').css('display', 'block')"}
|
10
7
|
- else
|
11
|
-
%label
|
12
|
-
%
|
13
|
-
.
|
14
|
-
|
15
|
-
%input#default_switch{:name => "customize[installed]", type: "checkbox", value: "false", checked: "checked"}/
|
16
|
-
%label.label-default{:for => "default_switch", onclick: "$('#edit_customize_#{customize.id}').submit(); $('#spinner').css('display', 'block')"}
|
8
|
+
%label.switch.pull-right
|
9
|
+
%input{ name: 'customize[installed]', type: 'hidden', value: 'false' }
|
10
|
+
%input.active#default_switch{ name: 'customize[installed]', type: 'checkbox', value: 'false', checked: "checked"}
|
11
|
+
%span.slider.round{onclick: "$('#edit_customize_#{customize.id}').submit(); $('#spinner').css('display', 'block')"}
|
@@ -2,18 +2,15 @@
|
|
2
2
|
= simple_form_for [:admin, customize] do |f|
|
3
3
|
%label
|
4
4
|
- if customize.installed == false
|
5
|
-
%
|
6
|
-
|
7
|
-
%input{name:
|
8
|
-
%
|
9
|
-
%label.label-default{:for => "default_switch", onclick: "installTemplate(#{customize.id})"}
|
10
|
-
|
5
|
+
%label.switch.pull-right
|
6
|
+
%input{ name: 'customize[installed]', type: 'hidden', value: 'true' }
|
7
|
+
%input#default_switch{ name: 'customize[installed]', type: 'checkbox', value: 'true'}
|
8
|
+
%span.slider.round{onclick: "installTemplate(#{customize.id})"}
|
11
9
|
- else
|
12
|
-
%
|
13
|
-
|
14
|
-
%input{name:
|
15
|
-
%
|
16
|
-
%label.label-default{:for => "default_switch", onclick: "installTemplate(#{customize.id})"}
|
10
|
+
%label.switch.pull-right
|
11
|
+
%input{ name: 'customize[installed]', type: 'hidden', value: 'false' }
|
12
|
+
%input.active#default_switch{ name: 'customize[installed]', type: 'checkbox', value: 'false', checked: 'checked' }
|
13
|
+
%span.slider.round{onclick: "installTemplate(#{customize.id})"}
|
17
14
|
|
18
15
|
:javascript
|
19
16
|
function installTemplate(customize_id) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
.row
|
1
|
+
#customize-index.row
|
2
2
|
.col-md-6.col-lg-6
|
3
3
|
.box.slice-box
|
4
4
|
.box-header.with-border
|
@@ -9,11 +9,11 @@
|
|
9
9
|
%i.icon-screen-desktop#lg
|
10
10
|
-# %span.separator-line
|
11
11
|
%i.icon-reload#reload
|
12
|
-
= link_to root_path, target:
|
12
|
+
= link_to root_path, target: '_blank' do
|
13
13
|
%i.icon-size-fullscreen
|
14
14
|
|
15
|
-
.box-body.box-body-no-padding.hidden-xs#box-body
|
16
|
-
%iframe{src:
|
15
|
+
.box-body.box-body-no-padding.hidden-xs#box-body
|
16
|
+
%iframe{ src: root_path, frameborder: '0' }
|
17
17
|
.col-md-6.col-lg-6
|
18
18
|
.box.slice-box
|
19
19
|
.box-header.with-border
|
@@ -25,14 +25,14 @@
|
|
25
25
|
= render 'listing', customize: customize
|
26
26
|
- if @objects.size.zero?
|
27
27
|
%tr
|
28
|
-
%td{colspan:
|
28
|
+
%td{ colspan: 4 }
|
29
29
|
%center
|
30
|
-
= t('keppler.messages.not_found_records', model: t(
|
30
|
+
= t('keppler.messages.not_found_records', model: t('keppler.models.pluralize.customizes'))
|
31
31
|
%center#paginator-module
|
32
32
|
= paginate @objects, window: 1
|
33
33
|
.listing-show.col.l3.m12.hide-on-small-and-down.hide-on-med-and-down
|
34
|
-
= render
|
35
|
-
- if
|
34
|
+
= render 'description'
|
35
|
+
- if can?(Customize).create?
|
36
36
|
.mixed-btn
|
37
|
-
= link_to new_admin_customize_path, class:
|
37
|
+
= link_to new_admin_customize_path, class: 'btn-float' do
|
38
38
|
+
|
@@ -1,8 +1,8 @@
|
|
1
1
|
%head
|
2
|
-
%meta{:
|
3
|
-
%link{href:'https://fonts.googleapis.com/css?family=Patua+One', rel:'stylesheet', type:'text/css'}
|
2
|
+
%meta{ name: 'viewport', content: 'width=device-width, initial-scale=1.0' }
|
3
|
+
%link{ href:'https://fonts.googleapis.com/css?family=Patua+One', rel: 'stylesheet', type: 'text/css' }
|
4
4
|
%title= content_for?(:title) ? yield(:title) : 'Keppler Admin'
|
5
5
|
= stylesheet_link_tag 'admin/application', media: 'all'
|
6
6
|
= javascript_include_tag 'admin/application', 'data-turbolinks-track' => true
|
7
7
|
= csrf_meta_tags
|
8
|
-
= favicon_link_tag
|
8
|
+
= favicon_link_tag 'admin/favicon.png'
|
@@ -0,0 +1,12 @@
|
|
1
|
+
:javascript
|
2
|
+
$('.keppler-switch').click(function(event) {
|
3
|
+
event.preventDefault()
|
4
|
+
var input = $(this).find('input')
|
5
|
+
var label = $(this).find('.inline-label')
|
6
|
+
input
|
7
|
+
.toggleClass('active')
|
8
|
+
.val(input.hasClass('active'))
|
9
|
+
label
|
10
|
+
.toggleClass('active')
|
11
|
+
.text(label.hasClass('active'))
|
12
|
+
})
|
@@ -1,11 +1,11 @@
|
|
1
1
|
%header.main-header
|
2
|
-
%nav.navbar.navbar-static-top
|
3
|
-
%a.logo.hidden-xs{href:
|
2
|
+
%nav.navbar.navbar-static-top
|
3
|
+
%a.logo.keppler-color.hidden-xs{ href: '/admin/dashboard' }
|
4
4
|
%span.logo-mini
|
5
5
|
%span K
|
6
6
|
%span.logo-lg
|
7
7
|
%span K
|
8
|
-
%a.sidebar-toggle{
|
8
|
+
%a.sidebar-toggle{ 'data-toggle' => 'offcanvas', href: '#', role: 'button' }
|
9
9
|
%i.icon-menu
|
10
10
|
%span.sr-only Toggle navigation
|
11
11
|
- if listing? && @q
|
@@ -14,33 +14,34 @@
|
|
14
14
|
= search_form_for [:admin, @q], html: { method: :get } do |f|
|
15
15
|
= f.search_field search_model, placeholder: "#{t('keppler.actions.search')}...", class: 'form-control search-bar'
|
16
16
|
%span.input-group-btn
|
17
|
-
%button.btn.search-button.toggle-search{type:
|
18
|
-
%
|
17
|
+
%button.btn.search-button.toggle-search{ type: 'submit' }
|
18
|
+
%i.icon-magnifier.search-icon{ style: 'line-height: 1.4;' }
|
19
19
|
.hide-search
|
20
|
-
%i.fa.fa-
|
20
|
+
%i.fa.fa-arrow-left
|
21
21
|
|
22
22
|
.navbar-custom-menu
|
23
23
|
%ul.nav.navbar-nav
|
24
|
-
|
25
|
-
%
|
26
|
-
%
|
24
|
+
-# - if defined?(KepplerContactUs) && KepplerContactUs.is_a?(Class)
|
25
|
+
%li.dropdown.messages-menu
|
26
|
+
%a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
|
27
|
+
%i.icon-envelope
|
27
28
|
%li.dropdown.user.user-menu
|
28
|
-
%a.dropdown-toggle{
|
29
|
-
|
29
|
+
%a.dropdown-toggle{ 'data-toggle' => 'dropdown', href: '#' }
|
30
|
+
= image_tag (current_user.avatar.url || 'admin/avatar_keppler.svg'), class: 'small-profile-img keppler-background'
|
30
31
|
%span.hidden-xs= current_user.name
|
31
32
|
%ul.dropdown-menu
|
32
33
|
%li.user-header{ style: @appearance.image_background? ? "background-image: url(#{@appearance.image_background})" : nil }
|
33
|
-
|
34
|
+
= image_tag (current_user.avatar.url || 'admin/avatar_keppler.svg'), class: 'img-circle nav-profile-img', alt: current_user.name
|
34
35
|
%p
|
35
36
|
= current_user.name
|
36
37
|
%small
|
37
|
-
= "#{t('keppler.navigation.last_session')} #{current_user.updated_at.strftime(
|
38
|
+
= "#{t('keppler.navigation.last_session')} #{current_user.updated_at.strftime('%d %b %Y')}"
|
38
39
|
%li.user-footer
|
39
40
|
.pull-left
|
40
|
-
= link_to
|
41
|
+
= link_to 'Profile', "/admin/users/#{current_user.id}", class: 'btn btn-default btn-flat'
|
41
42
|
.pull-right
|
42
|
-
= link_to t('devise.sign_out'), destroy_session_path(current_user), class:
|
43
|
+
= link_to t('devise.sign_out'), destroy_session_path(current_user), class: 'btn btn-default btn-flat'
|
43
44
|
- if listing?
|
44
45
|
%li.hidden-xs
|
45
|
-
%a{:
|
46
|
+
%a{ href: '#', 'data-toggle' => 'control-sidebar' }
|
46
47
|
%i.icon-clock
|
@@ -1,59 +1,50 @@
|
|
1
1
|
%aside.main-sidebar
|
2
|
-
%section.sidebar.sidebar-collapse
|
2
|
+
%section.sidebar.sidebar-collapse
|
3
3
|
/ Sidebar user panel
|
4
|
-
.user-panel
|
4
|
+
.user-panel
|
5
|
+
-# Activar background del panel de usuario para versiones darken
|
6
|
+
-# - if @appearance.image_background?
|
7
|
+
:sass
|
8
|
+
.user-panel
|
9
|
+
background-image: url(#{@appearance.image_background})
|
5
10
|
.pull-left.image
|
6
|
-
|
11
|
+
= image_tag (current_user.avatar.url || 'admin/avatar_keppler.svg'), class: 'img-circle side-img-profile keppler-background', alt: current_user.name
|
7
12
|
.info
|
8
13
|
%p= current_user.name
|
9
14
|
%small= current_user.rol.humanize
|
10
15
|
/ sidebar menu: : style can be found in sidebar.less
|
11
16
|
%ul.sidebar-menu.tree{"data-widget" => "tree" }
|
12
|
-
%li.header MAIN NAVIGATION
|
13
|
-
|
17
|
+
-# %li.header MAIN NAVIGATION
|
18
|
+
%li
|
19
|
+
-# - if can?('Dashboard').index?
|
14
20
|
= link_to '/admin/dashboard' do
|
15
21
|
%i.icon-pie-chart
|
16
22
|
%span= t('keppler.sidebar-menu.dashboard')
|
17
23
|
- @sidebar.each do |menu|
|
18
24
|
- menu.each do |key, value|
|
19
25
|
- unless menu[key]["submenu"] # ontetab sidebar linkbyg
|
20
|
-
- if menu[key]["model"] &&
|
26
|
+
- if menu[key]["model"] && can?(menu[key]["model"].constantize).index?
|
21
27
|
%li.treeview{ class: ('active' if controller_name.eql?(menu[key]['name']))}
|
22
28
|
= link_to menu[key]['url_path'], class: "collapsible-header #{'current' if menu[key]['current'].include?(controller_path)}", :'data-no-turbolink'=> true do
|
23
29
|
%i{ class: "icon-#{menu[key]["icon"]}" }
|
24
30
|
%span= t("keppler.sidebar-menu.#{menu[key]['name'].parameterize}")
|
25
31
|
- else # tree sidebar links
|
26
|
-
-
|
27
|
-
|
28
|
-
%
|
29
|
-
%
|
30
|
-
|
32
|
+
- unless menu[key]["model"].eql?('Customize') and Rails.env.production?
|
33
|
+
- if menu[key]["model"] && can?(menu[key]["model"].constantize).index?
|
34
|
+
%li{ class: ('active' if menu[key]['current'].include?(controller_path))}
|
35
|
+
%a{ href: "#", class: "#{'active current' if menu[key]['current'].include?(controller_path)}" }
|
36
|
+
%i{ class: "icon-#{menu[key]['icon']}" }
|
37
|
+
%span= t("keppler.sidebar-menu.#{menu[key]['name'].parameterize}")
|
38
|
+
%ul.treeview-menu
|
39
|
+
- menu[key]["submenu"].each do |submenu|
|
40
|
+
- submenu.each do |name, val|
|
41
|
+
%li
|
42
|
+
- if settings_path?
|
43
|
+
= link_to t("keppler.sidebar-menu.#{menu[key]['name'].parameterize}-submenu.#{submenu[name]['name'].parameterize}"), submenu[name]['url_path'], class: "#{'current' if submenu[name]['current'].include?(@render)}", :'data-no-turbolink'=>true, class: (submenu[name]['url_path'].eql?("/admin/settings/email_setting") ? 'cut-text' : '')
|
44
|
+
- else
|
45
|
+
= link_to t("keppler.sidebar-menu.#{menu[key]['name'].parameterize}-submenu.#{submenu[name]['name'].parameterize}"), submenu[name]['url_path'], class: "#{'current' if submenu[name]['current'].include?(controller_path)}", :'data-no-turbolink'=> true, class: (submenu[name]['url_path'].eql?("/admin/settings/email_setting") ? 'cut-text' : '')
|
46
|
+
|
31
47
|
|
32
|
-
%ul.treeview-menu
|
33
|
-
- menu[key]["submenu"].each do |submenu|
|
34
|
-
- submenu.each do |name, val|
|
35
|
-
%li
|
36
|
-
- if settings_path?
|
37
|
-
= link_to t("keppler.sidebar-menu.#{menu[key]['name'].parameterize}-submenu.#{submenu[name]['name'].parameterize}"), submenu[name]['url_path'], class: "#{'current' if submenu[name]['current'].include?(@render)}", :'data-no-turbolink'=>true, class: (submenu[name]['url_path'].eql?("/admin/settings/email_setting") ? 'cut-text' : '')
|
38
|
-
- else
|
39
|
-
= link_to t("keppler.sidebar-menu.#{menu[key]['name'].parameterize}-submenu.#{submenu[name]['name'].parameterize}"), submenu[name]['url_path'], class: "#{'current' if submenu[name]['current'].include?(controller_path)}", :'data-no-turbolink'=> true, class: (submenu[name]['url_path'].eql?("/admin/settings/email_setting") ? 'cut-text' : '')
|
40
|
-
%li
|
41
|
-
= link_to '#' do
|
42
|
-
%i.icon-settings
|
43
|
-
%span= t('keppler.sidebar-menu.setting')
|
44
|
-
%ul{class: "treeview-menu", style:"display: none;"}
|
45
|
-
%li
|
46
|
-
%a{"data-no-turbolink"=>"true", href:"/admin/settings/basic_information"}
|
47
|
-
= t('keppler.sidebar-menu.setting-submenu.basic-information')
|
48
|
-
%li
|
49
|
-
%a{"data-no-turbolink"=>"true", href:"/admin/settings/email_setting"}
|
50
|
-
= t('keppler.sidebar-menu.setting-submenu.email-setting-smtp')
|
51
|
-
%li
|
52
|
-
%a{"data-no-turbolink"=>"true", href:"/admin/settings/google_analytics_setting"}
|
53
|
-
= t('keppler.sidebar-menu.setting-submenu.google-analytics')
|
54
|
-
%li
|
55
|
-
%a{"data-no-turbolink"=>"true", href:"/admin/settings/social_accounts"}
|
56
|
-
= t('keppler.sidebar-menu.setting-submenu.social-accounts')
|
57
48
|
#sidebar-footer
|
58
49
|
%a{:href=>"http://slicegroup.xyz", target: "_blank" }
|
59
50
|
#slice.brand.pull-left
|