Commit 01e33f6c authored by Kaspar Vollenweider's avatar Kaspar Vollenweider

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 ...@@ -102,6 +102,12 @@ class GroupAssignmentsController < ApplicationController
authorize :group_assignment, :hours_and_feedbacks_submitted? authorize :group_assignment, :hours_and_feedbacks_submitted?
end 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 private
def handle_period_end def handle_period_end
......
...@@ -83,7 +83,7 @@ module GroupAssignmentAndAssignmentCommon ...@@ -83,7 +83,7 @@ module GroupAssignmentAndAssignmentCommon
if assignment? if assignment?
assignment_log.delete assignment_log.delete
elsif group_assignment? elsif group_assignment?
group_assignment_log.delete group_assignment_logs.last.delete
end end
end end
......
...@@ -2,6 +2,13 @@ ...@@ -2,6 +2,13 @@
= simple_error_notice f = simple_error_notice f
= f.button :submit = 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 dl.dl-horizontal.m-t-30
dt Freiwillige/r: dt Freiwillige/r:
dd= link_to @group_assignment.volunteer.contact.full_name, edit_volunteer_path(@group_assignment.volunteer), target: '_blank' 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 ...@@ -11,8 +11,11 @@ table.table.table-striped.group-assignments-table
tbody tbody
- group_assignment_logs.each do |group_assignment| - group_assignment_logs.each do |group_assignment|
tr tr
td= link_to_if(policy(group_assignment.group_offer).show?, td.index-action-cell.hidden-print
group_assignment.group_offer.title, group_offer_path(group_assignment.group_offer)) = 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= t_attr(group_assignment.responsible ? :responsible : :member, GroupAssignment)
td= l(group_assignment.period_start) if group_assignment.period_start td= l(group_assignment.period_start) if group_assignment.period_start
td= l(group_assignment.period_end) if group_assignment.period_end td= l(group_assignment.period_end) if group_assignment.period_end
......
...@@ -173,9 +173,9 @@ de: ...@@ -173,9 +173,9 @@ de:
undecided_at: Angemeldet am undecided_at: Angemeldet am
havent_logged_in: Nie eingeloggt havent_logged_in: Nie eingeloggt
reactivate: reactivate:
title: Beendete/n Freiwillige/n wider Akzeptiert setzen title: Beendete/n Freiwillige/n wieder Akzeptiert setzen
button: Freiwillige/n wieder aktivieren 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? confirm: Soll die/der Freiwillige wirklich reaktiviert werden?
# loose unasorted keys # loose unasorted keys
...@@ -673,9 +673,9 @@ de: ...@@ -673,9 +673,9 @@ de:
assignments: assignments:
form: form:
reactivate: reactivate:
title: Beendetes Tandem wider Aktivieren title: Beendetes Tandem wieder Aktivieren
hint: Das beendete Tandem wird wider aktiviert und das Einsatzende wider zurückgesetzt. hint: Das beendete Tandem wird wieder aktiviert und das Einsatzende wieder zurückgesetzt.
button: Tandem wider aktivieren button: Tandem wieder aktivieren
confirm: Soll das Tandem wirklich wieder auf aktiv gesetzt werden? confirm: Soll das Tandem wirklich wieder auf aktiv gesetzt werden?
notices: notices:
reactivation: reactivation:
...@@ -728,6 +728,16 @@ de: ...@@ -728,6 +728,16 @@ de:
show: *id-kinds-event show: *id-kinds-event
volunteer_events: *id-kinds-event volunteer_events: *id-kinds-event
group_assignments: 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: volunteer_group_assignments:
activate: Aktivieren activate: Aktivieren
deactivate: Deaktivieren deactivate: Deaktivieren
......
...@@ -72,7 +72,7 @@ Rails.application.routes.draw do ...@@ -72,7 +72,7 @@ Rails.application.routes.draw do
end end
resources :group_assignments, only: [:show, :create, :edit, :update], 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 put :set_end_today, on: :member
end end
...@@ -125,7 +125,7 @@ Rails.application.routes.draw do ...@@ -125,7 +125,7 @@ Rails.application.routes.draw do
resources :assignments, except: [:destroy], concerns: [:assignment_feedbacks, :hours_resources, :reactivate] resources :assignments, except: [:destroy], concerns: [:assignment_feedbacks, :hours_resources, :reactivate]
resources :billing_expenses, only: [:index] resources :billing_expenses, only: [:index]
resources :certificates 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 :group_offers, except: [:destroy], concerns: :assignment_feedbacks
resources :hours resources :hours
resources :journals, except: [:show] 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