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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7d3ca2426580bad9e67e2103140b383dab75f3d
|
4
|
+
data.tar.gz: c4a7f799fada0a7a5b4e13ecb02053e383c4f49e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1459c6e0eff7fc3977e13dcb53d4814f53f4582557d6451e853f2d93a413167d3a0687511e58066002bf442ee45526a0c36d043083d7006486893fbcccfaf02
|
7
|
+
data.tar.gz: cc0288f1716a8537d044e24e91905b186cf0613c6bacad89496435426ccec358fa5ba4ced92cb437f899ebc6d6753ff0af6ef8773e5d4f1912cdd8b70a55f481
|
data/Rakefile
CHANGED
@@ -14,21 +14,14 @@ RDoc::Task.new(:rdoc) do |rdoc|
|
|
14
14
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
15
|
end
|
16
16
|
|
17
|
-
APP_RAKEFILE = File.expand_path(
|
17
|
+
APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
|
18
18
|
load 'rails/tasks/engine.rake'
|
19
19
|
|
20
|
-
|
21
|
-
|
22
20
|
Bundler::GemHelper.install_tasks
|
23
21
|
|
24
|
-
require '
|
25
|
-
|
26
|
-
Rake::TestTask.new(:test) do |t|
|
27
|
-
t.libs << 'lib'
|
28
|
-
t.libs << 'test'
|
29
|
-
t.pattern = 'test/**/*_test.rb'
|
30
|
-
t.verbose = false
|
31
|
-
end
|
22
|
+
require 'rspec/core'
|
23
|
+
require 'rspec/core/rake_task'
|
32
24
|
|
25
|
+
RSpec::Core::RakeTask.new(:spec => 'app:db:test:prepare')
|
33
26
|
|
34
|
-
task default: :
|
27
|
+
task default: :spec
|
@@ -1,17 +1,3 @@
|
|
1
|
-
getUrlParams = ->
|
2
|
-
pl = /\+/g
|
3
|
-
search = /([^&=]+)=?([^&]*)/g
|
4
|
-
|
5
|
-
decode = (s) ->
|
6
|
-
decodeURIComponent s.replace(pl, " ")
|
7
|
-
|
8
|
-
query = window.location.search.substring(1)
|
9
|
-
urlParams = {}
|
10
|
-
urlParams[decode(match[1])] = decode(match[2]) while match = search.exec(query)
|
11
|
-
|
12
|
-
urlParams
|
13
|
-
|
14
|
-
|
15
1
|
initSelect = ->
|
16
2
|
$item = $('.select2-add-link')
|
17
3
|
url = $item.data('relListUrl')
|
@@ -30,25 +16,20 @@ initSelect = ->
|
|
30
16
|
ajax :
|
31
17
|
url : url
|
32
18
|
dataType : 'json'
|
33
|
-
data : (term) -> {q: term}
|
34
|
-
results : (data) -> {results: data}
|
19
|
+
data : (term) -> {q : term}
|
20
|
+
results : (data) -> {results : data}
|
35
21
|
).on 'change', (e) ->
|
36
|
-
sendNew(e.added)
|
22
|
+
sendNew(e.added.link_url)
|
37
23
|
|
38
24
|
|
39
|
-
sendNew = (
|
25
|
+
sendNew = (linkUrl) ->
|
40
26
|
$.ajax
|
41
|
-
url :
|
27
|
+
url : linkUrl
|
42
28
|
type : 'PUT'
|
43
|
-
data : getUrlParams()
|
44
29
|
success : ->
|
45
30
|
location.reload()
|
46
31
|
|
47
32
|
|
48
|
-
ajax_link = (id) ->
|
49
|
-
location.href.substring(0, location.href.indexOf(location.search)) + '/' + id + '/link_relation'
|
50
|
-
|
51
|
-
|
52
33
|
$ ->
|
53
34
|
$(document)
|
54
35
|
.on('ready page:load init-select', initSelect)
|
@@ -74,6 +74,7 @@ window.FormAjaxSubmit = ($form) ->
|
|
74
74
|
# It finds all 'array' members of data hash,
|
75
75
|
# and splits their values by ',', cleaning all
|
76
76
|
# non-space characters.
|
77
|
+
#todo extract. All class need super refactoring. Sergey, you can do it :)
|
77
78
|
for memb of items.data
|
78
79
|
array = items.data[memb]
|
79
80
|
if $.isArray(array)
|
@@ -86,6 +87,9 @@ window.FormAjaxSubmit = ($form) ->
|
|
86
87
|
|
87
88
|
items.data[memb] = if newArray.length is 0 then [''] else newArray
|
88
89
|
|
90
|
+
input_method = @_$form.find('input[name="_method"]')
|
91
|
+
items['_method'] = input_method.val() if input_method instanceof jQuery
|
92
|
+
|
89
93
|
$.ajax(
|
90
94
|
url: @_$form.attr('action')
|
91
95
|
type: @_$form.attr('method')
|
@@ -1,14 +1,35 @@
|
|
1
|
-
#= require jquery
|
2
|
-
#= require
|
1
|
+
#= require jquery/dist/jquery
|
2
|
+
#= require jquery-ui/ui/core
|
3
|
+
#= require jquery-ui/ui/widget
|
4
|
+
#= require jquery-ui/ui/mouse
|
5
|
+
#= require jquery-ui/ui/draggable
|
6
|
+
#= require jquery-ui/ui/resizable
|
7
|
+
#= require jquery-ui/ui/sortable
|
8
|
+
#= require jquery-ui/ui/slider
|
9
|
+
#= require jquery-fileupload/js/jquery.fileupload
|
10
|
+
#= require jquery-fileupload/js/jquery.iframe-transport
|
11
|
+
#= require jquery-form/jquery.form
|
12
|
+
#= require jquery-serialize/jquery.serialize-object
|
13
|
+
#= require jquery-formrestrict/jquery.formrestrict
|
14
|
+
#= require jquery-validation/src/core
|
15
|
+
#= require jquery-validation/src/ajax
|
16
|
+
#= require jquery-validation/src/delegate
|
3
17
|
#= require turbolinks
|
4
18
|
#= require select2
|
5
19
|
#= require ckeditor/init
|
6
|
-
#= require magnific-popup
|
7
|
-
#= require
|
8
|
-
#= require
|
20
|
+
#= require magnific-popup/dist/jquery.magnific-popup
|
21
|
+
#= require flot/jquery.flot
|
22
|
+
#= require flot/jquery.flot.resize
|
23
|
+
#= require flot/jquery.flot.stack
|
24
|
+
#= require knob/js/jquery.knob
|
25
|
+
#= require uniform/jquery.uniform
|
26
|
+
#= require data-tables/media/js/jquery.dataTables
|
27
|
+
#= require wysihtml5/dist/wysihtml5-0.3.0
|
28
|
+
#= require underscore/underscore
|
29
|
+
#= require backbone/backbone
|
30
|
+
#= require bootstrap/dist/js/bootstrap
|
31
|
+
#= require bootstrap-datepicker/js/bootstrap-datepicker
|
9
32
|
#= require_tree ./rademade_admin/library
|
10
|
-
#= require jquery-fileupload/basic
|
11
|
-
#= require_tree ./rademade_admin/form/library
|
12
33
|
#= require_tree ./rademade_admin/form
|
13
34
|
#= require_tree ./rademade_admin/app
|
14
35
|
#= require_tree ./rademade_admin
|
@@ -1,7 +1,7 @@
|
|
1
1
|
i.tool{
|
2
2
|
height: 14px;
|
3
3
|
width: 14px;
|
4
|
-
background: url("<%=image_path('rademade_admin/icons/btn-
|
4
|
+
background: url("<%=image_path('rademade_admin/icons/btn-tool.png')%>") no-repeat;
|
5
5
|
display: inline-block;
|
6
6
|
margin-top: 1px;
|
7
7
|
*margin-right: .3em;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
/*
|
2
|
+
*= require jquery-fileupload/css/jquery.fileupload-ui
|
3
|
+
*= require select2/select2
|
4
|
+
*= require magnific-popup/dist/magnific-popup
|
5
|
+
*= require bootstrap/dist/css/bootstrap
|
6
|
+
*= require jquery-ui/themes/base/core
|
7
|
+
*= require jquery-ui/themes/base/slider
|
8
|
+
*= require uniform/themes/default/css/uniform.default
|
9
|
+
*= require_tree ./rademade_admin
|
10
|
+
*/
|
11
|
+
|
12
|
+
.cke_chrome {
|
13
|
+
width: 76% !important;
|
14
|
+
overflow: hidden;
|
15
|
+
}
|
16
|
+
|
17
|
+
#sidebar-nav #dashboard-menu ul.submenu {
|
18
|
+
margin-left: -7px;
|
19
|
+
}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin
|
2
3
|
class AbstractController < ApplicationController
|
3
4
|
include ::RademadeAdmin::UriHelper
|
@@ -20,5 +21,6 @@ module RademadeAdmin
|
|
20
21
|
:message => 'Error occurred'
|
21
22
|
}, :status => :unprocessable_entity
|
22
23
|
end
|
24
|
+
|
23
25
|
end
|
24
26
|
end
|
@@ -1,8 +1,8 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin
|
2
3
|
class ModelController < RademadeAdmin::AbstractController
|
3
4
|
|
4
5
|
extend RademadeAdmin::ModelOptions
|
5
|
-
include RademadeAdmin::Linker
|
6
6
|
include RademadeAdmin::InstanceOptions
|
7
7
|
include RademadeAdmin::Templates
|
8
8
|
include RademadeAdmin::Notifier
|
@@ -15,7 +15,8 @@ module RademadeAdmin
|
|
15
15
|
saver.create_model
|
16
16
|
if saver.save_model
|
17
17
|
saver.save_aggregated_data
|
18
|
-
|
18
|
+
@item = saver.item
|
19
|
+
success_insert @item
|
19
20
|
else
|
20
21
|
render_errors saver.errors
|
21
22
|
end
|
@@ -26,7 +27,8 @@ module RademadeAdmin
|
|
26
27
|
saver = Saver.new(model_info, params)
|
27
28
|
if saver.update_model
|
28
29
|
saver.save_aggregated_data
|
29
|
-
|
30
|
+
@item = saver.item
|
31
|
+
success_update @item
|
30
32
|
else
|
31
33
|
render_errors saver.errors
|
32
34
|
end
|
@@ -41,22 +43,34 @@ module RademadeAdmin
|
|
41
43
|
|
42
44
|
def autocomplete
|
43
45
|
authorize! :read, model_class
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
46
|
+
init_search Search::Conditions::Autocomplete.new(params, origin_fields, model_info.filter_fields)
|
47
|
+
render :json => Autocomplete::BaseSerializer.new(@items)
|
48
|
+
end
|
49
|
+
|
50
|
+
def link_autocomplete
|
51
|
+
authorize! :read, model_class
|
52
|
+
init_search Search::Conditions::Autocomplete.new(params, origin_fields, model_info.filter_fields)
|
53
|
+
render :json => Autocomplete::LinkSerializer.new(@items, params[:parent], params[:parent_id])
|
48
54
|
end
|
49
55
|
|
50
|
-
# todo another action for related
|
51
56
|
def index
|
52
57
|
authorize! :read, model_class
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
+
init_search Search::Conditions::List.new(params, origin_fields)
|
59
|
+
init_sortable_service
|
60
|
+
respond_to do |format|
|
61
|
+
format.html { render_template }
|
62
|
+
format.json { render :json => @items }
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def related_index
|
67
|
+
authorize! :read, model_class
|
68
|
+
init_search Search::Conditions::RelatedList.new(params, origin_fields)
|
69
|
+
init_sortable_service
|
70
|
+
@parent_model_info = RademadeAdmin::Model::Graph.instance.model_info(params[:parent])
|
71
|
+
@parent = @parent_model_info.model.find(params[:parent_id])
|
58
72
|
respond_to do |format|
|
59
|
-
format.html {
|
73
|
+
format.html { render_template }
|
60
74
|
format.json { render :json => @items }
|
61
75
|
end
|
62
76
|
end
|
@@ -73,18 +87,12 @@ module RademadeAdmin
|
|
73
87
|
render_template
|
74
88
|
end
|
75
89
|
|
76
|
-
def
|
77
|
-
|
78
|
-
unlink(item)
|
79
|
-
item.save
|
80
|
-
success_unlink item
|
90
|
+
def link_relation
|
91
|
+
process_link :link
|
81
92
|
end
|
82
93
|
|
83
|
-
def
|
84
|
-
|
85
|
-
link(item)
|
86
|
-
item.save
|
87
|
-
success_link item
|
94
|
+
def unlink_relation
|
95
|
+
process_link :unlink
|
88
96
|
end
|
89
97
|
|
90
98
|
def show
|
@@ -103,7 +111,7 @@ module RademadeAdmin
|
|
103
111
|
end
|
104
112
|
|
105
113
|
def re_sort
|
106
|
-
|
114
|
+
init_sortable_service
|
107
115
|
@sortable_service.re_sort_items
|
108
116
|
success_action
|
109
117
|
end
|
@@ -118,5 +126,20 @@ module RademadeAdmin
|
|
118
126
|
render abstract_template(template)
|
119
127
|
end
|
120
128
|
|
129
|
+
def init_search(search_conditions)
|
130
|
+
@searcher = Search::Searcher.new model_info
|
131
|
+
@items = @searcher.search search_conditions
|
132
|
+
end
|
133
|
+
|
134
|
+
def init_sortable_service
|
135
|
+
@sortable_service = RademadeAdmin::SortableService.new(model_info, params)
|
136
|
+
end
|
137
|
+
|
138
|
+
def process_link(method)
|
139
|
+
linker = Linker.new(model_info, params[:parent], params[:parent_id])
|
140
|
+
linker.send(method, params[:id])
|
141
|
+
send("success_#{method}", find_item(params[:id]))
|
142
|
+
end
|
143
|
+
|
121
144
|
end
|
122
145
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin
|
2
3
|
class SessionsController < RademadeAdmin::AbstractController
|
3
4
|
|
@@ -5,7 +6,7 @@ module RademadeAdmin
|
|
5
6
|
|
6
7
|
def create
|
7
8
|
begin
|
8
|
-
user = RademadeAdmin::Login.admin(
|
9
|
+
user = RademadeAdmin::Login.admin(params)
|
9
10
|
sign_in user
|
10
11
|
render :json => user, :status => :ok
|
11
12
|
rescue RademadeAdmin::Login::Error => e
|
@@ -1,8 +1,29 @@
|
|
1
|
-
# encoding: utf-8
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
2
|
module RademadeAdmin::FieldHelper
|
3
3
|
|
4
4
|
def field_to_label(field)
|
5
|
-
field
|
5
|
+
if configured_field?(field) and field.values.first[:label].present?
|
6
|
+
field.values.first[:label]
|
7
|
+
else
|
8
|
+
field.to_s.humanize
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def field_name(field)
|
13
|
+
configured_field?(field) ? field.keys.first : field
|
14
|
+
end
|
15
|
+
|
16
|
+
def field_value(field, item)
|
17
|
+
if configured_field?(field)
|
18
|
+
if field.values.first[:method].present?
|
19
|
+
method_name = field.values.first[:method]
|
20
|
+
else
|
21
|
+
method_name = field.keys.first
|
22
|
+
end
|
23
|
+
else
|
24
|
+
method_name = field
|
25
|
+
end
|
26
|
+
item.send(method_name)
|
6
27
|
end
|
7
28
|
|
8
29
|
def pagination_option(number, name = 'paginate')
|
@@ -24,4 +45,10 @@ module RademadeAdmin::FieldHelper
|
|
24
45
|
:input_html => {:class => 'form-control'}
|
25
46
|
end
|
26
47
|
|
27
|
-
|
48
|
+
private
|
49
|
+
|
50
|
+
def configured_field?(field)
|
51
|
+
field.is_a? Hash
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin::FormHelper
|
2
3
|
|
3
4
|
def admin_form(record, model, &block)
|
@@ -20,7 +21,7 @@ module RademadeAdmin::FormHelper
|
|
20
21
|
|
21
22
|
field = form.input(name, input_attr(attrs))
|
22
23
|
|
23
|
-
if
|
24
|
+
if model_info.model_reflection.many_relation? name
|
24
25
|
link = admin_field_link_to_list(name, model_info, record).to_s
|
25
26
|
else
|
26
27
|
link = ''
|
@@ -34,12 +35,15 @@ module RademadeAdmin::FormHelper
|
|
34
35
|
end
|
35
36
|
|
36
37
|
def admin_field_link_to_list(name, model_info, record)
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
38
|
+
if record.id
|
39
|
+
related_model = model_info.reflect_on_association(name).class_name
|
40
|
+
uri = admin_model_url_for(related_model, {
|
41
|
+
:action => :related_index,
|
42
|
+
:parent => model_info.model,
|
43
|
+
:parent_id => record.id.to_s
|
44
|
+
})
|
45
|
+
link_to(RademadeAdmin::Model::Graph.instance.model_info(related_model).item_name + ' list', uri) if uri
|
46
|
+
end
|
43
47
|
end
|
44
48
|
|
45
49
|
def admin_field_params(field_params)
|
@@ -50,14 +54,4 @@ module RademadeAdmin::FormHelper
|
|
50
54
|
end
|
51
55
|
end
|
52
56
|
|
53
|
-
|
54
|
-
|
55
|
-
def multiple_relation?(model_info, name)
|
56
|
-
association = model_info.reflect_on_association(name)
|
57
|
-
if association
|
58
|
-
inner_model = association.class_name.to_s
|
59
|
-
model_info.has_many.include? inner_model
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
end
|
57
|
+
end
|