Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add general agenda app #608

Draft
wants to merge 27 commits into
base: master
Choose a base branch
from
Draft

Add general agenda app #608

wants to merge 27 commits into from

Conversation

Laykou
Copy link
Collaborator

@Laykou Laykou commented Oct 7, 2023

Pridanie aplikacie "Všeobecná agenda" - #566

Ako to funguje

Vsebecna agenda sa da otvorit bez nicoho:

image

Alebo zadefinovana s:

  • titulok
  • popis (podnadpis)
  • predvyplneny predmet
  • predvyplneny text
  • ci sa tato sprava musi podpisat
  • subory
  • nazov, co sa ocakava
  • popis
  • ci je povinny
  • ci sa musi podpisat

Button, ktory otvori nakonfigurovanu agendu

<form action="/aplikacie/vseobecna-agenda" method="POST">
  <input type="hidden" name="title" value="Vratenie spravneho poplatku">
  <input type="hidden" name="description" value="V tomto formulari popiste o co ziadate.... ">

  <input type="hidden" name="subject_placeholder" value="Vratenie spravneho poplatku">
  <input type="hidden" name="text_placeholder" value="Vazeny urad,

ja {MENO} ziadam o vratenie {SUMA} EUR za dokumenty v prilohe.

Dakujem">

  <input type="hidden" name="signed_required" value="1">

  <input type="hidden" name="attachments_template[][name]" value="Vypis z uctu">
  <input type="hidden" name="attachments_template[][description]" value="Sem prilozte vypis z uctu">
  <input type="hidden" name="attachments_template[][required]" value="1">
  <input type="hidden" name="attachments_template[][signed_required]" value="1">

  <input type="hidden" name="attachments_template[][name]" value="xxxx">
  <input type="hidden" name="attachments_template[][description]" value="Sem prilozte fotku z rodneho listu">
  <input type="hidden" name="attachments_template[][required]" value="1">
  <input type="hidden" name="attachments_template[][signed_required]" value="1">

  <input type="hidden" name="attachments_template[][name]" value="Obciansky">
  <input type="hidden" name="attachments_template[][required]" value="0">

  <input type="hidden" name="attachments_template[][name]" value="Faktura">
  <input type="hidden" name="attachments_template[][required]" value="0">
  <input type="hidden" name="attachments_template[][signed_required]" value="1">
  
  <button class="govuk-button govuk-!-margin-top-6">Poziadat o vratenie spravneho poplatku</button>
</form>

image

Takto to vyzera:

image

Je tam validacia, ci ten template je spravny (ci niekto nespravil chybu v konfiguracii, napr. chyba nazov prilohy). Vtedy sa formular ani nezobrazi:

image

Validacia v prvom kroku:

  • vyplnene vsetky polia
  • placeholdery su nahradene
    • placeholder je text medzi {NIECO} bez medzier, cize napr: {MENO}, {VASE_MENO}, {ADRESA_2}
  • povinne subory su uploadnute

image

Ak sa subor uploadne, ale nastane chyba, subor ostava uploadnuty. Da sa prepisat, alebo netreba robit nic a vtedy tam ostava. Toto by trebalo este trosku UX doladit:

image

Pokial treba podpisat aj celu spravu, svieti tam navyse tento info box:

image

Po odoslani su na podpis (UPVS Submission) tie veci, ktore trebalo podpisat su na podpisanie:

  • cela sprava
  • jednotlive prilohy

image

Pocas podpisovania sa priebezne aktualizuju na "Podpisane" + je mozne refreshnut stranku a ten stav je zapamatany:

image

image

Na konci je vsetko podpisane:

image

❗ Realne odoslanie na UPVS (staging) sme netestovali kvoli nedostupnosti UPVS.

Callback po odoslani na UPVS:

image

TODOs:

  • ❗ Zmigrovať pôvodný form atribút na nové použitie ActiveStorage
  • Vyhladavanie prijimatela
  • Formulár pre vybratie prijimatela, predmetu, spravy
  • Vyber prilohy vo formulari
  • Podpisanie spravy (XML) a priloh
  • Hromadné podpísanie súborov
  • Generovanie XMLka pre ÚPVS Submission
  • Otestovanie odoslania podania na ÚPVS FIX
  • Pridat job na mazanie nevyuzitych blobov
  • Schedulovat job na mazanie ⬆️
  • Validácia pred odoslaním podania (či je podpísané to, čo podpísané musí byť)
  • Validácia placeholders v GeneralAgenda predmete - { }
  • Pri validačnej chybe nezostane zvolený prijímateľ
  • Ak nie je uploadnutá povinná príloha, pri validácii nie je konkrétna príloha označená červenou
  • Špeciálny HTML tag pre všeobecnú agendu
  • Spinner keď sa čaká na autogram (kým otvorí súbor na podpísanie)
  • Upraviť callbackový view
  • Moznosť pridať ľubovolný súbor ako prilohu (nie len predvyplnené)

Michal Hájek and others added 21 commits October 7, 2023 10:24
…digital into feature/upvs_submissions_signing

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
…-digital/navody.digital into add-general-agenda-app

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
module Apps
module GeneralAgendaApp
class GeneralAgendaController < ApplicationController
skip_forgery_protection only: [:index]

Check failure

Code scanning / CodeQL

CSRF protection weakened or disabled High

Potential CSRF vulnerability due to forgery protection being disabled or weakened.
@luciajanikova
Copy link
Member

luciajanikova commented Apr 27, 2024

Bude potrebne navrhnut:

  • Ako ma vyzerat hromadne podpisovanie
  • Ako ma byt v tabulke oznacena chybajuca povinna priloha
  • Text pre callbackovy view (obrazovka, ktora sa zobrazi, po odoslani podania)
  • Pridanie ľubovoľného súboru

@luciajanikova
Copy link
Member

Implementacne TODOs:

  • Určovanie, či je príloha podpísaná nefunguje - podpísaný súbor je označený ako nepodpísaný
  • Hromadné podpísanie súborov
  • Validácia pred odoslaním podania (či je podpísané to, čo podpísané musí byť)
  • Pri validačnej chybe nezostane zvolený prijímateľ
  • Ak nie je uploadnutá povinná príloha, pri validácii nie je konkrétna príloha označená červenou
  • Špeciálny HTML tag pre všeobecnú agendu
  • Spinner keď sa čaká na autogram (kým otvorí súbor na podpísanie) - nie je nevyhnutné podľa mňa
  • Moznosť pridať ľubovolný súbor ako prilohu (nie len predvyplnené) - je navrhnuté vo figme

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants