diff --git a/app/helpers/youth/dropdown/event/participant_add.rb b/app/helpers/youth/dropdown/event/participant_add.rb index c151f477..a24bc58d 100644 --- a/app/helpers/youth/dropdown/event/participant_add.rb +++ b/app/helpers/youth/dropdown/event/participant_add.rb @@ -69,17 +69,21 @@ def init_items_with_manageds(url_options) end end - opts = url_options.merge(event_role: { type: event.participant_types.first.sti_name }) - add_item( - translate('.register_new_managed'), - template.contact_data_managed_group_event_participations_path(group, event, opts) - ) + if event.external_applications? + opts = url_options.merge(event_role: { type: event.participant_types.first.sti_name }) + add_item( + translate('.register_new_managed'), + template.contact_data_managed_group_event_participations_path(group, event, opts) + ) + end end # rubocop:enable Metrics/MethodLength, Metrics/AbcSize def disabled_message_for_person(person) if ::Event::Participation.exists?(person: person, event: event) translate(:'disabled_messages.already_exists') + elsif ::Ability.new(person).cannot?(:show, event) + translate(:'disabled_messages.cannot_see_event') end end diff --git a/config/locales/views.youth.de.yml b/config/locales/views.youth.de.yml index 28cd0a24..9a9f715d 100644 --- a/config/locales/views.youth.de.yml +++ b/config/locales/views.youth.de.yml @@ -114,8 +114,8 @@ de: banner_declined_invitation: managed: explanation: "%{person} wurde zu diesem Anlass eingeladen und wurde abgemeldet." - - + form: + caption_external_applications: 'Externe können sich für diesen Anlass anmelden. Der Anlass ist damit auch für die ganze Datenbank sichtbar.' export/tabular/events/list: male_count: Anzahl Teilnehmende Männer @@ -148,6 +148,7 @@ de: dropdown/event/participant_add: disabled_messages: already_exists: 'ist bereits angemeldet' + cannot_see_event: 'darf den Anlass nicht sehen' register_new_managed: Neues Kind erfassen und anmelden event/lists: courses: @@ -160,6 +161,10 @@ de: new: merge_hint: 'Beim Zusammenführen werden die Rollen, Telefonnr., zusätzlichen E-Mails, Verwalter*innen, Kinder sowie die Social Media Einträge übernommen. Alle anderen Daten dieser Person wie z.B. Notizen, Kursanmeldungen usw. werden gelöscht.' + unauthorized: + new: + event/participation: 'Die ausgewählte Person erfüllt die Anlassanforderungen nicht.' + version: association_change: people_manager: