rademade_admin 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/rademade_admin/leaflet/layers-2x.png +0 -0
  3. data/app/assets/images/rademade_admin/leaflet/layers.png +0 -0
  4. data/app/assets/images/rademade_admin/leaflet/marker-icon-2x.png +0 -0
  5. data/app/assets/images/rademade_admin/leaflet/marker-icon.png +0 -0
  6. data/app/assets/images/rademade_admin/leaflet/marker-shadow.png +0 -0
  7. data/app/assets/javascripts/rademade_admin.coffee +2 -0
  8. data/app/assets/javascripts/rademade_admin/app/common/cropper.coffee +70 -0
  9. data/app/assets/javascripts/rademade_admin/app/common/lang-panel.coffee +1 -1
  10. data/app/assets/javascripts/rademade_admin/app/common/location.coffee.erb +50 -0
  11. data/app/assets/javascripts/rademade_admin/app/common/uploader.coffee +74 -38
  12. data/app/assets/javascripts/rademade_admin/app/form-popup/view.coffee +1 -8
  13. data/app/assets/javascripts/rademade_admin/app/select2/related/view.coffee +3 -7
  14. data/app/assets/javascripts/rademade_admin/app/select2/view.coffee +7 -5
  15. data/app/assets/javascripts/rademade_admin/app/templates/crop.jst.ejs +11 -0
  16. data/app/assets/javascripts/rademade_admin/app/templates/related-item.jst.ejs +5 -0
  17. data/app/assets/stylesheets/edit.css +0 -0
  18. data/app/assets/stylesheets/rademade_admin.sass.erb +7 -0
  19. data/app/assets/stylesheets/rademade_admin/blocks/buttons/main.sass +49 -1
  20. data/app/assets/stylesheets/rademade_admin/blocks/form/checkbox.sass +14 -0
  21. data/app/assets/stylesheets/rademade_admin/blocks/form/input.sass +1 -1
  22. data/app/assets/stylesheets/rademade_admin/blocks/form/map.sass +4 -0
  23. data/app/assets/stylesheets/rademade_admin/lib/{glyphicon.sass.erb → glyphicon.sass} +5 -5
  24. data/app/assets/stylesheets/rademade_admin/lib/jcrop.sass +13 -0
  25. data/app/assets/stylesheets/rademade_admin/lib/uploader.sass +2 -2
  26. data/app/assets/stylesheets/rademade_admin/mixins/font_face.scss +10 -0
  27. data/app/assets/stylesheets/rademade_admin/modules/login/_main.sass +2 -1
  28. data/app/cells/menu/item.slim +15 -0
  29. data/app/cells/menu/sub_item.slim +4 -0
  30. data/app/cells/menu/sub_items.slim +3 -0
  31. data/app/cells/menu_cell.rb +55 -0
  32. data/app/controllers/rademade_admin/file_controller.rb +13 -0
  33. data/app/controllers/rademade_admin/model_controller.rb +5 -1
  34. data/app/helpers/rademade_admin/uri_helper.rb +5 -5
  35. data/app/inputs/rademade_admin/file_input.rb +24 -3
  36. data/app/inputs/rademade_admin/location_input.rb +43 -0
  37. data/app/services/menu_service.rb +27 -0
  38. data/app/services/menu_service/menu_item.rb +32 -0
  39. data/app/services/model_controller/notifier.rb +20 -5
  40. data/app/services/saver.rb +1 -1
  41. data/app/services/search/conditions/abstract.rb +3 -1
  42. data/app/services/search/conditions/autocomplete.rb +1 -1
  43. data/app/services/search/conditions/list.rb +2 -2
  44. data/app/services/search/conditions/related_list.rb +2 -2
  45. data/app/services/search/part/abstract.rb +18 -4
  46. data/app/services/search/part/order.rb +3 -1
  47. data/app/services/upload/preview_service.rb +20 -9
  48. data/app/views/rademade_admin/_blocks/_header.html.erb +2 -2
  49. data/app/views/rademade_admin/_blocks/_menu.html.erb +3 -39
  50. data/app/views/rademade_admin/_blocks/button/_edit.html.erb +3 -0
  51. data/app/views/rademade_admin/_blocks/form/_lang_panel.html.erb +6 -3
  52. data/app/views/rademade_admin/_layouts/inner/index_table.html.erb +3 -1
  53. data/app/views/rademade_admin/abstract/index.html.erb +3 -1
  54. data/app/views/rademade_admin/abstract/related.html.erb +14 -7
  55. data/config/initializers/carrier_wave/mongoid.rb +1 -1
  56. data/config/locales/rademade_admin.en.yml +6 -1
  57. data/config/locales/rademade_admin.ru.yml +28 -0
  58. data/config/locales/simple_form.ru.yml +7 -0
  59. data/config/routes.rb +1 -0
  60. data/lib/rademade_admin.rb +3 -2
  61. data/lib/rademade_admin/engine.rb +2 -0
  62. data/lib/rademade_admin/input/related_select_input/related_list.rb +15 -10
  63. data/lib/rademade_admin/model/adapter/data/active_record.rb +10 -11
  64. data/lib/rademade_admin/model/adapter/data/mongoid.rb +1 -1
  65. data/lib/rademade_admin/model/configuration.rb +9 -3
  66. data/lib/rademade_admin/model/info.rb +5 -2
  67. data/lib/rademade_admin/model/info/data_item.rb +6 -10
  68. data/lib/rademade_admin/model/info/field.rb +10 -2
  69. data/lib/rademade_admin/uploader/carrier_wave.rb +31 -0
  70. data/lib/rademade_admin/uploader/crop_photo.rb +24 -0
  71. data/lib/rademade_admin/uploader/photo.rb +25 -3
  72. data/lib/rademade_admin/version.rb +1 -1
  73. metadata +124 -72
  74. data/app/assets/stylesheets/old/-bootstrap/bootstrap-overrides.css.erb +0 -341
  75. data/app/assets/stylesheets/old/-bootstrap/main.scss.erb +0 -78
  76. data/app/assets/stylesheets/old/-detail_admin/chart-showcase.scss.erb +0 -33
  77. data/app/assets/stylesheets/old/-detail_admin/datatables.scss.erb +0 -3
  78. data/app/assets/stylesheets/old/-detail_admin/elements.scss.erb +0 -665
  79. data/app/assets/stylesheets/old/-detail_admin/error.scss.erb +0 -19
  80. data/app/assets/stylesheets/old/-detail_admin/form-showcase.scss.erb +0 -87
  81. data/app/assets/stylesheets/old/-detail_admin/form-wizard.scss.erb +0 -261
  82. data/app/assets/stylesheets/old/-detail_admin/gallery.scss.erb +0 -106
  83. data/app/assets/stylesheets/old/-detail_admin/grids.scss.erb +0 -21
  84. data/app/assets/stylesheets/old/-detail_admin/icons.scss.erb +0 -115
  85. data/app/assets/stylesheets/old/-detail_admin/index.scss.erb +0 -290
  86. data/app/assets/stylesheets/old/-detail_admin/layout.scss.erb +0 -523
  87. data/app/assets/stylesheets/old/-detail_admin/new-user.scss.erb +0 -49
  88. data/app/assets/stylesheets/old/-detail_admin/personal-info.scss.erb +0 -144
  89. data/app/assets/stylesheets/old/-detail_admin/popup.scss.erb +0 -3
  90. data/app/assets/stylesheets/old/-detail_admin/signin.scss.erb +0 -128
  91. data/app/assets/stylesheets/old/-detail_admin/tables.scss.erb +0 -195
  92. data/app/assets/stylesheets/old/-detail_admin/ui-elements.scss.erb +0 -177
  93. data/app/assets/stylesheets/old/-detail_admin/user-list.scss.erb +0 -112
  94. data/app/assets/stylesheets/old/-detail_admin/user-profile.scss.erb +0 -169
  95. data/app/assets/stylesheets/old/-detail_admin/web-app-icons.scss.erb +0 -25
  96. data/app/assets/stylesheets/old/-lib/bootstrap.datepicker.css.erb +0 -302
  97. data/app/assets/stylesheets/old/-lib/morris.css.erb +0 -2
  98. data/app/assets/stylesheets/old/base.scss.erb +0 -23
  99. data/app/assets/stylesheets/old/edit.css +0 -7
  100. data/app/assets/stylesheets/old/file-upload.scss.erb +0 -12
  101. data/app/assets/stylesheets/old/notifier.custom.css.erb +0 -661
  102. data/app/assets/stylesheets/old/scaffolds.scss.erb +0 -32
  103. data/app/helpers/rademade_admin/menu_helper.rb +0 -53
  104. data/app/views/rademade_admin/_blocks/_sub_menu.html.erb +0 -11
  105. data/app/views/rademade_admin/_blocks/sub_menu/_link.html.erb +0 -6
  106. data/config/locales/devise.en.yml +0 -59
@@ -94,7 +94,7 @@ module RademadeAdmin
94
94
  end
95
95
 
96
96
  def simple_field_params
97
- @params.require(:data).permit(@model_info.data_items.save_form_fields)
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)
@@ -37,7 +37,9 @@ module RademadeAdmin
37
37
  end
38
38
 
39
39
  def order
40
- nil
40
+ order_conditions = RademadeAdmin::Search::Part::Order.new
41
+ order_conditions.add(:id, :desc)
42
+ order_conditions
41
43
  end
42
44
 
43
45
  def page
@@ -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 = RademadeAdmin::Search::Part::Order.new
20
+ order_conditions = super
21
21
  field = @params[:sort] || default_order_field
22
- order_conditions.add(field, @params[:direction])
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 = RademadeAdmin::Search::Part::Order.new
28
+ order_conditions = super
29
29
  field = @params[:sort] || default_order_field
30
- order_conditions.add(field, @params[:direction])
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
- :field => field,
15
- :value => value
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
@@ -6,7 +6,9 @@ module RademadeAdmin
6
6
  module Part
7
7
  class Order < Abstract
8
8
 
9
- def add(field, value)
9
+ protected
10
+
11
+ def part_object(field, value)
10
12
  value ||= :asc
11
13
  super(field, value.to_sym)
12
14
  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
- main_menu.each do |menu_item|
4
- has_sub_items = (menu_item[:sub].is_a? Array and menu_item[:sub].size > 0)
5
- if has_sub_items || menu_item[:uri]
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>
@@ -0,0 +1,3 @@
1
+ <%
2
+ edit_url = admin_edit_uri(item)
3
+ concat link_to t('rademade_admin.edit'), edit_url, :class => 'glyphicon glyphicon-pencil fl-l' if edit_url %>
@@ -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="btn blue-btn" style="margin-right: 10px; padding: 0px">
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 link_to t('rademade_admin.edit'), admin_edit_uri(item), :class => 'glyphicon glyphicon-pencil fl-l'
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 link_to t('rademade_admin.edit'), admin_edit_uri(item), :class => 'glyphicon glyphicon-pencil fl-l'
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
- button_to t('rademade_admin.unlink'), admin_unlink_uri(@item, params[:relation], {
35
- :related_id => item.id
36
- }), {
37
- :method => :delete,
38
- :form => { :class => 'delete-item-form' }
39
- } %></span>
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
@@ -45,4 +45,4 @@ module CarrierWave
45
45
  end
46
46
 
47
47
  end
48
- end
48
+ end if defined? CarrierWave::Mongoid
@@ -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: "Вы действительно хотите удалить данную модель?"
@@ -0,0 +1,7 @@
1
+ ru:
2
+ helpers:
3
+ submit:
4
+ create: "Создать"
5
+ update: "Сохранить изменения"
6
+ reset: "Сбросить"
7
+ cancel: "Отмена"
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'
@@ -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
- template.content_tag(:button, I18n.t('rademade_admin.edit'), :'data-edit' => serialized_value[:edit_url])
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
- if multiple?
48
- relation_name = RademadeAdmin::Model::Graph.instance.model_info(related_to).item_name
49
- url = admin_related_item(model, relation_getter)
50
- template.content_tag(:a, relation_name, {
51
- :href => url,
52
- :class => 'related-link'
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