mokio 0.0.15 → 2.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +5 -5
  2. data/app/assets/javascripts/backend.js +6 -3
  3. data/app/assets/javascripts/backend/datatable.js.coffee.erb +28 -26
  4. data/app/assets/javascripts/backend/head.js +1 -0
  5. data/app/assets/javascripts/backend/main.js +69 -44
  6. data/app/assets/javascripts/backend/mokio_dynamic_fields.js +20 -0
  7. data/app/assets/javascripts/backend/vendors/select2/select2.min.js +2 -0
  8. data/app/assets/stylesheets/backend.scss +6 -2
  9. data/app/assets/stylesheets/backend/custom.scss +13 -1
  10. data/app/assets/stylesheets/backend/main.scss +74 -73
  11. data/app/assets/stylesheets/backend/plugins/forms/select2/select2.scss +4 -0
  12. data/app/assets/stylesheets/backend/plugins/tables/dataTables/{jquery.dataTables.scss → jquery.dataTables.css} +7 -7
  13. data/app/assets/stylesheets/backend/theme/main.scss +413 -0
  14. data/app/assets/stylesheets/backend/theme/nice-select/_nice-select-prefixed.scss +190 -0
  15. data/app/assets/stylesheets/backend/theme/nice-select/nice-select.scss +178 -0
  16. data/app/assets/stylesheets/backend/theme/nice-select/style.scss +20 -0
  17. data/app/assets/stylesheets/backend/vendors/select2/select2.min.css +1 -0
  18. data/app/datatables/commons_datatable.rb +56 -36
  19. data/app/helpers/mokio/backend/backend_helper.rb +27 -1
  20. data/app/helpers/mokio/backend/common_helper.rb +9 -4
  21. data/app/helpers/mokio/backend/dynamic_fields_helper.rb +91 -0
  22. data/app/models/devise_custom_failure.rb +9 -0
  23. data/app/models/mokio/article.rb +0 -1
  24. data/app/models/mokio/contact.rb +0 -1
  25. data/app/models/mokio/content.rb +0 -1
  26. data/app/models/mokio/menu.rb +0 -1
  27. data/app/models/mokio/mov_gallery.rb +0 -1
  28. data/app/models/mokio/pic_gallery.rb +0 -1
  29. data/app/models/mokio/seo_tag.rb +5 -0
  30. data/app/models/mokio/support.rb +0 -1
  31. data/app/uploaders/ckeditor_picture_uploader.rb +2 -2
  32. data/app/views/devise/sessions/new.html.haml +2 -1
  33. data/app/views/mokio/articles/_form.html.slim +6 -3
  34. data/app/views/mokio/common/_form_content.html.slim +4 -4
  35. data/app/views/mokio/common/edit.html.slim +1 -5
  36. data/app/views/mokio/common/index.html.slim +3 -0
  37. data/app/views/mokio/common/modals/_modal_seo_tags.html.slim +47 -0
  38. data/app/views/mokio/common/new.html.slim +1 -4
  39. data/app/views/mokio/contacts/_form.html.slim +9 -7
  40. data/app/views/mokio/contents/new.html.slim +1 -2
  41. data/app/views/mokio/data_files/_file_upload.html.erb +1 -6
  42. data/app/views/mokio/layout/sidebar.html.slim +6 -13
  43. data/app/views/mokio/menus/_form.html.slim +97 -0
  44. data/app/views/mokio/menus/{_form.html.haml → _old_form.html.haml} +5 -6
  45. data/app/views/mokio/menus/{_form_slim.html.slim → _old_form_slim.html.slim} +8 -10
  46. data/app/views/mokio/menus/new_menu_position.slim +1 -1
  47. data/app/views/mokio/mov_galleries/_form_inputs.html.slim +3 -3
  48. data/app/views/mokio/pic_galleries/_form_inputs.html.slim +3 -3
  49. data/app/views/mokio/static_modules/_form.html.slim +2 -1
  50. data/config/initializers/frontend.rb +3 -0
  51. data/config/initializers/simple_form.rb +9 -0
  52. data/config/locales/en.yml +16 -26
  53. data/config/locales/pl.yml +11 -20
  54. data/db/migrate/20140422135850_add_mokio_to_application.rb +22 -24
  55. data/db/migrate/20191217135611_create_mokio_seo_tags.rb +11 -0
  56. data/lib/mokio.rb +37 -10
  57. data/lib/mokio/concerns.rb +3 -13
  58. data/lib/mokio/concerns/common/controller_functions.rb +1 -15
  59. data/lib/mokio/concerns/common/controller_object.rb +2 -2
  60. data/lib/mokio/concerns/common/seo_tags.rb +32 -0
  61. data/lib/mokio/concerns/common/services/sitemap_service.rb +196 -0
  62. data/lib/mokio/concerns/controllers/application.rb +5 -5
  63. data/lib/mokio/concerns/controllers/base.rb +12 -12
  64. data/lib/mokio/concerns/controllers/common.rb +6 -4
  65. data/lib/mokio/concerns/controllers/data_files.rb +3 -3
  66. data/lib/mokio/concerns/controllers/menus.rb +11 -13
  67. data/lib/mokio/concerns/controllers/mov_galleries.rb +1 -2
  68. data/lib/mokio/concerns/controllers/photos.rb +10 -10
  69. data/lib/mokio/concerns/controllers/pic_galleries.rb +2 -3
  70. data/lib/mokio/concerns/controllers/users.rb +4 -3
  71. data/lib/mokio/concerns/controllers/youtubes.rb +7 -7
  72. data/lib/mokio/concerns/models/available_module.rb +3 -3
  73. data/lib/mokio/concerns/models/common.rb +1 -29
  74. data/lib/mokio/concerns/models/contact_template.rb +0 -4
  75. data/lib/mokio/concerns/models/content.rb +15 -7
  76. data/lib/mokio/concerns/models/data_file.rb +3 -9
  77. data/lib/mokio/concerns/models/lang.rb +11 -7
  78. data/lib/mokio/concerns/models/menu.rb +4 -4
  79. data/lib/mokio/concerns/models/module_position.rb +1 -1
  80. data/lib/mokio/concerns/models/recipient.rb +0 -2
  81. data/lib/mokio/concerns/models/seo_tag.rb +118 -0
  82. data/lib/mokio/concerns/models/static_module.rb +2 -2
  83. data/lib/mokio/concerns/models/user.rb +1 -1
  84. data/lib/mokio/engine.rb +7 -17
  85. data/lib/mokio/frontend_helpers.rb +1 -0
  86. data/lib/mokio/frontend_helpers/seo_tag_helper.rb +33 -0
  87. data/lib/mokio/simple-form-wrappers.rb +11 -0
  88. data/lib/mokio/version.rb +1 -1
  89. data/lib/tasks/mokio_install.rake +37 -9
  90. data/spec/dummy/Rakefile +1 -3
  91. data/spec/dummy/app/controllers/application_controller.rb +1 -1
  92. data/spec/dummy/config.ru +1 -2
  93. data/spec/dummy/config/application.rb +9 -12
  94. data/spec/dummy/config/database.yml +18 -0
  95. data/spec/dummy/config/environment.rb +1 -1
  96. data/spec/dummy/log/development.log +0 -0
  97. data/spec/dummy/log/development_mokio.log +9 -0
  98. data/spec/models/content_spec.rb +0 -1
  99. data/spec/models/menu_spec.rb +8 -9
  100. data/spec/models/mov_gallery_spec.rb +0 -1
  101. data/spec/models/pic_gallery_spec.rb +0 -1
  102. metadata +212 -407
  103. data/README.rdoc +0 -47
  104. data/app/assets/javascripts/backend/plugins/forms/select/select2.js +0 -2195
  105. data/app/assets/javascripts/backend/plugins/forms/select/select2.min.js +0 -76
  106. data/app/assets/javascripts/backend/plugins/tables/dataTables/jquery.dataTables.js +0 -12099
  107. data/app/assets/javascripts/backend/plugins/tables/dataTables/jquery.dataTables.min.js +0 -155
  108. data/app/controllers/mokio/base_articles_controller.rb +0 -3
  109. data/app/controllers/mokio/base_contacts_controller.rb +0 -5
  110. data/app/controllers/mokio/base_contents_controller.rb +0 -3
  111. data/app/controllers/mokio/base_mov_galleries_controller.rb +0 -3
  112. data/app/controllers/mokio/base_pic_galleries_controller.rb +0 -4
  113. data/app/controllers/passwords_controller.rb +0 -14
  114. data/app/models/mokio/base_article.rb +0 -29
  115. data/app/models/mokio/base_contact.rb +0 -30
  116. data/app/models/mokio/base_content.rb +0 -5
  117. data/app/models/mokio/base_mov_gallery.rb +0 -30
  118. data/app/models/mokio/base_pic_gallery.rb +0 -30
  119. data/app/models/mokio/meta.rb +0 -24
  120. data/app/views/mokio/backend/articles/_form.html.haml +0 -9
  121. data/app/views/mokio/backend/common/_form_content.html.haml +0 -36
  122. data/app/views/mokio/backend/common/_gmap.html.haml +0 -39
  123. data/app/views/mokio/backend/common/_main_pic.html.haml +0 -4
  124. data/app/views/mokio/backend/common/_meta.html.haml +0 -51
  125. data/app/views/mokio/backend/common/_notice.html.haml +0 -3
  126. data/app/views/mokio/backend/common/_obj.html.haml +0 -16
  127. data/app/views/mokio/backend/common/copy.html.haml +0 -5
  128. data/app/views/mokio/backend/common/edit.html.haml +0 -6
  129. data/app/views/mokio/backend/common/index.html.haml +0 -19
  130. data/app/views/mokio/backend/common/new.html.haml +0 -6
  131. data/app/views/mokio/backend/contacts/_form.html.haml +0 -42
  132. data/app/views/mokio/backend/contents/_content_info_widget.html.haml +0 -22
  133. data/app/views/mokio/backend/dashboard/_content.html.haml +0 -9
  134. data/app/views/mokio/backend/dashboard/show.html.haml +0 -35
  135. data/app/views/mokio/backend/dashboard/tbl_content.html.haml +0 -24
  136. data/app/views/mokio/backend/data_files/_file_upload.html.erb +0 -71
  137. data/app/views/mokio/backend/data_files/uploader.html.haml +0 -15
  138. data/app/views/mokio/backend/errors/404.html.haml +0 -45
  139. data/app/views/mokio/backend/errors/unauthorized.html.haml +0 -11
  140. data/app/views/mokio/backend/layout/_user_widget.html.haml +0 -8
  141. data/app/views/mokio/backend/layout/header.html.haml +0 -14
  142. data/app/views/mokio/backend/layout/sidebar.html.haml +0 -59
  143. data/app/views/mokio/backend/menus/_form.html.haml +0 -66
  144. data/app/views/mokio/backend/menus/_menu.html.haml +0 -24
  145. data/app/views/mokio/backend/menus/index.html.haml +0 -53
  146. data/app/views/mokio/backend/menus/index.json.jbuilder +0 -4
  147. data/app/views/mokio/backend/menus/lang_changed.js.haml +0 -6
  148. data/app/views/mokio/backend/menus/sort.html.haml +0 -1
  149. data/app/views/mokio/backend/menus/update_menu_breadcrumps.js.haml +0 -1
  150. data/app/views/mokio/backend/mov_galleries/_form.html.haml +0 -17
  151. data/app/views/mokio/backend/mov_galleries/_form_inputs.html.haml +0 -8
  152. data/app/views/mokio/backend/photos/_gallery.html.haml +0 -25
  153. data/app/views/mokio/backend/photos/create.js.haml +0 -1
  154. data/app/views/mokio/backend/photos/crop_photo.js.haml +0 -10
  155. data/app/views/mokio/backend/photos/crop_thumb.js.haml +0 -11
  156. data/app/views/mokio/backend/photos/destroy.js.haml +0 -1
  157. data/app/views/mokio/backend/photos/from_external_link.html.haml +0 -19
  158. data/app/views/mokio/backend/photos/get_photo.js.haml +0 -1
  159. data/app/views/mokio/backend/photos/get_thumb.js.haml +0 -1
  160. data/app/views/mokio/backend/photos/photo.html.haml +0 -54
  161. data/app/views/mokio/backend/photos/remove_thumb.js.haml +0 -10
  162. data/app/views/mokio/backend/photos/rotate_photo.js.haml +0 -10
  163. data/app/views/mokio/backend/photos/rotate_thumb.js.haml +0 -11
  164. data/app/views/mokio/backend/photos/thumb.html.haml +0 -9
  165. data/app/views/mokio/backend/photos/update_thumb.js.haml +0 -11
  166. data/app/views/mokio/backend/photos/upload_external_links.js.haml +0 -4
  167. data/app/views/mokio/backend/pic_galleries/_form.html.haml +0 -16
  168. data/app/views/mokio/backend/pic_galleries/_form_inputs.html.haml +0 -9
  169. data/app/views/mokio/backend/site_helper/first_login.html.haml +0 -14
  170. data/app/views/mokio/backend/static_modules/_form.html.haml +0 -9
  171. data/app/views/mokio/backend/users/_form.html.haml +0 -11
  172. data/app/views/mokio/backend/users/edit_password.html.haml +0 -13
  173. data/app/views/mokio/backend/youtubes/_edit.html.haml +0 -49
  174. data/app/views/mokio/backend/youtubes/_gallery.html.haml +0 -24
  175. data/app/views/mokio/backend/youtubes/_new.html.haml +0 -4
  176. data/app/views/mokio/backend/youtubes/_preview_movie.html.haml +0 -1
  177. data/app/views/mokio/backend/youtubes/_search_yt.html.haml +0 -8
  178. data/app/views/mokio/backend/youtubes/_search_yt_body.html.haml +0 -11
  179. data/app/views/mokio/backend/youtubes/find.js.haml +0 -1
  180. data/app/views/mokio/backend/youtubes/preview.html.haml +0 -36
  181. data/app/views/mokio/backend/youtubes/preview_movie.js.haml +0 -5
  182. data/app/views/mokio/backend/youtubes/thumb.html.haml +0 -14
  183. data/app/views/mokio/backend/youtubes/uploader.html.haml +0 -10
  184. data/app/views/mokio/backend/youtubes/youtube.html.haml +0 -12
  185. data/app/views/mokio/base_articles/_multi_lang_form.html.slim +0 -18
  186. data/app/views/mokio/base_contacts/_multi_lang_form.html.slim +0 -48
  187. data/app/views/mokio/base_contents/update_content_form.js.slim +0 -1
  188. data/app/views/mokio/base_pic_galleries/_multi_lang_form.html.slim +0 -13
  189. data/app/views/mokio/common/_meta.html.slim +0 -50
  190. data/app/views/mokio/common/_multi_lang_gmap.html.slim +0 -41
  191. data/app/views/mokio/common/_multi_lang_meta.html.slim +0 -50
  192. data/app/views/mokio/common/multi_lang_form_content.html.slim +0 -56
  193. data/db/migrate/20140731061227_create_mokio_external_scripts.rb +0 -12
  194. data/db/migrate/20141009125027_alter_external_scripts.rb +0 -13
  195. data/db/migrate/20141024131942_migrate_external_codes_to_external_scripts.rb +0 -25
  196. data/db/migrate/20141209072051_change_data_type_for_display_dates.rb +0 -8
  197. data/db/migrate/20141209101853_add_menu_css_options.rb +0 -6
  198. data/db/migrate/20150220071158_add_subtitle_to_contents.rb +0 -7
  199. data/db/migrate/20150220091326_add_main_pic_to_mokio_menu.rb +0 -5
  200. data/db/migrate/20150408074951_create_mokio_base_contents.rb +0 -17
  201. data/db/migrate/20150408075454_add_base_content_id_to_mokio_contents.mokio.rb +0 -6
  202. data/db/migrate/20150414054139_add_name_to_mokio_users.rb +0 -6
  203. data/db/migrate/20150414070406_add_author_and_editor_to_mokio_content.rb +0 -6
  204. data/db/migrate/20150528104851_add_base_content_id_to_mokio_data_files.rb +0 -5
  205. data/lib/mokio/concerns/controllers/base_articles.rb +0 -31
  206. data/lib/mokio/concerns/controllers/base_contacts.rb +0 -32
  207. data/lib/mokio/concerns/controllers/base_contents.rb +0 -167
  208. data/lib/mokio/concerns/controllers/base_mov_galleries.rb +0 -48
  209. data/lib/mokio/concerns/controllers/base_pic_galleries.rb +0 -32
  210. data/lib/mokio/concerns/models/base_article.rb +0 -21
  211. data/lib/mokio/concerns/models/base_contact.rb +0 -36
  212. data/lib/mokio/concerns/models/base_content.rb +0 -51
  213. data/lib/mokio/concerns/models/base_mov_gallery.rb +0 -19
  214. data/lib/mokio/concerns/models/base_pic_gallery.rb +0 -22
  215. data/lib/mokio/concerns/models/meta.rb +0 -39
  216. data/spec/factories/meta.rb +0 -37
  217. data/spec/models/meta_spec.rb +0 -26
