NSILM

Sisukord

Üldkirjeldus

Kui eesmärk on arhiveeritud, saab kasutaja meeskonnaliikmete andmeid ainult vaadata

Kui eesmärk ei ole arhiveeritud, sõltuvad kasutaja võimalused tema õigustest. Kasutaja võib:

  • ainult vaadata meeskonnaliikmete andmeid,
  • muuta ainult enda andmeid,
  • muuta ka teiste meeskonnaliikmete andmeid,
  • lisada uusi meeskonnaliikmeid.

Uue meeskonnaliikme lisamist või olemasoleva meeskonnaliikme andmete muutmist saab kasutaja algatada järgmistes vaadetes:

Meeskonnaliikmete vaatamise vaade on lisaks ülaltoodule avatav ka järgmises vaates:

Ühel kasutajal võib ühe asutuse / ametikoha piires olla ainult üks meeskonnaliikme kirje. 

Seotud Jira task

NSIL-892 - Getting issue details... STATUS

Kasutajaliides

Disainid

Meeskonnaliikme lisamisel sisestatakse isikukood (lisamise esimene samm):

https://www.figma.com/design/mPPdrh04luwBeiX856NQPP/NAPO---TWN?node-id=8540-69681&t=lEHpxx8lHURVNRZM-4

Meeskonnaliikme andmete haldamine (lisamise teine samm või andmete muutmisel): https://www.figma.com/design/mPPdrh04luwBeiX856NQPP/NAPO---TWN?node-id=8295-57078&t=lEHpxx8lHURVNRZM-4

Ilma meeskonnaliikme haldamise õiguseta meeskonna liige saab hallata ainult oma andmeid:  https://www.figma.com/design/mPPdrh04luwBeiX856NQPP/NAPO---TWN?node-id=8572-83850&t=lEHpxx8lHURVNRZM-4

Eeltingimused

