Open daniel-illi opened 3 weeks ago
Drop-Down termination_reason_id für collection TerminationReason.all, Pflichtfeld, "Austrittsgrund"
@daniel-illi TerminationReason
existiert bei mir nicht. Muss das model noch erstellt werden?
Separates Ticket.
Wo kommt dieser Wizard eigentlich hin? Also von wo wird er getriggert?
Resolved: groups/18/people/600230/history
Step nur anzeigen, falls die Person eine gekündigte Mitgliedschaft besitzt (Role#terminate_on ist gesetzt)
Jede rolle hat ein terminate_on
da das ein requirement ist. Verwende nun terminated?
auf der membership_role
.
blocked by #652, #653
Vor der Umsetzung bitte mit @daniel-illi besprechen.
Tech-Spec
Wizard Step
Wizards::Steps::MembershipTerminatedInfo
, Titel: "Mitgliedschaft gekündigt"Role#terminate_on
ist gesetzt)Wizard Step
Wizards::Steps::NoSelfService
, Titel: "Mitgliederdienst kontaktieren"#mitglied_termination_by_section_only
true
ist und dercurrent_user
KEIN SAC Mitarbeiter ist.#valid?
überschreiben undfalse
zurückgeben um einsave!
auf dem wizard zu verhindernWizard Step
Wizards::Steps::LeaveZusatzsektion::AskFamilyMainPerson
, Titel: "Familienmitgliedschaft"#valid?
überschreiben undfalse
zurückgeben um einsave!
auf dem wizard zu verhindernWizard Step
Wizards::Steps::ChooseDate
, Titel: "Austrittsdatum"current_user
SAC Mitarbeiter ist#mitglied_termination_by_section_only
true
ist Warnung anzeigen:now
-> "sofort" ,end_of_year
-> "auf 31.12.{year}""Weiter"
Wizard Step
Wizards::Steps::LeaveZusatzsektion::SummaryForm
, Titel: "Bestätigung"TerminationReason
, Pflichtfeld"Austritt beantragen"
Wizard
Wizards::LeaveZusatzsektion
#step_after
implementieren#terminate_on
: Gestern wenn in ChooseDate 'sofort' gewählt ist, sonst 31.12. des aktuellen Jahresin
#valid?
auf demlast_step
zusätzlich die#leave_operation
validieren. Falls diese invalid ist, deren errors ins errors des wizards übernehmen.in
#save!
dasleave_operation.save!
aufrufenMailer
MembershipsMailer#zusatzsektion_leave_confirmation
implementierenTexte in der aktuellen Sprache
Group::Geschaeftsstelle
), nur wenn Email Adresse vorhandenAbility
on(Wizards::LeaveZusatzsektion).may(:create)
person == current_user || current_user.sac_mitarbeiter?
(sieheSacCas::SAC_MITARBEITER_ROLES
)Controller
People::ZusatzsektionLeavesController
auf Basis desWizards::BaseController
des POCauthorize!(:create, entry)
def model_class
:Wizards::LeaveZusatzsektion
def redirect_target
:group_person_path
Views
app/views/people/zusatzsektion_leaves/new.html.haml
,new.js.haml
,_form.html.haml
,_fields.html.haml
analog
app/views/people/stammsektion_switches/*.haml
des POCRoles::TerminateRoleLink#render_link
im SAC wagon anpassen:wenn
@role
eineMitgliedZusatzsektion
ist, dann verlinken mitgroup_person_zusatzektion_leaves_path
,sonst mit
new_group_role_termination_path
(super)ToDo