@@ -5,13 +5,8 @@
5
5
  <!-- The fileinput-button span is used to style the file input field as button -->
6
6
  <span class="btn btn-success fileinput-button">
7
7
  <span><%= bt("add_files") %></span>
8
-
9
- <% if obj.kind_of?(Mokio::BaseContent) %>
10
- <%= f.hidden_field "base_content_id", :value => obj.id, name: "#{file_type.to_s.tableize.gsub('mokio/', '').singularize}[base_content_id]" %>
11
- <% else %>
12
8
  <%= f.hidden_field @obj_class.to_s.demodulize.downcase+"_id", :value => obj.id, name: "#{file_type.to_s.tableize.gsub('mokio/', '').singularize}[#{@obj_class.to_s.demodulize.downcase}_id]" %>
13
-
14
- <% end %>
9
+
15
10
 
16
11
  <%= f.file_field :data_file, multiple:true, name: "#{file_type.to_s.tableize.gsub('mokio/', '').singularize}[data_file]" %>
17
12
  </span>
@@ -3,7 +3,7 @@
3
3
  li.nav-heading
4
4
  .sidenav
5
5
  - cache :sidebar do
6
- .sidebar-widget style="margin: -1px 0 0 0;"
6
+ .sidebar-widget style="margin: -1px 0 0 0;"
7
7
  h5.title style="margin-bottom:0" = bt("sidebar_title", "backend.sidebar")
8
8
  .mainnav
9
9
  ul#sidebar-ul
@@ -21,18 +21,11 @@
21
21
  span.icon16.minia-icon-pencil-2
22
22
  = bts("content_management")
23
23
  ul.sub#add_content
24
- -if Mokio.multi_lang_contents
25
- = sidebar_btn Mokio::BaseContent, "icomoon-icon-list-view-2", bts("all"), false
26
- = sidebar_btn Mokio::BaseArticle, "icomoon-icon-file"
27
- = sidebar_btn Mokio::BasePicGallery, "icomoon-icon-picture"
28
- = sidebar_btn Mokio::BaseMovGallery, "icomoon-icon-movie"
29
- = sidebar_btn Mokio::BaseContact, "icomoon-icon-mail-3"
30
- -else
31
- = sidebar_btn Mokio::Content, "icomoon-icon-list-view-2", bts("all"), false
32
- = sidebar_btn Mokio::Article, "icomoon-icon-file"
33
- = sidebar_btn Mokio::PicGallery, "icomoon-icon-picture"
34
- = sidebar_btn Mokio::MovGallery, "icomoon-icon-movie"
35
- = sidebar_btn Mokio::Contact, "icomoon-icon-mail-3"
24
+ = sidebar_btn Mokio::Content, "icomoon-icon-list-view-2", bts("all"), false
25
+ = sidebar_btn Mokio::Article, "icomoon-icon-file"
26
+ = sidebar_btn Mokio::PicGallery, "icomoon-icon-picture"
27
+ = sidebar_btn Mokio::MovGallery, "icomoon-icon-movie"
28
+ = sidebar_btn Mokio::Contact, "icomoon-icon-mail-3"
36
29
 
37
30
  / SITE ELEMENTS
38
31
  - if can_manage_site_elements?
@@ -0,0 +1,97 @@
1
+ = render :partial => "mokio/common/main_pic", locals: {f:f}
2
+ = render_backend_input_lang_id(f)
3
+
4
+ = f.input :active, :wrapper => :active_checkbox, disabled: !@menu.display_editable_field?('active')
5
+ = f.input :visible, :wrapper => :active_checkbox, disabled: !@menu.display_editable_field?('visible')
6
+ .row-fluid
7
+ label.form-label.span2
8
+ = btc('slug', Mokio::Menu)
9
+ .span10
10
+ = text_field_tag '', (@menu.full_slug.nil?) ? bt('no_slug', Mokio::Menu) : "/" + @menu.full_slug.to_s, readonly: true
11
+ = f.input :name, disabled: !@menu.display_editable_field?('name')
12
+ = f.input :subtitle, disabled: !@menu.display_editable_field?('subtitle'), :as => :string
13
+ = f.input :css_class, disabled: !@menu.display_editable_field?('css_class')
14
+ = f.input :css_body_class, disabled: !@menu.display_editable_field?('css_body_class')
15
+ .row-fluid
16
+ label.form-label.span2
17
+ = btc('type', Mokio::Menu)
18
+ .span10
19
+ = select_tag "menu_type", options_for_select([[btc("content",'Menu'), 'content'],[btc("external_link",'Menu'), 'external_link']], !@menu.external_link.blank? ? "external_link" : "content"), { :class => 'mokio-select2' }
20
+
21
+ .row-fluid#content_box style=("display: #{!@menu.external_link.blank? ? 'none' : 'block'};")
22
+ = dual_select_box(@menu.available_contents, 'id', 'title', @menu.contents, 'id', 'title', btc('content', 'Menu'), '','menu[content_ids][]', true, false, false, @menu.display_editable_field?('contents'))
23
+ #url_box style=("display: #{!@menu.external_link.blank? ? 'block' : 'none'};")
24
+ = f.input :external_link, label: btc("external_link",'Menu'), disabled: !@menu.display_editable_field?('external_link')
25
+ = f.input :follow, :as => :select, :collection => [[bt("follow",'Menu'), "true"], [bt("nofollow",'Menu'), "false"]], :include_blank => false,wrapper: :select2
26
+ = f.input :parent_id, :collection => @menu.parent_tree.where.not(ancestry: nil).collect{|m| ["#{'-' * (m.depth - 1)} #{m.name}", m.id]}, include_blank: false, disabled: !@menu.display_editable_field?('parent_id'),wrapper: :select2
27
+
28
+ .row-fluid
29
+ label.form-label.span2
30
+ = btc('path', Mokio::Menu)
31
+ .span10
32
+ #menu_breadcrumps
33
+ = tree_menu_breadcrumbs(@menu.parent)
34
+
35
+ = f.input :target, :collection => [[bt("current_window_inside",Mokio::Menu), nil], [bt("new_window",Mokio::Menu), "_blank"]], include_blank: false, disabled: !@menu.display_editable_field?('target'),wrapper: :select2
36
+
37
+ .row-fluid
38
+ label.form-label.span2
39
+ = btc("blocks", 'Menu')
40
+ .span10
41
+ .tabs_wrap
42
+ ul.nav.nav-tabs.pattern id="tabs_modules"
43
+ - Mokio::ModulePosition.all.each do |mp|
44
+ li
45
+ a href=("#tab" + mp.id.to_s) data-toggle="tab"
46
+ = mp.name
47
+
48
+ .tab-content
49
+ - Mokio::ModulePosition.all.each do |mp|
50
+ .tab-pane.fade id=("tab" + mp.id.to_s)
51
+ = dual_select_box(@menu.available_modules_by_pos[mp.id].nil? ? [] : @menu.available_modules_by_pos[mp.id], 'id', 'module_title', @menu.selected_modules_by_pos[mp.id].nil? ? [] : @menu.selected_modules_by_pos[mp.id], 'id', 'module_title', mp.name, '_' + mp.id.to_s, 'menu[available_module_ids][' + mp.id.to_s + '][]', false, true, true, @menu.display_editable_field?('available_modules'))
52
+
53
+ - content_for :js do
54
+ = javascript_include_tag "backend/menu/menu_dual_select"
55
+ javascript:
56
+ $(document).ready(function() {
57
+ $('#menu_parent_id').change(function() {
58
+ $.ajax({
59
+ url: "#{Mokio::Engine.routes.url_helpers.root_path}menus/" + $('#menu_parent_id').val() + "/update_menu_breadcrumps",
60
+ dataType: "script"
61
+ });
62
+ });
63
+
64
+ $('#menu_lang_id').change(function() {
65
+ var content_confirm = confirm('#{bt('content_remove_confirm', Mokio::Menu)}');
66
+ var modules_confirm = confirm('#{bt('modules_remove_confirm', Mokio::Menu)}');
67
+ $.ajax({
68
+ url: "#{Mokio::Engine.routes.url_helpers.root_path}menus/lang_changed?lang_id=" + $('#menu_lang_id').val() + '&content_confirm='+ content_confirm + '&modules_confirm=' + modules_confirm,
69
+ dataType: "script"
70
+ });
71
+ });
72
+ dualSelectInit('', true);
73
+
74
+ var dualSelectArr = #{@dual_select_arr};
75
+
76
+ if(dualSelectArr.length > 0) {
77
+ $.each(dualSelectArr, function(propVal) {
78
+ dualSelectInit('_' + propVal, false);
79
+ });
80
+ }
81
+
82
+ $('#tabs_modules li').first().addClass('active');
83
+ $('.tabs_wrap .tab-pane').first().addClass('in active');
84
+
85
+ $('#menu_type').change(function() {
86
+ $('#content_box').toggle();
87
+ $('#url_box').toggle();
88
+ if ($('#menu_type').val() == "content") {
89
+ $('#menu_external_link').val("");
90
+ }
91
+ else {
92
+ $('#allTo1real').click();
93
+ }
94
+ });
95
+ });
96
+
97
+
@@ -1,6 +1,5 @@
1
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: false, disabled: !@menu.display_editable_field?('lang_id')
3
- -# = f.input :lang_id, :as => :hidden, :input_html => { :value => (@menu.lang_id.nil? ? 1 : @menu.lang_id)}, disabled: !@menu.display_editable_field?('lang_id')
2
+ = render_backend_input_lang_id(f)
4
3
  = f.input :active, :wrapper => :active_checkbox, disabled: !@menu.display_editable_field?('active')
