PM: API: DevelopmentPlan: POST /planning-api/development-plans/{developmentPlanId}/sections/{sectionId}/elements
Üldkirjeldus
Teenus võimaldab lisada arengukava sektsioonile uue vormielemendi.
Seotud andmeobjektid:
Seotud Jira taskid
NSIL-1000 - Getting issue details... STATUS
Eeltingimused ja kasutusõigused
- Kui tegemist on asutusepõhise arengukavaga (DevelopmentPlan.developmentPlanScope = INSTITUTIONAL):
- Kasutajal on 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 on seos arengukava asutusega ning sama asutuse arengukava lisamise ja muutmise õigus.
- Kui tegemist on isikupõhise arengukavaga (DevelopmentPlan.developmentPlanScope = INDIVIDUAL):
- Kasutaja on arengukava omanik ja tal on 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 on arengukava omanik ja tal on seos nii arengukava asutuse kui ka ametikohaga.
- Arhiivi ja meeskonnaliikme rollis kasutajatel puudub õigus arengukava muuta.
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 |
|---|---|---|---|---|
sectionId | 1 | String |
| Viide arengukava sektsioonile, millele vormielement lisatakse. |
developmentPlanId | 1 | String |
| Viide arengukavale, kuhu sektsioon kuulub. |
previousElementId | 1 | String |
| Viide vormielemendile, millele uus vormielement hakkab järgnema vormielementide järjekorras. Kui väärtus on NULL, kuvatakse sektsioon esimesena. |
| inputType | 1 | String |
| Vormielemendi tüüp: tekst, pilt või aruanne. |
Väljundid
| Atribuut | Kohustuslikkus, mitmesus | Tüüp | Kirjeldus, täiendav info |
|---|---|---|---|
| id | 1 | String | Vormielemendi unikaalne identifikaator. |
| sectionId | 1 | String | Viide arengukava sektsioonile, kuhu vormielement kuulub. |
| developmentPlanId | 1 | String | Viide arengukavale, kuhu sektsioon kuulub. |
| previousElementId | 1 | String | Viide vormielemendile, mis eelneb käesolevale elemendile sektsiooni vormielementide järjekorras. Kui väärtus on NULL, kuvatakse sektsioon esimesena. |
| inputType | 1 | String | Vormielemendi tüüp. Väärtusena klassifikaatori INPUT_TYPE elemendi viide. |
| textValue | 0..1 | String | Teksti tüüpi vormielemendile määratud väärtus:
|
| file | 0..1 | Object | Pildi tüüpi vormielemendiga seotud faili andmed. Kasutatakse ainult siis, kui inputType = IMAGE. |
| file.id | 1 | String | Viide seotud faili objektile (Objektid#File.id). |
| file.fileName | 1 | String | Faili nimetus koos faililaiendiga. Näiteks "minu pilt.png". |
| file.mimeType | 1 | String | Faili mime tüüp. Näiteks "image/x-png". |
| file.size | 1 | Integer | Faili suurus baitides. |
| file.title | 0..1 | String | Failile lisatud pealkiri. |
| report | 0..1 | Object | Vormielemendina lisatud näitaja andmed. Kasutatakse ainult siis, kui inputType = REPORT. |
| report.description | 1 | String | Näitaja kirjeldus. |
| report.selectedReports | 1..* | Array | Nimekiri lisatud juhtimislaua aruannetest. |
| report.selectedReports.workspaceId | 1 | String | PBI aruande tööruumi identifikaator. |
| report.selectedReports.reportId | 1 | String | PBI aruande identifikaator. |
| report.selectedReports.bookmark | 0..1 | String | PBI aruandele rakendatud filtrite snapshot (base64 formaadis). |
Tegevused
- Süsteem kontrollib, kas kasutajal on õigust päringut teostada.
- Kui kasutajal ei ole õigust, 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 sektsioon (sectionId) eksisteerib ning on seotud muudetava arengukavaga:
- Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
- id = sisendis esitatud sectionId väärtus
- developmentPlanId = sisendis esitatud developmentPlanId väärtus
- Kui vastavat sektsiooni ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Otsitakse Objektid#DevelopmentPlan objekti, mille:
- id = sisendis esitatud developmentPlanId väärtus
- editable = true
- Kui tingimustele vastavat arengukava ei leita, lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Otsitakse Objektid#DevelopmentPlanSection objekti, mille:
- Süsteem lisab arengukava sektsioonile uue vormielemendi:
- Luuakse uus Objektid#DevelopmentPlanElement objekt järgmiste väärtustega:
- id = UUID
- developmentPlanSectionId = sisendis esitatud sectionId väärtus
- previousElementId = sisendis esitatud previousElementId väärtus
- inputType= sisendis esitatud inputType väärtus
- textValue = NULL
- file = NULL
- report = NULL
- Luuakse uus Objektid#DevelopmentPlanElement objekt järgmiste väärtustega:
- Süsteem uuendab sektsiooni vormielementide järjekorda:
- Otsitakse vormielement, mis hetkeseisuga järgneb sisendis esitatud previousElementId väärtusega elemendile:
- Otsitakse Objektid#DevelopmentPlanElement objekti, mille:
- id != just loodud vormielemendi ID (Objektid#DevelopmentPlanElement.id)
- developmentPlanSectionId = sisendis esitatud sectionId väärtus
- previousElementId = sisendis esitatud previousElementId väärtus.
- Kui sobivat elementi ei leita, logitakse viga.
- Otsitakse Objektid#DevelopmentPlanElement objekti, mille:
- Kui sobiv vormielement leitakse, uuendatakse see järgmiselt:
- previousElementId = just loodud vormielemendi ID (Objektid#DevelopmentPlanElement.id)
- Otsitakse vormielement, mis hetkeseisuga järgneb sisendis esitatud previousElementId väärtusega elemendile:
- Süsteem tagastab arengukava sektsioonile lisatud vormielemendi andmed.