kirgudu_base 0.0.3 → 0.0.4

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.
Files changed (187) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/kirgudu_base/dynamicEvents.js +2 -1
  3. data/app/assets/javascripts/kirgudu_base/jquery.container-management.js +241 -0
  4. data/app/assets/javascripts/kirgudu_base/jquery.fancybox copia.js +2020 -0
  5. data/app/assets/javascripts/kirgudu_base/scripts_nrg.js +300 -383
  6. data/app/controllers/kirgudu_base/admin_controller.rb +1 -44
  7. data/app/controllers/kirgudu_base/application_controller.rb +135 -92
  8. data/app/controllers/kirgudu_base/cabinet_controller.rb +35 -35
  9. data/app/controllers/kirgudu_base/security/authentications_controller.rb +452 -0
  10. data/app/controllers/kirgudu_base/security/email_confirmations_controller.rb +46 -0
  11. data/app/helpers/kirgudu_base/application_helper.rb +25 -0
  12. data/app/helpers/kirgudu_base/authentication_form_builder.rb +76 -0
  13. data/app/helpers/kirgudu_base/controllers/{basic_actions_with_parent.rb → OLD_basic_actions.rb} +39 -54
  14. data/app/helpers/kirgudu_base/controllers/basic_actions.rb +967 -161
  15. data/app/helpers/kirgudu_base/controllers/container_items_management_actions.rb +118 -40
  16. data/app/helpers/kirgudu_base/controllers/container_items_sorting_actions.rb +2 -2
  17. data/app/helpers/kirgudu_base/controllers/dynamic_pages.rb +147 -11
  18. data/app/helpers/kirgudu_base/form_builder.rb +3 -1
  19. data/app/helpers/kirgudu_base/gui_helper.rb +10 -5
  20. data/app/helpers/kirgudu_base/models/exports.rb +122 -122
  21. data/app/helpers/kirgudu_base/models/scopes.rb +5 -0
  22. data/app/mailers/authentications_mailer.rb +53 -0
  23. data/app/models/kirgudu_base/base_model.rb +47 -14
  24. data/app/models/kirgudu_base/dynamic_pages/builder.rb +0 -8
  25. data/app/models/kirgudu_base/dynamic_pages/controller_link.rb +4 -1
  26. data/app/models/kirgudu_base/dynamic_pages/controller_link_builder.rb +2 -1
  27. data/app/models/kirgudu_base/dynamic_pages/controller_link_id.rb +6 -6
  28. data/app/models/kirgudu_base/dynamic_pages/controller_link_id_builder.rb +6 -6
  29. data/app/models/kirgudu_base/dynamic_pages/element.rb +4 -5
  30. data/app/models/kirgudu_base/dynamic_pages/entry_builder.rb +2 -2
  31. data/app/models/kirgudu_base/dynamic_pages/event_if_block_builder.rb +1 -1
  32. data/app/models/kirgudu_base/dynamic_pages/form_builder.rb +2 -2
  33. data/app/models/kirgudu_base/dynamic_pages/list.rb +2 -0
  34. data/app/models/kirgudu_base/dynamic_pages/list_builder.rb +7 -3
  35. data/app/models/kirgudu_base/dynamic_pages/management_settings.rb +30 -0
  36. data/app/models/kirgudu_base/dynamic_pages/management_settings_builder.rb +47 -0
  37. data/app/models/kirgudu_base/dynamic_pages/menu.rb +9 -5
  38. data/app/models/kirgudu_base/dynamic_pages/menu_builder.rb +8 -5
  39. data/app/models/kirgudu_base/dynamic_pages/menu_item.rb +22 -6
  40. data/app/models/kirgudu_base/dynamic_pages/menu_items_block_builder.rb +9 -4
  41. data/app/models/kirgudu_base/dynamic_pages/menu_section.rb +38 -0
  42. data/app/models/kirgudu_base/dynamic_pages/menu_section_builder.rb +36 -0
  43. data/app/models/kirgudu_base/dynamic_pages/page.rb +6 -2
  44. data/app/models/kirgudu_base/dynamic_pages/page_builder.rb +18 -0
  45. data/app/models/kirgudu_base/dynamic_pages/relation.rb +23 -0
  46. data/app/models/kirgudu_base/dynamic_pages/relation_builder.rb +35 -0
  47. data/app/models/kirgudu_base/dynamic_pages/sorting_settings.rb +31 -0
  48. data/app/models/kirgudu_base/dynamic_pages/sorting_settings_builder.rb +48 -0
  49. data/app/models/kirgudu_base/security/autheintication.rb +4 -0
  50. data/app/models/kirgudu_base/security/authentication.rb +6 -7
  51. data/app/models/kirgudu_base/security/email_confirmation.rb +7 -0
  52. data/app/models/kirgudu_base/security/restore_password_code.rb +5 -0
  53. data/app/models/kirgudu_base/security/user.rb +2 -0
  54. data/app/models/kirgudu_base/security.rb +6 -7
  55. data/app/models/kirgudu_base/settings/group.rb +22 -0
  56. data/app/models/kirgudu_base/settings/option.rb +44 -0
  57. data/app/models/kirgudu_base/settings/settings_manager.rb +69 -0
  58. data/app/models/kirgudu_base/settings/value.rb +36 -0
  59. data/app/views/admin_templates/default/admin/layouts/application.html.erb +6 -4
  60. data/app/views/admin_templates/default/admin/system/settings/groups/edit.html.erb +9 -9
  61. data/app/views/admin_templates/default/admin/system/settings/groups/new.html.erb +1 -1
  62. data/app/views/admin_templates/default/admin/system/settings/options/edit.html.erb +1 -1
  63. data/app/views/admin_templates/default/admin/system/settings/options/new.html.erb +1 -1
  64. data/app/views/admin_templates/default/admin/system/settings/values/edit.html.erb +1 -1
  65. data/app/views/admin_templates/default/admin/system/settings/values/new.html.erb +1 -1
  66. data/app/views/admin_templates/erp/admin/shared/_top_nav_bar.html.erb +1 -3
  67. data/app/views/admin_templates/erp/admin/shared/entry_edit_form_renderer.html.erb +1 -1
  68. data/app/views/admin_templates/erp/admin/shared/entry_new_form_renderer.html.erb +1 -1
  69. data/app/views/admin_templates/good/admin/layouts/OLD_application.html.erb +14 -14
  70. data/app/views/admin_templates/good/admin/layouts/application.html.erb +11 -113
  71. data/app/views/admin_templates/good/admin/shared/_left_menu.html.erb +74 -63
  72. data/app/views/admin_templates/good/{zapanel/files/New Adobe Photoshop Image 12.psd → admin/shared/_left_menu_item.html.erb} +0 -0
  73. data/app/views/admin_templates/good/admin/shared/_left_menu_section.html.erb +21 -0
  74. data/app/views/admin_templates/good/admin/shared/render_new_OLD.html.erb +90 -0
  75. data/app/views/admin_templates/good/admin/shared/renderer_edit.html.erb +44 -13
  76. data/app/views/admin_templates/good/admin/shared/renderer_edit_OLD.html.erb +106 -0
  77. data/app/views/admin_templates/good/admin/shared/renderer_entries_list.html.erb +39 -18
  78. data/app/views/admin_templates/good/admin/shared/renderer_entries_list_with_parent.html.erb +4 -4
  79. data/app/views/admin_templates/good/admin/shared/renderer_management.html.erb +164 -0
  80. data/app/views/admin_templates/good/admin/shared/renderer_new.html.erb +40 -10
  81. data/app/views/admin_templates/good/admin/shared/renderer_show.html.erb +170 -58
  82. data/app/views/admin_templates/good/admin/shared/renderer_show_OLD.html.erb +159 -0
  83. data/app/views/admin_templates/good/admin/shared/renderer_sorting.html.erb +30 -0
  84. data/app/views/admin_templates/good/kirgudu_base/authentications/login.html.erb +13 -13
  85. data/app/views/admin_templates/good/kirgudu_base/authentications/register.html.erb +1 -1
  86. data/app/views/admin_templates/good/kirgudu_base/old/login_page.html.erb +7 -7
  87. data/app/views/admin_templates/good_flexy/admin/layouts/application.html.erb +17 -16
  88. data/app/views/admin_templates/good_flexy/admin/shared/_left_menu.html.erb +7 -0
  89. data/app/views/admin_templates/good_flexy/admin/shared/renderer_entries_list.html.erb +25 -17
  90. data/app/views/admin_templates/good_flexy/admin/shared/renderer_form_edit.html.erb +34 -13
  91. data/app/views/admin_templates/good_flexy/admin/shared/renderer_form_new.html.erb +31 -10
  92. data/app/views/admin_templates/good_flexy/admin/shared/renderer_show.html.erb +67 -52
  93. data/config/locales/kirgudu_base.ru.yml +92 -0
  94. data/config/routes.rb +16 -16
  95. data/db/migrate/20140413134252_create_kirgudu_base_security_authentications.rb +15 -0
  96. data/db/migrate/20140413152144_create_kirgudu_base_security_email_confirmations.rb +17 -0
  97. data/db/migrate/20140413201121_add_confirmations_kirgudu_base_security_users.rb +14 -0
  98. data/db/migrate/20140415093106_create_kirgudu_base_security_restore_password_codes.rb +20 -0
  99. data/lib/kirgudu_base.rb +2 -2
  100. data/test/fixtures/kirgudu_base/kirgudu_base/security/autheintications.yml +11 -0
  101. data/test/fixtures/kirgudu_base/security/applications.yml +21 -0
  102. data/test/fixtures/kirgudu_base/security/autheintications.yml +11 -0
  103. data/test/fixtures/kirgudu_base/security/authentications.yml +11 -0
  104. data/test/fixtures/kirgudu_base/security/email_confirmations.yml +13 -0
  105. data/test/fixtures/kirgudu_base/security/restore_password_codes.yml +13 -0
  106. data/test/models/kirgudu_base/kirgudu_base/security/autheintication_test.rb +9 -0
  107. data/test/models/kirgudu_base/security/application_test.rb +9 -0
  108. data/test/models/kirgudu_base/security/autheintication_test.rb +9 -0
  109. data/test/models/kirgudu_base/security/authentication_test.rb +9 -0
  110. data/test/models/kirgudu_base/security/email_confirmation_test.rb +9 -0
  111. data/test/models/kirgudu_base/security/restore_password_code_test.rb +9 -0
  112. metadata +102 -79
  113. data/app/assets/javascripts/kirgudu_base/jquery.fancybox.pack.js +0 -45
  114. data/app/controllers/kirgudu_base/authentications_controller.rb +0 -157
  115. data/app/views/admin_templates/good/zapanel/404.html +0 -386
  116. data/app/views/admin_templates/good/zapanel/billing.html +0 -550
  117. data/app/views/admin_templates/good/zapanel/blank-page.html +0 -343
  118. data/app/views/admin_templates/good/zapanel/buttons.html +0 -1018
  119. data/app/views/admin_templates/good/zapanel/calendars.html +0 -451
  120. data/app/views/admin_templates/good/zapanel/cart.html +0 -522
  121. data/app/views/admin_templates/good/zapanel/charts.html +0 -611
  122. data/app/views/admin_templates/good/zapanel/collapse.html +0 -555
  123. data/app/views/admin_templates/good/zapanel/contact.php +0 -102
  124. data/app/views/admin_templates/good/zapanel/dashboard.html +0 -985
  125. data/app/views/admin_templates/good/zapanel/dashboard2.html +0 -1091
  126. data/app/views/admin_templates/good/zapanel/dashboard3.html +0 -1079
  127. data/app/views/admin_templates/good/zapanel/data/movies.json +0 -1
  128. data/app/views/admin_templates/good/zapanel/faq.html +0 -435
  129. data/app/views/admin_templates/good/zapanel/file-manager.html +0 -358
  130. data/app/views/admin_templates/good/zapanel/files/index.php +0 -0
  131. data/app/views/admin_templates/good/zapanel/font-awesome/less/bootstrap.less +0 -84
  132. data/app/views/admin_templates/good/zapanel/font-awesome/less/core.less +0 -129
  133. data/app/views/admin_templates/good/zapanel/font-awesome/less/extras.less +0 -93
  134. data/app/views/admin_templates/good/zapanel/font-awesome/less/font-awesome-ie7.less +0 -1953
  135. data/app/views/admin_templates/good/zapanel/font-awesome/less/font-awesome.less +0 -33
  136. data/app/views/admin_templates/good/zapanel/font-awesome/less/icons.less +0 -381
  137. data/app/views/admin_templates/good/zapanel/font-awesome/less/mixins.less +0 -48
  138. data/app/views/admin_templates/good/zapanel/font-awesome/less/path.less +0 -14
  139. data/app/views/admin_templates/good/zapanel/font-awesome/less/variables.less +0 -735
  140. data/app/views/admin_templates/good/zapanel/font-awesome/scss/_bootstrap.scss +0 -84
  141. data/app/views/admin_templates/good/zapanel/font-awesome/scss/_core.scss +0 -129
  142. data/app/views/admin_templates/good/zapanel/font-awesome/scss/_extras.scss +0 -93
  143. data/app/views/admin_templates/good/zapanel/font-awesome/scss/_icons.scss +0 -381
  144. data/app/views/admin_templates/good/zapanel/font-awesome/scss/_mixins.scss +0 -48
  145. data/app/views/admin_templates/good/zapanel/font-awesome/scss/_path.scss +0 -14
  146. data/app/views/admin_templates/good/zapanel/font-awesome/scss/_variables.scss +0 -734
  147. data/app/views/admin_templates/good/zapanel/font-awesome/scss/font-awesome-ie7.scss +0 -1953
  148. data/app/views/admin_templates/good/zapanel/font-awesome/scss/font-awesome.scss +0 -33
  149. data/app/views/admin_templates/good/zapanel/form.html +0 -790
  150. data/app/views/admin_templates/good/zapanel/gallery.html +0 -392
  151. data/app/views/admin_templates/good/zapanel/grids.html +0 -574
  152. data/app/views/admin_templates/good/zapanel/hosting-dashboard.html +0 -448
  153. data/app/views/admin_templates/good/zapanel/icon.html +0 -722
  154. data/app/views/admin_templates/good/zapanel/inbox.html +0 -375
  155. data/app/views/admin_templates/good/zapanel/index.html +0 -48
  156. data/app/views/admin_templates/good/zapanel/invoice.html +0 -423
  157. data/app/views/admin_templates/good/zapanel/js/proxy/elFinderSupportVer1.js +0 -338
  158. data/app/views/admin_templates/good/zapanel/js/skins/default/lightbox-close.png +0 -0
  159. data/app/views/admin_templates/good/zapanel/js/skins/default/lightbox-next.png +0 -0
  160. data/app/views/admin_templates/good/zapanel/js/skins/default/lightbox-prev.png +0 -0
  161. data/app/views/admin_templates/good/zapanel/notification.html +0 -400
  162. data/app/views/admin_templates/good/zapanel/order-recieved.html +0 -348
  163. data/app/views/admin_templates/good/zapanel/php/MySQLStorage.sql +0 -23
  164. data/app/views/admin_templates/good/zapanel/php/connector.php +0 -44
  165. data/app/views/admin_templates/good/zapanel/php/elFinder.class.php +0 -1103
  166. data/app/views/admin_templates/good/zapanel/php/elFinderConnector.class.php +0 -133
  167. data/app/views/admin_templates/good/zapanel/php/elFinderVolumeDriver.class.php +0 -3370
  168. data/app/views/admin_templates/good/zapanel/php/elFinderVolumeLocalFileSystem.class.php +0 -835
  169. data/app/views/admin_templates/good/zapanel/php/elFinderVolumeMySQL.class.php +0 -896
  170. data/app/views/admin_templates/good/zapanel/php/mime.types +0 -512
  171. data/app/views/admin_templates/good/zapanel/price-table.html +0 -400
  172. data/app/views/admin_templates/good/zapanel/profile.html +0 -387
  173. data/app/views/admin_templates/good/zapanel/progressbar.html +0 -555
  174. data/app/views/admin_templates/good/zapanel/range-slider.html +0 -440
  175. data/app/views/admin_templates/good/zapanel/ribbon-grids.html +0 -491
  176. data/app/views/admin_templates/good/zapanel/sale-purchase-dashboard.html +0 -803
  177. data/app/views/admin_templates/good/zapanel/search.html +0 -370
  178. data/app/views/admin_templates/good/zapanel/skins/default/lightbox-close.png +0 -0
  179. data/app/views/admin_templates/good/zapanel/skins/default/lightbox-loading.gif +0 -0
  180. data/app/views/admin_templates/good/zapanel/skins/default/lightbox-next.png +0 -0
  181. data/app/views/admin_templates/good/zapanel/skins/default/lightbox-pause.png +0 -0
  182. data/app/views/admin_templates/good/zapanel/skins/default/lightbox-play.png +0 -0
  183. data/app/views/admin_templates/good/zapanel/skins/default/lightbox-playvideo.png +0 -0
  184. data/app/views/admin_templates/good/zapanel/skins/default/lightbox-prev.png +0 -0
  185. data/app/views/admin_templates/good/zapanel/slider.html +0 -453
  186. data/app/views/admin_templates/good/zapanel/tables.html +0 -470
  187. data/app/views/admin_templates/good/zapanel/typography.html +0 -746