5
4
  = f.input :visible, :wrapper => :active_checkbox, disabled: !@menu.display_editable_field?('visible')
6
5
  .row-fluid
@@ -23,7 +22,7 @@
23
22
  #url_box{:style => "display: #{!@menu.external_link.blank? ? 'block' : 'none'};"}
24
23
  = f.input :external_link, label: btc("external_link",'Menu'), disabled: !@menu.display_editable_field?('external_link')
25
24
  = f.input :follow, :as => :select, :collection => [[bt("follow",'Menu'), "true"], [bt("nofollow",'Menu'), "false"]], :include_blank => false
26
- = f.input :parent_id, :collection => @menu.parent_tree.where.not(ancestry: nil).collect{|m| ["#{'-' * (m.depth - 1)} #{m.name}", m.id]}, include_blank: false, disabled: !@menu.display_editable_field?('parent_id')
25
+ = f.input :parent_id, :collection => @menu.parent_tree.where.not(ancestry: nil).collect{|m| ["#{'-' * (m.depth - 1)} #{m.name}", m.id]}, include_blank: false, disabled: !@menu.display_editable_field?('parent_id'),wrapper: :select2
27
26
 
28
27
  .row-fluid
29
28
  %label.form-label.span2
@@ -32,7 +31,7 @@
32
31
  #menu_breadcrumps
