PM: API: DevelopmentPlan: POST /planning-api/development-plans/{developmentPlanId}/sections
Üldkirjeldus
Teenus võimaldab lisada arengukavale sektsiooni.
Seotud andmeobjektid:
Seotud Jira taskid
NSIL-994 - Getting issue details... STATUS
Eeltingimused ja kasutusõigused
- Kui tegemist on asutusepõhise arengukavaga (DevelopmentPlan.developmentPlanScope = INSTITUTIONAL):
- Kasutajal peab olema seos arengukava asutusega ning sama asutuse arengukava lisamise ja muutmise õigus.
- DevelopmentPlan.institution.id = Kasutaja poolt valitud rolliga seotud asutus
- Õigust reguleerib privileeg: HSILM_PLANNING_DEV_PLAN_MANAGE.
- Kasutajal peab olema seos arengukava asutusega ning sama asutuse arengukava lisamise ja muutmise õigus.
- Kui tegemist on isikupõhise arengukavaga (DevelopmentPlan.developmentPlanScope = INDIVIDUAL):
- Kasutaja peab olema arengukava omanik ja tal peab olema seos nii arengukava asutuse kui ka ametikohaga.
- DevelopmentPlan.personalCode = Kasutaja isikukood
- DevelopmentPlan.institution.id = Kasutaja poolt valitud rolliga seotud asutus
- DevelopmentPlan.jobsite = Kasutaja poolt valitud rolliga seotud ametikoht
- Eraldi privileegi ei ole vaja.
- Kasutaja peab olema arengukava omanik ja tal peab olema seos nii arengukava asutuse kui ka ametikohaga.
- Arhiivi ja meeskonnaliikme rolli valinud kasutaja ei saa muuta arengukava.
Planeerimise mooduli kasutusrollide ja õiguste kohta saab täpsemalt infot leida lehelt Kasutusõigused ja rollid.
Sisendid
| Atribuut | Kohustuslikkus, mitmesus | Tüüp | Vaikeväärtus, valideerimine | Kirjeldus, täiendav info |
|---|---|---|---|---|
developmentPlanId | 1 | String |
| Arengukava unikaalne identifikaator. |
| name | 1 | String |
| Arengukava sektsiooni pealkirjana kuvatav nimetus. |
| previousSectionId | 1 | String |
| Viide sektsioonile, mis eelneb uuele sektsioonile arengukava sektsioonide järjekorras. Kui väärtus on NULL, kuvatakse sektsioon esimesena. |
Väljundid
| Atribuut | Kohustuslikkus, mitmesus | Tüüp | Kirjeldus, täiendav info |
|---|---|---|---|
| id | 1 | String | Arengukava sektsiooni unikaalne identifikaator. |
| developmentPlanId | 1 | String | Viide arengukavale, kuhu sektsioon kuulub. |
| name | 1 | String | Arengukava sektsiooni pealkiri. |
| previousSectionId | 0..1 | String | Viide sektsiooni ID-le, mis eelneb käesolevale sektsioonile arengukava sektsioonide järjestuses. Kui väärtus puudub, tähendab see, et sektsioon kuvatakse esimesena. |
| hidden | 1 | String | Määrab, kas sektsioon lisatakse jagatavasse arengukava versiooni (PDF või URL). |
Tegevused
- Süsteem kontrollib, kas kasutajal on õigust päringut teostada.
- Kui kasutajal puudub vastav õigus, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem kontrollib, kas sisendandmed vastavad nõuetele.
- Kui andmed ei vasta nõuetele, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
Süsteem kontrollib, kas sisendis esitatud arengukava (developmentPlanId) eksisteerib ja on muudetav:
- Otsitakse Objektid#DevelopmentPlan objekti, mille:
- id = sisendis esitatud developmentPlanId väärtus.
- editable = true
- Kui arengukava ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Otsitakse Objektid#DevelopmentPlan objekti, mille:
- Kui sisendis esitatud previousSectionId != NULL, kontrollib süsteem, kas selline sektsioon eksisteerib ja kuulub samasse arengukavasse:
- Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
- id = sisendis esitatud previousSectionId väärtus
- developmentPlanId = sisendis esitatud developmentPlanId väärtus
- Kui sobivat sektsiooni ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
- Süsteem lisab arengukavale uue sektsiooni.
- Luuakse Objektid#DevelopmentPlanSection objekt järgmiste väärtustega:
- id = UUID
- developmentPlanId = sisendis esitatud developmentPlanId väärtus
- name = sisendis esitatud name väärtus
- previousSectionId = sisendis esitatud previousSectionId väärtus.
- hidden = false
- Luuakse Objektid#DevelopmentPlanSection objekt järgmiste väärtustega:
- Süsteem uuendab sektsioonide järjekorda:
- Otsitakse sektsioon, mis hetkeseisuga järgneb sisendis esitatud previousSectionId väärtusega sektsioonile:
- Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
- id != just loodud sektsiooni ID (Objektid#DevelopmentPlanSection.id)
- developmentPlanId = sisendis esitatud developmentPlanId väärtus
- previousSectionId = sisendis esitatud previousSectionId väärtus.
- Kui sobivat sektsiooni ei leita, logitakse viga.
- Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
- Kui sobiv sektsioon leitakse, uuendatakse see järgmiselt:
- previousSectionId = just loodud sektsiooni ID (Objektid#DevelopmentPlanSection.id)
- Otsitakse sektsioon, mis hetkeseisuga järgneb sisendis esitatud previousSectionId väärtusega sektsioonile:
- Süsteem tagastab loodud arengukava sektsiooni andmed.