Kasutaja on sisse loginud:

  1. Kui eesmärk on arhiveeritud (Goal.archived = true):
    1. Kasutaja saab ainult vaadata eesmärgi meeskonnaliikmete andmeid, kui on täidetud järgmised tingimused: 
      1. Kui eesmärk on asutusepõhine (Goal.goalScope = INSTITUTIONAL):
        1. Kasutajal peab olema seos eesmärgi asutusega ja sama asutuse juures eesmärkide vaatamise õigus.
          1. Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
        2. või kasutaja peab olema eesmärgi meeskonnas ja planeerimise meeskonna liikme rollil peab olema eesmärkide vaatamise õigus.
          1. Goal.teamMembers.id = GoalTeamMember.id, mille personalCode = Kasutaja isikukood
      2. Kui eesmärk on isikupõhine (Goal.goalScope = INDIVIDUAL):
        1. Kasutaja peab olema eesmärgi omanik.
          1. Goal.personalCode = Kasutaja isikukood
        2. või kasutaja peab olema eesmärgi meeskonnas ja planeerimise meeskonna liikme rollil peab olema eesmärkide vaatamise õigus.
          1. Goal.teamMembers.id = GoalTeamMember.id, mille personalCode = Kasutaja isikukood
  2. Kui eesmärk on arhiveerimata (Goal.archived = false) ja:
    1. Kui eesmärk on asutusepõhine (Goal.goalScope = INSTITUTIONAL):
      1. Kasutajal peab olema seos eesmärgi asutusega.
        1. Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
        2. Kui kasutajal on sama asutuse juures eesmärkide vaatamise õigus, saab kasutaja ainult vaadata eesmärgi meeskonnaliikmete andmeid.
          1. Õigust reguleerib privileeg: HSILM_PLANNING_GOAL_VIEW.
        3. Kui kasutajal on sama asutuse juures eesmärkide lisamise ja muutmise õigus, saab kasutaja muuta enda andmeid ning teiste meeskonnaliikmete andmeid saab ta ainult vaadata.
          1. Õigust reguleerib privileeg: HSILM_PLANNING_GOAL_MANAGE.
        4. Kui kasutajal on sama asutuse juures meeskonnaliikmete haldamise õigus, saab kasutaja lisada uusi meeskonnaliikmeid ning muuta nii enda andmeid kui ka teiste meeskonnaliikmete andmeid.
          1. Õigust reguleerib privileeg: HSILM_PLANNING_TEAM_MEMBER_MANAGE.
      2. VÕI kasutaja peab olema eesmärgi meeskonnas:
        1. Goal.teamMembers.id = GoalTeamMember.id, mille personalCode = Kasutaja isikukood 
        2. Eesmärk võib olla kas asutusepõhine või isikupõhine
          1. Goal.goalScope = INSTITUTIONAL või INDIVIDUAL 
        3.  Kui planeerimise meeskonna liikme rollil on eesmärkide vaatamise õigus, saab kasutaja ainult vaadata eesmärgi meeskonnaliikmete andmeid
          1. Õigust reguleerib privileeg: HSILM_PLANNING_GOAL_VIEW.
        4. Kui planeerimise meeskonna liikme rollil on eesmärkide lisamise ja muutmise õigus, saab kasutaja muuta enda andmeid ning teiste meeskonnaliikmete andmeid saab ta ainult vaadata.
          1. Õigust reguleerib privileeg: HSILM_PLANNING_GOAL_MANAGE.
        5. Kui planeerimise meeskonna liikme rollil on meeskonnaliikmete haldamise õigus, saab kasutaja lisada uusi meeskonnaliikmeid ning muuta nii enda andmeid kui ka teiste meeskonnaliikmete andmeid.
          1. Õigust reguleerib privileeg: HSILM_PLANNING_TEAM_MEMBER_MANAGE.
    2. Kui eesmärk on isikupõhine (Goal.goalScope = INDIVIDUAL):
      1.  Kasutajal peab olema eesmärgi omanik.
        1. Goal.personalCode = Kasutaja isikukood
        2. Kui kasutajal ei ole seost eesmärgi asutuse ja ametikohaga, saab kasutajal ainult vaadata eesmärgi meeskonnaliikmete andmeid.
          1. Goal.institution.id != Kasutaja poolt valitud rolliga seotud asutus
          2. Goal.jobsite != Kasutaja poolt valitud rolliga seotud ametikoht
        3. Kui kasutajal on seos eesmärgi asutuse ja ametikohaga, saab kasutaja lisada uusi meeskonneliikmeid ning muuta nii enda andmeid kui ka teiste meeskonnaliikmete andmeid.
          1. Goal.institution.id = Kasutaja poolt valitud rolliga seotud asutus
          2. Goal.jobsite = Kasutaja poolt valitud rolliga seotud ametikoht
          3. Eraldi privileegi ei ole vaja.
      2. VÕI peavad olema täidetud samad tingimused nagu punktis 2.a.ii.
  3. Planeerimise mooduli kasutusrollide ja õiguste kohta saab täpsemalt infot leida lehelt Kasutusõigused ja rollid.

Funktisonaalsus