33
32
  = tree_menu_breadcrumbs(@menu.parent)
34
33
 
35
- = f.input :target, :collection => [[bt("current_window_inside",Mokio::Menu), nil], [bt("new_window",Mokio::Menu), "_blank"]], include_blank: false, disabled: !@menu.display_editable_field?('target')
34
+ = f.input :target, :collection => [[bt("current_window_inside",Mokio::Menu), nil], [bt("new_window",Mokio::Menu), "_blank"]], include_blank: false, disabled: !@menu.display_editable_field?('target'),wrapper: :select2
36
35
 
37
36
  .row-fluid
38
37
  %label.form-label.span2
@@ -42,7 +41,7 @@
42
41
  %ul.nav.nav-tabs.pattern{:id => "tabs_modules"}
43
42
  - Mokio::ModulePosition.all.each do |mp|
44
43
  %li
45
- %a{:href => "#tab" + mp.id.to_s, :"data-toggle" => "tab"}
44
+ %a{:href => "#tab" + mp.id.to_s, :"data-toggle" => "tab"}
46
45
  = mp.name
47
46
 
48
47
  .tab-content
@@ -88,5 +87,5 @@
88
87
  }
89
88
  });
90
89
  });
91
-
90
+
92
91
 
@@ -1,7 +1,5 @@
1
1
  - cache [:form, @menu] do
2
- = f.input :lang_id, collection: Mokio::Lang.all.collect{|lang| [bt(lang.name), lang.id]}, include_blank: false, disabled: !@menu.display_editable_field?('lang_id')
3
-
4
- / = f.input :lang_id, :as => :hidden, :input_html => { :value => (@menu.lang_id.nil? ? 1 : @menu.lang_id)}, disabled: !@menu.display_editable_field?('lang_id')
2
+ = render_backend_input_lang_id(f)
5
3
  = f.input :active, :wrapper => :active_checkbox, disabled: !@menu.display_editable_field?('active')
6
4
  = f.input :visible, :wrapper => :active_checkbox, disabled: !@menu.display_editable_field?('visible')
7
5
  = f.input :name, disabled: !@menu.display_editable_field?('name')
@@ -9,11 +7,11 @@
9
7
  label.form-label.span2
10
8
  = btc('type', Mokio::Menu)
11
9
  .span10
12
- = select_tag "menu_type", options_for_select([[btc("content",'Menu'), 'content'],[btc("external_link",'Menu'), 'external_link']], @menu.contents.empty? && !@menu.external_link.blank? ? "external_link" : "content")
10
+ = select_tag "menu_type", options_for_select([[btc("content",'Menu'), 'content'],[btc("external_link",'Menu'), 'external_link']], @menu.contents.empty? && !@menu.external_link.blank? ? "external_link" : "content"),{:class => "mokio-select2"}
13
11
 
14
- .row-fluid#content_box style=("display: #{@menu.contents.empty? && !@menu.external_link.blank? ? 'none' : 'block'};")
12
+ .row-fluid#content_box style=("display: #{@menu.contents.empty? && !@menu.external_link.blank? ? 'none' : 'block'};")
15
13
  = dual_select_box(@menu.available_contents, 'id', 'title', @menu.contents, 'id', 'title', btc('content', 'Menu'), '','menu[content_ids][]', true, false, false, @menu.display_editable_field?('contents'))
16
- #url_box style=("display: #{@menu.contents.empty? && !@menu.external_link.blank? ? 'block' : 'none'};")
14
+ #url_box style=("display: #{@menu.contents.empty? && !@menu.external_link.blank? ? 'block' : 'none'};")
17
15
  = f.input :external_link, label: btc("external_link",'Menu'), disabled: !@menu.display_editable_field?('external_link')
18
16
  = f.input :follow, :as => :select, :collection => [[bt("follow",'Menu'), "true"], [bt("nofollow",'Menu'), "false"]], :include_blank => false
19
17
  = f.input :parent_id, :collection => @menu.parent_tree.collect{|m| [m.name, m.id]}, include_blank: false, disabled: !@menu.display_editable_field?('parent_id')
@@ -31,15 +29,15 @@
31
29
  label.form-label.span2 Moduły statyczne
32
30
  .span10
33
31
  .tabs_wrap
34
- ul.nav.nav-tabs.pattern id="tabs_modules"
32
+ ul.nav.nav-tabs.pattern id="tabs_modules"
35
33
  - Mokio::ModulePosition.all.each do |mp|
36
34
  li
37
- a href=("#" + mp.name.parameterize) data-toggle="tab"
35
+ a href=("#" + mp.name.parameterize) data-toggle="tab"
38
36
  = mp.name
39
37
 
40
38
  .tab-content
41
39
  - Mokio::ModulePosition.all.each do |mp|
