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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/kirgudu_base/dynamicEvents.js +2 -1
- data/app/assets/javascripts/kirgudu_base/jquery.container-management.js +241 -0
- data/app/assets/javascripts/kirgudu_base/jquery.fancybox copia.js +2020 -0
- data/app/assets/javascripts/kirgudu_base/scripts_nrg.js +300 -383
- data/app/controllers/kirgudu_base/admin_controller.rb +1 -44
- data/app/controllers/kirgudu_base/application_controller.rb +135 -92
- data/app/controllers/kirgudu_base/cabinet_controller.rb +35 -35
- data/app/controllers/kirgudu_base/security/authentications_controller.rb +452 -0
- data/app/controllers/kirgudu_base/security/email_confirmations_controller.rb +46 -0
- data/app/helpers/kirgudu_base/application_helper.rb +25 -0
- data/app/helpers/kirgudu_base/authentication_form_builder.rb +76 -0
- data/app/helpers/kirgudu_base/controllers/{basic_actions_with_parent.rb → OLD_basic_actions.rb} +39 -54
- data/app/helpers/kirgudu_base/controllers/basic_actions.rb +967 -161
- data/app/helpers/kirgudu_base/controllers/container_items_management_actions.rb +118 -40
- data/app/helpers/kirgudu_base/controllers/container_items_sorting_actions.rb +2 -2
- data/app/helpers/kirgudu_base/controllers/dynamic_pages.rb +147 -11
- data/app/helpers/kirgudu_base/form_builder.rb +3 -1
- data/app/helpers/kirgudu_base/gui_helper.rb +10 -5
- data/app/helpers/kirgudu_base/models/exports.rb +122 -122
- data/app/helpers/kirgudu_base/models/scopes.rb +5 -0
- data/app/mailers/authentications_mailer.rb +53 -0
- data/app/models/kirgudu_base/base_model.rb +47 -14
- data/app/models/kirgudu_base/dynamic_pages/builder.rb +0 -8
- data/app/models/kirgudu_base/dynamic_pages/controller_link.rb +4 -1
- data/app/models/kirgudu_base/dynamic_pages/controller_link_builder.rb +2 -1
- data/app/models/kirgudu_base/dynamic_pages/controller_link_id.rb +6 -6
- data/app/models/kirgudu_base/dynamic_pages/controller_link_id_builder.rb +6 -6
- data/app/models/kirgudu_base/dynamic_pages/element.rb +4 -5
- data/app/models/kirgudu_base/dynamic_pages/entry_builder.rb +2 -2
- data/app/models/kirgudu_base/dynamic_pages/event_if_block_builder.rb +1 -1
- data/app/models/kirgudu_base/dynamic_pages/form_builder.rb +2 -2
- data/app/models/kirgudu_base/dynamic_pages/list.rb +2 -0
- data/app/models/kirgudu_base/dynamic_pages/list_builder.rb +7 -3
- data/app/models/kirgudu_base/dynamic_pages/management_settings.rb +30 -0
- data/app/models/kirgudu_base/dynamic_pages/management_settings_builder.rb +47 -0
- data/app/models/kirgudu_base/dynamic_pages/menu.rb +9 -5
- data/app/models/kirgudu_base/dynamic_pages/menu_builder.rb +8 -5
- data/app/models/kirgudu_base/dynamic_pages/menu_item.rb +22 -6
- data/app/models/kirgudu_base/dynamic_pages/menu_items_block_builder.rb +9 -4
- data/app/models/kirgudu_base/dynamic_pages/menu_section.rb +38 -0
- data/app/models/kirgudu_base/dynamic_pages/menu_section_builder.rb +36 -0
- data/app/models/kirgudu_base/dynamic_pages/page.rb +6 -2
- data/app/models/kirgudu_base/dynamic_pages/page_builder.rb +18 -0
- data/app/models/kirgudu_base/dynamic_pages/relation.rb +23 -0
- data/app/models/kirgudu_base/dynamic_pages/relation_builder.rb +35 -0
- data/app/models/kirgudu_base/dynamic_pages/sorting_settings.rb +31 -0
- data/app/models/kirgudu_base/dynamic_pages/sorting_settings_builder.rb +48 -0
- data/app/models/kirgudu_base/security/autheintication.rb +4 -0
- data/app/models/kirgudu_base/security/authentication.rb +6 -7
- data/app/models/kirgudu_base/security/email_confirmation.rb +7 -0
- data/app/models/kirgudu_base/security/restore_password_code.rb +5 -0
- data/app/models/kirgudu_base/security/user.rb +2 -0
- data/app/models/kirgudu_base/security.rb +6 -7
- data/app/models/kirgudu_base/settings/group.rb +22 -0
- data/app/models/kirgudu_base/settings/option.rb +44 -0
- data/app/models/kirgudu_base/settings/settings_manager.rb +69 -0
- data/app/models/kirgudu_base/settings/value.rb +36 -0
- data/app/views/admin_templates/default/admin/layouts/application.html.erb +6 -4
- data/app/views/admin_templates/default/admin/system/settings/groups/edit.html.erb +9 -9
- data/app/views/admin_templates/default/admin/system/settings/groups/new.html.erb +1 -1
- data/app/views/admin_templates/default/admin/system/settings/options/edit.html.erb +1 -1
- data/app/views/admin_templates/default/admin/system/settings/options/new.html.erb +1 -1
- data/app/views/admin_templates/default/admin/system/settings/values/edit.html.erb +1 -1
- data/app/views/admin_templates/default/admin/system/settings/values/new.html.erb +1 -1
- data/app/views/admin_templates/erp/admin/shared/_top_nav_bar.html.erb +1 -3
- data/app/views/admin_templates/erp/admin/shared/entry_edit_form_renderer.html.erb +1 -1
- data/app/views/admin_templates/erp/admin/shared/entry_new_form_renderer.html.erb +1 -1
- data/app/views/admin_templates/good/admin/layouts/OLD_application.html.erb +14 -14
- data/app/views/admin_templates/good/admin/layouts/application.html.erb +11 -113
- data/app/views/admin_templates/good/admin/shared/_left_menu.html.erb +74 -63
- data/app/views/admin_templates/good/{zapanel/files/New Adobe Photoshop Image 12.psd → admin/shared/_left_menu_item.html.erb} +0 -0
- data/app/views/admin_templates/good/admin/shared/_left_menu_section.html.erb +21 -0
- data/app/views/admin_templates/good/admin/shared/render_new_OLD.html.erb +90 -0
- data/app/views/admin_templates/good/admin/shared/renderer_edit.html.erb +44 -13
- data/app/views/admin_templates/good/admin/shared/renderer_edit_OLD.html.erb +106 -0
- data/app/views/admin_templates/good/admin/shared/renderer_entries_list.html.erb +39 -18
- data/app/views/admin_templates/good/admin/shared/renderer_entries_list_with_parent.html.erb +4 -4
- data/app/views/admin_templates/good/admin/shared/renderer_management.html.erb +164 -0
- data/app/views/admin_templates/good/admin/shared/renderer_new.html.erb +40 -10
- data/app/views/admin_templates/good/admin/shared/renderer_show.html.erb +170 -58
- data/app/views/admin_templates/good/admin/shared/renderer_show_OLD.html.erb +159 -0
- data/app/views/admin_templates/good/admin/shared/renderer_sorting.html.erb +30 -0
- data/app/views/admin_templates/good/kirgudu_base/authentications/login.html.erb +13 -13
- data/app/views/admin_templates/good/kirgudu_base/authentications/register.html.erb +1 -1
- data/app/views/admin_templates/good/kirgudu_base/old/login_page.html.erb +7 -7
- data/app/views/admin_templates/good_flexy/admin/layouts/application.html.erb +17 -16
- data/app/views/admin_templates/good_flexy/admin/shared/_left_menu.html.erb +7 -0
- data/app/views/admin_templates/good_flexy/admin/shared/renderer_entries_list.html.erb +25 -17
- data/app/views/admin_templates/good_flexy/admin/shared/renderer_form_edit.html.erb +34 -13
- data/app/views/admin_templates/good_flexy/admin/shared/renderer_form_new.html.erb +31 -10
- data/app/views/admin_templates/good_flexy/admin/shared/renderer_show.html.erb +67 -52
- data/config/locales/kirgudu_base.ru.yml +92 -0
- data/config/routes.rb +16 -16
- data/db/migrate/20140413134252_create_kirgudu_base_security_authentications.rb +15 -0
- data/db/migrate/20140413152144_create_kirgudu_base_security_email_confirmations.rb +17 -0
- data/db/migrate/20140413201121_add_confirmations_kirgudu_base_security_users.rb +14 -0
- data/db/migrate/20140415093106_create_kirgudu_base_security_restore_password_codes.rb +20 -0
- data/lib/kirgudu_base.rb +2 -2
- data/test/fixtures/kirgudu_base/kirgudu_base/security/autheintications.yml +11 -0
- data/test/fixtures/kirgudu_base/security/applications.yml +21 -0
- data/test/fixtures/kirgudu_base/security/autheintications.yml +11 -0
- data/test/fixtures/kirgudu_base/security/authentications.yml +11 -0
- data/test/fixtures/kirgudu_base/security/email_confirmations.yml +13 -0
- data/test/fixtures/kirgudu_base/security/restore_password_codes.yml +13 -0
- data/test/models/kirgudu_base/kirgudu_base/security/autheintication_test.rb +9 -0
- data/test/models/kirgudu_base/security/application_test.rb +9 -0
- data/test/models/kirgudu_base/security/autheintication_test.rb +9 -0
- data/test/models/kirgudu_base/security/authentication_test.rb +9 -0
- data/test/models/kirgudu_base/security/email_confirmation_test.rb +9 -0
- data/test/models/kirgudu_base/security/restore_password_code_test.rb +9 -0
- metadata +102 -79
- data/app/assets/javascripts/kirgudu_base/jquery.fancybox.pack.js +0 -45
- data/app/controllers/kirgudu_base/authentications_controller.rb +0 -157
- data/app/views/admin_templates/good/zapanel/404.html +0 -386
- data/app/views/admin_templates/good/zapanel/billing.html +0 -550
- data/app/views/admin_templates/good/zapanel/blank-page.html +0 -343
- data/app/views/admin_templates/good/zapanel/buttons.html +0 -1018
- data/app/views/admin_templates/good/zapanel/calendars.html +0 -451
- data/app/views/admin_templates/good/zapanel/cart.html +0 -522
- data/app/views/admin_templates/good/zapanel/charts.html +0 -611
- data/app/views/admin_templates/good/zapanel/collapse.html +0 -555
- data/app/views/admin_templates/good/zapanel/contact.php +0 -102
- data/app/views/admin_templates/good/zapanel/dashboard.html +0 -985
- data/app/views/admin_templates/good/zapanel/dashboard2.html +0 -1091
- data/app/views/admin_templates/good/zapanel/dashboard3.html +0 -1079
- data/app/views/admin_templates/good/zapanel/data/movies.json +0 -1
- data/app/views/admin_templates/good/zapanel/faq.html +0 -435
- data/app/views/admin_templates/good/zapanel/file-manager.html +0 -358
- data/app/views/admin_templates/good/zapanel/files/index.php +0 -0
- data/app/views/admin_templates/good/zapanel/font-awesome/less/bootstrap.less +0 -84
- data/app/views/admin_templates/good/zapanel/font-awesome/less/core.less +0 -129
- data/app/views/admin_templates/good/zapanel/font-awesome/less/extras.less +0 -93
- data/app/views/admin_templates/good/zapanel/font-awesome/less/font-awesome-ie7.less +0 -1953
- data/app/views/admin_templates/good/zapanel/font-awesome/less/font-awesome.less +0 -33
- data/app/views/admin_templates/good/zapanel/font-awesome/less/icons.less +0 -381
- data/app/views/admin_templates/good/zapanel/font-awesome/less/mixins.less +0 -48
- data/app/views/admin_templates/good/zapanel/font-awesome/less/path.less +0 -14
- data/app/views/admin_templates/good/zapanel/font-awesome/less/variables.less +0 -735
- data/app/views/admin_templates/good/zapanel/font-awesome/scss/_bootstrap.scss +0 -84
- data/app/views/admin_templates/good/zapanel/font-awesome/scss/_core.scss +0 -129
- data/app/views/admin_templates/good/zapanel/font-awesome/scss/_extras.scss +0 -93
- data/app/views/admin_templates/good/zapanel/font-awesome/scss/_icons.scss +0 -381
- data/app/views/admin_templates/good/zapanel/font-awesome/scss/_mixins.scss +0 -48
- data/app/views/admin_templates/good/zapanel/font-awesome/scss/_path.scss +0 -14
- data/app/views/admin_templates/good/zapanel/font-awesome/scss/_variables.scss +0 -734
- data/app/views/admin_templates/good/zapanel/font-awesome/scss/font-awesome-ie7.scss +0 -1953
- data/app/views/admin_templates/good/zapanel/font-awesome/scss/font-awesome.scss +0 -33
- data/app/views/admin_templates/good/zapanel/form.html +0 -790
- data/app/views/admin_templates/good/zapanel/gallery.html +0 -392
- data/app/views/admin_templates/good/zapanel/grids.html +0 -574
- data/app/views/admin_templates/good/zapanel/hosting-dashboard.html +0 -448
- data/app/views/admin_templates/good/zapanel/icon.html +0 -722
- data/app/views/admin_templates/good/zapanel/inbox.html +0 -375
- data/app/views/admin_templates/good/zapanel/index.html +0 -48
- data/app/views/admin_templates/good/zapanel/invoice.html +0 -423
- data/app/views/admin_templates/good/zapanel/js/proxy/elFinderSupportVer1.js +0 -338
- data/app/views/admin_templates/good/zapanel/js/skins/default/lightbox-close.png +0 -0
- data/app/views/admin_templates/good/zapanel/js/skins/default/lightbox-next.png +0 -0
- data/app/views/admin_templates/good/zapanel/js/skins/default/lightbox-prev.png +0 -0
- data/app/views/admin_templates/good/zapanel/notification.html +0 -400
- data/app/views/admin_templates/good/zapanel/order-recieved.html +0 -348
- data/app/views/admin_templates/good/zapanel/php/MySQLStorage.sql +0 -23
- data/app/views/admin_templates/good/zapanel/php/connector.php +0 -44
- data/app/views/admin_templates/good/zapanel/php/elFinder.class.php +0 -1103
- data/app/views/admin_templates/good/zapanel/php/elFinderConnector.class.php +0 -133
- data/app/views/admin_templates/good/zapanel/php/elFinderVolumeDriver.class.php +0 -3370
- data/app/views/admin_templates/good/zapanel/php/elFinderVolumeLocalFileSystem.class.php +0 -835
- data/app/views/admin_templates/good/zapanel/php/elFinderVolumeMySQL.class.php +0 -896
- data/app/views/admin_templates/good/zapanel/php/mime.types +0 -512
- data/app/views/admin_templates/good/zapanel/price-table.html +0 -400
- data/app/views/admin_templates/good/zapanel/profile.html +0 -387
- data/app/views/admin_templates/good/zapanel/progressbar.html +0 -555
- data/app/views/admin_templates/good/zapanel/range-slider.html +0 -440
- data/app/views/admin_templates/good/zapanel/ribbon-grids.html +0 -491
- data/app/views/admin_templates/good/zapanel/sale-purchase-dashboard.html +0 -803
- data/app/views/admin_templates/good/zapanel/search.html +0 -370
- data/app/views/admin_templates/good/zapanel/skins/default/lightbox-close.png +0 -0
- data/app/views/admin_templates/good/zapanel/skins/default/lightbox-loading.gif +0 -0
- data/app/views/admin_templates/good/zapanel/skins/default/lightbox-next.png +0 -0
- data/app/views/admin_templates/good/zapanel/skins/default/lightbox-pause.png +0 -0
- data/app/views/admin_templates/good/zapanel/skins/default/lightbox-play.png +0 -0
- data/app/views/admin_templates/good/zapanel/skins/default/lightbox-playvideo.png +0 -0
- data/app/views/admin_templates/good/zapanel/skins/default/lightbox-prev.png +0 -0
- data/app/views/admin_templates/good/zapanel/slider.html +0 -453
- data/app/views/admin_templates/good/zapanel/tables.html +0 -470
- data/app/views/admin_templates/good/zapanel/typography.html +0 -746
@@ -0,0 +1,30 @@
|
|
1
|
+
module KirguduBase
|
2
|
+
module DynamicPages
|
3
|
+
class ManagementSettings < ::KirguduBase::DynamicPages::Element
|
4
|
+
|
5
|
+
mergeable_attributes :item_class, :container_class, :entry_class, :container_id_property, :entry_id_property
|
6
|
+
|
7
|
+
|
8
|
+
validates_presence_of :item_class, :container_class, :entry_class, :container_id_property, :entry_id_property
|
9
|
+
|
10
|
+
|
11
|
+
def initialize(options = {})
|
12
|
+
self.name = nil
|
13
|
+
self.item_class = nil
|
14
|
+
self.container_class = nil
|
15
|
+
self.entry_class = nil
|
16
|
+
self.container_id_property = nil
|
17
|
+
self.entry_id_property = nil
|
18
|
+
super(options)
|
19
|
+
end
|
20
|
+
|
21
|
+
attr_accessor :name
|
22
|
+
attr_accessor :item_class
|
23
|
+
attr_accessor :container_class
|
24
|
+
attr_accessor :entry_class
|
25
|
+
attr_accessor :container_id_property
|
26
|
+
attr_accessor :entry_id_property
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module KirguduBase
|
2
|
+
module DynamicPages
|
3
|
+
class ManagementSettingsBuilder < ::KirguduBase::DynamicPages::Builder
|
4
|
+
|
5
|
+
|
6
|
+
def initialize(name, &block)
|
7
|
+
self.builder_options[:item_class] = nil
|
8
|
+
self.builder_options[:container_class] = nil
|
9
|
+
self.builder_options[:entry_class] = nil
|
10
|
+
self.builder_options[:container_id_property] = nil
|
11
|
+
self.builder_options[:entry_id_property] = nil
|
12
|
+
|
13
|
+
self.builder_options[:name] = name
|
14
|
+
|
15
|
+
super(&block)
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
def item_class(value)
|
20
|
+
self.builder_options[:item_class] = value
|
21
|
+
end
|
22
|
+
|
23
|
+
def container_class(value)
|
24
|
+
self.builder_options[:container_class] = value
|
25
|
+
end
|
26
|
+
|
27
|
+
def entry_class(value)
|
28
|
+
self.builder_options[:entry_class] = value
|
29
|
+
end
|
30
|
+
|
31
|
+
def container_id_property(value)
|
32
|
+
self.builder_options[:container_id_property] = value
|
33
|
+
end
|
34
|
+
|
35
|
+
def entry_id_property(value)
|
36
|
+
self.builder_options[:entry_id_property] = value
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
def to_element
|
41
|
+
element = ::KirguduBase::DynamicPages::ManagementSettings.new
|
42
|
+
self.build_element(element)
|
43
|
+
element
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -2,9 +2,9 @@ module KirguduBase
|
|
2
2
|
module DynamicPages
|
3
3
|
class Menu < ::KirguduBase::DynamicPages::Element
|
4
4
|
|
5
|
-
mergeable_attributes :name, :is_ajax, :
|
5
|
+
mergeable_attributes :name, :is_ajax, :elements
|
6
6
|
|
7
|
-
fixable_attributes :
|
7
|
+
fixable_attributes :elements
|
8
8
|
|
9
9
|
validates_presence_of :name
|
10
10
|
|
@@ -12,14 +12,14 @@ module KirguduBase
|
|
12
12
|
|
13
13
|
def initialize(options = {})
|
14
14
|
self.is_ajax = :false
|
15
|
-
self.
|
15
|
+
self.elements = nil
|
16
16
|
self.name = nil
|
17
17
|
super(options)
|
18
18
|
end
|
19
19
|
|
20
20
|
|
21
21
|
attr_accessor :is_ajax
|
22
|
-
attr_accessor :
|
22
|
+
attr_accessor :elements
|
23
23
|
attr_accessor :name
|
24
24
|
|
25
25
|
|
@@ -27,11 +27,15 @@ module KirguduBase
|
|
27
27
|
options ||= {}
|
28
28
|
options.merge!({
|
29
29
|
is_ajax: self.is_ajax == :true,
|
30
|
-
|
30
|
+
elements: self.elements,
|
31
31
|
name: self.name
|
32
32
|
})
|
33
33
|
super(options)
|
34
34
|
end
|
35
|
+
|
36
|
+
def items
|
37
|
+
elements
|
38
|
+
end
|
35
39
|
end
|
36
40
|
end
|
37
41
|
end
|
@@ -6,7 +6,7 @@ module KirguduBase
|
|
6
6
|
|
7
7
|
self.builder_options.merge!({
|
8
8
|
is_ajax: :false,
|
9
|
-
|
9
|
+
elements: nil,
|
10
10
|
name: nil
|
11
11
|
})
|
12
12
|
|
@@ -23,10 +23,13 @@ module KirguduBase
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def items(&block)
|
26
|
-
elements
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
elements(&block)
|
27
|
+
end
|
28
|
+
def elements(&block)
|
29
|
+
self.builder_options[:elements] ||= []
|
30
|
+
elmnts = ::KirguduBase::DynamicPages::MenuItemsBlockBuilder.new(&block).to_elements
|
31
|
+
elmnts.each do |element|
|
32
|
+
self.builder_options[:elements] << element
|
30
33
|
end
|
31
34
|
end
|
32
35
|
|
@@ -6,7 +6,7 @@ module KirguduBase
|
|
6
6
|
fixable_attributes :items, :controller_link
|
7
7
|
|
8
8
|
|
9
|
-
|
9
|
+
validates_presence_of :label
|
10
10
|
#validates_presence_of :link, if: controller_link == nil
|
11
11
|
validates_presence_of :target
|
12
12
|
validates_inclusion_of :target, in: ::KirguduBase::DynamicPages::Enums::SUPPORTED_LINK_TARGETS, allow_nil: true
|
@@ -30,7 +30,6 @@ module KirguduBase
|
|
30
30
|
attr_accessor :items
|
31
31
|
|
32
32
|
|
33
|
-
|
34
33
|
def to_external_hash(options = {})
|
35
34
|
options ||= {}
|
36
35
|
options.merge!({
|
@@ -44,14 +43,31 @@ module KirguduBase
|
|
44
43
|
end
|
45
44
|
|
46
45
|
|
47
|
-
def build_url(
|
46
|
+
def build_url(controller, prms)
|
48
47
|
if self.link
|
49
48
|
self.link
|
50
49
|
else
|
51
|
-
|
52
50
|
link_ids = {}
|
53
|
-
|
54
|
-
|
51
|
+
if self.controller_link.id
|
52
|
+
link_ids[self.controller_link.id.to] = prms[self.controller_link.id.from]
|
53
|
+
elsif self.controller_link.ids
|
54
|
+
self.controller_link.ids.each do |id|
|
55
|
+
link_ids[id.to] = prms[id.from]
|
56
|
+
end
|
57
|
+
else
|
58
|
+
prms.each_pair do |key, value|
|
59
|
+
link_ids[key] = value
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
kontroller_klass = nil
|
64
|
+
if self.controller_link.controller.is_a?(String)
|
65
|
+
kontroller_klass = eval(self.controller_link.controller)
|
66
|
+
else
|
67
|
+
kontroller_klass = self.controller_link.controller
|
68
|
+
end
|
69
|
+
|
70
|
+
kontroller_klass.to_url_for(self.controller_link.action, link_ids)
|
55
71
|
end
|
56
72
|
end
|
57
73
|
|
@@ -3,17 +3,22 @@ module KirguduBase
|
|
3
3
|
class MenuItemsBlockBuilder < ::KirguduBase::DynamicPages::Builder
|
4
4
|
|
5
5
|
def initialize(&block)
|
6
|
-
|
6
|
+
self.builder_options[:elements] = []
|
7
7
|
super(&block)
|
8
8
|
end
|
9
9
|
|
10
10
|
def menu_item(&block)
|
11
|
-
|
11
|
+
self.builder_options[:elements] << ::KirguduBase::DynamicPages::MenuItemBuilder.new(&block).to_element
|
12
|
+
end
|
13
|
+
def item(&block)
|
14
|
+
menu_item(&block)
|
15
|
+
end
|
16
|
+
def section(&block)
|
17
|
+
self.builder_options[:elements] << ::KirguduBase::DynamicPages::MenuSectionBuilder.new(&block).to_element
|
12
18
|
end
|
13
|
-
|
14
19
|
|
15
20
|
def to_elements
|
16
|
-
|
21
|
+
self.builder_options[:elements]
|
17
22
|
end
|
18
23
|
end
|
19
24
|
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module KirguduBase
|
2
|
+
module DynamicPages
|
3
|
+
class MenuSection < ::KirguduBase::DynamicPages::PageElement
|
4
|
+
|
5
|
+
mergeable_attributes :label, :link, :target, :controller_link, :items
|
6
|
+
fixable_attributes :items, :controller_link
|
7
|
+
|
8
|
+
|
9
|
+
validates_presence_of :label
|
10
|
+
|
11
|
+
def initialize(options = {})
|
12
|
+
|
13
|
+
self.label = nil
|
14
|
+
self.items = nil
|
15
|
+
|
16
|
+
super(options)
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
attr_accessor :label
|
21
|
+
attr_accessor :items
|
22
|
+
|
23
|
+
|
24
|
+
def to_external_hash(options = {})
|
25
|
+
options ||= {}
|
26
|
+
options.merge!({
|
27
|
+
#url: self.url,
|
28
|
+
#data_format: self.data_format,
|
29
|
+
#http_method: self.http_method,
|
30
|
+
#label_property: self.label_property,
|
31
|
+
#value_property: self.value_property
|
32
|
+
})
|
33
|
+
super(options)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module KirguduBase
|
2
|
+
module DynamicPages
|
3
|
+
class MenuSectionBuilder < ::KirguduBase::DynamicPages::PageElementBuilder
|
4
|
+
|
5
|
+
def initialize(&block)
|
6
|
+
|
7
|
+
self.builder_options.merge!({
|
8
|
+
label: nil,
|
9
|
+
items: nil
|
10
|
+
})
|
11
|
+
|
12
|
+
super(nil, &block)
|
13
|
+
end
|
14
|
+
|
15
|
+
def label(value)
|
16
|
+
self.builder_options[:label] = value
|
17
|
+
end
|
18
|
+
|
19
|
+
def items(&block)
|
20
|
+
elements = ::KirguduBase::DynamicPages::MenuItemsBlockBuilder.new(&block).to_elements
|
21
|
+
|
22
|
+
elements.each do |element|
|
23
|
+
self.builder_options[:items] = [] unless self.builder_options[:items]
|
24
|
+
self.builder_options[:items] << element
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_element
|
29
|
+
element = ::KirguduBase::DynamicPages::MenuItem.new
|
30
|
+
self.build_element(element)
|
31
|
+
self.validate_generated_element(element)
|
32
|
+
element
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -2,9 +2,9 @@ module KirguduBase
|
|
2
2
|
module DynamicPages
|
3
3
|
class Page < ::KirguduBase::DynamicPages::Element
|
4
4
|
|
5
|
-
mergeable_attributes :name, :forms, :lists, :entries, :tabs, :menus, :elements
|
5
|
+
mergeable_attributes :name, :forms, :lists, :entries, :tabs, :menus, :elements, :sortings, :managements
|
6
6
|
|
7
|
-
fixable_attributes :forms, :lists, :entries, :tabs, :menus
|
7
|
+
fixable_attributes :forms, :lists, :entries, :tabs, :menus, :sortings, :managements
|
8
8
|
|
9
9
|
|
10
10
|
validates_presence_of :name
|
@@ -17,6 +17,8 @@ module KirguduBase
|
|
17
17
|
self.entries = nil
|
18
18
|
self.menus = nil
|
19
19
|
self.elements = nil
|
20
|
+
self.sortings = nil
|
21
|
+
self.managements = nil
|
20
22
|
|
21
23
|
super(options)
|
22
24
|
end
|
@@ -30,6 +32,8 @@ module KirguduBase
|
|
30
32
|
attr_accessor :tabs
|
31
33
|
attr_accessor :menus
|
32
34
|
attr_accessor :elements
|
35
|
+
attr_accessor :managements
|
36
|
+
attr_accessor :sortings
|
33
37
|
|
34
38
|
attr_accessor :kontroller_klass
|
35
39
|
|
@@ -11,6 +11,8 @@ module KirguduBase
|
|
11
11
|
self.builder_options[:entries] = {}
|
12
12
|
self.builder_options[:tabs] = {}
|
13
13
|
self.builder_options[:menus] = {}
|
14
|
+
self.builder_options[:managements] = {}
|
15
|
+
self.builder_options[:sortings] = {}
|
14
16
|
self.builder_options[:elements] = []
|
15
17
|
|
16
18
|
super(&block)
|
@@ -50,6 +52,22 @@ module KirguduBase
|
|
50
52
|
self.builder_options[:elements] << element
|
51
53
|
end
|
52
54
|
|
55
|
+
def management(name, &block)
|
56
|
+
raise "Cannot create empty Management" unless block_given?
|
57
|
+
element = ::KirguduBase::DynamicPages::ManagementSettingsBuilder.new(name, &block).to_element
|
58
|
+
raise "Duplicate Management with name: #{element.name}" if self.builder_options[:managements][element.name]
|
59
|
+
self.builder_options[:managements][element.name] = element
|
60
|
+
self.builder_options[:elements] << element
|
61
|
+
end
|
62
|
+
|
63
|
+
def sorting(name, &block)
|
64
|
+
raise "Cannot create empty Sorting" unless block_given?
|
65
|
+
element = ::KirguduBase::DynamicPages::SortingSettingsBuilder.new(name, &block).to_element
|
66
|
+
raise "Duplicate Sorting with name: #{element.name}" if self.builder_options[:sortings][element.name]
|
67
|
+
self.builder_options[:sortings][element.name] = element
|
68
|
+
self.builder_options[:elements] << element
|
69
|
+
end
|
70
|
+
|
53
71
|
|
54
72
|
def elements(&block)
|
55
73
|
self.builder_options[:elements] = ::KirguduBase::DynamicPages::PageElementsBlockBuilder.new(&block).to_elements
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module KirguduBase
|
2
|
+
module DynamicPages
|
3
|
+
class Relation < ::KirguduBase::DynamicPages::Element
|
4
|
+
|
5
|
+
mergeable_attributes :name, :page_param, :per_page_param
|
6
|
+
|
7
|
+
|
8
|
+
validates_presence_of :name
|
9
|
+
|
10
|
+
def initialize(options = {})
|
11
|
+
self.name = nil
|
12
|
+
self.page_param = nil
|
13
|
+
self.per_page_param = nil
|
14
|
+
|
15
|
+
super(options)
|
16
|
+
end
|
17
|
+
|
18
|
+
attr_accessor :name
|
19
|
+
attr_accessor :page_param
|
20
|
+
attr_accessor :per_page_param
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module KirguduBase
|
2
|
+
module DynamicPages
|
3
|
+
class RelationBuilder < ::KirguduBase::DynamicPages::Builder
|
4
|
+
|
5
|
+
def initialize(&block)
|
6
|
+
|
7
|
+
self.builder_options.merge!({
|
8
|
+
name: nil,
|
9
|
+
page_param: "page",
|
10
|
+
per_page_param: "per_page",
|
11
|
+
})
|
12
|
+
super(&block)
|
13
|
+
end
|
14
|
+
|
15
|
+
def name(value)
|
16
|
+
self.builder_options[:name] = value
|
17
|
+
end
|
18
|
+
|
19
|
+
def page_param(value)
|
20
|
+
self.builder_options[:page_param] = value
|
21
|
+
end
|
22
|
+
|
23
|
+
def per_page_param(value)
|
24
|
+
self.builder_options[:per_page_param] = value
|
25
|
+
end
|
26
|
+
|
27
|
+
def to_element
|
28
|
+
element = ::KirguduBase::DynamicPages::Relation.new
|
29
|
+
self.build_element(element)
|
30
|
+
self.validate_generated_element(element)
|
31
|
+
element
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module KirguduBase
|
2
|
+
module DynamicPages
|
3
|
+
class SortingSettings < ::KirguduBase::DynamicPages::Element
|
4
|
+
|
5
|
+
mergeable_attributes :item_class, :container_class, :entry_class, :container_id_property, :entry_id_property
|
6
|
+
|
7
|
+
|
8
|
+
validates_presence_of :item_class, :container_class, :entry_class, :container_id_property, :entry_id_property
|
9
|
+
|
10
|
+
|
11
|
+
def initialize(options = {})
|
12
|
+
self.name = nil
|
13
|
+
self.item_class = nil
|
14
|
+
self.container_class = nil
|
15
|
+
self.entry_class = nil
|
16
|
+
self.container_id_property = nil
|
17
|
+
self.entry_id_property = nil
|
18
|
+
|
19
|
+
super(options)
|
20
|
+
end
|
21
|
+
|
22
|
+
attr_accessor :name
|
23
|
+
attr_accessor :item_class
|
24
|
+
attr_accessor :container_class
|
25
|
+
attr_accessor :entry_class
|
26
|
+
attr_accessor :container_id_property
|
27
|
+
attr_accessor :entry_id_property
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module KirguduBase
|
2
|
+
module DynamicPages
|
3
|
+
class SortingSettingsBuilder < ::KirguduBase::DynamicPages::Builder
|
4
|
+
|
5
|
+
|
6
|
+
def initialize(name, &block)
|
7
|
+
|
8
|
+
self.builder_options[:name] = name
|
9
|
+
|
10
|
+
self.builder_options[:item_class] = nil
|
11
|
+
self.builder_options[:container_class] = nil
|
12
|
+
self.builder_options[:entry_class] = nil
|
13
|
+
self.builder_options[:container_id_property] = nil
|
14
|
+
self.builder_options[:entry_id_property] = nil
|
15
|
+
|
16
|
+
super(&block)
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
def item_class(value)
|
21
|
+
self.builder_options[:item_class] = value
|
22
|
+
end
|
23
|
+
|
24
|
+
def container_class(value)
|
25
|
+
self.builder_options[:container_class] = value
|
26
|
+
end
|
27
|
+
|
28
|
+
def entry_class(value)
|
29
|
+
self.builder_options[:entry_class] = value
|
30
|
+
end
|
31
|
+
|
32
|
+
def container_id_property(value)
|
33
|
+
self.builder_options[:container_id_property] = value
|
34
|
+
end
|
35
|
+
|
36
|
+
def entry_id_property(value)
|
37
|
+
self.builder_options[:entry_id_property] = value
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
def to_element
|
42
|
+
element = ::KirguduBase::DynamicPages::SortingSettings.new
|
43
|
+
self.build_element(element)
|
44
|
+
element
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -4,15 +4,14 @@ module KirguduBase
|
|
4
4
|
module Security
|
5
5
|
class Authentication < ::KirguduBase::BaseModel
|
6
6
|
|
7
|
+
validates_presence_of :user_id, :provider, :uid
|
8
|
+
validates_uniqueness_of :provider, scope: :user_id
|
9
|
+
validates_uniqueness_of :uid, scope: :provider
|
10
|
+
|
11
|
+
|
12
|
+
|
7
13
|
include ::KirguduBase::Models::BasicProperties::User
|
8
14
|
|
9
|
-
def provider_name
|
10
|
-
if provider == 'open_id'
|
11
|
-
"OpenID"
|
12
|
-
else
|
13
|
-
provider.titleize
|
14
|
-
end
|
15
|
-
end
|
16
15
|
end
|
17
16
|
end
|
18
17
|
end
|
@@ -11,6 +11,8 @@ module KirguduBase
|
|
11
11
|
validates_presence_of :password, only: [:create, :password_set]
|
12
12
|
validates_confirmation_of :password, only: [:create, :password_set]
|
13
13
|
|
14
|
+
validates_as_email :email, allow_blank: true
|
15
|
+
|
14
16
|
has_many :authentications, class_name: ::KirguduBase::Security::Authentication, foreign_key: :user_id, dependent: :destroy
|
15
17
|
|
16
18
|
has_many :user_at_portals, class_name: ::KirguduBase::Common::PortalUser, foreign_key: :user_id, dependent: :destroy
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module KirguduBase
|
2
|
+
module Settings
|
3
|
+
class Group < ::KirguduBase::BaseModel
|
4
|
+
|
5
|
+
########################################## RELATIONS ########################################
|
6
|
+
|
7
|
+
include ::KirguduBase::Models::BasicProperties::Portal
|
8
|
+
|
9
|
+
include ::KirguduBase::Models::BasicProperties::CreatedBy
|
10
|
+
include ::KirguduBase::Models::BasicProperties::UpdatedBy
|
11
|
+
|
12
|
+
has_many :options, class_name: ::System::Settings::Option, foreign_key: :group_id, dependent: :destroy
|
13
|
+
########################################## VALIDATIONS #######################################
|
14
|
+
|
15
|
+
validates_presence_of :name
|
16
|
+
validates_uniqueness_of :name, case_sensitive: false
|
17
|
+
|
18
|
+
######################################### SCOPES #############################################
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module KirguduBase
|
2
|
+
module Settings
|
3
|
+
class Option < ::KirguduBase::BaseModel
|
4
|
+
########################################## RELATIONS ########################################
|
5
|
+
|
6
|
+
include ::KirguduBase::Models::BasicProperties::Portal
|
7
|
+
|
8
|
+
include ::KirguduBase::Models::BasicProperties::CreatedBy
|
9
|
+
include ::KirguduBase::Models::BasicProperties::UpdatedBy
|
10
|
+
|
11
|
+
|
12
|
+
belongs_to :group, class_name: ::System::Settings::Group, foreign_key: :group_id
|
13
|
+
has_one :option_value, class_name: ::System::Settings::Value, foreign_key: :option_id
|
14
|
+
|
15
|
+
########################################## VALIDATIONS #######################################
|
16
|
+
|
17
|
+
validates_presence_of :group_id, :name, :slug, :value_type, :sort_position
|
18
|
+
validates_uniqueness_of :name, :slug, scope: :group_id
|
19
|
+
|
20
|
+
######################################### SCOPES #############################################
|
21
|
+
|
22
|
+
scope :with_search, lambda { |value|
|
23
|
+
if value
|
24
|
+
value = value.gsub("%", " ")
|
25
|
+
value_like = "%#{value}%"
|
26
|
+
where { (name.like value_like) }
|
27
|
+
end
|
28
|
+
}
|
29
|
+
|
30
|
+
def group_name
|
31
|
+
group.name if group
|
32
|
+
end
|
33
|
+
|
34
|
+
def value_type
|
35
|
+
::Core::Common::DataType[self.value_type_id]
|
36
|
+
end
|
37
|
+
|
38
|
+
def data
|
39
|
+
ChupakabraTools::Convert.string_to_value(option_value.data, ::Core::Common::DataType.tag_by_id(value_type_id)) if option_value
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|