Selgitused

  1. Vaate avamisel:
    1. Kasutajaliides teeb eesmärgi meeskonnaliikmete nimekirja saamiseks päringu: PM: API: Goal: GET /planning-api/goals/{goalId}/team-members.
      1. Päringu sisend: 
        1. goalId = eesmärgi ID, mille vaates algatati uue meeskonnaliikme lisamine või olemasoleva meeskonnaliikme andmete muutmine või vaatamine
    2. Kui kasutaja valis eesmärgi vaates uue meeskonnaliikme lisamise, avatakse modaalaken isikukoodi sisestamiseks.
    3. Kui valiti olemasoleva meeskonnaliikme andmete vaatamine või muutmine, avatakse modaalaken, mis kuvab kõigi eesmärgi meeskonnaliikmete andmed.
      1. Iga meeskonnaliikme andmed kuvatakse eraldi akordionis.  
      2. Vaikimisi on avatud selle meeskonnaliikme akordion, kelle nimele kasutaja vajutas eesmärgi vaates. Teised akordionid on suletud.
      3. Avatud akordioni sees kuvatakse väljad muudetavatena või mittemuudetavatena vastavalt peatükis "Eeltingimused" kirjeldatud reeglitele. 
  2. Kasutaja saab vaadata kõiki eesmärgi meeskonnaliikme andmeid
    1. Iga uue akordioni avamisel jääb eelmine avatuks. 
    2. Avanenud akordioni sees kuvatakse väljad muudetavatena või mittemuudetavatena vastavalt peatükis "Eeltingimused" kirjeldatud reeglitele. 
  3. Uue meeskonnaliikme lisamine: 
    1. Uue meeskonnaliikme lisamise modaalaknas sisestab kasutaja isikukoodi ja vajutab nuppu "Lisa liige".
    2. Kui isikukood on korrektne, saadetakse päring uue meeskonnaliikme lisamiseks: PM: API: Goal: POST /planning-api/goals/{goalId}/team-members.
      1. Päringu sisend:
        1. personalCode = väljal "Isikukood" sisestatud väärtus
        2. goalId = eesmärgi ID, mille vaates uue meeskonnaliikme lisamine algatati
    3. Kui päring õnnestub:
      1. Sulgeb kasutajaliides isikukoodi sisestamise akna.
      2. Avatakse meeskonnaliikmete andmete modaal, kus vaikimisi on avatud just lisatud meeskonnaliikme akordion.

        1. PM: API: Goal: POST /planning-api/goals/{goalId}/team-members.response.id
      3. Selgitus:
        1. Ühel kasutajal võib ühe asutuse / ametikoha piires olla ainult üks meeskonnaliikme kirje.
        2.  Seetõttu:
          1. Kui päringu täitmisel tuvastatakse, et selline kirje juba eksisteerib, siis uut kirjet ei looda, vaid olemasolev kirje seotakse eesmärgiga. 
            1. Päring tagastab selle isiku eelnevalt sisestatud andmed, mida kuvatakse avanenud meeskonnaliikmete modaalaknas. 
          2. Kui kirjet ei eksisteeri, päritakse isiku nimi EHIS kasutajate registrist ning luuakse saadud andmetega uus meeskonnaliikme kirje. 
            1. Kui isikut registrist ei leita, jääb nimi tühjaks ja täidetakse siis, kui kasutaja esimest korda sisse logib ja ennast autendib.
  4. Meeskonnaliikmete andmete muutmine: 
    1. Kui kasutajal on peatükis „Eeltingimused“ kirjeldatud õigused, saab ta muuta kas ainult enda või ka teiste meeskonnaliikmete andmeid. 
    2. Meeskonnaliikme andmete salvestamiseks kasutatakse päringut: PM: API: Goal: PUT /planning-api/goals/{goalId}/team-members/{teamMemberId}.
      1. Päringu sisend:
        1. teamMemberId = meeskonnaliikme ID, kelle andmeid muudetakse
        2. goalId = eesmärgi ID, mille vaates tegevus algatati
        3. email = väljal "E-posti aadress" sisestatud väärtus
        4. phoneNumber = väljal "Telefoni number" sisestatud väärtus
        5. institution = väljal "Asutus" sisestatud väärtus
        6. jobTitle = väljal "Ametinimetus" sisestatud väärtus

Andmed

Elemendi nimetusSelgitus/Näide
Meeskonnaliikme lisamise esimeses sammus
Isikukood

Lisatava meeskonnaliikme isikukood.

  • Vabatekstiväli
  • Peab vastama Eesti isikukoodi reeglitele.
  • Kohustuslik