42
- .tab-pane.fade id=mp.name.parameterize
40
+ .tab-pane.fade id=mp.name.parameterize
43
41
  = dual_select_box(@menu.available_modules_by_pos[mp.id].nil? ? [] : @menu.available_modules_by_pos[mp.id], 'id', 'module_title', @menu.selected_modules_by_pos[mp.id].nil? ? [] : @menu.selected_modules_by_pos[mp.id], 'id', 'module_title', mp.name, '_' + mp.id.to_s, 'menu[available_module_ids][' + mp.id.to_s + '][]', false, true, true, @menu.display_editable_field?('available_modules'))
44
42
 
45
43
  - content_for :js do
@@ -72,4 +70,4 @@
72
70
  $('#url_box').toggle();
73
71
  });
74
72
  });
75
-
73
+
@@ -9,7 +9,7 @@
9
9
 
10
10
  .row-fluid
11
11
  = f.hidden_field :fake, :value => true
12
- = f.input :lang_id, collection: Mokio::Lang.all.collect{|lang| [bt(lang.name), lang.id]}, include_blank: false, disabled: !@menu.display_editable_field?('lang_id')
12
+ = render_backend_input_lang_id(f)
13
13
  = f.input :name
14
14
 
15
15
 
@@ -1,8 +1,8 @@
1
1
  = render :partial => "mokio/common/main_pic", locals: {f:f}
2
2
  = render :partial => "mokio/contents/common", locals: {f:f}
3
- = 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')
4
- = f.input :active, :wrapper => :active_checkbox, disabled: !obj.display_editable_field?('active')
5
- = f.input :home_page, :wrapper => :active_checkbox, disabled: !obj.display_editable_field?('home_page')
3
+ = render_backend_input_lang_id(f)
4
+ = render_backend_input_active(f)
5
+ = render_backend_input_home_page(f)
6
6
  = f.input :title, disabled: !obj.display_editable_field?('title')
7
7
  = f.input :subtitle, disabled: !obj.display_editable_field?('subtitle'), :as => :string
8
8
  = f.input :intro, label: btc("intro", 'mov_gallery'), :wrapper => :ckeditor, :as => :ckeditor, :input_html => { :ckeditor => {:toolbar => 'Full', :height => 150, :language => I18n.locale} }, disabled: !obj.display_editable_field?('intro')
@@ -1,8 +1,8 @@
1
1
  = render :partial => "mokio/common/main_pic", locals: {f:f}
2
2
  = render :partial => "mokio/contents/common", locals: {f:f}
3
- = 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')
4
- = f.input :active, :wrapper => :active_checkbox, disabled: !obj.display_editable_field?('active')
5
- = f.input :home_page, :wrapper => :active_checkbox, disabled: !obj.display_editable_field?('home_page')
3
+ = render_backend_input_lang_id(f)
4
+ = render_backend_input_active(f)
5
+ = render_backend_input_home_page(f)
6
6
  = f.input :title, disabled: !obj.display_editable_field?('title')
7
7
  = f.input :subtitle, disabled: !obj.display_editable_field?('subtitle'), :as => :string
8
8
  = f.input :intro, :wrapper => :ckeditor, :as => :ckeditor, :input_html => { :ckeditor => {:toolbar => 'Full', :height => 150, :language => I18n.locale} }, disabled: !obj.display_editable_field?('intro')
@@ -1,4 +1,5 @@
1
- = 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')
1
+ = render_backend_input_lang_id(f)
2
+ = render_backend_input_active(f)
2
3
  = f.input :active, :wrapper => :active_checkbox, disabled: !@static_module.display_editable_field?('active')
3
4
  = f.input :title, disabled: !@static_module.display_editable_field?('title')
4
5
  = f.input :subtitle, disabled: !@static_module.display_editable_field?('subtitle'), :as => :string
@@ -0,0 +1,3 @@
1
+ Rails.application.configure do |conf|
2
+ conf.default_url_options = {host: ENV['APP_HOST'] || "localhost:3000"}
3
+ end
@@ -6,6 +6,15 @@ SimpleForm.setup do |config|
6
6
  # stack. The options given below are used to wrap the
7
7
  # whole input.
8
8
  # =========================================================================================== #
9
+ config.wrappers :input_without_label, :tag => 'div', :class => 'control-group', :error_class => 'error' do |b|
10
+ b.use :html5
11
+ b.wrapper :tag => 'div', :class => 'controls' do |ba|
12
+ ba.use :input
13
+ ba.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
14
+ ba.use :hint, :wrap_with => { :tag => 'p', :class => 'help-block' }
15
+ end
16
+ end
17
+
9
18
  config.wrappers :default, class: :input,
10
19
  hint_class: :field_with_hint, error_class: :field_with_errors do |b|
11
20
  ## Extensions enabled by default
@@ -89,7 +89,7 @@ en:
89
89
  english: english
90
90
  polish: polish
91
91
  all: all
92
- size: Size
92
+ size: Size
93
93
  wait: Please wait
94
94
  content_not_in_menu: "Content not assigned to any menu"
95
95
  all_dashboard: "All:"
@@ -116,6 +116,10 @@ en:
116
116
  version: Version
117
117
  dashboard: Dashboard
118
118
  copy_suffix: (copy)
119
+ dynamic_fields:
120
+ add_new_button: Add new
121
+ delete_row_button: Delete
122
+ delete_row_button_message: Do you really want to delete this item?
119
123
 
120
124
  sidebars:
121
125
  dashboard: Dashboard
@@ -348,7 +352,7 @@ en:
348
352
  content: content
349
353
  display_from: "displayed from"
350
354
  display_to: "displayed to"
