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.
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