rademade_admin 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/rademade_admin/leaflet/layers-2x.png +0 -0
- data/app/assets/images/rademade_admin/leaflet/layers.png +0 -0
- data/app/assets/images/rademade_admin/leaflet/marker-icon-2x.png +0 -0
- data/app/assets/images/rademade_admin/leaflet/marker-icon.png +0 -0
- data/app/assets/images/rademade_admin/leaflet/marker-shadow.png +0 -0
- data/app/assets/javascripts/rademade_admin.coffee +2 -0
- data/app/assets/javascripts/rademade_admin/app/common/cropper.coffee +70 -0
- data/app/assets/javascripts/rademade_admin/app/common/lang-panel.coffee +1 -1
- data/app/assets/javascripts/rademade_admin/app/common/location.coffee.erb +50 -0
- data/app/assets/javascripts/rademade_admin/app/common/uploader.coffee +74 -38
- data/app/assets/javascripts/rademade_admin/app/form-popup/view.coffee +1 -8
- data/app/assets/javascripts/rademade_admin/app/select2/related/view.coffee +3 -7
- data/app/assets/javascripts/rademade_admin/app/select2/view.coffee +7 -5
- data/app/assets/javascripts/rademade_admin/app/templates/crop.jst.ejs +11 -0
- data/app/assets/javascripts/rademade_admin/app/templates/related-item.jst.ejs +5 -0
- data/app/assets/stylesheets/edit.css +0 -0
- data/app/assets/stylesheets/rademade_admin.sass.erb +7 -0
- data/app/assets/stylesheets/rademade_admin/blocks/buttons/main.sass +49 -1
- data/app/assets/stylesheets/rademade_admin/blocks/form/checkbox.sass +14 -0
- data/app/assets/stylesheets/rademade_admin/blocks/form/input.sass +1 -1
- data/app/assets/stylesheets/rademade_admin/blocks/form/map.sass +4 -0
- data/app/assets/stylesheets/rademade_admin/lib/{glyphicon.sass.erb → glyphicon.sass} +5 -5
- data/app/assets/stylesheets/rademade_admin/lib/jcrop.sass +13 -0
- data/app/assets/stylesheets/rademade_admin/lib/uploader.sass +2 -2
- data/app/assets/stylesheets/rademade_admin/mixins/font_face.scss +10 -0
- data/app/assets/stylesheets/rademade_admin/modules/login/_main.sass +2 -1
- data/app/cells/menu/item.slim +15 -0
- data/app/cells/menu/sub_item.slim +4 -0
- data/app/cells/menu/sub_items.slim +3 -0
- data/app/cells/menu_cell.rb +55 -0
- data/app/controllers/rademade_admin/file_controller.rb +13 -0
- data/app/controllers/rademade_admin/model_controller.rb +5 -1
- data/app/helpers/rademade_admin/uri_helper.rb +5 -5
- data/app/inputs/rademade_admin/file_input.rb +24 -3
- data/app/inputs/rademade_admin/location_input.rb +43 -0
- data/app/services/menu_service.rb +27 -0
- data/app/services/menu_service/menu_item.rb +32 -0
- data/app/services/model_controller/notifier.rb +20 -5
- data/app/services/saver.rb +1 -1
- data/app/services/search/conditions/abstract.rb +3 -1
- data/app/services/search/conditions/autocomplete.rb +1 -1
- data/app/services/search/conditions/list.rb +2 -2
- data/app/services/search/conditions/related_list.rb +2 -2
- data/app/services/search/part/abstract.rb +18 -4
- data/app/services/search/part/order.rb +3 -1
- data/app/services/upload/preview_service.rb +20 -9
- data/app/views/rademade_admin/_blocks/_header.html.erb +2 -2
- data/app/views/rademade_admin/_blocks/_menu.html.erb +3 -39
- data/app/views/rademade_admin/_blocks/button/_edit.html.erb +3 -0
- data/app/views/rademade_admin/_blocks/form/_lang_panel.html.erb +6 -3
- data/app/views/rademade_admin/_layouts/inner/index_table.html.erb +3 -1
- data/app/views/rademade_admin/abstract/index.html.erb +3 -1
- data/app/views/rademade_admin/abstract/related.html.erb +14 -7
- data/config/initializers/carrier_wave/mongoid.rb +1 -1
- data/config/locales/rademade_admin.en.yml +6 -1
- data/config/locales/rademade_admin.ru.yml +28 -0
- data/config/locales/simple_form.ru.yml +7 -0
- data/config/routes.rb +1 -0
- data/lib/rademade_admin.rb +3 -2
- data/lib/rademade_admin/engine.rb +2 -0
- data/lib/rademade_admin/input/related_select_input/related_list.rb +15 -10
- data/lib/rademade_admin/model/adapter/data/active_record.rb +10 -11
- data/lib/rademade_admin/model/adapter/data/mongoid.rb +1 -1
- data/lib/rademade_admin/model/configuration.rb +9 -3
- data/lib/rademade_admin/model/info.rb +5 -2
- data/lib/rademade_admin/model/info/data_item.rb +6 -10
- data/lib/rademade_admin/model/info/field.rb +10 -2
- data/lib/rademade_admin/uploader/carrier_wave.rb +31 -0
- data/lib/rademade_admin/uploader/crop_photo.rb +24 -0
- data/lib/rademade_admin/uploader/photo.rb +25 -3
- data/lib/rademade_admin/version.rb +1 -1
- metadata +124 -72
- data/app/assets/stylesheets/old/-bootstrap/bootstrap-overrides.css.erb +0 -341
- data/app/assets/stylesheets/old/-bootstrap/main.scss.erb +0 -78
- data/app/assets/stylesheets/old/-detail_admin/chart-showcase.scss.erb +0 -33
- data/app/assets/stylesheets/old/-detail_admin/datatables.scss.erb +0 -3
- data/app/assets/stylesheets/old/-detail_admin/elements.scss.erb +0 -665
- data/app/assets/stylesheets/old/-detail_admin/error.scss.erb +0 -19
- data/app/assets/stylesheets/old/-detail_admin/form-showcase.scss.erb +0 -87
- data/app/assets/stylesheets/old/-detail_admin/form-wizard.scss.erb +0 -261
- data/app/assets/stylesheets/old/-detail_admin/gallery.scss.erb +0 -106
- data/app/assets/stylesheets/old/-detail_admin/grids.scss.erb +0 -21
- data/app/assets/stylesheets/old/-detail_admin/icons.scss.erb +0 -115
- data/app/assets/stylesheets/old/-detail_admin/index.scss.erb +0 -290
- data/app/assets/stylesheets/old/-detail_admin/layout.scss.erb +0 -523
- data/app/assets/stylesheets/old/-detail_admin/new-user.scss.erb +0 -49
- data/app/assets/stylesheets/old/-detail_admin/personal-info.scss.erb +0 -144
- data/app/assets/stylesheets/old/-detail_admin/popup.scss.erb +0 -3
- data/app/assets/stylesheets/old/-detail_admin/signin.scss.erb +0 -128
- data/app/assets/stylesheets/old/-detail_admin/tables.scss.erb +0 -195
- data/app/assets/stylesheets/old/-detail_admin/ui-elements.scss.erb +0 -177
- data/app/assets/stylesheets/old/-detail_admin/user-list.scss.erb +0 -112
- data/app/assets/stylesheets/old/-detail_admin/user-profile.scss.erb +0 -169
- data/app/assets/stylesheets/old/-detail_admin/web-app-icons.scss.erb +0 -25
- data/app/assets/stylesheets/old/-lib/bootstrap.datepicker.css.erb +0 -302
- data/app/assets/stylesheets/old/-lib/morris.css.erb +0 -2
- data/app/assets/stylesheets/old/base.scss.erb +0 -23
- data/app/assets/stylesheets/old/edit.css +0 -7
- data/app/assets/stylesheets/old/file-upload.scss.erb +0 -12
- data/app/assets/stylesheets/old/notifier.custom.css.erb +0 -661
- data/app/assets/stylesheets/old/scaffolds.scss.erb +0 -32
- data/app/helpers/rademade_admin/menu_helper.rb +0 -53
- data/app/views/rademade_admin/_blocks/_sub_menu.html.erb +0 -11
- data/app/views/rademade_admin/_blocks/sub_menu/_link.html.erb +0 -6
- data/config/locales/devise.en.yml +0 -59
data/app/services/saver.rb
CHANGED
@@ -94,7 +94,7 @@ module RademadeAdmin
|
|
94
94
|
end
|
95
95
|
|
96
96
|
def simple_field_params
|
97
|
-
@params.require(:data).
|
97
|
+
@params.require(:data).symbolize_keys.slice(*@model_info.data_items.save_form_fields)
|
98
98
|
end
|
99
99
|
|
100
100
|
def related_entities(data_item, ids)
|
@@ -23,7 +23,7 @@ module RademadeAdmin
|
|
23
23
|
private
|
24
24
|
|
25
25
|
def append_query_condition
|
26
|
-
if @params[:q].present?
|
26
|
+
if @params[:q].present? and not @data_items.filter_fields.empty?
|
27
27
|
query_where = RademadeAdmin::Search::Part::Where.new(:or)
|
28
28
|
@data_items.filter_fields.each do |field|
|
29
29
|
query_where.add(field, /#{@params[:q]}/i)
|
@@ -17,9 +17,9 @@ module RademadeAdmin
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def order
|
20
|
-
order_conditions =
|
20
|
+
order_conditions = super
|
21
21
|
field = @params[:sort] || default_order_field
|
22
|
-
order_conditions.
|
22
|
+
order_conditions.unshift(field, @params[:direction])
|
23
23
|
order_conditions
|
24
24
|
end
|
25
25
|
|
@@ -25,9 +25,9 @@ module RademadeAdmin
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def order
|
28
|
-
order_conditions =
|
28
|
+
order_conditions = super
|
29
29
|
field = @params[:sort] || default_order_field
|
30
|
-
order_conditions.
|
30
|
+
order_conditions.unshift(field, @params[:direction])
|
31
31
|
order_conditions
|
32
32
|
end
|
33
33
|
|
@@ -10,16 +10,30 @@ module RademadeAdmin
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def add(field, value)
|
13
|
-
@parts <<
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
@parts << part_object(field, value)
|
14
|
+
end
|
15
|
+
|
16
|
+
def unshift(field, value)
|
17
|
+
@parts.unshift(part_object(field, value))
|
17
18
|
end
|
18
19
|
|
19
20
|
def sub_add(part)
|
20
21
|
@parts << part
|
21
22
|
end
|
22
23
|
|
24
|
+
def sub_unshift(part)
|
25
|
+
@parts.unshift part
|
26
|
+
end
|
27
|
+
|
28
|
+
protected
|
29
|
+
|
30
|
+
def part_object(field, value)
|
31
|
+
{
|
32
|
+
:field => field,
|
33
|
+
:value => value
|
34
|
+
}
|
35
|
+
end
|
36
|
+
|
23
37
|
end
|
24
38
|
end
|
25
39
|
end
|
@@ -30,6 +30,18 @@ module RademadeAdmin
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
+
def is_image?
|
34
|
+
@uploader.class.ancestors.include? RademadeAdmin::Uploader::Photo
|
35
|
+
end
|
36
|
+
|
37
|
+
def is_crop?
|
38
|
+
@uploader.class.ancestors.include? RademadeAdmin::Uploader::CropPhoto
|
39
|
+
end
|
40
|
+
|
41
|
+
def is_video?
|
42
|
+
@uploader.class.ancestors.include? RademadeAdmin::Uploader::Video
|
43
|
+
end
|
44
|
+
|
33
45
|
private
|
34
46
|
|
35
47
|
def empty_file_html
|
@@ -48,20 +60,13 @@ module RademadeAdmin
|
|
48
60
|
end
|
49
61
|
end
|
50
62
|
|
51
|
-
def is_image?
|
52
|
-
@uploader.class.ancestors.include? RademadeAdmin::Uploader::Photo
|
53
|
-
end
|
54
|
-
|
55
|
-
def is_video?
|
56
|
-
@uploader.class.ancestors.include? RademadeAdmin::Uploader::Video
|
57
|
-
end
|
58
|
-
|
59
63
|
def uploaded_image_preview
|
60
64
|
content_tag(:img, '', {
|
61
65
|
:src => @uploader.resize(230, 130),
|
62
66
|
:class => 'image-preview',
|
63
67
|
:width => 230,
|
64
|
-
:height => 130
|
68
|
+
:height => 130,
|
69
|
+
:data => preview_data
|
65
70
|
})
|
66
71
|
end
|
67
72
|
|
@@ -81,6 +86,12 @@ module RademadeAdmin
|
|
81
86
|
})
|
82
87
|
end
|
83
88
|
|
89
|
+
def preview_data
|
90
|
+
{
|
91
|
+
:'original-dimensions' => is_crop? ? @uploader.original_dimensions.join(',') : ''
|
92
|
+
}
|
93
|
+
end
|
94
|
+
|
84
95
|
end
|
85
96
|
end
|
86
97
|
end
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<img src="<%= image_path 'rademade_admin/logos/logo.png' %>" alt="Rademade admin">
|
6
6
|
</a>
|
7
7
|
<div class="fl-r">
|
8
|
-
<form class="header-search fl-l" role="search">
|
8
|
+
<form class="header-search fl-l hide" role="search">
|
9
9
|
<div class="header-search-box">
|
10
10
|
<input type="text" class="header-search-input" placeholder="<%= t('rademade_admin.search') %>">
|
11
11
|
</div>
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<div class="menu-item">
|
16
16
|
<span class="menu-link disabled"><%= @current_user %> <b class="caret"></b></span>
|
17
17
|
</div>
|
18
|
-
<div class="menu-item js-box">
|
18
|
+
<div class="menu-item js-box hide">
|
19
19
|
<span class="menu-link js-link"><i class="glyphicon glyphicon-list"></i></span>
|
20
20
|
<div class="menu-droplist js-droplist">
|
21
21
|
<%# <div class="menu-droplist-header">Active links</div>
|
@@ -1,44 +1,8 @@
|
|
1
1
|
<div id="sidebar-nav" class="content-menu">
|
2
2
|
<ul id="dashboard-menu"><%
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
item_name = menu_item[:name] || menu_item[:model_info].item_name
|
7
|
-
is_active = active?(menu_item)
|
8
|
-
%><li class="menu-box<%
|
9
|
-
if is_active
|
10
|
-
%> active<%
|
11
|
-
end
|
12
|
-
%>"><%
|
13
|
-
if is_active
|
14
|
-
%><div class="pointer">
|
15
|
-
<div class="arrow"></div>
|
16
|
-
<div class="arrow_border"></div>
|
17
|
-
</div><%
|
18
|
-
end
|
19
|
-
|
20
|
-
%><a href="<%= menu_item[:uri] %>" class="menu-link<%
|
21
|
-
if has_sub_items
|
22
|
-
%> dropdown-toggle<%
|
23
|
-
end
|
24
|
-
%>">
|
25
|
-
<i class="<%= menu_item[:ico] %>"></i>
|
26
|
-
<span><%= item_name %></span><%
|
27
|
-
if has_sub_items
|
28
|
-
%><span class="caret"></span><%
|
29
|
-
end
|
30
|
-
%></a><%
|
31
|
-
if has_sub_items
|
32
|
-
%><ul class="submenu"><%
|
33
|
-
concat render @template_service.sub_menu_link_block, {
|
34
|
-
:uri => admin_list_uri(menu_item[:model_info]),
|
35
|
-
:title => menu_item[:model_info].item_name
|
36
|
-
}
|
37
|
-
concat render @template_service.sub_menu_block, :menu_item => menu_item
|
38
|
-
%></ul><%
|
39
|
-
end
|
40
|
-
%></li><%
|
41
|
-
end
|
3
|
+
concat render_cell(:menu, :root_item)
|
4
|
+
RademadeAdmin::MenuService.instance.main_menu.each do |menu_item|
|
5
|
+
concat render_cell(:menu, :item, menu_item)
|
42
6
|
end
|
43
7
|
%></ul>
|
44
8
|
</div>
|
@@ -1,10 +1,13 @@
|
|
1
1
|
<%
|
2
2
|
if @form_fields_with_locale.length > 0
|
3
3
|
%><div data-lang-panel>
|
4
|
-
<ul
|
4
|
+
<ul class="form-box">
|
5
|
+
<li class="form-label">
|
6
|
+
<span class="text"><%= t('rademade_admin.language') %></span>
|
7
|
+
</li><%
|
5
8
|
I18n.available_locales.each do |locale|
|
6
|
-
%><li class="
|
7
|
-
<a href="#locale-<%= locale %>" style="color: #ffffff; display: block; width: 37px; line-height: 30px"><%= locale %></a>
|
9
|
+
%><li class="lang-btn" style="margin-right: 10px; padding: 0px">
|
10
|
+
<a href="#locale-<%= locale %>" style="color: #ffffff; display: block; width: 37px; line-height: 30px"><%= t("rademade_admin.locale_#{locale}", :default => locale) %></a>
|
8
11
|
</li><%
|
9
12
|
end
|
10
13
|
%></ul><%
|
@@ -20,7 +20,9 @@
|
|
20
20
|
end
|
21
21
|
%><td class="table-item">
|
22
22
|
<span class="table-actions"><%
|
23
|
-
concat
|
23
|
+
concat render 'rademade_admin/_blocks/button/edit', {
|
24
|
+
:item => item
|
25
|
+
}
|
24
26
|
concat button_to t('rademade_admin.destroy'), admin_delete_uri(item), {
|
25
27
|
:method => :delete,
|
26
28
|
:form => { :class => 'delete-item-form' }
|
@@ -31,7 +31,9 @@ end %>
|
|
31
31
|
end
|
32
32
|
%><td class="table-item">
|
33
33
|
<span class="table-actions"><%
|
34
|
-
concat
|
34
|
+
concat render 'rademade_admin/_blocks/button/edit', {
|
35
|
+
:item => item
|
36
|
+
}
|
35
37
|
%><div class="glyphicon glyphicon-remove fl-l"><%
|
36
38
|
concat button_to t('rademade_admin.destroy'), admin_delete_uri(item), {
|
37
39
|
:method => :delete,
|
@@ -21,6 +21,9 @@ end
|
|
21
21
|
has_position = @sortable_service.has_position?
|
22
22
|
%><tbody class="table-content" data-position='false'><%
|
23
23
|
@items.each do |item|
|
24
|
+
unlink_url = admin_unlink_uri(@item, params[:relation], {
|
25
|
+
:related_id => item.id
|
26
|
+
})
|
24
27
|
%><tr class="table-line" <%
|
25
28
|
if has_position
|
26
29
|
%> id='<%= item.position %>'<%
|
@@ -30,13 +33,17 @@ end
|
|
30
33
|
%><td><%= display_item_value(item, field) %></td><%
|
31
34
|
end
|
32
35
|
%><td class="table-item">
|
33
|
-
<span class="table-actions"
|
34
|
-
|
35
|
-
:
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
36
|
+
<span class="table-actions"><%
|
37
|
+
concat render 'rademade_admin/_blocks/button/edit', {
|
38
|
+
:item => item
|
39
|
+
}
|
40
|
+
%><div class="glyphicon glyphicon-remove fl-l"><%
|
41
|
+
concat button_to t('rademade_admin.unlink'), unlink_url, {
|
42
|
+
:method => :delete,
|
43
|
+
:form => { :class => 'delete-item-form' }
|
44
|
+
}
|
45
|
+
%></div>
|
46
|
+
</span>
|
40
47
|
</td>
|
41
48
|
</tr><%
|
42
49
|
end
|
@@ -25,4 +25,9 @@ en:
|
|
25
25
|
upload_file: "Upload file"
|
26
26
|
enter_search: "Enter search phrase"
|
27
27
|
record_remove_confirm: "Do you really want delete this record?"
|
28
|
-
model_remove_confirm: "Do you really want delete this model?"
|
28
|
+
model_remove_confirm: "Do you really want delete this model?"
|
29
|
+
language: "Language"
|
30
|
+
locale_en: "English"
|
31
|
+
locale_ru: "Russian"
|
32
|
+
edit_related_item: "Edit"
|
33
|
+
crop: "Crop"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
ru:
|
2
|
+
rademade_admin:
|
3
|
+
login: "Войти"
|
4
|
+
dashboard: "Главная"
|
5
|
+
home: "Главная"
|
6
|
+
or: "или"
|
7
|
+
toggle_nav: "Переключить навигацию"
|
8
|
+
show_results: "Показать результаты на странице"
|
9
|
+
reset_sort: "Сбросить сортировку"
|
10
|
+
management: "Управление"
|
11
|
+
edit: " "
|
12
|
+
destroy: "Удалить"
|
13
|
+
unlink: "Убрать связь"
|
14
|
+
new_record: "Новая запись"
|
15
|
+
hello: "Привет"
|
16
|
+
file_not_chosen: "Файл не выбран"
|
17
|
+
add_new: "Добавить"
|
18
|
+
save: "Сохранить"
|
19
|
+
cancel: "Отмена"
|
20
|
+
exit: "Выход"
|
21
|
+
title_description: ""
|
22
|
+
submit: "Подтвердить"
|
23
|
+
search: "Поиск"
|
24
|
+
edit_record: "Редактировать"
|
25
|
+
upload_file: "Загрузить файл"
|
26
|
+
enter_search: "Введите фразу для поиска"
|
27
|
+
record_remove_confirm: "Вы действительно хотите удалть данную запись?"
|
28
|
+
model_remove_confirm: "Вы действительно хотите удалить данную модель?"
|
data/config/routes.rb
CHANGED
@@ -6,6 +6,7 @@ RademadeAdmin::Engine.routes.draw do
|
|
6
6
|
root 'dashboard#index'
|
7
7
|
|
8
8
|
match 'file-upload' => 'file#upload', :via => [:post, :patch]
|
9
|
+
match 'file-crop' => 'file#crop', :via => [:post, :patch]
|
9
10
|
|
10
11
|
post 'sessions' => 'sessions#login'
|
11
12
|
get 'login' => 'dashboard#login', :as => 'login'
|
data/lib/rademade_admin.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
2
|
require 'kaminari'
|
3
|
+
require 'light_resizer'
|
3
4
|
require 'carrierwave'
|
4
|
-
require 'breadcrumbs'
|
5
5
|
|
6
6
|
require 'cancan'
|
7
7
|
require 'bower-rails'
|
@@ -12,6 +12,8 @@ require 'turbolinks'
|
|
12
12
|
|
13
13
|
require 'i18n-js'
|
14
14
|
|
15
|
+
require 'slim'
|
16
|
+
require 'cells'
|
15
17
|
require 'simple_form'
|
16
18
|
require 'ckeditor'
|
17
19
|
|
@@ -19,7 +21,6 @@ require 'rademade_admin/sortable'
|
|
19
21
|
require 'rademade_admin/engine'
|
20
22
|
|
21
23
|
require 'mongoid_sortable_relation'
|
22
|
-
require 'activerecord_sortable'
|
23
24
|
|
24
25
|
module RademadeAdmin
|
25
26
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
2
|
require 'rademade_admin/routing/mapper'
|
3
3
|
require 'simple_form'
|
4
|
+
require 'breadcrumbs'
|
4
5
|
|
5
6
|
module RademadeAdmin
|
6
7
|
class Engine < ::Rails::Engine
|
@@ -13,6 +14,7 @@ module RademadeAdmin
|
|
13
14
|
paths = %W(
|
14
15
|
#{config.root}/app/helpers/**/*.rb
|
15
16
|
#{config.root}/app/services/**/*.rb
|
17
|
+
#{config.root}/app/cells/**/*.rb
|
16
18
|
#{config.root}/app/inputs/**/*.rb
|
17
19
|
#{config.root}/lib/rademade_admin/**/*.rb
|
18
20
|
)
|
@@ -12,7 +12,7 @@ module RademadeAdmin
|
|
12
12
|
:data => {
|
13
13
|
:sortable => related_data_item.relation.sortable?
|
14
14
|
}
|
15
|
-
})
|
15
|
+
}) + related_list_link_html
|
16
16
|
end
|
17
17
|
|
18
18
|
def related_list_items_html
|
@@ -36,7 +36,14 @@ module RademadeAdmin
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def related_list_item_edit_html(serialized_value)
|
39
|
-
|
39
|
+
if serialized_value[:edit_url]
|
40
|
+
template.content_tag(
|
41
|
+
:button, I18n.t('rademade_admin.edit_related_item'),
|
42
|
+
:'data-edit' => serialized_value[:edit_url]
|
43
|
+
)
|
44
|
+
else
|
45
|
+
''
|
46
|
+
end
|
40
47
|
end
|
41
48
|
|
42
49
|
def related_list_item_remove_html
|
@@ -44,14 +51,12 @@ module RademadeAdmin
|
|
44
51
|
end
|
45
52
|
|
46
53
|
def related_list_link_html
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
}) + related_list_html if url
|
54
|
-
end
|
54
|
+
relation_name = RademadeAdmin::Model::Graph.instance.model_info(related_to).item_name
|
55
|
+
url = admin_related_item(model, relation_getter)
|
56
|
+
template.content_tag(:a, relation_name, {
|
57
|
+
:href => url,
|
58
|
+
:class => 'related-link'
|
59
|
+
}) if url
|
55
60
|
end
|
56
61
|
|
57
62
|
end
|