code4romania / anabi-gestiune-client Goto Github PK
View Code? Open in Web Editor NEWClientul portalului de gestiune pentru ANABI
Home Page: https://code4.ro/ro/apps/anabi/
License: Mozilla Public License 2.0
Clientul portalului de gestiune pentru ANABI
Home Page: https://code4.ro/ro/apps/anabi/
License: Mozilla Public License 2.0
Bug description
Un asset adaugat in dashboard nu poate fi vizualizat.
Step to reproduce it
Expected behavior
Dupa adaugarea unui nou asset, ca user pot sa vizualizez acest nou asset.
Additional info
Bug pentru API: code4romania/anabi-gestiune-api#146
API intoarce 200 OK pentru un asset care nu are address. API response nu intoarce niciun obiect, in cazul in care nu exista address pentru asset.
Ok, cam asa arata acum pagina de vizualizare a unui bun:
Momentan se pot adauga inculpati la un bun, dar, odata adugati, nu se pot modifica datele inculpatilor.
Vrem sa putem modifica datele inculpatilor. (practic, operatia de edit/update din CRUD).
Trebuie implementate atat BE cat si FE.
Validare pe campurile de tip numaric value sa nu poata sa primeasca valori negative.
Descriere
Ca un utilizator ANABI, vreau sa adaug un proprietar la un bun.
Un bun poate sa aiba zero, unul sau mai multi proprietari.
Campuri proprietar
Campurile pot fi vazute in Confluence - Entitati
Proprietar - proprietăți
Persoană fizică - proprietăți
Persoană juridică - proprietăți
Nume (camp obligatoriu)
Tara de care apartine (camp obligatoriu)
CUI - pentru cei care apartin de RO
Identificator - camp liber - pentru cei care nu apartin de RO
Unul din campurile CUI sau Identificator e camp obligatoriu.
Frontend
Backend - list proprietari bun
Backend - adaugare proprietar la un bun
Redenumire in frontend camp Stare actuala in tip procedura.
Ca utilizator ANABI vreau sa pot sa adaug un spatiu de stocare in platforma.
Acest spatiu de stocare ar tb sa fie vizibil in lista de spatii de stocare care este dezvoltata ca parte a #42
Pe dashboardul de vizualizare spatii de stocare in stanga jos a ecranului tb sa existe un buton pentru Adauga spatiu de stocare, similar cu dashboardul de bunuri.
Un card pentru introducere spatiu de stocare trebuie sa fie displayed, care sa contina urmatoarele elemente:
Adaugarea unui spatiu de stocare se face printr-un call in endpoint:
POST /api/StorageSpaces
Verificare API: http://backend.anabi-dev.code4.ro/swagger/index.html
Sectiunea StorageSpaces.
Se pot adauga mai multi inculpati la un bun.
Wireframe: atasat
Campuri: (* inseamna camp obligatoriu)
Tip inculpat (PF sau PJ) *
In functie de ce alege (PF / PJ), apar un set de campuri.
Nume *
Prenume *
Nationalitate *
Identificator - pentru cei cu nationalitate RO este CNP; daca la Nationalitate au completat alta tara in afara de Romania, campul asta devine free form ca sa completeze anything they might need *
Data nasterii
Nume *
Tara de care apartine *
CUI (daca tara e Romania) * / Identificator (daca nu apartine de Romania) *
In screenshot apar 2 campuri, CNP si Identificator. Trebuie sa apara un singur camp (CNP/Identificator).
Trebuie o pagina noua, cu un tabel asemanator cu cel din pagina de listare bunuri ("Bunuri"), care insa sa aiba coloanele pentru Spatii de Stocare (Depozitare) din pagina de Entitati:
https://codeforromania.atlassian.net/wiki/spaces/ANABI/pages/267256067/Entit+
Si anume:
Ideal ar fi ca tabelul sa fie similar cu cel din "Bunuri" si anume sa aiba :
Endpoint PUT api/assets/{assetId}
Feature de upload de documente pentru un bun.
Documentele pot fi jpg, png, pdf.
Ca un utilizator ANABI, vreau sa adaug un storage space (existent) la un bun. Practic, sa marchez un bun ca fiind intr-un spatiu de stocare, spatiu de stocare care exista deja in DB.
Deci, ar trebui un formular care sa listeze spatiile de stocare din baza de date, si apoi utilizatorul ANABI sa aleaga unul, si acel bun sa fie asociat cu spatiul de stocare respectiv.
Asociere bun - Backend
Controller nou in Anabi - Features - Assets: AssetStorageSpaceController
Cu endpoint nou pt adaugare:
PUT /api/assets/{id}/storagespace
Payload:
*storageSpaceId
*entryDate
Endpoint pt GET
GET /api/assets/{id}/storagespace
Si intoarce un storage space (cu toate campurile din storage space, nu cu campurile din bun).
Handler nou: AssetStorageSpaceHandler
Vezi model AssetHandler
Subtaskuri
Descriere
Solutia = act juridic
Pot adauga o solutie sau mai multe la un bun.
Vezi pagina Entitati
In afara de campurile solutiei, mai trebuie sa apara un camp readonly cu starea actuala a bunului,
si un camp in care utilizatorul poate alege noua stare a bunului (sau poate s-o mentina pe cea veche).
Cand utilizatorul alege o stare noua, noi vom face o validare daca tranzitia din vechea stare a bunului catre noua stare este valida.
Aceasta validare o va face Backend-ul deoarece el are informatiile necesare pe baza entitatii Stare (Vezi pagina Entitati, respectiv entitatea Stare - acolo se specifica ce stari urmatoare sunt posibile pentru o stare, cat si anumite constrangeri).
Eu vad 2 variante pentru Frontend:
poate face apel Ajax catre Backend pentru validare (gen, sa verifice daca bunul X poate sa treaca in starea S2; backendul are deja celelalte informatii necesare pentru validarea tranzitiei - starea actuala a bunului, categoria bunului, valoarea lui estimata, etc )
sau poate trimite formularul catre Backend si se va intoarce cu eroare din Backend, si utilizatorului i se va arata iar formularul de adaugare solutie, cu campurile completate anterior de el, si cu erorile din Backend.
Prima varianta (cea cu apel Ajax) e preferabila, dar, daca e greu de implementat, atunci e foarte buna si varianta 2.
Exemple tranzitie valida:
starea ramane aceeasi
Sechestru (stare actuala) --> Ridicare sechestru (stare noua)
Notite pentru wireframe
grafica e total cu sens de sugestie, e un wireframe, nu o specificatie exacta, chiar sper sa nu arate asa in forma finala )
campul "Instanta" e readonly, utilizatorul nu-l poate schimba. Acest camp se competeaza de noi pe baza numarului de dosar introdus de utilizator (nr dosarului include si instanta)
sunt deschis si la alte sugestii de butoane, etc (ex: eu am pus radio la Solutie definitiva / nedefinitiva, se poate face si altfel, ex butoane separate, select etc).
unele campuri ar trebui sa apara doar daca utilizatorul selecteaza altceva inainte.
"Data rămânerii definitive" tb sa apara doar daca utilizatorul a bifat "Definitiva"
"Stare noua bun" sa apara doar daca utilizatorul a ales "Schimb starea bunului".
Campurile din wireframe de la "Stare X" sa apara doar daca utilizatorul doreste sa schimbe starea in "X" SAU daca utilizatorul doreste sa pastreze starea bunului si starea curenta e "X" (unde X e Sechestru, Confiscare , Valorificare, etc). Practic intotdeauna va aparea o subsectiune din wireframe de la "Stare X", in functie de ce alege utilizatorul.
Wireframe
GET /api/assets/{id}/address
Ca un utilizator ANABI, vreau sa adaug o adresa la un bun.
E vorba de bunurile nedepozitate in spatii de stocare.
Campurile de la adresa (luate de pe pagina https://codeforromania.atlassian.net/wiki/spaces/ANABI/pages/267256067/Entit+i):
Adresa:
Endpoint:
POST api/assets/{assetId}/address
In cadrul acestui User story se vor adauga coloanele din BaseEntity la tabela AddressDb. AddressDb tb sa mosteneasca BaseEntity si tb generata o migrare pentru baza de date. Daca in DbInitializer se adauga adrese, vor tb actualizate si acestea sa contina noua coloana.
Vezi liniile generale de urmat aici
Problema: un utilizator sa poata sa vada pe un singur panel un singur tip de bunuri in functie de tipul de procedura
solutii:
Id ul pentru un bun are doua parti
Feature de corelare bunuri -> un bun introdus la un moment dat este "spart" in mai multe bunuri, pentru valorificare, etc.
Trebuie sa putem sa display in frontend aceasta relatie de corelare intre un bun parinte si bunurile copii.
Bug description
Running sudo npm install
inside the root folder fails with:
gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/user/anabi-gestiune-client-master/node_modules/node-sass/.node-gyp'
Step to reproduce it
Following the installation steps on a Centos7 machine.
npm and node are installed and at the latest stable version.
Expected behavior
Successful installation.
Additional info
I also tried using sudo chown -R user:user /home/user/anabi-gestiune-client-master/node_modules/
but I still get the same error.
As dori sa pot lista instantele, intr-un tabel asemanator celui care apare cand listez bunurile.
Proprietatile unei instante sunt specificate in
https://codeforromania.atlassian.net/wiki/spaces/ANABI/pages/267256067/Entit+i
Lista instantelor poate fi gasita aici:
http://portal.just.ro/SitePages/Instante.aspx
Bug description
Dupa ce se sterge un inculpat al unui bun, cardul cu inculpatul sters ramane afisat pe pagina de descriere a bunului.
Step to reproduce it
Se navigheaza pe http://anabi-dev.code4.ro
Bunuri -> primul bun -> se sterge un inculpat de pe bun
Expected behavior
Cardul cu detaliile inculpatului nu ar trebui sa mai fie afisat dupa stergere.
Un bun aflat in procedura de valorificare anticipata are 2 stari posibile:
Fiecare din etape contine informatiile:
Etapa de evaluare
evaluare bun
raport evaluare
Etapa de valorificare
Bug description
Fiecare bun poate avea o singura adresa adaugata.
Dupa ce a fost adaugata o adresa pe un bun, lista de adaugare proprietati nu mai trebuie sa contina adresa.
Step to reproduce it
Adauga o adresa pe un bun.
Lista de adaugare proprietati nu mai trebuie sa contina elementul Adresa.
Expected behavior
La un bun se poate adauga o singura adresa. Daca trebuie modificata acea adresa, trebuie folosit feature ul de modificare adresa: #39
Dupa ce terminam #40, (adaug un inculpat la un bun), trebuie sa si putem vedea in pagina cu detaliile bunului si inculpatii asociati bunului respectiv.
Un bun poate avea 0, 1, sau mai multi inculpati. Unii pot fi persoane fizice, altii persoane juridice.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.