2.2 KiB
2.2 KiB
US05 - Editar Horário e Dias de Turno (Admin)
Como Administrador ou Gestor de Turnos do RefoodOne Quero editar o horário (horas de início e fim) e os dias da semana de um turno específico Para adaptar o funcionamento das entregas conforme a disponibilidade dos voluntários e as necessidades da Refood PdN.
Descrição do Fluxo
O utilizador clica no botão "Editar" de um turno específico na listagem de turnos (US04). É apresentado um formulário pré-preenchido onde pode alterar a hora de início, a hora de fim e selecionar/deselecionar os dias da semana em que o turno é realizado.
Critérios de Aceitação
1. Interface Gráfica (UI)
- Campos do Formulário:
- Identificador (Apenas leitura/desativado, ex: "T1")
- Hora de Início (Obrigatório, seletor de tempo no formato HH:MM)
- Hora de Fim (Obrigatório, seletor de tempo no formato HH:MM)
- Dias da Semana (Obrigatório, checkboxes permitindo selecionar múltiplos dias, ex: Segunda a Domingo)
- Botões de Ação:
- Guardar (Submete o formulário e grava as alterações)
- Cancelar (Volta para a listagem sem guardar)
2. Comportamento e Regras de Negócio
- Apenas utilizadores com as funções de Admin ou Gestor de Turnos podem aceder a este ecrã e guardar alterações.
- Validações:
- A hora de fim deve ser posterior à hora de início.
- A duração configurada deve respeitar as regras do sistema (ex: 2 horas por turno por defeito, ou emitir um aviso/validação caso não seja).
- Pelo menos um dia da semana deve ser selecionado (não é permitido ter um turno ativo sem dias associados).
- Redirecionamento:
- Após guardar com sucesso, redirecionar para a listagem de turnos (US04) com uma mensagem de sucesso em PT-PT (ex: "Horário do turno guardado com sucesso").
- Clicar em Cancelar redireciona de volta para a listagem (US04) sem efetuar qualquer alteração.
3. Integração de Dados / Segurança
- As alterações de horário e dias devem ser guardadas com segurança na base de dados SQLite através do Drizzle ORM.
- O processamento da ação do formulário deve ocorrer no servidor (
+page.server.tsactions).