Skip to content

Commit 98239a2

Browse files
committed
Render publication names separately
1 parent 18ae81a commit 98239a2

5 files changed

Lines changed: 36 additions & 15 deletions

File tree

app/controllers/publications_controller.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
class PublicationsController < ApplicationController
22
before_action(
33
:set_publication,
4-
only: %i[show edit update destroy]
4+
only: %i[show edit update destroy names]
55
)
66
before_action(
77
:authenticate_contributor!, only: %i[new edit create update destroy]
@@ -34,6 +34,11 @@ def show
3434
@crumbs = [['Publications', publications_path], @publication.short_citation]
3535
end
3636

37+
# GET /publications/1/names
38+
def names
39+
render(layout: !params[:content].present?)
40+
end
41+
3742
# GET /publications/new
3843
def new
3944
@publication = Publication.new
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<% publication.publication_names.each do |publication_name| %>
2+
<% name = publication_name.name %>
3+
<%= link_to(
4+
name.abbr_name, name, class: 'badge badge-pill badge-primary') %>
5+
<% if current_contributor? %>
6+
<%= link_to(
7+
publication_name, method: :delete,
8+
class: 'badge badge-pill badge-info', title: 'unlink name',
9+
data: { confirm: 'Are you sure?' }
10+
) { %><%= fa_icon('trash-alt') %><% } %>
11+
<% end %>
12+
<% end %>

app/views/publications/_publication.html.erb

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@
44
<% end %>
55

66
<%= adaptable_value(entry, 'Names') do %>
7-
<% if publication.names.any? %>
8-
<% publication.publication_names.each do |publication_name| %>
9-
<% name = publication_name.name %>
10-
<%= link_to(
11-
name.abbr_name, name, class: 'badge badge-pill badge-primary') %>
12-
<% if current_contributor? %>
13-
<%= link_to(
14-
publication_name, method: :delete,
15-
class: 'badge badge-pill badge-info', title: 'unlink name',
16-
data: { confirm: 'Are you sure?' }
17-
) { %><%= fa_icon('trash-alt') %><% } %>
18-
<% end %>
19-
<% end %>
7+
<% if publication.names.count > 10 %>
8+
<% id = modal(
9+
'Publication names',
10+
async: names_publication_url(publication, content: true)
11+
) %>
12+
<%= modal_button(id, class: 'badge badge-secondary') do %>
13+
<%= fa_icon('ellipsis-h') %>
14+
<%= pluralize(publication.names.count, 'Name') %>
15+
<% end %>
16+
<% else %>
17+
<%= render(
18+
partial: 'publications/names',
19+
locals: { publication: publication }) %>
2020
<% end %>
2121
<% if current_contributor? %>
2222
<%= link_to(
@@ -53,7 +53,7 @@
5353
</li>
5454
<li class="list-inline-item m-0">
5555
<%= link_to(publication, title: 'See more') do %>
56-
<%= fa_icon('arrow-circle-right') %>
56+
<%= fa_icon('arrow-circle-right') %> Text
5757
<% end %>
5858
</li>
5959
</ul>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<%= render(partial: 'names', locals: { publication: @publication }) %>

config/routes.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,9 @@
194194
# Publications
195195
resources(:publications, concerns: :autocompletable) do
196196
resources(:contacts, only: %i[new create show index])
197+
member do
198+
get :names
199+
end
197200
end
198201
get 'doi/:doi' => 'publications#show', as: :doi, doi: /.+/
199202
resources(:contacts, only: []) do

0 commit comments

Comments
 (0)