mokio 0.0.13 → 0.0.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/backend.css.scss +3 -1
- data/app/assets/stylesheets/backend/custom.css.scss +45 -30
- data/app/assets/stylesheets/backend/menu.css.scss +7 -0
- data/app/controllers/mokio/base_articles_controller.rb +3 -0
- data/app/controllers/mokio/base_contacts_controller.rb +5 -0
- data/app/controllers/mokio/base_contents_controller.rb +3 -0
- data/app/controllers/mokio/base_mov_galleries_controller.rb +3 -0
- data/app/controllers/mokio/base_pic_galleries_controller.rb +4 -0
- data/app/controllers/mokio/support_controller.rb +11 -0
- data/app/controllers/passwords_controller.rb +6 -0
- data/app/models/mokio/base_article.rb +29 -0
- data/app/models/mokio/base_contact.rb +30 -0
- data/app/models/mokio/base_content.rb +5 -0
- data/app/models/mokio/base_mov_gallery.rb +30 -0
- data/app/models/mokio/base_pic_gallery.rb +30 -0
- data/app/models/mokio/support.rb +29 -0
- data/app/uploaders/ckeditor_attachment_file_uploader.rb +1 -1
- data/app/views/devise/sessions/new.html.haml +0 -1
- data/app/views/mokio/articles/_form.html.slim +3 -2
- data/app/views/mokio/base_articles/_multi_lang_form.html.slim +18 -0
- data/app/views/mokio/base_contacts/_multi_lang_form.html.slim +48 -0
- data/app/views/mokio/base_contents/update_content_form.js.slim +1 -0
- data/app/views/mokio/base_pic_galleries/_multi_lang_form.html.slim +13 -0
- data/app/views/mokio/common/_main_pic.html.slim +3 -1
- data/app/views/mokio/common/_multi_lang_gmap.html.slim +41 -0
- data/app/views/mokio/common/_multi_lang_meta.html.slim +50 -0
- data/app/views/mokio/common/edit.html.slim +5 -1
- data/app/views/mokio/common/multi_lang_form_content.html.slim +56 -0
- data/app/views/mokio/common/new.html.slim +4 -1
- data/app/views/mokio/contacts/_form.html.slim +2 -1
- data/app/views/mokio/contents/_common.slim +2 -0
- data/app/views/mokio/contents/delete_main_pic.js.slim +1 -0
- data/app/views/mokio/contents/new.html.slim +50 -0
- data/app/views/mokio/data_files/_file_upload.html.erb +8 -1
- data/app/views/mokio/layout/_user_widget.html.slim +4 -0
- data/app/views/mokio/layout/sidebar.html.slim +19 -9
- data/app/views/mokio/layout/sidebar_support.html.slim +4 -0
- data/app/views/mokio/menus/_form.html.haml +13 -5
- data/app/views/mokio/menus/_menu.html.slim +1 -1
- data/app/views/mokio/mov_galleries/_form_inputs.html.slim +5 -4
- data/app/views/mokio/pic_galleries/_form.html.slim +1 -1
- data/app/views/mokio/pic_galleries/_form_inputs.html.slim +5 -5
- data/app/views/mokio/support/index.html.slim +23 -0
- data/app/views/mokio/users/_form.html.slim +2 -0
- data/app/views/mokio/youtubes/_gallery.html.slim +9 -10
- data/app/views/mokio/youtubes/_search_yt.html.slim +8 -9
- data/config/locales/en.yml +24 -0
- data/config/locales/pl.yml +48 -1
- data/config/routes.rb +63 -2
- data/config/views.yml +4 -0
- data/db/migrate/20150408074951_create_mokio_base_contents.rb +17 -0
- data/db/migrate/20150408075454_add_base_content_id_to_mokio_contents.mokio.rb +6 -0
- data/db/migrate/20150414054139_add_name_to_mokio_users.rb +6 -0
- data/db/migrate/20150414070406_add_author_and_editor_to_mokio_content.rb +6 -0
- data/db/migrate/20150528104851_add_base_content_id_to_mokio_data_files.rb +5 -0
- data/lib/generators/mokio/btr_generator.rb +11 -0
- data/lib/generators/mokio/contents_generator.rb +58 -0
- data/lib/generators/mokio/templates/contents/_form.html.slim +15 -0
- data/lib/generators/mokio/templates/contents/_sidebar_btn.html.slim +1 -0
- data/lib/generators/mokio/templates/contents/controller.rb +23 -0
- data/lib/generators/mokio/templates/contents/model.rb +24 -0
- data/lib/generators/mokio/templates/contents/views_template.yml +6 -0
- data/lib/generators/mokio/templates/mokio.rb +32 -0
- data/lib/generators/mokio/templates/translations/backend_example.yml +57 -0
- data/lib/mokio.rb +13 -2
- data/lib/mokio/concerns.rb +15 -1
- data/lib/mokio/concerns/common/controller_functions.rb +19 -1
- data/lib/mokio/concerns/common/controller_object.rb +2 -2
- data/lib/mokio/concerns/controllers/application.rb +32 -3
- data/lib/mokio/concerns/controllers/articles.rb +39 -3
- data/lib/mokio/concerns/controllers/base.rb +1 -0
- data/lib/mokio/concerns/controllers/base_articles.rb +31 -0
- data/lib/mokio/concerns/controllers/base_contacts.rb +32 -0
- data/lib/mokio/concerns/controllers/base_contents.rb +167 -0
- data/lib/mokio/concerns/controllers/base_mov_galleries.rb +48 -0
- data/lib/mokio/concerns/controllers/base_pic_galleries.rb +32 -0
- data/lib/mokio/concerns/controllers/common.rb +7 -8
- data/lib/mokio/concerns/controllers/contacts.rb +39 -1
- data/lib/mokio/concerns/controllers/contents.rb +1 -0
- data/lib/mokio/concerns/controllers/main_pics.rb +32 -0
- data/lib/mokio/concerns/controllers/menus.rb +3 -2
- data/lib/mokio/concerns/controllers/mov_galleries.rb +19 -3
- data/lib/mokio/concerns/controllers/photos.rb +1 -1
- data/lib/mokio/concerns/controllers/pic_galleries.rb +18 -3
- data/lib/mokio/concerns/models/article.rb +1 -0
- data/lib/mokio/concerns/models/base_article.rb +21 -0
- data/lib/mokio/concerns/models/base_contact.rb +36 -0
- data/lib/mokio/concerns/models/base_content.rb +51 -0
- data/lib/mokio/concerns/models/base_mov_gallery.rb +19 -0
- data/lib/mokio/concerns/models/base_pic_gallery.rb +22 -0
- data/lib/mokio/concerns/models/common.rb +1 -1
- data/lib/mokio/concerns/models/contact_template.rb +4 -0
- data/lib/mokio/concerns/models/content.rb +12 -0
- data/lib/mokio/concerns/models/data_file.rb +9 -3
- data/lib/mokio/concerns/models/lang.rb +1 -1
- data/lib/mokio/concerns/models/recipient.rb +2 -0
- data/lib/mokio/concerns/models/user.rb +5 -1
- data/lib/mokio/frontend_helpers/menu_helper.rb +17 -8
- data/lib/mokio/version.rb +1 -1
- data/spec/dummy/config/routes.rb +2 -0
- metadata +55 -11
- data/app/views/devise/passwords/edit.html.erb +0 -19
- data/app/views/devise/passwords/new.html.erb +0 -15
- data/app/views/mokio/menus/sort.html.slim +0 -1
- data/spec/dummy/config/views.yml +0 -11
data/config/views.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateMokioBaseContents < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :mokio_base_contents do |t|
|
4
|
+
t.string "title"
|
5
|
+
t.string "type"
|
6
|
+
t.boolean "home_page"
|
7
|
+
t.boolean "active", default: true
|
8
|
+
t.boolean "editable", default: true
|
9
|
+
t.boolean "deletable", default: true
|
10
|
+
t.date "display_from"
|
11
|
+
t.date "display_to"
|
12
|
+
t.string "main_pic"
|
13
|
+
t.string "etag"
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module Mokio
|
2
|
+
class BtrGenerator < Rails::Generators::NamedBase
|
3
|
+
# backend translations generator for mokio content
|
4
|
+
argument :name, type: :string
|
5
|
+
source_root File.expand_path("../templates/translations/", __FILE__)
|
6
|
+
|
7
|
+
def create_example_translation_file
|
8
|
+
template "backend_example.yml", File.join("config/locales/","en_backend_#{self.name.underscore}.yml")
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'rails/generators/rails/resource/resource_generator'
|
2
|
+
module Mokio
|
3
|
+
class ContentsGenerator < Rails::Generators::ResourceGenerator #:nodoc:
|
4
|
+
|
5
|
+
remove_hook_for :resource_controller
|
6
|
+
remove_class_option :actions
|
7
|
+
remove_hook_for :template_engine
|
8
|
+
remove_hook_for :orm
|
9
|
+
remove_hook_for :resource_route
|
10
|
+
|
11
|
+
source_root File.expand_path("../templates/contents/", __FILE__)
|
12
|
+
|
13
|
+
# generate model from mokio template
|
14
|
+
def create_model_files
|
15
|
+
template 'model.rb', File.join('app/models/mokio', class_path, "#{file_name}.rb")
|
16
|
+
end
|
17
|
+
# generate controller from mokio template
|
18
|
+
def create_controller_files
|
19
|
+
template "controller.rb", File.join('app/controllers/mokio', controller_class_path, "#{controller_file_name}_controller.rb")
|
20
|
+
end
|
21
|
+
|
22
|
+
def create_template_file
|
23
|
+
template "_form.html.slim", File.join("app/views/mokio/#{controller_file_name}/", controller_class_path,"_form.html.slim")
|
24
|
+
end
|
25
|
+
|
26
|
+
def create_override_view_file
|
27
|
+
template "_sidebar_btn.html.slim" ,File.join('app/views/mokio/overrides/','',"#{file_name}_sidebar_btn.html.slim")
|
28
|
+
end
|
29
|
+
|
30
|
+
def create_example_translation_file
|
31
|
+
template "../translations/backend_example.yml", File.join("config/locales/","en_backend_#{self.name.underscore}.yml")
|
32
|
+
end
|
33
|
+
|
34
|
+
def create_views_file
|
35
|
+
template "views_template.yml",File.join("config/",'',"#{file_name}_views_template.yml.example")
|
36
|
+
view_file = "#{Rails.root}/config/#{file_name}_views_template.yml.example"
|
37
|
+
|
38
|
+
if File.exists?(view_file)
|
39
|
+
File.open(view_file, 'rb') do |infile|
|
40
|
+
File.open("#{Rails.root}/config/views.yml", 'a') do |outfile|
|
41
|
+
puts "\n"
|
42
|
+
while buffer = infile.read(4096)
|
43
|
+
puts buffer
|
44
|
+
outfile << buffer
|
45
|
+
end
|
46
|
+
puts "\n"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
routes_file = File.read("#{Rails.root}/config/routes.rb")
|
51
|
+
File.open("#{Rails.root}/config/routes.rb", "w") do |file|
|
52
|
+
file.puts routes_file.gsub(/Mokio::Engine.routes.draw do/, "Mokio::Engine.routes.draw do \n\nresources :#{controller_file_name} do \n member do\n get :update_menu_breadcrumps\n get :copy\n end \n end")
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
= render :partial => "mokio/common/main_pic", locals: {f:f}
|
2
|
+
= f.input :lang_id, collection: Mokio::Lang.all.collect{|lang| [bt(lang.name), lang.id]}, include_blank: bt('all'), disabled: !obj.display_editable_field?('lang_id')
|
3
|
+
= f.input :active, :wrapper => :active_checkbox, disabled: !obj.display_editable_field?('active')
|
4
|
+
= f.input :home_page, :wrapper => :active_checkbox, disabled: !obj.display_editable_field?('home_page')
|
5
|
+
= f.input :title, disabled: !obj.display_editable_field?('title')
|
6
|
+
= f.input :subtitle, disabled: !obj.display_editable_field?('subtitle'), :as => :string
|
7
|
+
= f.input :intro, :wrapper => :ckeditor, :as => :ckeditor, :input_html => { :ckeditor => {:toolbar => 'Mini', :height => 150} }, disabled: !obj.display_editable_field?('intro')
|
8
|
+
= f.input :content, :wrapper => :ckeditor, :as => :ckeditor, :input_html => { :ckeditor => {:toolbar => 'Medium', :height => 400} }, disabled: !obj.display_editable_field?('content')
|
9
|
+
= f.input :display_from, :wrapper => :date, :as => :string, :input_html => { :class => "mask-date display_from", :value => (localize(f.object.display_from, :format => :datepicker) if f.object.display_from) }, disabled: !obj.display_editable_field?('display_from')
|
10
|
+
= f.input :display_to, :wrapper => :date, :as => :string, :input_html => { :class => "mask-date display_to", :value => (localize(f.object.display_to, :format => :datepicker) if f.object.display_to) }, disabled: !obj.display_editable_field?('display_to')
|
11
|
+
.row-fluid
|
12
|
+
label.form-label.span2
|
13
|
+
= t('menus.content_assoc')
|
14
|
+
.span10
|
15
|
+
=collection_select(:<%= file_name %>, :menu_ids,menu_select_grouped(Mokio::Menu.all.includes(:content_links).arrange(:order => :seq)),:id,:name, {disabled: lambda{|s| s.fake.present? },selected:obj.menus.map {|j| j.id} },:multiple => true)
|
@@ -0,0 +1 @@
|
|
1
|
+
=sidebar_btn Mokio::<%=class_name%>, "icomoon-icon-blogger"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<% if namespaced? -%>
|
2
|
+
require_dependency "<%= namespaced_path %>/application_controller"
|
3
|
+
|
4
|
+
<% end -%>
|
5
|
+
<% module_namespacing do -%>
|
6
|
+
module Mokio
|
7
|
+
class <%= controller_class_name %>Controller < Mokio::CommonController
|
8
|
+
|
9
|
+
private
|
10
|
+
#
|
11
|
+
# Never trust parameters from the scary internet, only allow the white list through.
|
12
|
+
#
|
13
|
+
def <%=file_name %>_params #:doc:
|
14
|
+
params.require(:<%=file_name %>).permit( extended_parameters, :title, :subtitle, :intro, :content, :article_type, :home_page, :tpl, :contact, :active, :seq, :lang_id,
|
15
|
+
:gallery_type, :display_from, :display_to, :main_pic, :tag_list, :menu_ids => [], :data_files_attributes => [:data_file, :main_pic, :id, :remove_data_file]
|
16
|
+
)
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
<% end -%>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<% module_namespacing do -%>
|
2
|
+
module Mokio
|
3
|
+
class <%= class_name %> < Mokio::Content
|
4
|
+
|
5
|
+
def columns_for_table
|
6
|
+
%w(title active type updated_at lang_id)
|
7
|
+
end
|
8
|
+
|
9
|
+
def editable
|
10
|
+
true
|
11
|
+
end
|
12
|
+
|
13
|
+
def deletable
|
14
|
+
true
|
15
|
+
end
|
16
|
+
|
17
|
+
# Generate url to edit content
|
18
|
+
def title_view
|
19
|
+
(ActionController::Base.helpers.link_to self[:title], ApplicationController.helpers.edit_url(self.class.base_class, self)).html_safe
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
<% end -%>
|
@@ -139,4 +139,36 @@ Mokio.setup do |config|
|
|
139
139
|
#
|
140
140
|
# config.frontend_facebook_app_id = ''
|
141
141
|
|
142
|
+
|
143
|
+
# External parameters for mokio controllers
|
144
|
+
# Create a initializer in your rails app or rails plugin
|
145
|
+
#
|
146
|
+
# Mokio.setup do |config|
|
147
|
+
# config.mokio_gems_parameters[:plugin_name] = { :controller_name => [:param_1,:param_2,:param_3]}
|
148
|
+
# end
|
149
|
+
#
|
150
|
+
|
151
|
+
# mattr_accessor :mokio_gems_parameters
|
152
|
+
# self.mokio_gems_parameters = {}
|
153
|
+
|
154
|
+
#
|
155
|
+
# You can set where the user is to be redirected after logging in
|
156
|
+
#
|
157
|
+
# Default: mokio.root_path ("/backend")
|
158
|
+
#
|
159
|
+
# Examples
|
160
|
+
# 1. Path:
|
161
|
+
# config.after_sign_in_path = {:user => {:path => "/path_for_all_users"}}
|
162
|
+
#
|
163
|
+
# 2. Method (add method to Mokio::ApplicationController):
|
164
|
+
# config.after_sign_in_path = {:user => {:method => :method_for_all_users}} => returns: controller.method_for_all_users
|
165
|
+
#
|
166
|
+
# Path based on user role examples:
|
167
|
+
#
|
168
|
+
# config.after_sign_in_path = {:user => {:roles => {:admin =>{:path => "/path_for_admin"}}}}
|
169
|
+
# config.after_sign_in_path = {:user => {:roles => {:admin =>{:method => :method_name_for_admin}}}} => returns: controller.method_name_for_admin
|
170
|
+
|
171
|
+
#config.after_sign_in_path = {:user => {}}
|
172
|
+
|
173
|
+
|
142
174
|
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
en:
|
2
|
+
mokio/<%=self.plural_name%>: Article
|
3
|
+
backend:
|
4
|
+
sidebars:
|
5
|
+
<%=self.singular_name%>: <%=self.plural_name%>
|
6
|
+
breadcrumbs:
|
7
|
+
add_<%=self.singular_name%>: Add element
|
8
|
+
<%=self.plural_name%>: Management
|
9
|
+
<%=self.plural_name%>_edit: Edit element
|
10
|
+
<%=self.plural_name%>_new: New element
|
11
|
+
|
12
|
+
<%=self.plural_name%>:
|
13
|
+
actions: Actions
|
14
|
+
active: Active
|
15
|
+
edit_title: Edit <%=self.singular_name%>
|
16
|
+
index_title: <%=self.singular_name%>
|
17
|
+
index_add_new: Add <%=self.singular_name%>
|
18
|
+
lang_id: Language
|
19
|
+
new_title: New <%=self.singular_name%>
|
20
|
+
position: Position
|
21
|
+
title: Title
|
22
|
+
module_position_ids: Position
|
23
|
+
updated_at: Updated at
|
24
|
+
edit_title: Edit <%=self.singular_name%>
|
25
|
+
created: " <%=self.singular_name%> <strong>'%{title}'</strong> has been created"
|
26
|
+
updated: " <%=self.singular_name%><strong>'%{title}'</strong> has been saved"
|
27
|
+
deleted: " <%=self.singular_name%> <strong>'%{title}'</strong> has been deleted"
|
28
|
+
update_active_true: " <%=self.singular_name%> <strong>'%{title}'</strong> is active"
|
29
|
+
update_active_false: " <%=self.singular_name%> <strong>'%{title}'</strong> is not active"
|
30
|
+
copy_title: Copy <%=self.singular_name%>
|
31
|
+
contents:
|
32
|
+
types:
|
33
|
+
Mokio::<%=self.class_name%>:
|
34
|
+
|
35
|
+
|
36
|
+
# ============================================ Activerecord ============================================================= #
|
37
|
+
|
38
|
+
activerecord:
|
39
|
+
errors:
|
40
|
+
models:
|
41
|
+
mokio/<%=self.singular_name%>:
|
42
|
+
attributes:
|
43
|
+
title:
|
44
|
+
blank: "Blank"
|
45
|
+
attributes:
|
46
|
+
mokio/<%=self.plural_name%>:
|
47
|
+
active: Active
|
48
|
+
intro: Introduction
|
49
|
+
content: Content
|
50
|
+
display_from: Displayed from
|
51
|
+
display_to: Displayed to
|
52
|
+
title: Title
|
53
|
+
type: Type
|
54
|
+
updated_at: Updated at
|
55
|
+
lang_id: Language
|
56
|
+
home_page: Home page
|
57
|
+
tag_list: Tags (sepparated by commas)
|
data/lib/mokio.rb
CHANGED
@@ -44,8 +44,7 @@ module Mokio
|
|
44
44
|
# Array of content types
|
45
45
|
#
|
46
46
|
CONTENT_TYPES = ["Mokio::Article", "Mokio::Contact", "Mokio::PicGallery", "Mokio::MovGallery"]
|
47
|
-
|
48
|
-
|
47
|
+
BASE_CONTENT_TYPES = ["Mokio::BaseArticle", "Mokio::BaseContact", "Mokio::BasePicGallery", "Mokio::BaseMovGallery"]
|
49
48
|
|
50
49
|
#
|
51
50
|
# Default lang for backend
|
@@ -224,6 +223,18 @@ module Mokio
|
|
224
223
|
mattr_accessor :mokio_log_level
|
225
224
|
self.mokio_log_level = Logger::DEBUG
|
226
225
|
|
226
|
+
mattr_accessor :multi_lang_contents
|
227
|
+
self.multi_lang_contents = false
|
228
|
+
|
229
|
+
mattr_accessor :mokio_gems_parameters
|
230
|
+
self.mokio_gems_parameters = {}
|
231
|
+
|
232
|
+
mattr_accessor :after_sign_in_path
|
233
|
+
self.after_sign_in_path = {:user => {}}
|
234
|
+
|
235
|
+
mattr_accessor :after_sign_out_path
|
236
|
+
self.after_sign_out_path = {:user => {}}
|
237
|
+
|
227
238
|
#
|
228
239
|
# Default way to configure Mokio
|
229
240
|
#
|
data/lib/mokio/concerns.rb
CHANGED
@@ -38,6 +38,11 @@ require "mokio/concerns/models/static_module"
|
|
38
38
|
require "mokio/concerns/models/user"
|
39
39
|
require "mokio/concerns/models/youtube"
|
40
40
|
require "mokio/concerns/models/external_script"
|
41
|
+
require "mokio/concerns/models/base_content"
|
42
|
+
require "mokio/concerns/models/base_article"
|
43
|
+
require "mokio/concerns/models/base_pic_gallery"
|
44
|
+
require "mokio/concerns/models/base_mov_gallery"
|
45
|
+
require "mokio/concerns/models/base_contact"
|
41
46
|
|
42
47
|
#
|
43
48
|
# CommonController extensions
|
@@ -49,6 +54,7 @@ require "mokio/concerns/common/controller_translations"
|
|
49
54
|
#
|
50
55
|
# Controllers
|
51
56
|
#
|
57
|
+
require "mokio/concerns/controllers/base_contents"
|
52
58
|
require "mokio/concerns/controllers/application"
|
53
59
|
require "mokio/concerns/controllers/articles"
|
54
60
|
require "mokio/concerns/controllers/base"
|
@@ -66,4 +72,12 @@ require "mokio/concerns/controllers/users"
|
|
66
72
|
require "mokio/concerns/controllers/youtubes"
|
67
73
|
require "mokio/concerns/controllers/external_scripts"
|
68
74
|
require "mokio/concerns/controllers/module_positions"
|
69
|
-
require "mokio/concerns/controllers/langs"
|
75
|
+
require "mokio/concerns/controllers/langs"
|
76
|
+
require "mokio/concerns/controllers/base_contents"
|
77
|
+
require "mokio/concerns/controllers/base_articles"
|
78
|
+
require "mokio/concerns/controllers/base_pic_galleries"
|
79
|
+
require "mokio/concerns/controllers/base_mov_galleries"
|
80
|
+
require "mokio/concerns/controllers/base_contacts"
|
81
|
+
require "mokio/concerns/controllers/main_pics"
|
82
|
+
|
83
|
+
|
@@ -8,11 +8,13 @@ module Mokio
|
|
8
8
|
extend ActiveSupport::Concern
|
9
9
|
|
10
10
|
included do
|
11
|
+
|
11
12
|
after_action :back_to_edit, only: [:create, :update]
|
12
13
|
after_action :meta_info, only: [:create, :update]
|
14
|
+
|
13
15
|
end
|
14
16
|
|
15
|
-
|
17
|
+
private
|
16
18
|
#
|
17
19
|
# <b>after_action</b>, Info message about autocompleted meta tags
|
18
20
|
#
|
@@ -45,9 +47,25 @@ module Mokio
|
|
45
47
|
parameters = {}
|
46
48
|
parameters[:gmap_attributes] = Mokio::Gmap.gmap_attributes if @obj_class.has_gmap_enabled?
|
47
49
|
parameters[:meta_attributes] = Mokio::Meta.meta_attributes if @obj_class.has_meta_enabled?
|
50
|
+
|
48
51
|
parameters
|
49
52
|
end
|
50
53
|
|
54
|
+
|
55
|
+
def mokio_gems_parameters
|
56
|
+
parameters = []
|
57
|
+
c_name = self.controller_name.to_sym
|
58
|
+
|
59
|
+
Mokio.mokio_gems_parameters.each do |g,v|
|
60
|
+
v.each do |par,val|
|
61
|
+
if par == c_name || par == :contents && CONTENT_TYPES.include?("#{controller_path.classify.constantize.name}")
|
62
|
+
parameters += val
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
parameters
|
67
|
+
end
|
68
|
+
|
51
69
|
#
|
52
70
|
# Returns obj index url
|
53
71
|
#
|
@@ -10,8 +10,8 @@ module Mokio
|
|
10
10
|
included do
|
11
11
|
before_filter :set_obj_class
|
12
12
|
before_action :set_obj, only: [:update, :destroy, :edit, :show, :copy, :update_active]
|
13
|
-
|
14
|
-
helper_method :obj # Method obj must be also a helper method for usage in views
|
13
|
+
|
14
|
+
helper_method :obj # Method obj must be also a helper method for usage in views
|
15
15
|
end
|
16
16
|
|
17
17
|
private
|
@@ -27,20 +27,49 @@ module Mokio
|
|
27
27
|
devise_parameter_sanitizer.for(:sign_up) {|u| u.permit(:email, :password, :password_confirmation, roles: [])}
|
28
28
|
end
|
29
29
|
|
30
|
-
private
|
31
30
|
#
|
32
31
|
# Standard devise after_sign_out_path_for
|
33
32
|
#
|
34
33
|
def after_sign_out_path_for(resource_or_scope) #:doc:
|
35
|
-
mokio.user_session_path
|
34
|
+
get_path_from_config(resource, Mokio.after_sign_out_path[resource_name], mokio.user_session_path)
|
36
35
|
end
|
37
36
|
|
38
37
|
#
|
39
38
|
# Standard devise after_sign_in_path_for
|
40
39
|
#
|
41
40
|
def after_sign_in_path_for(resource) #:doc:
|
42
|
-
mokio.root_path
|
41
|
+
get_path_from_config(resource, Mokio.after_sign_in_path[resource_name], mokio.root_path)
|
43
42
|
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def get_path_from_config(resource, config, default_path)
|
47
|
+
url = config.has_key?(:roles) ?
|
48
|
+
path_for_roles(config, resource)
|
49
|
+
:
|
50
|
+
get_path_from_hash(config, resource)
|
51
|
+
|
52
|
+
url ||=default_path
|
53
|
+
url
|
54
|
+
end
|
55
|
+
|
56
|
+
def path_for_roles(hash, resource)
|
57
|
+
url = nil
|
58
|
+
hash[:roles].each do |role_name, value|
|
59
|
+
if resource.roles.include? role_name
|
60
|
+
url = get_path_from_hash value, resource
|
61
|
+
break
|
62
|
+
end
|
63
|
+
end
|
64
|
+
url
|
65
|
+
end
|
66
|
+
|
67
|
+
def get_path_from_hash(hash, resource)
|
68
|
+
url = hash[:path].to_s if hash.has_key? :path
|
69
|
+
url = self.send(hash[:method]) if hash.has_key? :method
|
70
|
+
url
|
71
|
+
end
|
72
|
+
|
44
73
|
end
|
45
74
|
end
|
46
75
|
end
|