kirgudu_base 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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