Meeskonnaliikmete andmete haldamisel
-
  1. Iga meeskonnaliige kuvatakse eraldi akordionis.
  2. Akordioni päises kuvatakse järgmised andmed:
    1. eesnimi - PM: API: Goal: GET /planning-api/goals/{goalId}/team-members.response.goalTeamMembers.firstName
    2. perekonnanimi - PM: API: Goal: GET /planning-api/goals/{goalId}/team-members.response.goalTeamMembers.lastName
    3. asutuse nimetusPM: API: Goal: GET /planning-api/goals/{goalId}/team-members.response.goalTeamMembers.institution
    4. ametinimetus - PM: API: Goal: GET /planning-api/goals/{goalId}/team-members.response.goalTeamMembers.jobTitle
  3. "Protsessi juht" rolliga meeskonnaliikmeid kuvatakse meeskonnaliikmete nimekirjas esimesena ning seejärel on meeskonnaliikmed järjestatud nime järgi tähestiku järjekorras.
    1. PM: API: Goal: GET /planning-api/goals/{goalId}/team-members.response.goalTeamMembers, mille roleType = "TEAM_LEAD"
  4. Vaikimisi on avatud selle meeskonnaliikme akordion, kelle nimele vajutati eesmärgi vaates meeskonnaliikmete modaalakna avamiseks.
    1. Meeskonnaliikme lisamisel avatakse vaikimisi just lisatud meeskonnaliikme akordion.
      1. PM: API: Goal: POST /planning-api/goals/{goalId}/team-members.response.id
Isikukood

Meeskonnaliikme isikukood

Kuvatakse alati mittemuudetavana, sõltumata peatükis "Eeltingimused" kirjeldatud reeglitest.

Eesnimi

Meeskonnaliikme eesnimi

Kuvatakse alati mittemuudetavana, sõltumata peatükis "Eeltingimused" kirjeldatud reeglitest.

Perenimi

Meeskonnaliikme perekonnanimi

Kuvatakse alati mittemuudetavana, sõltumata peatükis "Eeltingimused" kirjeldatud reeglitest.

E-posti aadress

Meeskonnaliikme e-posti aadress

Kuvatakse muudetavana või mittemuudetavana, vastavalt peatükis "Eeltingimused" kirjeldatud reeglitele.

Telefoni number

Meeskonnaliikme telefoninumber

Kuvatakse muudetavana või mittemuudetavana, vastavalt peatükis "Eeltingimused" kirjeldatud reeglitele.

Asutus

Meeskonnaliikme asutuse nimetus

Kuvatakse muudetavana või mittemuudetavana, vastavalt peatükis "Eeltingimused" kirjeldatud reeglitele.

Ametinimetus

Meeskonnaliikme ametinimetus

Kuvatakse muudetavana või mittemuudetavana, vastavalt peatükis "Eeltingimused" kirjeldatud reeglitele.

Kasutaja tegevused

Tegevuse nimetusSelgitus

Meeskonnaliikme lisamise esimeses sammus

Nupu "Katkesta" ja "X" vajutamine

Nupule vajutamisel sulgeb süsteem meeskonnaliikme lisamise modaalakna. Sisestatud andmeid ei salvestata.

Nupu "Lisa liige" vajutamine

Kui kasutaja vajutab nupule, siis:

  1. Süsteem kontrollib, kas andmed on nõuetekohaselt sisestatud.
    1. Kui andmed ei vasta nõuetele, siis kuvab süsteem veateate selle kohta.
  2. Süsteem käivitab eesmärgi meeskonda meeskonnaliikme lisamiseks päringu: PM: API: Goal: POST /planning-api/goals/{goalId}/team-members, sulgeb isikukoodi lisamise modaalakna ja kuvab meeskonnaliikmete andmete haldamise modaalakna.
    1. Vaikimisi on avatud just lisatud meeskonna liikme andmed.
Meeskonnaliikmete andmete haldamisel

Nupu "Sulge" ja "X" vajutamine

Nupule vajutamisel sulgeb süsteem meeskonnaliikme haldamise modaalakna. Sisestatud andmeid ei salvestata.

Meeskonnaliikme real noole ikoonile vajutamineRea tekstile või ikoonile vajutamisel avab süsteem meeskonnaliikme detailandmete akordioni või sulgeb avatud akordioni.
Nupu "Katkesta" vajutamine

Nupule vajutamisel kuvab süsteem meeskonnaliikme kohta salvestatud andmed. Sisestatud andmeid ei salvestata.

Nupu "Salvesta" vajutamine

Nupule vajutamisel:

  1. Süsteem käivitab meeskonnaliikme andmete salvestamise: PM: API: Goal: PUT /planning-api/goals/{goalId}/team-members/{teamMemberId}.
  2. Eduka salvestamise korral kuvatakse eduteate.
  3. Modaalaken jääb avatuks.