@@ -18,52 +18,9 @@ module KirguduBase
18
18
  @entry
19
19
  end
20
20
 
21
- def base_entry
22
- #@current_portal
23
- end
24
-
25
21
 
26
22
  include KirguduBase::GuiHelper
27
23
 
28
- #before_action :update_url_with_ajax_referer_url
29
-
30
- #def create_breadcrumbs
31
- #
32
- # #if self.class == ::Admin::DashboardController
33
- # # add_new_breadcrumb(I18n.t("#{::Admin::DashboardController.to_i18n}.index.title"))
34
- # # return
35
- # #end
36
- # #
37
- # #add_new_breadcrumb(
38
- # # I18n.t("#{::Admin::DashboardController.to_i18n}.index.title"),
39
- # # ::Admin::DashboardController.to_url_for
40
- # #)
41
- # #
42
- # #if self.action_name == "index"
43
- # # add_new_breadcrumb(I18n.t("#{self.to_i18n}.index.title"))
44
- # #else
45
- # # add_new_breadcrumb(
46
- # # I18n.t("#{self.to_i18n}.index.title"),
47
- # # url_for(controller: ::ChupakabraTools::ClassHelper.controller_underscore(self), action: "index")
48
- # # )
49
- # #
50
- # # if ['new', 'create'].include?(self.action_name)
51
- # # add_new_breadcrumb(I18n.t("#{self.to_i18n}.new.title"))
52
- # # elsif ['edit', 'update', 'show'].include?(self.action_name)
53
- # # entry = self.current_entry
54
- # #
55
- # # if entry
56
- # # if entry.respond_to?(:name_for_breadcrumbs)
57
- # # add_new_breadcrumb(entry.name_for_breadcrumbs)
58
- # # else
59
- # # add_new_breadcrumb(entry.id)
60
- # # end
61
- # # else
62
- # # add_new_breadcrumb(params[:id])
63
- # # end
64
- # # end
65
- # #end
66
- #end
67
24
 
