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
@@ -38,8 +38,7 @@
|
|
38
38
|
<% end %>
|
39
39
|
<td>
|
40
40
|
<ul class="actions">
|
41
|
-
<li><%= button_to 'Unlink',
|
42
|
-
admin_unlink_uri(item, params[:parent], params[:parent_id]), {
|
41
|
+
<li><%= button_to 'Unlink', admin_unlink_uri(item, params[:parent], params[:parent_id]), {
|
43
42
|
:method => :patch,
|
44
43
|
:form => {:class => 'delete-item-form'}
|
45
44
|
} %></li>
|
@@ -21,12 +21,13 @@
|
|
21
21
|
|
22
22
|
<thead>
|
23
23
|
<tr>
|
24
|
-
<% @list_fields.each_with_index do |name, index|
|
25
|
-
|
24
|
+
<% @list_fields.each_with_index do |name, index|
|
25
|
+
list_field_name = field_name(name)
|
26
|
+
%><th class="col-md-3 sort-button" data-column="<%= list_field_name %>">
|
26
27
|
<% unless index == 0 %>
|
27
28
|
<span class="line"></span>
|
28
29
|
<% end %>
|
29
|
-
<span><%= field_to_label(name) + @sortable_service.sorting_sign(
|
30
|
+
<span><%= field_to_label(name) + @sortable_service.sorting_sign(list_field_name) %></span>
|
30
31
|
</th>
|
31
32
|
<% end %>
|
32
33
|
|
@@ -39,7 +40,7 @@
|
|
39
40
|
|
40
41
|
<% has_position = @sortable_service.has_position? %>
|
41
42
|
<tbody class="table-sortable" data-position='<%= has_position %>'>
|
42
|
-
<% @items.each_with_index do |item
|
43
|
+
<% @items.each_with_index do |item| %>
|
43
44
|
<tr<%
|
44
45
|
if has_position
|
45
46
|
%> id='<%= item.position %>'<%
|
@@ -47,7 +48,7 @@
|
|
47
48
|
%> data-id='<%= item.id %>'>
|
48
49
|
<% @list_fields.each do |name|
|
49
50
|
%><td><%
|
50
|
-
value =
|
51
|
+
value = field_value(name, item)
|
51
52
|
# todo remove hard code, extract helper (data adapter)
|
52
53
|
if value.respond_to? :id
|
53
54
|
concat link_to value.to_s, admin_edit_uri(value)
|
@@ -1,5 +1,7 @@
|
|
1
1
|
<% content_for :last_crumbs do %>
|
2
|
-
<%= link_to(
|
2
|
+
<%= link_to(admin_list_name(@parent_model_info), admin_list_uri(@parent_model_info)) %>
|
3
|
+
<span class="separator">-></span>
|
4
|
+
<%= link_to(@parent, admin_model_url_for(params[:parent], {
|
3
5
|
:action => :edit,
|
4
6
|
:id => params[:parent_id]
|
5
7
|
})) %>
|
@@ -8,17 +10,22 @@
|
|
8
10
|
<% end %>
|
9
11
|
|
10
12
|
<% content_for :page_header do %>
|
11
|
-
<h3><%= admin_list_name(@model_info) %> of <%=
|
13
|
+
<h3><%= admin_list_name(@model_info) %> of "<%= @parent %>"</h3>
|
12
14
|
<% end %>
|
13
15
|
|
14
16
|
<% content_for :content do %>
|
17
|
+
<% autocomplete_uri = admin_link_autocomplete_uri(@model_info, {
|
18
|
+
:parent => params[:parent],
|
19
|
+
:parent_id => params[:parent_id],
|
20
|
+
:format => :json
|
21
|
+
}) %>
|
15
22
|
<%= content_tag(
|
16
23
|
:input,
|
17
24
|
nil,
|
18
25
|
:type => 'hidden',
|
19
26
|
:class => 'select2-add-link',
|
20
27
|
:'data-model' => @model_class.to_s,
|
21
|
-
:'data-rel-list-url' =>
|
28
|
+
:'data-rel-list-url' => autocomplete_uri)
|
22
29
|
%><table class="table table-hover">
|
23
30
|
<thead>
|
24
31
|
<tr>
|
@@ -40,7 +47,7 @@
|
|
40
47
|
|
41
48
|
<% has_position = @sortable_service.has_position? %>
|
42
49
|
<tbody data-position='false'>
|
43
|
-
<% @items.
|
50
|
+
<% @items.each do |item| %>
|
44
51
|
<tr<%
|
45
52
|
if has_position
|
46
53
|
%> id='<%= item.position %>'<%
|
data/config/routes.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
RademadeAdmin::Engine.routes.draw do
|
2
3
|
|
3
4
|
mount Ckeditor::Engine => '/ckeditor'
|
@@ -11,7 +12,7 @@ RademadeAdmin::Engine.routes.draw do
|
|
11
12
|
get 'login' => 'dashboard#login', :as => 'login'
|
12
13
|
|
13
14
|
resources :sessions do
|
14
|
-
|
15
|
+
get 'logout', :on => :collection
|
15
16
|
end
|
16
17
|
|
17
18
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
require 'rademade_admin/routing/mapper'
|
2
3
|
require 'formtastic'
|
3
4
|
|
@@ -5,9 +6,12 @@ module RademadeAdmin
|
|
5
6
|
class Engine < ::Rails::Engine
|
6
7
|
isolate_namespace RademadeAdmin
|
7
8
|
|
9
|
+
config.assets.paths << "#{config.root}/vendor/assets/javascript/bower_components"
|
10
|
+
|
11
|
+
$LOAD_PATH << "#{config.root}/app/services/"
|
12
|
+
|
8
13
|
paths = %W(
|
9
14
|
#{config.root}/app/helpers/**/*.rb
|
10
|
-
#{config.root}/app/services/crud_controller/*.rb
|
11
15
|
#{config.root}/app/services/**/*.rb
|
12
16
|
#{config.root}/app/inputs/**/*.rb
|
13
17
|
#{config.root}/lib/rademade_admin/**/*.rb
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin
|
2
3
|
module Model
|
3
4
|
module DataAdapter
|
@@ -12,12 +13,17 @@ module RademadeAdmin
|
|
12
13
|
@model.reflect_on_association(name)
|
13
14
|
end
|
14
15
|
|
16
|
+
def many_relation?(field)
|
17
|
+
reflect_on_association(field).try(:collection?)
|
18
|
+
end
|
19
|
+
|
15
20
|
def association_foreign_key(relation)
|
16
|
-
assoc_key = relation.
|
21
|
+
assoc_key = relation.name.to_s
|
17
22
|
if relation.collection?
|
18
|
-
assoc_key
|
23
|
+
assoc_key.singularize.foreign_key.pluralize
|
24
|
+
else
|
25
|
+
assoc_key.foreign_key
|
19
26
|
end
|
20
|
-
assoc_key
|
21
27
|
end
|
22
28
|
|
23
29
|
def fields
|
@@ -50,4 +56,4 @@ module RademadeAdmin
|
|
50
56
|
end
|
51
57
|
end
|
52
58
|
end
|
53
|
-
end
|
59
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin
|
2
3
|
module Model
|
3
4
|
module DataAdapter
|
@@ -12,6 +13,10 @@ module RademadeAdmin
|
|
12
13
|
@model.reflect_on_association(name)
|
13
14
|
end
|
14
15
|
|
16
|
+
def many_relation?(field)
|
17
|
+
reflect_on_association(field).try(:many?)
|
18
|
+
end
|
19
|
+
|
15
20
|
def association_foreign_key(relation)
|
16
21
|
rel_name = relation.name.to_s
|
17
22
|
if relation.many?
|
@@ -46,4 +51,4 @@ module RademadeAdmin
|
|
46
51
|
end
|
47
52
|
end
|
48
53
|
end
|
49
|
-
end
|
54
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin
|
2
3
|
module Model
|
3
4
|
module DataAdapter
|
@@ -14,6 +15,10 @@ module RademadeAdmin
|
|
14
15
|
nil
|
15
16
|
end
|
16
17
|
|
18
|
+
def many_relation?(field)
|
19
|
+
false
|
20
|
+
end
|
21
|
+
|
17
22
|
def association_foreign_key(relation)
|
18
23
|
nil
|
19
24
|
end
|
@@ -56,4 +61,4 @@ module RademadeAdmin
|
|
56
61
|
|
57
62
|
end
|
58
63
|
end
|
59
|
-
end
|
64
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin
|
2
3
|
module Model
|
3
4
|
class Info
|
@@ -93,9 +94,9 @@ module RademadeAdmin
|
|
93
94
|
|
94
95
|
def default_field_type(field)
|
95
96
|
if @model_reflection.association_fields.include? field
|
96
|
-
|
97
|
+
'rademade_admin/admin_select'
|
97
98
|
elsif @model_reflection.uploader_fields.include? field
|
98
|
-
|
99
|
+
'rademade_admin/admin_file'
|
99
100
|
else
|
100
101
|
nil
|
101
102
|
end
|
@@ -103,4 +104,4 @@ module RademadeAdmin
|
|
103
104
|
|
104
105
|
end
|
105
106
|
end
|
106
|
-
end
|
107
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin
|
2
3
|
module Model
|
3
4
|
class Reflection
|
@@ -7,7 +8,6 @@ module RademadeAdmin
|
|
7
8
|
@model.respond_to?(:uploaders) ? @model.uploaders : []
|
8
9
|
end
|
9
10
|
|
10
|
-
# todo move to module
|
11
11
|
def uploader_fields
|
12
12
|
@model.respond_to?(:uploaders) ? @model.uploaders.keys : []
|
13
13
|
end
|
@@ -15,4 +15,4 @@ module RademadeAdmin
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
18
|
-
end
|
18
|
+
end
|
@@ -1,4 +1,7 @@
|
|
1
|
-
#
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'rademade_admin/model/reflection/uploader'
|
3
|
+
require 'rademade_admin/model/reflection/data'
|
4
|
+
|
2
5
|
module RademadeAdmin
|
3
6
|
module Model
|
4
7
|
class Reflection
|
@@ -11,21 +14,10 @@ module RademadeAdmin
|
|
11
14
|
@model, @controller, @controller_name, @inner = model, controller, controller_name, inner
|
12
15
|
end
|
13
16
|
|
14
|
-
def parent_menu_item
|
15
|
-
@controller_name.camelize.constantize.instance_variable_get('@parent_item')
|
16
|
-
end
|
17
|
-
|
18
17
|
def nested?
|
19
18
|
@inner
|
20
19
|
end
|
21
20
|
|
22
|
-
# @doc
|
23
|
-
# Admin::User => :users
|
24
|
-
# RademadeAdmin::User::Adapter => :adapters
|
25
|
-
def model_related_name
|
26
|
-
@model.to_s.demodulize.pluralize.downcase.to_sym
|
27
|
-
end
|
28
|
-
|
29
21
|
end
|
30
22
|
end
|
31
|
-
end
|
23
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
1
2
|
module RademadeAdmin
|
2
3
|
module Routing
|
3
4
|
module Mapper
|
@@ -15,6 +16,8 @@ module RademadeAdmin
|
|
15
16
|
|
16
17
|
collection do
|
17
18
|
get :autocomplete
|
19
|
+
get :link_autocomplete
|
20
|
+
get :related_index if parent_resource_actions.include? :index
|
18
21
|
patch :re_sort
|
19
22
|
end
|
20
23
|
|
@@ -24,7 +27,7 @@ module RademadeAdmin
|
|
24
27
|
|
25
28
|
member do
|
26
29
|
get :form if parent_resource_actions.include? :edit
|
27
|
-
|
30
|
+
post :unlink_relation if parent_resource_actions.include? :update
|
28
31
|
put :link_relation if parent_resource_actions.include? :update
|
29
32
|
end
|
30
33
|
|