Move the "physical workshop needs a host" validation onto Workshop
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 78/100
Direzione di ricerca
Start with Admin::WorkshopsController, especially workshop_type_valid? and physical_workshop_and_no_host?, then inspect the Workshop model and existing admin workshop controller specs. Move the physical-workshop host rule into Workshop while preserving the host error message, add model specs for the validation, and run the existing controller specs to confirm the flash behaviour remains unchanged.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Parent: #2938
Problem
Admin::WorkshopsController enforces the rule "a physical workshop must have a host" in the controller (workshop_type_valid? plus physical_workshop_and_no_host?), adding a validation error from the controller:
def workshop_type_valid?
return true unless physical_workshop_and_no_host?(@workshop)
@workshop.errors.add(:host, "can't be blank")
false
end
Validation rules belong on the model so create, update, and any future caller get them for free.
Proposed change
- Move the rule into a
Workshopvalidation, reusing the controller's intent and error message (host"can't be blank"). - Delete
workshop_type_valid?andphysical_workshop_and_no_host?from the controller; thecreate/updateflows keep their existing flash behaviour via@workshop.errors.
Acceptance
- Creating/updating a physical workshop without a host fails with the same error message as today.
- Model specs cover the new validation; existing admin workshop controller specs pass.
- Lingua principale
- Ruby
- Stelle
- 106
- Fork
- 208
- Merge medio
- 19h 51m
- PR unite (30g)
- 57
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di codebar/planner
-
Preload workshop_host in DashboardQuery.upcoming_events_for_user (per-workshop N+1 on /dashboard)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaperformance
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
codebar/planner#3070 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 Mezza giornata Idoneità per principianti 35/100
codebar/planner#3069 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Dual Invitiation issueForse già presa @mroderick l’ha presa 19 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 28/100
codebar/planner#3008 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di codebar/planner
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
TheOdinProject/curriculum#31512 ·
I maintainer di solito rispondono entro 1 giorno
-
area/web interface
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ruby-grape/grape-swagger#1014 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
rubys/roundhouse#1757 ·
-
Difficoltà 2/5 Mezza giornata Idoneità per principianti 72/100
shakacode/react-on-rails-demo-flagship#102 ·
I maintainer di solito rispondono entro 1 giorno