68
25
  protected
69
26
 
@@ -75,7 +32,7 @@ module KirguduBase
75
32
  end
76
33
  end
77
34
 
78
- private
35
+ protected
79
36
 
80
37
  def before_entry_create(entry, filter_params, options)
81
38
  entry.creator = @current_user if entry.respond_to?(:creator)
@@ -31,11 +31,15 @@ module KirguduBase
31
31
  end
32
32
 
33
33
 
34
+ def entry_class
35
+ self.class.get_kb_entry_class
36
+ end
37
+
34
38
  def global_values_register
35
39
 
36
40
  @current_user = get_current_user
37
41
 
38
- @settings_manager = ::System::Settings::SettingsManager.new
42
+ @settings_manager = ::KirguduBase::Settings::SettingsManager.new
39
43
 
40
44
  default_host_to_set = request.host
41
45
  default_host_to_set += ":#{request.port}" if request.port && request.port != 80
@@ -62,7 +66,7 @@ module KirguduBase
62
66
  #params[:back_url] = request.path
63
67
  respond_to do |format|
64
68
  #format.js { render partial: "sessions/login", layout: false}
65
- format.html { redirect_to security_login_url, flash: {alert: I18n.t("admin.security.authentications.messages.please_login")} }
69
+ format.html { redirect_to ::KirguduBase.authentications_controller.to_url_for(:login) }
66
70
  end
