<% # expects locals form, object %> <% editor_pseuds = User.current_user.pseuds.to_a editor_selected = (object.current_user_pseuds || object.pseuds) & editor_pseuds editor_selected << User.current_user.default_pseud if editor_selected.empty? valid_creatorships = object.creatorships_after_saving selected = valid_creatorships.map(&:pseud) invited = valid_creatorships.reject(&:approved?).map(&:pseud) - editor_pseuds approved = valid_creatorships.select(&:approved?).map(&:pseud) - editor_pseuds saved = valid_creatorships.reject(&:new_record?).map(&:pseud) if object.is_a?(Chapter) approved = (approved + object.work.pseuds - editor_pseuds).uniq end %> <%= form.fields_for :author_attributes do |creator_form| %> <% if editor_pseuds.size == 1 %> <%= creator_form.hidden_field :ids, value: editor_pseuds.first.id, multiple: true %> <% else %>
<%= creator_form.label :ids, ts("Creator/Pseud(s)") %>
<%= creator_form.collection_select :ids, editor_pseuds, :id, :name, { selected: editor_selected.map(&:id) }, { multiple: true } %>
<% end %> <% if approved.any? %>
<%= ts("Current co-creators") %>
<% end %> <% if invited.any? %>
<%= ts("Invited co-creators") %>
<% end %>
<%= label_tag "co-authors-options-show", t("works.byline.show_co-creator_options") %>
<%= check_box_tag "co-authors-options-show", "1", object.creatorships.any?(&:ambiguous?), class: "toggle_formfield" %>
"> <%= creator_form.text_field :byline, autocomplete_options("pseud", size: 50).merge(id: "pseud_byline") %> <% object.creatorships.each do |creatorship| %> <% next unless creatorship.ambiguous? %> <% name = creatorship.byline %> <% pseuds = creatorship.ambiguous_pseuds %> <% key = :"author_attributes_#{name.downcase.gsub(/\W+/, "")}" %>

<%= label_tag key, ts("There's more than one user with the pseud %{name}. Please choose the one you want:", name: name) %> <%= creator_form.collection_select :coauthors, pseuds, :id, :user_login, { include_blank: true }, { id: key, name: "#{creator_form.object_name}[coauthors][]" } %>

<% end %>
<% end %>