351
- new_title: "New photo gallery"
355
+ new_title: "New photo gallery"
352
356
  edit_title: "Edit photo gallery"
353
357
  update_active_true: "Gallery <strong>'%{title}'</strong> is active"
354
358
  update_active_false: "Gallery <strong>'%{title}'</strong> is not active"
@@ -420,7 +424,7 @@ en:
420
424
  deleted: "Content <strong>'%{title}'</strong> has been deleted"
421
425
  not_created: "Content <strong>'%{title}'</strong> has NOT been created"
422
426
  not_updated: "Content <strong>'%{title}'</strong> has NOT been updated"
423
- not_deleted: "Content <strong>'%{title}'</strong> has NOT been deleted"
427
+ not_deleted: "Content <strong>'%{title}'</strong> has NOT been deleted"
424
428
  add_external_link: "Add external photo"
425
429
  active: Active
426
430
  intro: Introduction
@@ -502,13 +506,9 @@ en:
502
506
  subtitle: Subtitle
503
507
  movie_url_desc: "Url for a movie from Youtube, Vimeo or DailyMotion"
504
508
 
505
- meta:
506
- meta_google: Google meta tags
507
- meta_google_desc: meta tags influence Google search results
508
- meta_facebook: Facebook meta tags
509
- meta_facebook_desc: meta tags are used when sharing or displaying the site on Facebook
510
- auto_completed: Meta tags were automatically filed in.
511
-
509
+ seo_tags:
510
+ seo_tags: Seo meta tags
511
+ seo_tags_desc: meta tags influence Google search results
512
512
  gmaps:
513
513
  gmap: Google map
514
514
  users:
@@ -603,11 +603,15 @@ en:
603
603
  messages:
604
604
  unauthorized: You are not authorized to perform this action
605
605
 
606
- # ============================================ Activerecord ============================================================= #
606
+ # ============================================ Activerecord ============================================================= #
607
607
 
608
608
  activerecord:
609
609
  errors:
610
610
  models:
611
+ mokio/seo_tag:
612
+ attributes:
613
+ tag_key:
614
+ taken: "The key is taken"
611
615
  mokio/contact:
612
616
  attributes:
613
617
  title:
@@ -675,7 +679,7 @@ en:
675
679
  editable:
676
680
  not_permitted: Edit not allowed
677
681
  messages:
678
- record_invalid: Incorrect record
682
+ record_invalid: Incorrect record
679
683
 
680
684
  attributes:
681
685
  mokio/contents:
@@ -794,20 +798,6 @@ en:
794
798
  thumb: Thumb
795
799
  add_own_thumb: Add your own thumb
796
800
  subtitle: Subtitle
797
-
798
- mokio/meta:
799
- g_title: Title
800
- g_desc: Description
801
- g_keywords: Keywords
802
- g_author: Author
803
- g_copyright: Copyright
804
- g_application_name: Application name
805
- f_title: Title
806
- f_type: Page type
807
- f_image: Image
808
- f_url: Page url
809
- f_desc: Description
810
-
811
801
  mokio/user:
812
802
  password: Password
813
803
  remember_me: Remember me
@@ -117,6 +117,10 @@ pl:
117
117
  version: Wersja
118
118
  dashboard: Dashboard
119
119
  copy_suffix: (kopia)
120
+ dynamic_fields:
121
+ add_new_button: Dodaj
122
+ delete_row_button: Usuń
123
+ delete_row_button_message: Czy na pewno chcesz usunąć?
120
124
 
121
125
  sidebars:
122
126
  dashboard: Dashboard
@@ -519,12 +523,9 @@ pl:
519
523
  subtitle: Podtytuł
520
524
  movie_url_desc: "Podaj url do filmu z Youtube, Vimeo lub DailyMotion"
521
525
 
522
- meta:
523
- meta_google: Google meta tagi
524
- meta_google_desc: meta tagi mają wpływ na wyniki wyświetlania w google
525
- meta_facebook: Facebook meta tagi
526
- meta_facebook_desc: meta tagi wykorzystywane są przy udostępnianiu i wyświetlaniu witryny w Facebook
527
- auto_completed: Meta tagi zostały uzupełnione automatycznie.
526
+ seo_tags:
527
+ seo_tags: Seo meta tagi
528
+ seo_tags_desc: meta tagi mają wpływ na wyniki wyświetlania w google
528
529
 
529
530
  gmaps:
530
531
  gmap: Mapa google
@@ -628,6 +629,10 @@ pl:
628
629
  attributes:
629
630
  title:
630
631
  blank: "Tytuł nie może być pusty"
632
+ mokio/seo_tag:
633
+ attributes:
634
+ tag_key:
635
+ taken: "Znacznik meta nie może się powtarzać"
631
636
  mokio/menu:
632
637
  attributes:
633
638
  name:
@@ -818,20 +823,6 @@ pl:
818
823
  thumb: Miniaturka
819
824
  add_own_thumb: Dodaj własną miniaturkę
820
825
  subtitle: Podtytuł
821
-
822
- mokio/meta:
823
- g_title: Tytuł
824
- g_desc: Opis
825
- g_keywords: Słowa kluczowe
826
- g_author: Autor
827
- g_copyright: Prawa autorskie
828
- g_application_name: Nazwa aplikacji
829
- f_title: Tytuł
830
- f_type: Typ strony
831
- f_image: Zdjęcie
832
- f_url: Url strony
833
- f_desc: Opis
834
-
835
826
  mokio/user:
836
827
  password: Hasło
837
828
  remember_me: Zapamiętaj mnie