67
71
  end
68
72
  end
@@ -108,8 +112,8 @@ module KirguduBase
108
112
  #end
109
113
  end
110
114
 
111
- def add_new_breadcrumb(name, path = nil)
112
- self.breadcrumbs << {label: name, url: path}
115
+ def add_new_breadcrumb(label, path = nil)
116
+ self.breadcrumbs << {label: label, url: path}
113
117
  end
114
118
 
115
119
 
@@ -126,71 +130,6 @@ module KirguduBase
126
130
  end
127
131
 
128
132
 
129
- #########################################################################################################################
130
- ################################## Views Default Paths ##########################################
131
- #########################################################################################################################
132
-
133
-
134
- def get_view_path_for_page_new
135
- view_path = "/shared/entry_new_form_renderer"
136
-
137
- if self.respond_to?(:views_paths_new)
138
- view_path = self.views_paths_new
139
- end
140
- view_path
141
- end
142
-
143
-
144
- def get_view_path_for_page_edit
145
- view_path = "/shared/entry_edit_form_renderer"
146
-
147
- if self.respond_to?(:views_paths_edit)
148
- view_path = self.views_paths_edit
149
- end
150
- view_path
151
- end
152
-
153
-
154
- def get_view_path_for_page_index
155
- view_path = "/shared/entry_index_renderer"
156
-
157
- if self.respond_to?(:views_paths_index)
158
- view_path = self.views_paths_index
159
- end
160
- view_path
161
- end
162
-
163
-
164
- def get_view_path_for_page_show
165
- view_path = "/shared/entry_show_renderer"
166
-
167
- if self.respond_to?(:views_paths_show)
168
- view_path = self.views_paths_show
169
- end
170
- view_path
171
- end
172
-
173
-
174
- def get_not_found_view_path
175
- view_path = "/shared/entry_not_found_renderer"
176
-
177
- if self.respond_to?(:views_paths_entry_not_found)
178
- view_path = self.views_paths_entry_not_found
179
- end
180
- view_path
181
- end
182
-
183
-
184
- def get_view_path_for_page_404
185
- view_path = "/shared/404"
186
-
187
- if self.respond_to?(:views_paths_404_page)
188
- view_path = self.views_paths_404_page
189
- end
190
- view_path
191
- end
192
-
193
-
194
133
  #########################################################################################################################
195
134
  ############################# I18n String Generator Methods #####################################
196
135
  #########################################################################################################################
@@ -223,18 +162,24 @@ module KirguduBase
223
162
  #include ActionDispatch::Routing
224
163
  #include Rails.application.routes.url_helpers
225
164
 
226
- def self.to_url_for(action = nil, options = {})
165
+ def self.to_url_for(action, options = {})
227
166
  options ||= {}
228
167
  options.merge!(
229
168
  only_path: true,
230
169
  controller: self.to_route_path,
231
- action: action || :index
170
+ action: action
232
171
  )
233
172
  Rails.application.routes.url_helpers.url_for(options)
234
173
  end
235
174
 
236
175
  def to_url_for(action = nil, options = {})
237
176
  self.class.to_url_for(action, options)
177
+ #options ||= {}
178
+ #options.merge!(
179
+ # controller: self.to_route_path,
180
+ # action: action || :index
181
+ #)
182
+ #Rails.application.routes.url_helpers.url_for(options)
238
183
  end
239
184
 
240
185
 
@@ -246,7 +191,7 @@ module KirguduBase
246
191
  def class_strong_params(form)
247
192
  prms = []
248
193
  if form.properties
249
- form.properties.each do |property|
194
+ form.properties.each_pair do |key, property|
250
195
  unless property.read_only == :true
