group assignments of activated volunteer can be reactivated

parent 00ce82ee
Pipeline #38203 failed with stage
in 35 minutes and 30 seconds
......@@ -102,6 +102,12 @@ class GroupAssignmentsController < ApplicationController
authorize :group_assignment, :hours_and_feedbacks_submitted?
end
def reactivate
state = @group_assignment.reactivate! ? 'success' : 'failure'
redirect_back fallback_location: edit_group_assignment_path(@group_assignment),
notice: t("group_assignments.notices.reactivation.#{state}")
end
private
def handle_period_end
......
......@@ -83,7 +83,7 @@ module GroupAssignmentAndAssignmentCommon
if assignment?
assignment_log.delete
elsif group_assignment?
group_assignment_log.delete
group_assignment_logs.last.delete
end
end
......
......@@ -2,6 +2,13 @@
= simple_error_notice f
= f.button :submit
- if policy(@group_assignment).reactivate?
h3.m-t-30= t('.reactivate.title')
p== t('.reactivate.hint')
= link_to t('.reactivate.button'), reactivate_group_assignment_path(@group_assignment), class: 'btn btn-default m-t-10',
data: { confirm: t('.reactivate.confirm') }
hr.m-y-30
dl.dl-horizontal.m-t-30
dt Freiwillige/r:
dd= link_to @group_assignment.volunteer.contact.full_name, edit_volunteer_path(@group_assignment.volunteer), target: '_blank'
......
......@@ -11,8 +11,11 @@ table.table.table-striped.group-assignments-table
tbody
- group_assignment_logs.each do |group_assignment|
tr
td= link_to_if(policy(group_assignment.group_offer).show?,
group_assignment.group_offer.title, group_offer_path(group_assignment.group_offer))
td.index-action-cell.hidden-print
= link_to_if(policy(group_assignment.group_offer).show?,
group_assignment.group_offer.title, group_offer_path(group_assignment.group_offer))
- if policy(group_assignment.group_assignment).reactivate?
= button_link icon_span(:edit), edit_group_assignment_path(group_assignment.group_assignment)
td= t_attr(group_assignment.responsible ? :responsible : :member, GroupAssignment)
td= l(group_assignment.period_start) if group_assignment.period_start
td= l(group_assignment.period_end) if group_assignment.period_end
......
......@@ -173,9 +173,9 @@ de:
undecided_at: Angemeldet am
havent_logged_in: Nie eingeloggt
reactivate:
title: Beendete/n Freiwillige/n wider Akzeptiert setzen
title: Beendete/n Freiwillige/n wieder Akzeptiert setzen
button: Freiwillige/n wieder aktivieren
hint: Freiwillige/r kann wider Einsätze machen, wie wenn sie/er neu akzeptiert worden wäre.<br>Hatte die/der Freiwillige vor der Beendigung ein Login auf dieser Platform, so wird dieses wider aktiviert.<br>Es kann das selbe Login/Passwort wie vorher verwendet werden.
hint: Freiwillige/r kann wieder Einsätze machen, wie wenn sie/er neu akzeptiert worden wäre.<br>Hatte die/der Freiwillige vor der Beendigung ein Login auf dieser Platform, so wird dieses wieder aktiviert.<br>Es kann das selbe Login/Passwort wie vorher verwendet werden.
confirm: Soll die/der Freiwillige wirklich reaktiviert werden?
# loose unasorted keys
......@@ -673,9 +673,9 @@ de:
assignments:
form:
reactivate:
title: Beendetes Tandem wider Aktivieren
hint: Das beendete Tandem wird wider aktiviert und das Einsatzende wider zurückgesetzt.
button: Tandem wider aktivieren
title: Beendetes Tandem wieder Aktivieren
hint: Das beendete Tandem wird wieder aktiviert und das Einsatzende wieder zurückgesetzt.
button: Tandem wieder aktivieren
confirm: Soll das Tandem wirklich wieder auf aktiv gesetzt werden?
notices:
reactivation:
......@@ -728,6 +728,16 @@ de:
show: *id-kinds-event
volunteer_events: *id-kinds-event
group_assignments:
form:
reactivate:
title: Beendeten Gruppeneinsatz wieder Aktivieren
hint: Der beendete Gruppeneinsatz wird wieder aktiviert und das Einsatzende wieder zurückgesetzt.
button: Gruppeneinsatz wieder aktivieren
confirm: Soll der Gruppeneinsatz wirklich wieder auf aktiv gesetzt werden?
notices:
reactivation:
success: Der Gruppeneinsatz wurde erfolgreich reaktiviert
failure: Der Gruppeneinsatz konnte nicht reaktiviert werden
volunteer_group_assignments:
activate: Aktivieren
deactivate: Deaktivieren
......
......@@ -72,7 +72,7 @@ Rails.application.routes.draw do
end
resources :group_assignments, only: [:show, :create, :edit, :update],
concerns: [:submit_feedback, :termination_actions] do
concerns: [:submit_feedback, :termination_actions, :reactivate] do
put :set_end_today, on: :member
end
......@@ -125,7 +125,7 @@ Rails.application.routes.draw do
resources :assignments, except: [:destroy], concerns: [:assignment_feedbacks, :hours_resources, :reactivate]
resources :billing_expenses, only: [:index]
resources :certificates
resources :group_assignments, only: [:show, :edit, :update], concerns: :hours_resources
resources :group_assignments, only: [:show, :edit, :update], concerns: [:hours_resources, :reactivate]
resources :group_offers, except: [:destroy], concerns: :assignment_feedbacks
resources :hours
resources :journals, except: [:show]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment