rademade_admin 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +5 -12
- data/app/assets/javascripts/rademade_admin/app/common/related-index.coffee +5 -24
- data/app/assets/javascripts/rademade_admin/form/form-ajax-submit.coffee +4 -0
- data/app/assets/javascripts/rademade_admin.coffee +28 -7
- data/app/assets/stylesheets/rademade_admin/detail_admin/icons.scss.erb +1 -1
- data/app/assets/stylesheets/rademade_admin.scss.erb +19 -0
- data/app/controllers/rademade_admin/abstract_controller.rb +2 -0
- data/app/controllers/rademade_admin/admin_users_controller.rb +2 -1
- data/app/controllers/rademade_admin/application_controller.rb +3 -0
- data/app/controllers/rademade_admin/dashboard_controller.rb +1 -1
- data/app/controllers/rademade_admin/model_controller.rb +48 -25
- data/app/controllers/rademade_admin/sessions_controller.rb +2 -1
- data/app/helpers/rademade_admin/field_helper.rb +30 -3
- data/app/helpers/rademade_admin/form_helper.rb +12 -18
- data/app/helpers/rademade_admin/menu_helper.rb +2 -1
- data/app/helpers/rademade_admin/name_helper.rb +2 -1
- data/app/helpers/rademade_admin/upload_preview_helper.rb +2 -1
- data/app/helpers/rademade_admin/uri_helper.rb +16 -0
- data/app/inputs/rademade_admin/admin_file_input.rb +2 -1
- data/app/inputs/rademade_admin/admin_select_input.rb +2 -1
- data/app/inputs/rademade_admin/admin_textarea_input.rb +2 -1
- data/app/inputs/rademade_admin/boolean_input.rb +2 -1
- data/app/models/rademade_admin/ability.rb +1 -1
- data/app/serializers/autocomplete/base_serializer.rb +49 -0
- data/app/serializers/autocomplete/link_serializer.rb +20 -0
- data/app/services/form_builder.rb +2 -1
- data/app/services/linker.rb +34 -0
- data/app/services/loader_service.rb +2 -1
- data/app/services/login/error.rb +2 -1
- data/app/services/login.rb +2 -1
- data/app/services/model_controller/instance_options.rb +1 -0
- data/app/services/model_controller/model_options.rb +2 -1
- data/app/services/model_controller/notifier.rb +2 -1
- data/app/services/model_controller/templates.rb +10 -12
- data/app/services/saver.rb +2 -1
- data/app/services/search/conditions/abstract.rb +42 -38
- data/app/services/search/conditions/autocomplete.rb +34 -28
- data/app/services/search/conditions/list.rb +30 -23
- data/app/services/search/conditions/part/where.rb +28 -0
- data/app/services/search/conditions/related_list.rb +54 -0
- data/app/services/search/query_adapter/abstract.rb +30 -39
- data/app/services/search/query_adapter/active_record.rb +33 -21
- data/app/services/search/query_adapter/mongoid.rb +38 -20
- data/app/services/search/searcher.rb +5 -4
- data/app/services/sortable_service.rb +2 -1
- data/app/services/video_service.rb +2 -1
- data/app/views/rademade_admin/_blocks/_menu.html.erb +7 -1
- data/app/views/rademade_admin/_blocks/_sub_menu.html.erb +0 -8
- data/app/views/rademade_admin/_layouts/inner/related_index_table.html.erb +1 -2
- data/app/views/rademade_admin/abstract/index.html.erb +6 -5
- data/app/views/rademade_admin/abstract/related_index.html.erb +11 -4
- data/config/initializers/bower_rails.rb +6 -0
- data/config/initializers/devise.rb +1 -0
- data/config/initializers/formtastic.rb +13 -0
- data/config/initializers/routes.rb +2 -1
- data/config/routes.rb +2 -1
- data/lib/rademade_admin/bower/performer.rb +14 -0
- data/lib/rademade_admin/configuration.rb +2 -1
- data/lib/rademade_admin/engine.rb +5 -1
- data/lib/rademade_admin/file_info_formatter.rb +2 -1
- data/lib/rademade_admin/hrml_buffer.rb +2 -1
- data/lib/rademade_admin/model/configuration/fields.rb +2 -1
- data/lib/rademade_admin/model/configuration.rb +2 -1
- data/lib/rademade_admin/model/data_adapter/active_record.rb +10 -4
- data/lib/rademade_admin/model/data_adapter/mongoid.rb +6 -1
- data/lib/rademade_admin/model/data_adapter.rb +6 -1
- data/lib/rademade_admin/model/graph.rb +2 -1
- data/lib/rademade_admin/model/info.rb +4 -3
- data/lib/rademade_admin/model/reflection/data.rb +2 -1
- data/lib/rademade_admin/model/reflection/uploader.rb +2 -2
- data/lib/rademade_admin/model/reflection.rb +5 -13
- data/lib/rademade_admin/routing/mapper.rb +4 -1
- data/lib/rademade_admin/routing/resource.rb +2 -1
- data/lib/rademade_admin/routing.rb +2 -1
- data/lib/rademade_admin/sortable.rb +1 -0
- data/lib/rademade_admin/uploader/photo.rb +2 -1
- data/lib/rademade_admin/uploader/video.rb +2 -1
- data/lib/rademade_admin/user.rb +1 -0
- data/lib/rademade_admin/version.rb +2 -1
- data/lib/rademade_admin.rb +8 -6
- data/lib/tasks/rademade_bower_install.rake +9 -0
- metadata +92 -339
- data/MIT-LICENSE +0 -20
- data/app/assets/fonts/rademade_admin/glyphicons-halflings-regular.eot +0 -0
- data/app/assets/fonts/rademade_admin/glyphicons-halflings-regular.svg +0 -228
- data/app/assets/fonts/rademade_admin/glyphicons-halflings-regular.ttf +0 -0
- data/app/assets/fonts/rademade_admin/glyphicons-halflings-regular.woff +0 -0
- data/app/assets/images/rademade_admin/datatables/back_disabled.png +0 -0
- data/app/assets/images/rademade_admin/datatables/back_enabled.png +0 -0
- data/app/assets/images/rademade_admin/datatables/back_enabled_hover.png +0 -0
- data/app/assets/images/rademade_admin/datatables/forward_disabled.png +0 -0
- data/app/assets/images/rademade_admin/datatables/forward_enabled.png +0 -0
- data/app/assets/images/rademade_admin/datatables/forward_enabled_hover.png +0 -0
- data/app/assets/images/rademade_admin/datatables/sort_asc.png +0 -0
- data/app/assets/images/rademade_admin/datatables/sort_asc_disabled.png +0 -0
- data/app/assets/images/rademade_admin/datatables/sort_both.png +0 -0
- data/app/assets/images/rademade_admin/datatables/sort_desc.png +0 -0
- data/app/assets/images/rademade_admin/datatables/sort_desc_disabled.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/animated-overlay.gif +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-bg_flat_10_000000_40x100.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-icons_228ef1_256x240.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-icons_ef8c08_256x240.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-icons_ffd27a_256x240.png +0 -0
- data/app/assets/images/rademade_admin/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
- data/app/assets/images/rademade_admin/select2/select2.png +0 -0
- data/app/assets/images/rademade_admin/select2/select2x2.png +0 -0
- data/app/assets/images/rademade_admin/select2/spinner.gif +0 -0
- data/app/assets/images/rademade_admin/uniform/bg-input-focus.png +0 -0
- data/app/assets/images/rademade_admin/uniform/bg-input.png +0 -0
- data/app/assets/images/rademade_admin/uniform/sprite.png +0 -0
- data/app/assets/javascripts/rademade_admin/form/library/jquery.form-serialize.js +0 -54
- data/app/assets/javascripts/rademade_admin/form/library/jquery.form.js +0 -1121
- data/app/assets/javascripts/rademade_admin/form/library/jquery.formrestrict.js +0 -27
- data/app/assets/javascripts/rademade_admin/form/library/jquery.validate.js +0 -1231
- data/app/assets/javascripts/rademade_admin/form/library/jquery.validate.messages_ru.js +0 -27
- data/app/assets/javascripts/rademade_admin/library/backbone.js +0 -1581
- data/app/assets/javascripts/rademade_admin/library/bootstrap/bootstrap.datepicker.js +0 -989
- data/app/assets/javascripts/rademade_admin/library/bootstrap/bootstrap.js +0 -1992
- data/app/assets/javascripts/rademade_admin/library/jquery/jquery-ui-1.10.4.custom.min.js +0 -6
- data/app/assets/javascripts/rademade_admin/library/jquery/jquery.dataTables.js +0 -12099
- data/app/assets/javascripts/rademade_admin/library/jquery/jquery.flot.js +0 -2960
- data/app/assets/javascripts/rademade_admin/library/jquery/jquery.flot.resize.js +0 -60
- data/app/assets/javascripts/rademade_admin/library/jquery/jquery.flot.stack.js +0 -188
- data/app/assets/javascripts/rademade_admin/library/jquery/jquery.knob.js +0 -661
- data/app/assets/javascripts/rademade_admin/library/jquery/jquery.uniform.min.js +0 -1
- data/app/assets/javascripts/rademade_admin/library/notifier.custom.js +0 -431
- data/app/assets/javascripts/rademade_admin/library/underscore.js +0 -1276
- data/app/assets/javascripts/rademade_admin/library/wysihtml5-0.3.0.js +0 -9463
- data/app/assets/stylesheets/rademade_admin/bootstrap/bootstrap.css.erb +0 -5911
- data/app/assets/stylesheets/rademade_admin/lib/jquery-ui-1.10.2.custom.css.erb +0 -544
- data/app/assets/stylesheets/rademade_admin/lib/select2.css.erb +0 -513
- data/app/assets/stylesheets/rademade_admin/lib/uniform.default.css.erb +0 -366
- data/app/assets/stylesheets/rademade_admin.css +0 -14
- data/app/models/rademade_admin/user.rb +0 -6
- data/app/serializers/autocomplete_serializer.rb +0 -46
- data/app/services/model_controller/linker.rb +0 -49
- data/test/dummy/README.rdoc +0 -28
- data/test/dummy/Rakefile +0 -6
- data/test/dummy/app/assets/javascripts/application.js +0 -13
- data/test/dummy/app/assets/stylesheets/application.css +0 -13
- data/test/dummy/app/controllers/application_controller.rb +0 -5
- data/test/dummy/app/controllers/rademade_admin/posts_controller.rb +0 -9
- data/test/dummy/app/controllers/rademade_admin/users_controller.rb +0 -14
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/models/post.rb +0 -9
- data/test/dummy/app/models/user.rb +0 -7
- data/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/dummy/bin/bundle +0 -3
- data/test/dummy/bin/rails +0 -4
- data/test/dummy/bin/rake +0 -4
- data/test/dummy/config/application.rb +0 -29
- data/test/dummy/config/boot.rb +0 -5
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -29
- data/test/dummy/config/environments/production.rb +0 -80
- data/test/dummy/config/environments/test.rb +0 -36
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/dummy/config/initializers/inflections.rb +0 -16
- data/test/dummy/config/initializers/mime_types.rb +0 -5
- data/test/dummy/config/initializers/rademade_admin.rb +0 -3
- data/test/dummy/config/initializers/secret_token.rb +0 -12
- data/test/dummy/config/initializers/session_store.rb +0 -3
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/locales/en.yml +0 -23
- data/test/dummy/config/mongoid.yml +0 -6
- data/test/dummy/config/routes.rb +0 -8
- data/test/dummy/config.ru +0 -4
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/public/404.html +0 -58
- data/test/dummy/public/422.html +0 -58
- data/test/dummy/public/500.html +0 -57
- data/test/dummy/public/favicon.ico +0 -0
- data/test/integration/navigation_test.rb +0 -10
- data/test/rademade_admin_test.rb +0 -7
- data/test/test_helper.rb +0 -15
@@ -1,5 +1,15 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin::UriHelper
|
2
3
|
|
4
|
+
def admin_link_uri(model, parent, parent_id)
|
5
|
+
admin_model_url_for(model.class, {
|
6
|
+
:action => :link_relation,
|
7
|
+
:id => model.id,
|
8
|
+
:parent => parent,
|
9
|
+
:parent_id => parent_id
|
10
|
+
})
|
11
|
+
end
|
12
|
+
|
3
13
|
def admin_unlink_uri(model, parent, parent_id)
|
4
14
|
admin_model_url_for(model.class, {
|
5
15
|
:action => :unlink_relation,
|
@@ -21,6 +31,12 @@ module RademadeAdmin::UriHelper
|
|
21
31
|
}.merge(opts))
|
22
32
|
end
|
23
33
|
|
34
|
+
def admin_link_autocomplete_uri(model, opts = {})
|
35
|
+
admin_model_url_for(model, {
|
36
|
+
:action => :link_autocomplete
|
37
|
+
}.merge(opts))
|
38
|
+
end
|
39
|
+
|
24
40
|
def admin_new_uri(model)
|
25
41
|
admin_model_url_for(model, {
|
26
42
|
:action => :new
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
##
|
3
|
+
# Class: AutocompleteSerializer
|
4
|
+
#
|
5
|
+
# Creates hash (ready for JSON serialization) with
|
6
|
+
# pairs of id => value to show in the autocomplete
|
7
|
+
# select UI.
|
8
|
+
#
|
9
|
+
# The output format of to_json is optimized for 'Select2'
|
10
|
+
# autocomplete UI.
|
11
|
+
#
|
12
|
+
# It would generate JSON of models :id and :text. Text is determined by
|
13
|
+
# #to_autocomplete method, or by #to_s.
|
14
|
+
module Autocomplete
|
15
|
+
class BaseSerializer
|
16
|
+
include RademadeAdmin::UriHelper
|
17
|
+
|
18
|
+
def initialize(collection)
|
19
|
+
@collection = collection
|
20
|
+
end
|
21
|
+
|
22
|
+
def as_json
|
23
|
+
build_json
|
24
|
+
end
|
25
|
+
|
26
|
+
# args are left for backward compatibility
|
27
|
+
# to Rails :json renderer
|
28
|
+
def to_json(*args)
|
29
|
+
as_json.to_json
|
30
|
+
end
|
31
|
+
|
32
|
+
protected
|
33
|
+
|
34
|
+
def item_to_json(item)
|
35
|
+
{
|
36
|
+
:id => item.id.to_s,
|
37
|
+
:text => (item.respond_to?(:to_autocomplete) ? item.to_autocomplete : item.to_s),
|
38
|
+
:edit_url => admin_edit_form_uri(item)
|
39
|
+
}
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def build_json
|
45
|
+
@collection.map { |item| item_to_json(item) }
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
module Autocomplete
|
3
|
+
class LinkSerializer < BaseSerializer
|
4
|
+
|
5
|
+
def initialize(collection, parent, parent_id)
|
6
|
+
super(collection)
|
7
|
+
@parent = parent
|
8
|
+
@parent_id = parent_id
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def item_to_json(item)
|
14
|
+
super(item).merge({
|
15
|
+
:link_url => admin_link_uri(item, @parent, @parent_id)
|
16
|
+
})
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
module RademadeAdmin
|
3
|
+
class Linker
|
4
|
+
|
5
|
+
def initialize(model_info, parent_model, parent_id)
|
6
|
+
@model_info = model_info
|
7
|
+
@parent_model_info = RademadeAdmin::Model::Graph.instance.model_info(parent_model)
|
8
|
+
@parent = @parent_model_info.model.find(parent_id)
|
9
|
+
end
|
10
|
+
|
11
|
+
def link(id)
|
12
|
+
process_link { |old_data| old_data << parse_id(id) }
|
13
|
+
end
|
14
|
+
|
15
|
+
def unlink(id)
|
16
|
+
process_link { |old_data| old_data - [parse_id(id)] }
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def process_link
|
22
|
+
related_name = @model_info.model_name.tableize.gsub('/', '_').to_sym # todo extract method or better guessing of related name
|
23
|
+
association = @parent_model_info.reflect_on_association(related_name)
|
24
|
+
foreign_key = @parent_model_info.association_foreign_key(association)
|
25
|
+
@parent.send(foreign_key + '=', yield(@parent.send(foreign_key)))
|
26
|
+
@parent.save
|
27
|
+
end
|
28
|
+
|
29
|
+
def parse_id(id)
|
30
|
+
Integer(id) rescue id.to_s
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
data/app/services/login/error.rb
CHANGED
data/app/services/login.rb
CHANGED
@@ -1,27 +1,25 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin
|
2
3
|
module Templates
|
3
4
|
|
4
5
|
def native_template_folder
|
5
|
-
#
|
6
|
+
# 15 = "RademadeAdmin::".length
|
6
7
|
# 11 = "Controller".length
|
7
8
|
# e.g. RademadeAdmin::QuestionAnswer::UsersController to "question_answer/users"
|
8
|
-
self.class.to_s[
|
9
|
-
end
|
10
|
-
|
11
|
-
def template_folder
|
12
|
-
#todo save in static variable
|
13
|
-
template_exists?('_form', "rademade_admin/#{native_template_folder}") ? native_template_folder : 'abstract'
|
9
|
+
@native_template_folder ||= self.class.to_s[15..-11].underscore
|
14
10
|
end
|
15
11
|
|
16
12
|
def form_template_path(real = false)
|
17
|
-
|
13
|
+
abstract_template((real ? '_' : '') + 'form')
|
18
14
|
end
|
19
15
|
|
20
16
|
def abstract_template(template)
|
21
|
-
|
22
|
-
|
23
|
-
|
17
|
+
if template_exists?(template, "rademade_admin/#{native_template_folder}")
|
18
|
+
"rademade_admin/#{native_template_folder}/#{template}"
|
19
|
+
else
|
20
|
+
"rademade_admin/abstract/#{template}"
|
21
|
+
end
|
24
22
|
end
|
25
23
|
|
26
24
|
end
|
27
|
-
end
|
25
|
+
end
|
data/app/services/saver.rb
CHANGED
@@ -1,53 +1,57 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin
|
2
3
|
module Search
|
3
|
-
|
4
|
+
module Conditions
|
5
|
+
class Abstract
|
4
6
|
|
5
|
-
|
7
|
+
attr_reader :params
|
6
8
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
def initialize(params, origin_fields)
|
10
|
+
@params = params
|
11
|
+
@origin_fields = origin_fields
|
12
|
+
end
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
-
|
14
|
+
def conditions
|
15
|
+
@conditions ||= init_conditions
|
16
|
+
end
|
15
17
|
|
16
|
-
|
18
|
+
def base_condition(model)
|
19
|
+
model.unscoped
|
20
|
+
end
|
17
21
|
|
18
|
-
|
19
|
-
{
|
20
|
-
:where => where,
|
21
|
-
:order => order,
|
22
|
-
:page => page,
|
23
|
-
:per_page => per_page,
|
24
|
-
:limit => limit
|
25
|
-
}
|
26
|
-
end
|
22
|
+
protected
|
27
23
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
24
|
+
def init_conditions
|
25
|
+
{
|
26
|
+
:where => where,
|
27
|
+
:order => order,
|
28
|
+
:page => page,
|
29
|
+
:per_page => per_page,
|
30
|
+
:limit => limit
|
31
|
+
}
|
32
|
+
end
|
34
33
|
|
35
|
-
|
36
|
-
|
37
|
-
|
34
|
+
def where
|
35
|
+
nil
|
36
|
+
end
|
38
37
|
|
39
|
-
|
40
|
-
|
41
|
-
|
38
|
+
def order
|
39
|
+
{}
|
40
|
+
end
|
42
41
|
|
43
|
-
|
44
|
-
|
45
|
-
|
42
|
+
def page
|
43
|
+
nil
|
44
|
+
end
|
46
45
|
|
47
|
-
|
48
|
-
|
49
|
-
|
46
|
+
def per_page
|
47
|
+
nil
|
48
|
+
end
|
50
49
|
|
50
|
+
def limit
|
51
|
+
nil
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
51
55
|
end
|
52
56
|
end
|
53
|
-
end
|
57
|
+
end
|
@@ -1,44 +1,50 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'search/conditions/abstract'
|
3
|
+
|
1
4
|
module RademadeAdmin
|
2
5
|
module Search
|
3
|
-
|
6
|
+
module Conditions
|
7
|
+
class Autocomplete < Abstract
|
4
8
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
+
def initialize(params, origin_fields, filter_fields)
|
10
|
+
super(params, origin_fields)
|
11
|
+
@filter_fields = filter_fields
|
12
|
+
end
|
9
13
|
|
10
|
-
|
14
|
+
protected
|
11
15
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
end
|
16
|
+
def where
|
17
|
+
@where_conditions = Where.new(:and)
|
18
|
+
append_query_condition
|
19
|
+
append_search_params
|
20
|
+
@where_conditions
|
21
|
+
end
|
19
22
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
+
def limit
|
24
|
+
10
|
25
|
+
end
|
23
26
|
|
24
|
-
|
27
|
+
private
|
25
28
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
@
|
29
|
+
def append_query_condition
|
30
|
+
if @params[:q].present?
|
31
|
+
query_where = Where.new(:or)
|
32
|
+
@filter_fields.each do |field|
|
33
|
+
query_where.add(field, /#{@params[:q]}/i)
|
34
|
+
end
|
35
|
+
@where_conditions.sub_add(query_where)
|
30
36
|
end
|
31
37
|
end
|
32
|
-
end
|
33
38
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
39
|
+
def append_search_params
|
40
|
+
if @params[:search].present?
|
41
|
+
@params[:search].each do |key, value|
|
42
|
+
@where_conditions.add(key.to_sym, value) if @origin_fields.include? key.to_s
|
43
|
+
end
|
38
44
|
end
|
39
45
|
end
|
40
|
-
end
|
41
46
|
|
47
|
+
end
|
42
48
|
end
|
43
49
|
end
|
44
|
-
end
|
50
|
+
end
|