251
196
  prms << property.name
252
197
  end
@@ -285,14 +230,45 @@ module KirguduBase
285
230
  result[filter.name] = source_value if source_value
286
231
  end if list.filters
287
232
 
288
- source_value = source[:page]
289
- result[:page] = source_value if source_value
290
- source_value = source[:per_page]
291
- result[:per_page] = source_value if source_value
233
+ begin
234
+ source_value = source[:page]
235
+ result[:page] = source_value.to_i if source_value
236
+ rescue
237
+ end
238
+
239
+ begin
240
+ source_value = source[:per_page]
241
+ result[:per_page] = source_value.to_i if source_value
242
+ rescue
243
+ end
292
244
  result
293
245
  end
294
246
 
295
247
 
248
+ #########################################################################################################################
249
+ ################################## Class Hierarchy Methods ########################################
250
+ #########################################################################################################################
251
+
252
+ def get_class_hierarchy
253
+ self.class.get_class_hierarchy
254
+ end
255
+
256
+ def self.get_class_hierarchy
257
+ ::ChupakabraTools::ClassHelper.get_controller_hierarchy(self)
258
+ end
259
+
260
+ def get_class_variable(name)
261
+ self.class.get_class_variable(name)
262
+ end
263
+
264
+ def self.get_method_latest_result(method_name, *method_args)
265
+ method_result = nil
266
+ self.get_class_hierarchy.each do |controller_class|
267
+ method_result = controller_class.send(method_name, *method_args) if controller_class.respond_to?(method_name)
268
+ return method_result if method_result
269
+ end
270
+ end
271
+
296
272
  #########################################################################################################################
297
273
  ################################### Dynamic Transactions #########################################
298
274
  #########################################################################################################################
@@ -302,17 +278,16 @@ module KirguduBase
302
278
 
303
279
  transaction_is_ok = true
304
280
 
305
- classes_to_process = ::ChupakabraTools::ClassHelper.get_controller_hierarchy(self.class)
306
-
281
+ classes_to_process = self.get_class_hierarchy
307
282
  classes_to_process.each do |controller_klass|
308
- available_injections = controller_klass.respond_to?(:get_kb_transaction_injections) ? controller_klass.get_kb_transaction_injections(action, flow_position) : []
309
- # raise "Available Transaction Injections: #{available_injections.to_json}" if flow_position == :before_save
310
-
311
- available_injections.each do |injection|
312
- #raise "Processing Transaction Injection"
313
- if self.send(injection.method, entry, filter_params, options) == false
314
- transaction_is_ok &= false
315
- end
283
+ if controller_klass.respond_to?(:get_kb_transaction_injections)
284
+ available_injections = controller_klass.get_kb_transaction_injections(action, flow_position)
285
+ available_injections.each do |injection|
286
+ #raise "Processing Transaction Injection"
287
+ if self.send(injection.method, entry, filter_params, options) == false
288
+ transaction_is_ok &= false
289
+ end
290
+ end if available_injections
316
291
  end
317
292
  end
318
293
  transaction_is_ok
