Skip to content

Vytvoření hostujícího/přestupujícího člena s ručním zadáním registračního čísla #262

@dapolach

Description

@dapolach

Vytvoření hostujícího/přestupujícího člena s ručním zadáním registračního čísla

Kontext

Při přestupu člena z jiného klubu je žádoucí zachovat jeho původní registrační číslo (4 číslice), pouze změnit klubový kód (první 3 znaky). To vyžaduje možnost ručního zadání registračního čísla místo automatického generování.

Požadavky z issue #3

Z poznámky v use case:

"XXXYYDD - XXX klub, rok, poradi v roce (zvazit generovani, nutne mit moznost zadat rucne kvuli prestupum. Kdyz nekdo prestupuje k nam, tak se snazi pouzit jeho '4 cisla' jen se ZBM. Vzdy pouzit nove reg. cislo - nerecyklovat stare)"

Funkční požadavky

Use case: Přestup člena z jiného klubu

Preconditions:

  • Uživatel má oprávnění MEMBERS:CREATE
  • Člen přestupuje z jiného klubu a má registrační číslo z předchozího klubu

Scenario:

  1. Uživatel otevře formulář pro vytvoření nového člena
  2. Vyplní osobní údaje přestupujícího člena
  3. Zaškrtne checkbox "Přestupující člen / ruční zadání reg. čísla"
  4. Pole pro registrační číslo se změní z disabled → enabled
  5. Uživatel zadá registrační číslo ručně (např. ZBM0512 pro člena s původním číslem ABC0512)
  6. Systém validuje:
    • Formát XXXYYDD
    • Unikátnost v databázi
    • Club code (XXX) odpovídá aktuálnímu klubu
  7. Člen je vytvořen s ručně zadaným registračním číslem

Akceptační kritéria

  • Formulář pro vytvoření člena obsahuje checkbox "Ruční zadání registračního čísla"
  • Při zaškrtnutí checkboxu se pole pro reg. číslo stane editovatelné
  • Bez zaškrtnutí checkboxu se reg. číslo generuje automaticky (stávající chování)
  • Validace ručně zadaného čísla:
    • Formát XXXYYDD (regex ^[A-Z0-9]{3}\d{4}$)
    • Unikátnost v DB (stejně jako u generovaného)
    • Club code musí odpovídat konfigurovanému klubu (${klabis.club.code})
  • Chybové hlášky při nevalidním vstupu:
    • "Registrační číslo musí být ve formátu XXXYYDD"
    • "Registrační číslo už existuje"
    • "Klubový kód musí být {actualClubCode}"

Bezpečnostní poznámky

  • Možnost omezit ruční zadání na určité role (např. MEMBERS:CREATE)

Související issues


Priorita: Medium (nice-to-have pro zlepšení UX při přestupech)

Metadata

Metadata

Assignees

No one assigned

    Labels

    MembersSpráva členů, profily, kontakty a osobní údajeenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions