<% content_for :title, "Invite somebody to submit CORE data" %> <% content_for :before_content do %> <%= govuk_back_link(href: :back) %> <% end %> <%= form_for(@user, as: :user, html: { method: :post }) do |f| %>
<%= f.govuk_error_summary %>

<%= content_for(:title) %>

<%= f.govuk_text_field :name, autocomplete: "name", label: { text: "Name", size: "m" } %> <%= f.govuk_email_field :email, label: { text: "Email address", size: "m" }, autocomplete: "email", spellcheck: "false", value: @user.email %> <%= f.govuk_phone_field :phone, label: { text: "Telephone number", size: "m" }, autocomplete: "tel-national", spellcheck: "false", value: @user.phone %> <%= f.govuk_phone_field :phone_extension, label: { text: "Extension number (optional)", size: "m" }, autocomplete: "tel-extension", spellcheck: "false", value: @user.phone_extension %> <% if current_user.support? %> <% null_option = [OpenStruct.new(id: "", name: "Select an option")] %> <% organisations = Organisation.filter_by_active.map { |org| OpenStruct.new(id: org.id, name: org.name) } %> <% answer_options = null_option + organisations %> <% if @organisation_id %> <% organisation = Organisation.find(@organisation_id) %> <% answer_options = [OpenStruct.new(id: organisation.id, name: organisation.name)] %> <% end %> <%= f.govuk_collection_select :organisation_id, answer_options, :id, :name, "data-controller": "accessible-autocomplete", label: { text: "Organisation", size: "m" }, options: { disabled: [""], selected: @organisation_id ? answer_options.first : "" } %> <% end %> <% hints_for_roles = { data_provider: ["Can view and submit logs for this organisation"], data_coordinator: ["Can view and submit logs for this organisation and any of its managing agents", "Can manage details for this organisation", "Can manage users for this organisation"], support: ["Can only be created for the MHCLG organisation in the CORE service, to be used by MHCLG and its contractor staff", "Has access to all organisations' data across the CORE service", "Cannot be created for users in housing organisations as this would be a data protection breach"] } %> <% roles_with_hints = current_user.assignable_roles.map { |key, _| OpenStruct.new(id: key, name: key.to_s.humanize, description: hints_for_roles[key.to_sym]) } %> <%= f.govuk_collection_radio_buttons :role, roles_with_hints, :id, :name, lambda { |option| option.description&.map { |hint| content_tag(:li, hint) }&.reduce(:+) }, legend: { text: "Role (optional)", size: "m" }, hint: { text: "You do not need to select a role if the user is a data protection officer only. You can tell us that this user is a data protection officer after you have invited them." } %> <%= f.govuk_submit "Continue" %>
<% end %>