@@ -342,7 +317,7 @@ module KirguduBase
342
317
  def fill_obligatory_filters(filters, options = {})
343
318
  options ||= {}
344
319
 
345
- classes_to_process = ::ChupakabraTools::ClassHelper.get_controller_hierarchy(self.class)
320
+ classes_to_process = self.get_class_hierarchy
346
321
 
347
322
  classes_to_process.each do |kontroller_klass|
348
323
  kontroller_klass.get_kb_obligatory_filters.each do |filter|
@@ -377,26 +352,29 @@ module KirguduBase
377
352
  def load_data_for_entry_controls(form, entry, options = {})
378
353
  controls_data = {}
379
354
 
380
- form.properties.select { |p| !p.data_source.nil? }.each do |property|
355
+
356
+ form.properties.values.select { |p| !p.data_source.nil? }.each do |property|
381
357
  if property.data_source
382
358
  controls_data[property.name] = if property.data_source.type == :db || property.data_source.type == :jquery_db
383
359
  filters = {}
360
+ parent_value = nil
384
361
  if property.parent
385
362
  parent_value = entry[property.parent]
386
- filters[property.parent] = entry[property.parent] if parent_value
363
+ filters[property.parent] = parent_value
387
364
  end
388
- fill_obligatory_filters(filters, options)
365
+
366
+ self.fill_obligatory_filters(filters, options)
389
367
  filters.merge!({
390
368
  per_page: 9999999,
391
369
  page: 1
392
370
  })
393
- property.data_source.model.get_entries(nil, filters, options).map { |u| [u.send(property.data_source.label_property), u.send(property.data_source.value_property)] }
371
+ property.data_source.model.get_entries(nil, filters, options).map { |u| [u.send(property.data_source.label_property), u.send(property.data_source.value_property)] } if property.parent.nil? || parent_value
394
372
  elsif property.data_source.type == :i18n
395
373
 
396
374
  elsif property.data_source.type == :enum
397
375
  property.data_source.model.to_select
398
376
  elsif property.data_source.type == :array
399
- property.data_source.model
377
+ property.data_source.model.map { |i| i.is_a?(Array) ? [i[0], i[0]] : [i, i] }
400
378
  end
401
379
  end
402
380
  end if form.properties
@@ -433,6 +411,70 @@ module KirguduBase
433
411
  end
434
412
 
435
413
 
414
+ #def fill_parents_for_local_data(local_data, filters)
415
+ # if local_data && local_data.is_a?(Hash)
416
+ # controllers_hierarchy = ::ChupakabraTools::ClassHelper.get_controller_hierarchy(self.class)
417
+ #
418
+ # local_data[:parent_elements] = {}
419
+ #
420
+ # controllers_hierarchy.each do |ctrler|
421
+ # if ctrler.respond_to?(:get_kb_parents)
422
+ # parent_controllers = ctrler.get_kb_parents
423
+ # parent_controllers.each do |pk|
424
+ # local_data[:parent_elements][pk[:id]] = pk[:controller].get_kb_entry_class.get_entry_by_id(params[pk[:id]], filters, {logger: string_logger})
425
+ # end if parent_controllers
426
+ # else
427
+ # break
428
+ # end
429
+ # end
430
+ #
431
+ # #raise "Parent Elements: #{local_data[:parent_elements]}"
432
+ #
433
+ # local_data[:parent_ids] = {}
434
+ #
435
+ #
436
+ # local_data[:parent_elements].each_pair do |key, element|
437
+ # local_data[:parent_ids][key] = element.id
438
+ # end
439
+ # end
440
+ #end
441
+
442
+
443
+ def fill_parents_for_local_data(local_data, filters)
444
+ local_data[:parents] = []
445
+ local_data[:parent_elements] = {}
446
+ local_data[:parent_ids] = {}
447
+
448
+ if local_data && local_data.is_a?(Hash)
449
+ controllers_hierarchy = ::ChupakabraTools::ClassHelper.get_controller_hierarchy(self.class)
450
+
451
+ controllers_hierarchy.each do |ctrler|
452
+ if ctrler.respond_to?(:get_kb_parents)
453
+ parent_controllers = ctrler.get_kb_parents
454
+ parent_controllers.each do |pk|
455
+ parent_entry = pk[:controller].get_kb_entry_class.get_entry_by_id(params[pk[:id]], filters, {logger: string_logger})
456
+ parent_hash = {
457
+ controller: pk[:controller],
458
+ entry: parent_entry,
459
+ id_param: pk[:id],
460
+ id_value: parent_entry.id
461
+ }
462
+ local_data[:parents] << parent_hash
463
+ end if parent_controllers
464
+
465
+ parent_controllers.each do |pk|
466
+ local_data[:parent_elements][pk[:id]] = pk[:controller].get_kb_entry_class.get_entry_by_id(params[pk[:id]], filters, {logger: string_logger})
467
+ end if parent_controllers
468
+
469
+ end
470
+ end
471
+ #raise "Parent Elements: #{local_data[:parent_elements]}"
472
+ local_data[:parent_elements].each_pair do |key, element|
473
+ local_data[:parent_ids][key] = element.id
474
+ end
475
+ end
476
+ end
477
+
436
478
  #########################################################################################################################
