GithubHelp home page GithubHelp logo

code4romania / asset-declarations Goto Github PK

View Code? Open in Web Editor NEW
12.0 7.0 34.0 485 KB

Crowd sourcing implementation of Moonsheep platform for Romanian asset declarations.

Python 85.84% CSS 0.58% HTML 12.39% Dockerfile 0.99% Shell 0.21%
code4ro civictech civic-hacking civic-tech moonsheep

asset-declarations's Introduction

Catalog politic - Declaratii de avere

GitHub contributors GitHub last commit License: MPL 2.0

code for romania twitter code for romania facebook

Important! This project is currently not accepting contributions. It would seem like there is a public-sector effort to solve the problem of opening up the data contained within asset declarations. We will not duplicate effort and we will either resume or archive this project according to what we learn about the digitalisation effort.

Currently, in Romania, public information on elected officials is spread on a multitude of media, in a multitude of formats and requires a priori knowledge of the sources where data resides, making it hard, if not impossible for a regular citizen to make sense of the data.

Furthermore, no comprehensive analysis of data on elected officials can be attempted, as most of it is not digitised, hence not in an open format.

Catalog Politic is powered by the desire to centralise all public information on elected representatives and lower the information cost necessary for citizens, making public information truly public. For this end we are digitising hundreds of thousands of asset declarations, scrapping dozens of official websites and manually collecting data where no automation is possible.

Citizens, who want to find out more about their representatives, but lack the time, energy and know-how to find all the relevant data will gain access to in-depth information in a friendly and easy to digest format.

The platform will help journalists, watchdogs and researchers identify and verify information on elected officials. The data provided will offer an unprecedented starting point for in-depth analysis.

Catalog Politic - Declaratii de avere - aims to automate the process of parsing and extracting information from asset declarations of Romanian politicians and public figures, by providing a user friendly platform for volunteers to extract and map information to a fixed datamodel. The implementation is based on Moonsheep framework.

Built with | Repos and projects | Deployment | Contributing | Feedback | License | About Code4Ro

Built With

Django Moonsheep

Programming languages

Python 3.5+ Please follow the Python style guide.

In order to solve the formatting debates, black is enforced. Before submiting a PR, you can run

black --line-length 80 --target-version py37 .

and your code will be automatically formatted.

Platforms

Political Catalogue - Asset Declaration is a web application.

Frontend framework

Django

Package managers

Pip

Database technology & provider

PostgreSQL

Repos and projects

Moonsheep on GitHub

Deployment

Installation process

  • Fork this repo
  • Clone your fork
  • Open the directory where you have cloned the repo (cd asset-declarations)
  • Optionally, you can create a virtual environment named "venv": python3 -m venv venv and then activate it: source venv/bin/activate
  • pip install -r requirements-dev.txt
  • export DJANGO_SETTINGS_MODULE=project_template.settings.dev
  • python manage.py migrate --run-syncdb
  • python manage.py seed
  • python manage.py runserver

Using docker-compose:

  • Install docker and cdocker-compose
  • Fork this repo
  • Clone your fork
  • Open the directory where you have cloned the repo (cd asset-declarations)
  • Run the following command to start the development server docker-compose up
  • You can interact with the container's environment using docker-compose exec web bash

Contributing

If you would like to contribute to one of our repositories, first identify the scale of what you would like to contribute. If it is small (grammar/spelling or a bug fix) feel free to start working on a fix. If you are submitting a feature or substantial code contribution, please discuss it with the team and ensure it follows the product roadmap.

Our collaboration model is described here.

Get familiar with some basic coding guidelines.

Debugging

As you develop this app, you will surely add / remove / change database models (Django Models).
In order for your local server to acknowledge these changes, you will need to migrate your new structure.
During the development stage, while you're still testing things out and you don't care about the data in your local sqlite database, the following quick hack will update your models and clean the test database data:

rm  project_template/migrations/*
rm db.sqlite3
python manage.py makemigrations
python manage.py migrate --run-syncdb

Feedback

  • Request a new feature on GitHub.
  • Vote for popular feature requests.
  • File a bug in GitHub Issues.
  • Email us with other feedback [email protected]

License

This project is licensed under the MPL 2.0 License - see the LICENSE.md file for details

About Code4Ro

Started in 2016, Code for Romania is a civic tech NGO, official member of the Code for All network. We have a community of over 500 volunteers (developers, ux/ui, communications, data scientists, graphic designers, devops, it security and more) who work pro-bono for developing digital solutions to solve social problems. #techforsocialgood. If you want to learn more details about our projects visit our site or if you want to talk to one of our staff members, please e-mail us at [email protected].

Last, but not least, we rely on donations to ensure the infrastructure, logistics and management of our community that is widely spread accross 11 timezones, coding for social change to make Romania and the world a better place. If you want to support us, you can do it here.

asset-declarations's People

Contributors

aniri avatar avataru avatar calincrist avatar catileptic avatar danielacraciun avatar danniel avatar dependabot[bot] avatar katte-13 avatar kovaxg avatar madpipeline avatar mihaighidoveanu avatar paulbricman avatar pranjal9599 avatar radu-diaconescu13 avatar raducstefanescu avatar tsundokul avatar tudoramariei avatar vtemian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

asset-declarations's Issues

[MICROTASK] Introducere numar randuri tabel 2. Venituri din activitati independente

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat 2. Venituri din activitati independente.

Acest task va popula modelul de date OwnedIncomeFromIndependentActivities din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul 2. Venituri din activitati independente.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere informatii rand tabel IV. Active financiare - 1. Conturi si depozite bancare

Microtask pentru introducerea informatiilor din tabelul IV. Active financiare - 1. Conturi si depozite bancare. Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #18 Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face scroll sau highlight pe tabelul IV. Active financiare - 1. Conturi si depozite bancare folosind fie OCR fie prin mesaj direct catre vountar, implementat in Form

Form:

Afiseaza mesaj catre voluntar in cazul in care highlightul nu se face folosind solutie de OCR

"Va rugam introduceti informtiile de pe randul {nr_rand} completat din tabelul IV. Active Financiare - 1. Conturi si depozite bancare"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel
Dropdown pt selectie Institutie Financiara - ENUM
Dropdown pt selectie Tip cont
Dropdown pt selectie Valuta contului
Drowpdown de tip year pentru selectia anului deschiderii contului
Textbox pt introducere valoare Sold cont

Cross-Verification

Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data:
Persista urmatorul model definit in models.py
Conturi
Institutia_administrativa (ENUM)
Tip_Cont (ENUM)
Valuta (ENUM)
AnulDeschiderii (YEAR)
Sold (NUM)

[MICROTASK] Introducere numar randuri tabel 1. Venituri din salarii

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat 1. Venituri din salarii.

Acest task va popula modelul de date OwnedIncomeFromSalariesTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul 1. Venituri din salarii.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere numar randuri tabel Bunuri Mobile - Metale pretioase, bijuterii, etc

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat Bunuri Mobile - Metale pretioase, bijuterii, etc.

Acest task va popula modelul de date OwnedJewelryTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul Bunuri Mobile - Metale pretioase, bijuterii, etc.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere numar randuri tabel Bunuri Imobile - Cladiri

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat Bunuri Imobile - Cladiri.

Acest task va popula modelul de date OwnedBuildingsTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul Bunuri Imobile - Cladiri.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[DATAMODEL] Define enumeration for Tip declaratie

Declaratiile depuse de persoanele publice pot fi de doua tipuri, declaratii de avere si declaratii de interes. Acest enum trebuie sa contina valorile posibile pentru tipurile de declaratii pe care vonluntarii le digitalizeaza:

  • INTERESE
  • AVERE

[MICROTASK] Introducere numar randuri tabel 4. Venituri din investitii

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat 4. Venituri din investitii.

Acest task va popula modelul de date OwnedIncomeFromInvestmentsTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul 4. Venituri din investitii.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere numar randuri tabel Bunuri Imobile - Terenuri

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat Bunuri Imobile - Terenuri.

Acest task va popula modelul de date OwnedLandTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul Bunuri Imobile - Terenuri.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere informatii rand tabel I. Bunuri imobile - 2. Cladiri

Microtask pentru introducerea informatiilor din tabelul I. Bunuri imobile - 2. Cladiri. Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #4
Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face highlight pe tabelul I. Bunuri Imobile - 2. Cladiri prin mesaj direct catre voluntar, implementat in Form

Form:

Afiseaza mesaj catre voluntar:
"Va rugam introduceti informtiile de pe randul {nr_rand} completat din tabelul de Bunuri Imobile - Terenuri"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel

  • Dropdown pt selectie Judet - ENUM de tip Judet
  • Dropdown pt selectie Localitate - ENUM de tip Localitate
  • TextBox pt selectie Comuna
  • Dropdown pt selectie Categorie - ENUM
  • Dropdown cu ani pt selectie An dobandire
  • Dropdown pt selectie Mod dobandire - ENUM
  • Textbox pt introducere Suprafata
  • Textbox pt introducere Cota parte - trebuie limitata la 100 deoarece reprezinta procente
  • Textbox pt introducere Proprietar (Persoana)

Cross-Verification

Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data:
Se vor salva urmatoarele db objects care tb definite in models.py

Cladiri
Judet (ENUM)
Localitate (ENUM)
Comuna (STRING)
Categorie (ENUM)
An dobandire (YEAR)
Mod dobandire (ENUM)
Suprafata (NUM)
Cota Parte (NUM)
Coproprietar (PERSOANA)

Persoana
Nume (STRING)
Prenume (STRING)

[MICROTASK] Introducere numar randuri tabel 8. Venituri din alte surse

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat 8. Venituri din alte surse.

Acest task va popula modelul de date OwnedIncomeFromOtherSourcesTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul 8. Venituri din alte surse.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere numar randuri tabel 5. Venituri din pensii

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat 5. Venituri din pensii.

Acest task va popula modelul de date OwnedIncomeFromPensionsTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul 5. Venituri din pensii.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere informatii rand tabel VI. Cadouri/Servicii - sectiunea Titular

Microtask pentru introducerea informatiilor din tabelul VI. Cadouri/Servicii - Sectiunea 1.1 Titular.

Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #21

Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face scroll sau highlight pe tabelul VI. Cadouri/Servicii - sectiunea 1.1 Titular folosind fie OCR fie prin mesaj direct catre vountar, implementat in Form

Form:

Afiseaza mesaj catre voluntar in cazul in care highlightul nu se face folosind solutie de OCR

"Va rugam introduceti informtiile de pe randul {nr_rand} completat din tabelul VI. Cadouri/Servicii - sectiunea 1.1 Titular"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel
Dropdown pt selectie Relatie titular - ENUM
Textbox pt introducere Nume Persoana (Persoana)
Textbox pt introducere Prenume Persoana (Persoana)
Dropdown pt selectie Judet pt adresa - ENUM de tip Judet
Dropdown pt selectie Localitate pt adresa - ENUM de tip Localitate
Textbox pt introducere Comuna pt adresa
Textbox pt introducere Serviciu prestat
Textbox pt introducere Venit anual incasat
Dropdown pt selectie Valuta - ENUM

Cross-Verification

Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data

Se va salva acest db object care tb definit in models.py

Cadouri_servicii
Relatie_titular (ENUM)
Persoana (STRING)
Judet (ENUM)
Localitate (ENUM)
Comuna (STRING)
Serviciu_prestat (STRING)
Venit_anual_incasat (NUM)
Valuta (ENUM)

Persoana
Nume (STRING)
Prenume (STRING)

[MICROTASK] Introducere informatii rand tabel II. Bunuri mobile - 1. Autovehicule/Autoturisme

Microtask pentru introducerea informatiilor din tabelul II. Bunuri mobile - 1. Autoturisme/autovhicule. Acest microtask
trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #15
Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face highlight pe tabelul II. Bunuri Mobile - 1. Autoturisme/autovehicule prin mesaj direct catre vountar, implementat in Form

Form:

Afiseaza mesaj catre voluntar:
"Va rugam introduceti informtiile de pe randul {nr_rand} completat din tabelul de Bunuri Mobile - Autoturisme/Autovehicule"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel
Dropdown pt selectie Natura bunului - ENUM
Textbox pentru introducere Marca
TextBox pt introducere NumarBucati - permite inserarea doar de numerale
Dropdown de tip Year pentru selectia anului de fabricatie
Dropdown pt selectie ModDobandire - ENUM

Cross-Verification
Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data
Se va salva acest db object care tb definit in models.py

Bunuri_mobile
Natura (ENUM)
Marca (STRING)
NumarBucati (NUM)
AnFabricatie (YEAR)
ModDobandire (ENUM)

[MICROTASK] Introducere informatii rand tabel I. Bunuri imobile - 1. Terenuri

Microtask pentru introducerea informatiilor din tabelul I. Bunuri imobile - 1. Terenuri. Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in taskul #5 Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face scroll sau highlight pe tabelul I. Bunuri Imobile - 1. Terenuri folosind fie OCR fie prin mesaj direct catre vountar, implementat in FormForm:

Afiseaza mesaj catre voluntar in cazul in care highlightul nu se face folosind solutie de OCR

"Va rugam introduceti informtiile de pe randul {nr_rand} completat din tabelul de Bunuri Imobile - Terenuri"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel

Dropdown pt selectie Judet - ENUM de tip Judet
Dropdown pt selectie Localitate - ENUM de tip Localitate

TextBox pt selectie Comuna
Dropdown pt selectie Categorie Terenuri - ENUM
Dropown cu ani pt selectie An dobandire
Dropdown pt selectie Mod dobandire - ENUM
Textbox pt introducere Suprafata
Textbox pt introducere Cota parte - trebuie limitata la 100 deoarece reprezinta procente

Textbox pt introducere Proprietar (Persoana)

Cross-Verification

Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data:Se vor salva urmatoarele db objects care tb definite in models.py

TerenuriJudet (ENUM)
Localitate (ENUM)
Comuna (STRING)
Categorie (ENUM)
An dobandire (YEAR)
Mod dobandire (ENUM)
Suprafata (NUM)
Cota Parte (NUM)
Coproprietar (PERSOANA)

Persoana
Nume (STRING)
Prenume (STRING)

[MICROTASK] Introducere numar randuri tabel Cadouri/Servicii - Titular

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat Cadouri/Servicii - Titular.

Acest task va popula modelul de date OwnedGoodsOrServicesPerOwnerTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul Cadouri/Servicii - Titular.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[DATAMODEL] Define enumeration for Functie

Ca parte a parsarii declaratiilor de avere, avem nevoie de o enumerare care sa contina functiile posibile pe care o persoana publica le poate detine. Acestea sunt:

  • SECRETAR GENERAL
  • DEPUTAT
  • SENATOR
  • PARLAMENTAR
  • PRIM-MINISTRU
  • VICEPRIM-MINISTRU
  • MINISTRU
  • PRESEDINTE
  • PRESEDINTE CAMERA DEPUTATILOR
  • PRESEDINTE SENAT
  • CONSILIER
  • SECRETAR DE STAT
  • ALTA VALOARE

[MICROTASK] Introducere numar randuri tabel Bunuri Mobile - Valoare depaseste 3000euro

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat Bunuri Mobile - Valoare depaseste 3000euro.

Acest task va popula modelul de date OwnedExtraValuableTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul Bunuri Mobile - Valoare depaseste 3000euro.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere informatii rand tabel VII. Venituri ale declarantului, etc - sectiunea 1. Venituri din salarii

Microtask pentru introducerea informatiilor din tabelul VII. Venituri ale declarantului, etc - Sectiunea 1 Venituri din salarii. Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #24
Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face scroll sau highlight pe tabelul VII. Venituri ale declarantului si ale membrilor sai de familie - sectiunea 1. Venituri din salarii folosind fie OCR fie prin mesaj direct catre vountar, implementat in Form

Form:

Afiseaza mesaj catre voluntar in cazul in care highlightul nu se face folosind solutie de OCR

"Va rugam introduceti informtiile de pe randul {nr_rand} completat din tabelul VII. Venituri ale declarantului si ale membrilor sai de familie - sectiunea 1. Venituri din salarii"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel
Dropdown pt selectie Relatie titular - ENUM
Textbox pt introducere Nume Persoana (Persoana)
Textbox pt introducere Prenume Persoana (Persoana)
Textbox pt selectie Sursa venit
Dropdown pt selectie Judet pt adresa - ENUM
Dropdown pt selectie Localitate pt adresa - ENUM
Textbox pt introducere Comuna pt adresa
Textbox pt introducere Adresa strainatate
Textbox pt introducere Serviciu prestat
Dropdown pt introducere Functie - https://codeforromania.atlassian.net/browse/CP-40Textbox pt introducere Venit anual incasatDropdown pt selectie Valuta - https://codeforromania.atlassian.net/browse/CP-87

Cross-Verification

Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified DataSe va salva acest db object care tb definit in models.py

Venituri
Relatie_titular (ENUM)
Nume (STRING)
Prenume (STRING)
Adresa (STRING)
Sursa (ENUM)
Institutie (STRING)
Serviciu_prestat (STRING)
Suma (NUM)
Valuta (ENUM)

Persoana
Nume (STRING)
Prenume (STRING)

[DATAMODEL] Define data model for Persoana Publica entity

Declaratiile digitalizate se refera la o persoana publica. Informatia aceasta trebuie peresistata intr-un data model in backend, numit Persoana_publica si care contine urmatoarele campuri:

  • Nume (STRING) - Numele persoanei publice
  • Nume anterior (STRING) - In cazul casatoriei sau a schimbarii numelui, trebuie mentionat numele anterior
  • Initiale (STRING) - Initiale, in cazul in care numele persoanei publice contine
  • Prenume (STRING) - toate prenumele persoanei publice

[MICROTASK] Introducere numar randuri tabel 7. Venituri din premii si jocuri de noroc

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat 7. Venituri din premii si jocuri de noroc.

Acest task va popula modelul de date OwnedIncomeFromGamblingTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul 7. Venituri din premii si jocuri de noroc.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere informatii rand tabel VI. Cadouri/Servicii - sectiunea 1.3 Copii

Microtask pentru introducerea informatiilor din tabelul VI. Cadouri/Servicii - Sectiunea 1.3 Copii.

Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #23

Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face scroll sau highlight pe tabelul VI. Cadouri/Servicii - sectiunea 1.3 Copii folosind fie OCR fie prin mesaj direct catre vountar, implementat in Form

Form:

Afiseaza mesaj catre voluntar in cazul in care highlightul nu se face folosind solutie de OCR

"Va rugam introduceti informtiile de pe randul {nr_rand} completat din tabelul VI. Cadouri/Servicii - sectiunea 1.3 Copii"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel
Dropdown pt selectie Relatie titular - ENUM
Textbox pt introducere Nume Persoana (Persoana)
Textbox pt introducere Prenume Persoana (Persoana)
Dropdown pt selectie Judet pt adresa - ENUM de tip Judet
Dropdown pt selectie Localitate pt adresa - ENUM de tip Localitate
Textbox pt introducere Comuna pt adresa
Textbox pt introducere Serviciu prestat
Textbox pt introducere Venit anual incasat
Dropdown pt selectie Valuta - ENUM

Cross-Verification

Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data

Se va salva acest db object care tb definit in models.py

Cadouri_servicii
Relatie_titular (ENUM)
Persoana (STRING)
Judet (ENUM)
Localitate (ENUM)
Comuna (STRING)
Serviciu_prestat (STRING)
Venit_anual_incasat (NUM)
Valuta (ENUM)

Persoana
Nume (STRING)
Prenume (STRING)

[MICROTASK] Introducere informatii rand tabel V. Datorii

Microtask pentru introducerea informatiilor din tabelul V. Datorii.

Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #20 Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face scroll sau highlight pe tabelul V. Datorii folosind fie OCR fie prin mesaj direct catre vountar, implementat in Form

Form:

Afiseaza mesaj catre voluntar in cazul in care highlightul nu se face folosind solutie de OCR

"Va rugam introduceti informatiile de pe randul {nr_rand} completat din tabelul V. Datorii"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel
Textbox pt introducere Nume Persoana (Persoana)
Textbox pt introducere Prenume Persoana (Persoana)
Drowpdown pentru selectie Institutie financiara - ENUM
Dropdown pentru selectie tip datorie - ENUM
Dropdown de tip year pentru selectie anul Contractat
Dropdown de tip year pentru selectie anul Scandent
Textbox pentru introducere Valoare - ar tb sa accepte doar numerale
Dropdown pentru selectie Valuta - ENUM

Cross-Verification

Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data
Se va salva acest db object care tb definit in models.py

Datorii
Persoana (STRING)
Tip (ENUM)
Contactat (YEAR)
Scadent (YEAR)
Valoare (NUM)
Valuta (ENUM)

Persoana
Prenume(STRING)
Nume(STRING)

[DATAMODEL] Define enumeration for Institutie

Tip de date enumerare care sa cuprinda valorile posibile pentru Institutia in cadrul careia persoana publica isi desfasoara activitatea.
Valori posibile:

  • CAMERA DEPUTATILOR
  • SENAT
  • GUVERNUL ROMANIEI
  • PARLAMENTUL ROMANIEI
  • SECRETARIATUL GENERAL AL GUVERNULUI
  • MINISTERUL DEZVOLTARII REGIONALE SI ADMINISTRATIEI PUBLICE
  • MINISTERUL MEDIULUI
  • MINISTERUL AFACERILOR INTERNE
  • MINISTERUL AFACERILOR EXTERNE
  • MINISTERUL APĂRĂRII NAŢIONALE
  • MINISTERUL FINANŢELOR PUBLICE
  • MINISTERUL JUSTIŢIEI
  • MINISTERUL AGRICULTURII ȘI DEZVOLTĂRII RURALE
  • MINISTERUL EDUCAŢIEI NAŢIONALE
  • MINISTERUL MUNCII ȘI JUSTIȚIEI SOCIALE
  • MINISTERUL ECONOMIEI
  • MINISTERUL ENERGIEI
  • MINISTERUL TRANSPORTURILOR
  • MINISTERUL FONDURILOR EUROPENE
  • MINISTERUL PENTRU MEDIUL DE AFACERI, COMERȚ ȘI ANTREPRENORIAT
  • MINISTERUL SĂNĂTĂŢII
  • MINISTERUL CULTURII ȘI IDENTITĂȚII NAȚIONALE
  • MINISTERUL APELOR ȘI PĂDURILOR
  • MINISTERUL CERCETĂRII ȘI INOVĂRII
  • MINISTERUL COMUNICAȚIILOR ȘI SOCIETAȚII INFORMAŢIONALE
  • MINISTERUL TINERETULUI ȘI SPORTULUI
  • MINISTERUL TURISMULUI
  • MINISTERUL PENTRU ROMÂNII DE PRETUTINDENI
  • MINISTERUL PENTRU RELAŢIA CU PARLAMENTUL
  • ALTA VALOARE

[MICROTASK] Introducere informatii rand tabel IV. Active financiare - 2. Plasamente, investitii directe si imprumuturi acordate

Microtask pentru introducerea informatiilor din tabelul IV. Active financiare - 2. Plasamente, investitii directe si imprumuturi acordate. Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #19 Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face scroll sau highlight pe tabelul IV. Active Financiare - 2. Plasamente, investitii directe si imprumuturi acordate folosind fie OCR fie prin mesaj direct catre vountar, implementat in Form

Form:

Afiseaza mesaj catre voluntar in cazul in care highlightul nu se face folosind solutie de OCR

"Va rugam introduceti informtiile de pe randul {nr_rand} completat din tabelul IV. Active Financiare - Plasamente, investitii directe si imprumuturi acordate"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel
Textbox pt inserare Societate comerciala/Emitent
Textbox pt inserare nume SRL
Textbox pt introducere Nume Persoana (Persoana)
Textbox pt introducere Prenume Persoana (Persoana)
Textbox pt inserare Descriere
Dropdown pt selectie Tip plasament - ENUM
TextBox pt inserare cota participare - trebuie sa accepte doar numerale
Textbox pt inserare valoare plasament
Dropdown pt selectie Valuta - ENUM

Cross-Verification

Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data:
Persista urmatorul model definit in models.py
Plasamente_investitii
SocietateComerciala (STRING)
SRL (STRING)
PersoanaFizica (PERSOANA)
Descriere (STRING)
Tip (ENUM)
CotaParticipare (NUM)
Valoare (NUM)
Valuta (ENUM)

[DATAMODEL] Define enumeration for Institutie Financiara

Enumeratie care sa contina toate valorile pentru institutiile financiare ce apar in declaratiile persoanelor publice, trebuie sa contina aceste valori:

  • ALPHA BANK
  • BANCA COMERCIALĂ ROMÂNĂ (OF THE ERSTE GROUP)
  • BANCA ROMÂNEASCĂ (OF THE NATIONAL BANK OF GREECE GROUP)
  • BANCPOST (OF THE EUROBANK ERGASIAS GROUP)
  • BANK LEUMI
  • BRD – GROUPE SOCIÉTÉ GÉNÉRALE
  • CRÉDIT AGRICOLE (FORMERLY EMPORIKI BANK)
  • CREDIT EUROPE BANK
  • GARANTI BANK
  • IDEA BANK (FORMERLY ROMANIAN INTERNATIONAL BANK)
  • INTESA SANPAOLO
  • MARFIN BANK (FORMERLY EGNATIA BANK)
  • OTP BANK
  • PIRAEUS BANK
  • PORSCHE BANK
  • PROCREDIT BANK
  • RAIFFEISEN BANK
  • UNICREDIT BANK
  • BANCA COMERCIALA FEROVIARA
  • BANCA ROMANA DE CREDITE SI INVESTITII (FORMERLY ATEBANK ROMANIA)
  • BANCA TRANSILVANIA
  • CEC BANK
  • LIBRA INTERNET BANK
  • PATRIA BANK
  • EXIMBANK (EXPORT-IMPORT BANK OF ROMANIA)
  • ING BANK N.V. (OF ING GROUP)
  • BNP PARIBAS PERSONAL FINANCE

[MICROTASK] Introducere informatii rand tabel III. Bunuri mobile - valorea depaseste 3000EUR

Microtask pentru introducerea informatiilor din tabelul III. Bunuri mobile - Valoare depaseste 3000EUR. Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #17

Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face scroll sau highlight pe tabelul III. Bunuri mobile - Valoare depaseste 3000EUR folosind fie OCR fie prin mesaj direct catre vountar, implementat in Form

Form:

Afiseaza mesaj catre voluntar in cazul in care highlightul nu se face folosind solutie de OCR

"Va rugam introduceti informatiile de pe randul {nr_rand} completat din tabelul de Bunuri mobile - Valoare depaseste 3000EUR"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel
Textbox pt selectie Natura bun
Dropdown pentru selectie Judet - ENUM
Dropdown pentru selectie Localitate - ENUM
TextBox pt selectie Comuna
Camp de tip Date pt inregistrare data instrainare
Textbox pt introducere Nume Proprietar (Persoana)
Textbox pt introducere Prenume Proprietar (Persoana)
Dropdown pt selectie Forma instrainare - ENUM
Textbox pt camp de tip Valoare - accepta doar numerale
Dropdown pt camp de tip Valuta - ENUM

Cross-Verification
Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data

Se vor salva urmatoarele db objects care tb definite in models.py
Bunuri_mobile_instrainate
Natura (STRING)
Judet (ENUM)
Localitate (ENUM)
Comuna (STRING)
Data (DATE)
Persoana (PERSOANA)
Forma_Instrainarii (ENUM)
Valoare (NUM)
Valuta (ENUM)

[MICROTASK] Microtask pentru introducere date identificare declaratie

Implementare microtask pt date identificare declaratieMicrotaskul ar tb sa primeasca ca si argument locatia pdf ului.Presenter:

Va afisa pdf ul, scroll pe prima pagina a pdf ului, eventual highlight pe prima pagina a declaratiei

Form:

Va afisa un mesaj catre voluntar, pentru gasirea campurilor si introducerea lor in text boxesVa rugam introduceti datele de identificare, aflate pe prima pagina a declaratiei de avere, intoducand date despre tipul de declaratie(https://codeforromania.atlassian.net/browse/CP-41), numele si prenumele persoanei publice (Subsemnatul/Subsemnata), data declaratiei de avere (Stanga/Dreapta sus), functia detinuta de persoana publica (https://codeforromania.atlassian.net/browse/CP-40) si institutia (https://codeforromania.atlassian.net/browse/CP-39) (dupa campul “avand functia de”)

Va afisa un form simplu, care va avea urmatoarele campuri:nume, nume precedent, initiale, prenume, functie, institutie, data, tip declaratie

Cross-Verification

Pentru fiecare field vom verifica egalitatea ca si metoda de verificare a corectitudinii

Save Verified Data

Se vor salva urmatoarele db objects care tb definite in models.py
Persoana_publica
Nume (STRING)
Nume anterior (STRING)
Initiale (STRING)
Prenume (STRING)

Declaratie

Functie (ENUM)
Data (DATE)
Institutie (ENUM)
Tip declaratie (ENUM)

[MICROTASK] Introducere numar randuri tabel Datorii

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat Datorii.

Acest task va popula modelul de date OwnedDebtsTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul Datorii.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere numar randuri tabel Active Financiare - Conturi si depozite bancare

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat Active Financiare - Conturi si depozite bancare.

Acest task va popula modelul de date OwnedBankAccountsTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul Active Financiare - Conturi si depozite bancare.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere informatii rand tabel I. Bunuri imobile - 1. Terenuri

Microtask pentru introducerea informatiilor din tabelul I. Bunuri imobile - 1. Terenuri. Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #5
Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face highligh pe tabelul I. Bunuri Imobile - 1. Terenuri prin mesaj direct catre vountar, implementat in Form
Form:

Afiseaza mesaj catre voluntar:
"Va rugam introduceti informatiile de pe randul {nr_rand} completat din tabelul de Bunuri Imobile - Terenuri"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel

  • Dropdown pt selectie Judet - ENUM pentru Judet
  • Dropdown pt selectie Localitate - ENUM de tip Localitate
  • TextBox pt selectie Comuna
  • Dropdown pt selectie Categorie Terenuri - ENUM
  • Dropdown cu ani pt selectie An dobandire - ENUM de tip An
  • Dropdown pt selectie Mod dobandire - ENUM
  • Textbox pt introducere Suprafata
  • Textbox pt introducere Cota parte - trebuie limitata la 100 deoarece reprezinta procente
  • Textbox pt introducere Proprietar (Persoana)

Cross-Verification

Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data:
Se vor salva urmatoarele db objects care tb definite in models.py

Terenuri
Judet (ENUM)
Localitate (ENUM)
Comuna (STRING)
Categorie (ENUM)
An dobandire (YEAR)
Mod dobandire (ENUM)
Suprafata (NUM)
Cota Parte (NUM)
Coproprietar (PERSOANA)

Persoana
Nume (STRING)
Prenume (STRING)

[MICROTASK] Introducere numar randuri tabel Cadouri/Servicii - Copii

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat Cadouri/Servicii - Copii.

Acest task va popula modelul de date OwnedGoodsOrServicesPerChildTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul Cadouri/Servicii - Copii.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[DATAMODEL] Define data model for Declaratie entity

Pentru fiecare persoana publica, vor fi un numar de declaratii ce trebuie digitalizate. Pentru a putea identifica fiecare din aceste declaratii, ele vor avea o meta data ce descrie respectiva declaratie, ca si model de date acesta se va numi Declaratie si va contine urmatoarele campuri:

  • Functie (ENUM) - Functia pe care persoana publica o detine in momentul completarii respectivei declaratii de avere
  • Data (DATE) - data la care a fost completata declaratia de avere, data trebuie sa fie in format standard - ISO8601 - YYYY-MM-DD
  • Institutie (ENUM) - Institutia la care era angajat in momentul completarii declaratiei
  • Tip declaratie (ENUM) - tipul de declaratie completat, de avere sau de interese

[MICROTASK] Introducere numar randuri tabel Cadouri/Servicii - Sot/Sotie

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat Cadouri/Servicii - Sot/Sotie.

Acest task va popula modelul de date OwnedGoodsOrServicesPerSpouseTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul Cadouri/Servicii - Sot/Sotie.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere informatii rand tabel II. Bunuri mobile - 2. Bunuri metale pretioase/bijuterii

Microtask pentru introducerea informatiilor din tabelul I. Bunuri mobile - 2. Bunuri metale pretioase, bijuterii. Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #16 Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:Afiseaza pdf ul, se face scroll sau highlight pe tabelul II. Bunuri mobile - 2. Bunuri sub forma de metale pretioase, bijuterii, etc. folosind fie OCR fie prin mesaj direct catre vountar, implementat in Form

Form:

Afiseaza mesaj catre voluntar in cazul in care highlightul nu se face folosind solutie de OCR

"Va rugam introduceti informatiile de pe randul {nr_rand} completat din tabelul de Bunuri mobile - Bunuri sub forma de metale pretioase, bijuterii, etc"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel
Textbox pt introducere Descriere bun
Dropdown de tip year pt selectie Anul dobandirii
TextBox pt introducere Valoare estimata
Dropdown pt selectie Valuta - ENUM

Cross-Verification

Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data
Se va salva acest db object care tb definit in models.py

Bunuri_imobile
Descriere (STRING)
AnulDobandirii (YEAR)
ValoareEstimata (NUM)
Valuta (ENUM)

[MICROTASK] Introducere numar randuri tabel 3. Venituri din cedarea folosintei bunurilor

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat 3. Venituri din cedarea folosintei bunurilor.

Acest task va popula modelul de date OwnedIncomeFromDeferredUseOfGoodsTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul 3. Venituri din cedarea folosintei bunurilor.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere numar randuri tabel Active Financiare - Plasamente/Investitii directe

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat Active Financiare - Plasamente/Investitii directe.

Acest task va popula modelul de date OwnedInvestmentsTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul Active Financiare - Plasamente/Investitii directe.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere numar randuri tabel 6. Venituri din activitati agricole

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat 6. Venituri din activitati agricole.

Acest task va popula modelul de date OwnedIncomeFromAgriculturalActivitiesTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul 6. Venituri din activitati agricole.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere numar randuri tabel Bunuri Mobile - Autovehicule/Autoturisme

Scop: un task în care utilizatorul este rugat să introducă numărul de rânduri din tabelul intitulat Bunuri Mobile - Autovehicule/Autoturisme.

Acest task va popula modelul de date OwnedAutomobileTable din models.py.

În UI, acest task va cere utilizatorului să introducă doar numărul de rânduri completate (care conțin informație) din tabelul Bunuri Mobile - Autovehicule/Autoturisme.

Un task nou se adaugă în tasks.py.
Orice task nou moștenește AbstractTask.
Pentru referință, urmăriți modelul lui TaskGetInitialInformation.
Orice task nou are atributele:

  • task_form - definește structura form-urilor de completat din UI, se populează în forms.py
  • template_name - un template HTML care definește structura paginii din UI.

Orice task nou trebuie să definească metodele:

  • create_mocked_task (va genera un task de test - pentru debugging)
  • get_presenter (poate fi luată cu copy/paste metoda din TaskGetInitialInformation)
  • save_verified_data (primește ca parametru verified_data, un dicționar care are ca și chei numele variabilelor din task_form-ul corespunzător - acest dicționar va fi folosit pentru a popula model-ul asociat)
  • after_save (metodă folosită pentru a link-ui task-uri - poate fi lăsată fără implementare)

[MICROTASK] Introducere informatii rand tabel VI. Cadouri/Servicii - sectiunea 1.2 Sot/Sotie

Microtask pentru introducerea informatiilor din tabelul VI. Cadouri/Servicii - Sectiunea 1.2 Sot/Sotie.

Acest microtask trebuie generat pentru fiecare rand din tabelul de mai sus. Acest microtask trebuie generat in metoda de after_save in cadrul taskului definit in #22

Microtaskul va primi ca si parametru numarul randului din tabelul mai sus mentionat. Implementarea microtaskului va contine:

Presenter:

Afiseaza pdf ul, se face scroll sau highlight pe tabelul VI. Cadouri/Servicii - sectiunea 1.2 Sot/Sotie folosind fie OCR fie prin mesaj direct catre vountar, implementat in Form

Form:

Afiseaza mesaj catre voluntar in cazul in care highlightul nu se face folosind solutie de OCR

"Va rugam introduceti informtiile de pe randul {nr_rand} completat din tabelul VI. Cadouri/Servicii - sectiunea 1.2 Sot/sotie"

Afiseaza urmatoarele elemente care trebuie completate de catre voluntar din informatiile din tabel
Dropdown pt selectie Relatie titular - ENUM
Textbox pt introducere Nume Persoana (Persoana)
Textbox pt introducere Prenume Persoana (Persoana)
Dropdown pt selectie Judet pt adresa - ENUM de tip Judet
Dropdown pt selectie Localitate pt adresa - ENUM de tip Localitate
Textbox pt introducere Comuna pt adresa
Textbox pt introducere Serviciu prestat
Textbox pt introducere Venit anual incasat
Dropdown pt selectie Valuta - ENUM

Cross-Verification

Pt fiecare din campuri vom avea criteriul de verificare si acceptare ca fiind egalitatea valorilor introduse de voluntari

Save Verified Data
Se va salva acest db object care tb definit in models.py

Cadouri_servicii
Relatie_titular (ENUM)
Persoana (STRING)
Judet (ENUM)
Localitate (ENUM)
Comuna (STRING)
Serviciu_prestat (STRING)
Venit_anual_incasat (NUM)
Valuta (ENUM)

Persoana
Nume (STRING)
Prenume (STRING)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.