437
479
  ###################################### Locale Methods #############################################
438
480
  #########################################################################################################################
@@ -825,5 +867,6 @@ module KirguduBase
825
867
 
826
868
  end
827
869
 
870
+
828
871
  end
829
872
  end
@@ -13,9 +13,9 @@ module KirguduBase
13
13
  before_action :authenticate_user
14
14
 
15
15
 
16
- def left_menu_path
17
- "/admin/kirgudu_base/left_menu"
18
- end
16
+ # def left_menu_path
17
+ # "/admin/kirgudu_base/left_menu"
18
+ # end
19
19
 
20
20
  def current_entry
21
21
  @entry
@@ -30,38 +30,38 @@ module KirguduBase
30
30
 
31
31
  #before_action :update_url_with_ajax_referer_url
32
32
 
33
- def create_breadcrumbs
34
-
35
- #if @current_user.user_at_portals.count > 1
36
- #add_new_breadcrumb I18n.t("select_portal.index.title"), url_for(controller: ::ErpZone::SelectPortalController.to_route_path, action: :index)
37
- #end
38
-
39
- #add_new_breadcrumb @current_portal.name, url_for(controller: ::AdminZone::DashboarController.to_route_path) if @current_portal
40
- #
41
- #
42
- #if self.class.to_s == ::AdminZone::DashboardController
43
- # add_new_breadcrumb(I18n.t("#{self.to_i18n}.index.title"))
44
- # return
45
- #end
46
- #
47
- #if self.action_name == "index"
48
- # add_new_breadcrumb(I18n.t("#{self.to_i18n}.index.title"))
49
- #else
50
- # add_new_breadcrumb(
51
- # I18n.t("#{self.to_i18n}.index.title"),
52
- # url_for(controller: ::ChupakabraTools::ClassHelper.controller_underscore(self), action: "index", id: @container))
53
- #
54
- # if ['new', 'create'].include?(self.action_name)
55
- # add_new_breadcrumb(I18n.t("#{self.to_i18n}.new.title"))
56
- # elsif ['edit', 'update', 'show'].include?(self.action_name)
57
- # entry = self.current_entry
58
- #
59
- # if entry && entry.respond_to?(:name_for_breadcrumbs)
60
- # add_new_breadcrumb(entry.name_for_breadcrumbs)
61
- # end
62
- # end
63
- #end
64
- end
33
+ # def create_breadcrumbs
34
+ #
35
+ # if @current_user.user_at_portals.count > 1
36
+ # add_new_breadcrumb I18n.t("select_portal.index.title"), url_for(controller: ::ErpZone::SelectPortalController.to_route_path, action: :index)
37
+ # end
38
+ #
39
+ # add_new_breadcrumb @current_portal.name, url_for(controller: ::AdminZone::DashboarController.to_route_path) if @current_portal
40
+ #
41
+ #
42
+ # if self.class.to_s == ::AdminZone::DashboardController
43
+ # add_new_breadcrumb(I18n.t("#{self.to_i18n}.index.title"))
44
+ # return
45
+ # end
46
+ #
47
+ # if self.action_name == "index"
48
+ # add_new_breadcrumb(I18n.t("#{self.to_i18n}.index.title"))
49
+ # else
50
+ # add_new_breadcrumb(
51
+ # I18n.t("#{self.to_i18n}.index.title"),
52
+ # url_for(controller: ::ChupakabraTools::ClassHelper.controller_underscore(self), action: "index", id: @container))
53
+ #
54
+ # if ['new', 'create'].include?(self.action_name)
55
+ # add_new_breadcrumb(I18n.t("#{self.to_i18n}.new.title"))
56
+ # elsif ['edit', 'update', 'show'].include?(self.action_name)
57
+ # entry = self.current_entry
58
+ #
59
+ # if entry && entry.respond_to?(:name_for_breadcrumbs)
60
+ # add_new_breadcrumb(entry.name_for_breadcrumbs)
61
+ # end
62
+ # end
63
+ # end
64
+ # end
65
65
 
66
66
  protected
67
67