From 17453f5d13b5fc1d291456b2ff39f8166b8f892e Mon Sep 17 00:00:00 2001 From: Stefano Date: Tue, 13 Jan 2026 11:20:12 +0100 Subject: [PATCH] Primo commit --- .dockerignore | 20 + CLAUDE.md | 253 ------------- Caddyfile.snippet | 13 + DEPENDENCIES.md | 27 ++ Dockerfile | 5 +- README.md | 332 +++++++++-------- app/config.py | 23 +- app/routes/auth.py | 27 +- app/routes/managers.py | 41 ++- app/routes/offices.py | 500 +++++++++++++++++++++++++ app/routes/parking.py | 169 ++++++--- app/routes/presence.py | 290 ++++----------- app/routes/users.py | 205 ++++------- compose.yml | 9 +- create_test_db.py | 132 ------- database/models.py | 180 ++++++--- deploy/Caddyfile.snippet | 8 - deploy/DEPLOY.md | 219 ----------- deploy/compose.production.yml | 32 -- frontend/assets/parking-map.png | Bin 0 -> 805077 bytes frontend/css/styles.css | 79 +++- frontend/js/admin-offices.js | 167 +++++++++ frontend/js/admin-users.js | 130 ++++--- frontend/js/api.js | 4 +- frontend/js/modal-logic.js | 188 ++++++++++ frontend/js/nav.js | 16 +- frontend/js/parking-settings.js | 226 ++++++++++++ frontend/js/presence.js | 471 ++++++++++++++++-------- frontend/js/team-calendar.js | 404 ++++++++++++-------- frontend/js/team-rules.js | 527 ++++++++++++++------------- frontend/js/utils.js | 43 ++- frontend/pages/admin-offices.html | 113 ++++++ frontend/pages/admin-users.html | 86 ++--- frontend/pages/landing.html | 22 +- frontend/pages/login.html | 13 +- frontend/pages/parking-settings.html | 155 ++++++++ frontend/pages/presence.html | 299 ++++++++++----- frontend/pages/profile.html | 65 ++-- frontend/pages/register.html | 17 +- frontend/pages/settings.html | 81 ++-- frontend/pages/team-calendar.html | 123 ++++--- frontend/pages/team-rules.html | 196 +++++----- main.py | 66 +++- requirements.txt | 19 +- run_notifications.py | 32 -- services/auth.py | 7 +- services/notifications.py | 85 +++-- services/parking.py | 234 +++++++----- utils/auth_middleware.py | 7 +- utils/helpers.py | 3 +- utils/promote_admins.py | 28 ++ 51 files changed, 3883 insertions(+), 2508 deletions(-) create mode 100644 .dockerignore delete mode 100644 CLAUDE.md create mode 100644 Caddyfile.snippet create mode 100644 DEPENDENCIES.md create mode 100644 app/routes/offices.py delete mode 100644 create_test_db.py delete mode 100644 deploy/Caddyfile.snippet delete mode 100644 deploy/DEPLOY.md delete mode 100644 deploy/compose.production.yml create mode 100644 frontend/assets/parking-map.png create mode 100644 frontend/js/admin-offices.js create mode 100644 frontend/js/modal-logic.js create mode 100644 frontend/js/parking-settings.js create mode 100644 frontend/pages/admin-offices.html create mode 100644 frontend/pages/parking-settings.html delete mode 100644 run_notifications.py create mode 100644 utils/promote_admins.py diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a2e058f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,20 @@ +__pycache__ +*.pyc +*.pyo +*.pyd +.Python +env/ +venv/ +.venv/ +pip-log.txt +pip-delete-this-directory.txt +.env +.env.example +.git/ +.gitignore +data/ +.vscode/ +.idea/ +coverage.xml +*.coverage +.pytest_cache/ diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index 65d9a80..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,253 +0,0 @@ -# CLAUDE.md - Project Intelligence - -## Project Overview - -**Org-Parking** is a manager-centric parking spot management system for organizations. It features fair parking assignment based on presence/parking ratio, supporting both standalone JWT authentication and Authelia/LLDAP SSO integration. - -### Technology Stack -- **Backend:** FastAPI + SQLAlchemy + SQLite -- **Frontend:** Vanilla JavaScript (no frameworks) -- **Auth:** JWT tokens + Authelia SSO support -- **Containerization:** Docker + Docker Compose -- **Rate Limiting:** slowapi - -### Architecture -``` -app/ -├── config.py → Configuration with logging and validation -└── routes/ → API endpoints (auth, users, managers, presence, parking) -services/ → Business logic (parking algorithm, auth, notifications) -database/ → SQLAlchemy models and connection -frontend/ → Static HTML pages + JS modules -utils/ -├── auth_middleware.py → JWT/Authelia authentication -└── helpers.py → Shared utility functions -``` - -## Build & Run Commands - -```bash -# Development -SECRET_KEY=dev-secret-key python -m uvicorn main:app --reload --host 0.0.0.0 --port 8000 - -# Docker -docker compose up -d - -# Dependencies -pip install -r requirements.txt - -# Initialize test database -python create_test_db.py -``` - -## Code Style & Conventions - -### Python -- FastAPI async patterns with `Depends()` for dependency injection -- Pydantic models for request/response validation -- SQLAlchemy ORM (no raw SQL) -- Use `generate_uuid()` from `utils.helpers` for UUIDs -- Use `config.logger` for logging (not print statements) -- Dates stored as TEXT in "YYYY-MM-DD" format - -### JavaScript -- ES6 modules with centralized API client (`/js/api.js`) -- Token stored in localStorage, auto-included in requests -- Utility functions in `/js/utils.js` -- Role-based navigation in `/js/nav.js` - -### Authentication -- Dual mode: JWT tokens (standalone) or Authelia headers (SSO) -- LDAP users have `password_hash = None` -- Use helper: `is_ldap_user(user)` from `utils.helpers` - -### Utility Functions (`utils/helpers.py`) -```python -from utils.helpers import ( - generate_uuid, # Use instead of str(uuid.uuid4()) - is_ldap_user, # Check if user is LDAP-managed - is_ldap_admin, # Check if user is LDAP admin - validate_password, # Returns list of validation errors - format_password_errors, # Format errors into user message - get_notification_default # Get setting value with default -) -``` - ---- - -## Configuration (`app/config.py`) - -Configuration is environment-based with required validation: - -### Required -- `SECRET_KEY` - **MUST** be set (app exits if missing) - -### Security -- `RATE_LIMIT_REQUESTS` - Requests per window (default: 5) -- `RATE_LIMIT_WINDOW` - Window in seconds (default: 60) - -### Email (org-stack pattern) -- `SMTP_ENABLED` - Set to `true` to enable SMTP sending -- When disabled, emails are logged to `EMAIL_LOG_FILE` -- Follows org-stack pattern: direct send with file fallback - -### Logging -- `LOG_LEVEL` - DEBUG, INFO, WARNING, ERROR (default: INFO) -- Use `config.logger` for all logging - ---- - -## Notifications (`services/notifications.py`) - -Simplified notification service following org-stack pattern: - -```python -from services.notifications import ( - send_email, # Direct send or file fallback - notify_parking_assigned, # When spot assigned - notify_parking_released, # When spot released - notify_parking_reassigned, # When spot reassigned - send_presence_reminder, # Weekly presence reminder - send_weekly_parking_summary, # Friday parking summary - send_daily_parking_reminder, # Daily parking reminder - run_scheduled_notifications # Called by cron/scheduler -) -``` - -### Email Behavior -1. If `SMTP_ENABLED=true`: Send via SMTP -2. If SMTP fails or disabled: Log to `EMAIL_LOG_FILE` -3. Never throws - always returns success/failure - ---- - -## Recent Improvements - -### Security Enhancements -- **Required SECRET_KEY**: App exits if not set -- **Rate limiting**: Login/register endpoints limited to 5 req/min -- **Password validation**: Requires uppercase, lowercase, number, 8+ chars -- **Proper logging**: All security events logged - -### Performance Optimizations -- **Fixed N+1 queries** in: - - `list_users()` - Batch query for manager names and counts - - `list_managers()` - Batch query for managed user counts - - `get_manager_guarantees()` - Batch query for user names - - `get_manager_exclusions()` - Batch query for user names - -### Code Consolidation -- **Utility functions** (`utils/helpers.py`): - - `generate_uuid()` - Replaces 50+ `str(uuid.uuid4())` calls - - `is_ldap_user()` - Replaces 4+ duplicated checks - - `validate_password()` - Consistent password validation -- **Simplified notifications** - Removed queue system, direct send - -### Logging Improvements -- Centralized logging via `config.logger` -- Replaced `print()` with proper logging -- Security events logged (login, password change, etc.) - ---- - -## API Quick Reference - -### Authentication -- `POST /api/auth/register` - Create user (rate limited) -- `POST /api/auth/login` - Get JWT token (rate limited) -- `GET /api/auth/me` - Current user (JWT or Authelia) - -### Presence -- `POST /api/presence/mark` - Mark single day -- `POST /api/presence/mark-bulk` - Mark multiple days -- `GET /api/presence/team` - Team calendar with parking - -### Parking -- `POST /api/parking/manual-assign` - Manager assigns spot -- `POST /api/parking/reassign-spot` - Reassign existing spot -- `GET /api/parking/eligible-users/{id}` - Users for reassignment - -### Manager Settings -- `GET/POST/DELETE /api/managers/closing-days` -- `GET/POST/DELETE /api/managers/weekly-closing-days` -- `GET/POST/DELETE /api/managers/guarantees` -- `GET/POST/DELETE /api/managers/exclusions` - ---- - -## Development Notes - -### Adding a New Route -1. Create file in `app/routes/` -2. Use `APIRouter(prefix="/api/...", tags=["..."])` -3. Register in `main.py`: `app.include_router(...)` -4. Add auth dependency: `current_user: User = Depends(get_current_user)` -5. Use `config.logger` for logging -6. Use `generate_uuid()` for new records - -### Database Changes -No migration system (Alembic) configured. Schema changes require: -1. Update [database/models.py](database/models.py) -2. Delete SQLite file or write manual migration -3. Run `create_test_db.py` for fresh database - -### Email Testing -With `SMTP_ENABLED=false`, check email log: -```bash -tail -f /tmp/parking-emails.log -``` - -### Running Scheduled Notifications -Add to cron or systemd timer: -```bash -# Every 5 minutes -*/5 * * * * cd /path/to/org-parking && python -c " -from database.connection import get_db -from services.notifications import run_scheduled_notifications -db = next(get_db()) -run_scheduled_notifications(db) -" -``` - ---- - -## File Quick Links - -| Purpose | File | -|---------|------| -| Main entry | [main.py](main.py) | -| Configuration | [app/config.py](app/config.py) | -| Database models | [database/models.py](database/models.py) | -| Parking algorithm | [services/parking.py](services/parking.py) | -| Notifications | [services/notifications.py](services/notifications.py) | -| Auth middleware | [utils/auth_middleware.py](utils/auth_middleware.py) | -| Utility helpers | [utils/helpers.py](utils/helpers.py) | -| Frontend API client | [frontend/js/api.js](frontend/js/api.js) | -| CSS styles | [frontend/css/styles.css](frontend/css/styles.css) | -| Docker config | [compose.yml](compose.yml) | -| Environment template | [.env.example](.env.example) | - ---- - -## Deployment Notes - -### Remote Server -- Host: `rocketscale.it` -- User: `rocky` -- SSH: `ssh rocky@rocketscale.it` -- Project path: `/home/rocky/org-parking` -- Related project: `/home/rocky/org-stack` (LLDAP, Authelia, etc.) - -### Environment Variables -Copy `.env.example` to `.env` and configure: -```bash -# Generate secure key -openssl rand -hex 32 -``` - -### Production Checklist -- [ ] Set strong `SECRET_KEY` -- [ ] Configure `ALLOWED_ORIGINS` (not `*`) -- [ ] Set `AUTHELIA_ENABLED=true` if using SSO -- [ ] Configure SMTP or check email log file -- [ ] Set up notification scheduler (cron/systemd) diff --git a/Caddyfile.snippet b/Caddyfile.snippet new file mode 100644 index 0000000..db04d5f --- /dev/null +++ b/Caddyfile.snippet @@ -0,0 +1,13 @@ +parking.lvh.me { + # Integrazione Authelia per autenticazione + forward_auth authelia:9091 { + uri /api/verify?rd=https://parking.lvh.me/ + copy_headers Remote-User Remote-Groups Remote-Name Remote-Email + } + + # Proxy inverso verso il container parking sulla porta 8000 + reverse_proxy parking:8000 + + # Usa certificati gestiti internamente per lvh.me (locale) + tls internal +} diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md new file mode 100644 index 0000000..d47ee18 --- /dev/null +++ b/DEPENDENCIES.md @@ -0,0 +1,27 @@ +# Spiegazione delle Dipendenze del Progetto + +Questo documento spiega il motivo per cui ogni libreria elencata nel file `requirements.txt` è necessaria per il funzionamento dell'applicazione. + +## Librerie Principali + +### 1. Framework e Server Web +* **`fastapi`**: È il cuore dell'applicazione. Si tratta di un framework web moderno e veloce per costruire API con Python. Gestisce le richieste HTTP, il routing (gli URL) e la validazione dei dati. +* **`uvicorn[standard]`**: È il server ASGI necessario per eseguire l'applicazione FastAPI. FastAPI da solo non può girare; ha bisogno di un server come Uvicorn per accettare le connessioni dai client (browser, altre app). La versione `[standard]` include dipendenze extra per migliorare le prestazioni (come `uvloop`) e gestire meglio i protocolli web. + +### 2. Database e Dati +* **`sqlalchemy`**: È l'ORM (Object-Relational Mapper) utilizzato per interagire con il database. Permette di scrivere codice Python per creare, leggere, aggiornare ed eliminare dati nel database invece di scrivere SQL puro. +* **`pydantic[email]`**: Usato per la validazione dei dati. Assicura che i dati inviati all'API (come i dati di registrazione utente) siano nel formato corretto. L'extra `[email]` include la libreria `email-validator` per verificare che gli indirizzi email siano validi. +* **`pydantic-settings`**: Un'estensione di Pydantic specifica per la gestione delle configurazioni. Permette di leggere le impostazioni da variabili d'ambiente in modo sicuro e tipizzato. + +### 3. Autenticazione e Sicurezza +* **`python-jose[cryptography]`**: Serve per gestire i JSON Web Tokens (JWT). È fondamentale per il sistema di login, permettendo di creare token sicuri per identificare gli utenti autenticati. +* **`bcrypt`**: Una libreria per l'hashing delle password. È essenziale per la sicurezza, poiché permette di salvare le password nel database in modo criptato e non in chiaro. +* **`python-multipart`**: Necessario per supportare l'upload di form data. FastAPI lo richiede specificamente per gestire l'autenticazione OAuth2 (il login tramite form username/password). + +### 4. Utilità e Configurazioni +* **`python-dotenv`**: Permette all'applicazione di leggere le variabili d'configurazione da un file `.env`. È molto utile durante lo sviluppo per gestire segreti e impostazioni locali. +* **`slowapi`**: Una libreria per implementare il "Rate Limiting". Serve a proteggere l'API da un numero eccessivo di richieste in breve tempo (ad esempio, per prevenire attacchi di forza bruta o abusi). + +### 5. Dipendenze Indirette o Specifiche +* **`email-validator`**: Richiesto da Pydantic per la validazione delle email. +* **`idna`**: Supporto per nomi di dominio internazionalizzati (spesso una dipendenza di `email-validator` o librerie di rete). diff --git a/Dockerfile b/Dockerfile index 399d5da..7dfd4ad 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,9 @@ FROM python:3.12-slim WORKDIR /app +# Prevent Python from buffering stdout and stderr +ENV PYTHONUNBUFFERED=1 + # Install dependencies COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt @@ -20,4 +23,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')" || exit 1 # Run with uvicorn -CMD ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] +CMD ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "1"] diff --git a/README.md b/README.md index a7492e5..eb8d8f9 100644 --- a/README.md +++ b/README.md @@ -1,172 +1,214 @@ -# Parking Manager +# Org-Parking -A manager-centric parking spot management application with fair assignment algorithm. +Un'applicazione leggera gestionale per i parcheggi aziendali, progettata per le organizzazioni. Offre un algoritmo di assegnazione equa, tracciamento delle presenze ed è ottimizzata per basse risorse. -## Features +## Funzionalità -- **Manager-centric model**: Managers own parking spots, not offices -- **Fair assignment algorithm**: Users with lowest parking/presence ratio get priority -- **Presence tracking**: Calendar-based presence marking (present/remote/absent) -- **Closing days**: Support for specific dates and weekly recurring closures -- **Guarantees & exclusions**: Per-user parking rules -- **Authelia/LLDAP integration**: SSO authentication with group-based roles +- **Modello Centrato sull'Ufficio**: I posti auto appartengono agli Uffici, non ai Manager o agli Utenti. +- **Algoritmo di Assegnazione Equa**: Gli utenti con il rapporto parcheggi/presenze più basso hanno la priorità. +- **Tracciamento Presenze**: Marcatura delle presenze basata su calendario (presente/remoto/assente). +- **Regole di Chiusura Flessibili**: Supporto per chiusure in date specifiche e chiusure settimanali ricorrenti per ufficio. +- **Garanzie ed Esclusioni**: Regole di parcheggio per utente gestite dagli amministratori dell'ufficio. +- **Accesso Basato sui Ruoli**: + - **Admin**: Controllo completo del sistema, creazione uffici, gestione utenti. + - **Manager**: Gestisce le impostazioni del proprio ufficio e il team. + - **Impiegato**: Segna presenza, visualizza calendario, controlla stato parcheggio. +- **Basso Consumo di Memoria**: Ottimizzato per piccoli server (<500MB RAM). +- **Autenticazione**: Auth JWT integrata o integrazione SSO con Authelia. -## Architecture +## Architettura ``` -├── app/ -│ ├── routes/ # API endpoints -│ │ ├── auth.py # Authentication + holidays -│ │ ├── users.py # User management -│ │ ├── managers.py # Manager rules (closing days, guarantees) -│ │ ├── presence.py # Presence marking -│ │ └── parking.py # Parking assignments -│ └── config.py # Application configuration -├── database/ -│ ├── models.py # SQLAlchemy ORM models -│ └── connection.py # Database setup -├── services/ -│ ├── auth.py # JWT + password handling -│ ├── parking.py # Fair assignment algorithm -│ ├── holidays.py # Public holiday calculation -│ └── notifications.py # Email notifications (TODO: scheduler) -├── frontend/ -│ ├── pages/ # HTML pages -│ ├── js/ # JavaScript modules -│ └── css/ # Stylesheets -└── main.py # FastAPI application entry +app/ +├── routes/ # API endpoints +│ ├── auth.py # Autenticazione +│ ├── users.py # Gestione utenti +│ ├── offices.py # Gestione uffici (quote, regole) +│ ├── presence.py # Marcatura presenze +│ └── parking.py # Logica di assegnazione +└── config.py # Configurazione +database/ +├── models.py # Modelli SQLAlchemy ORM +└── connection.py # Setup Database +frontend/ # Frontend Vanilla JS pulito +├── pages/ # Viste HTML +├── js/ # Moduli logici +└── css/ # Stili ``` -## Quick Start (Development) +## Guida Rapida -```bash -# Create virtual environment -python3 -m venv .venv -source .venv/bin/activate +### Sviluppo Locale -# Install dependencies -pip install -r requirements.txt +1. **Setup Ambiente**: + ```bash + python3 -m venv .venv + source .venv/bin/activate + pip install -r requirements.txt + ``` -# Run development server -python main.py +2. **Avvio Server**: + ```bash + python main.py + ``` + Accedi a `http://localhost:8000` + +### Deployment Docker (Consigliato) + +Questa applicazione è ottimizzata per ambienti con risorse limitate (es. Raspberry Pi, piccoli VPS). + +1. **Build**: + ```bash + docker compose build + ``` + +2. **Run**: + ```bash + docker compose up -d + ``` + + **Nota sull'Uso della Memoria**: + Il `Dockerfile` è configurato per eseguire `uvicorn` con `--workers 1` per minimizzare l'uso della memoria (~50MB in idle). Se in esecuzione su un server più grande, puoi rimuovere questo flag nel `Dockerfile`. + +## Configurazione + +Copia `.env.example` in `.env` e configura: + +| Variabile | Descrizione | Default | +|-----------|-------------|---------| +| `SECRET_KEY` | **Richiesto**. Chiave cripto per JWT. | `""` (Esce se mancante) | +| `DATABASE_URL` | Vedi docs SQLAlchemy. | `sqlite:///data/parking.db` | +| `AUTHELIA_ENABLED`| Abilita supporto header SSO. | `false` | +| `SMTP_ENABLED` | Abilita notifiche email. | `false` | +| `LOG_LEVEL` | Verbosità log. | `INFO` | + +## Algoritmo di Equità + +I posti auto vengono assegnati giornalmente basandosi su un rapporto di equità: ``` - -Access at http://localhost:8000 - -## Docker Deployment - -```bash -# Build image -docker build -t parking-manager . - -# Run with environment variables -docker run -d \ - -p 8000:8000 \ - -v ./data:/app/data \ - -e SECRET_KEY=your-secret-key \ - -e AUTHELIA_ENABLED=true \ - parking-manager +Rapporto = (Giorni Parcheggiati con successo) / (Giorni di Presenza in ufficio) ``` - -Or use Docker Compose: - -```bash -docker compose up -d -``` - -## Environment Variables - -| Variable | Description | Default | -|----------|-------------|---------| -| `SECRET_KEY` | JWT signing key | Random (dev only) | -| `HOST` | Bind address | `0.0.0.0` | -| `PORT` | Server port | `8000` | -| `DATABASE_URL` | SQLite path | `sqlite:///data/parking.db` | -| `AUTHELIA_ENABLED` | Enable Authelia SSO | `false` | -| `ALLOWED_ORIGINS` | CORS origins | `*` | - -### SMTP (Notifications - Optional) - -| Variable | Description | -|----------|-------------| -| `SMTP_HOST` | SMTP server hostname | -| `SMTP_PORT` | SMTP port (default: 587) | -| `SMTP_USER` | SMTP username | -| `SMTP_PASSWORD` | SMTP password | -| `SMTP_FROM` | From email address | - -## Authentication - -### Standalone Mode -Built-in JWT authentication with bcrypt password hashing. Users register/login via `/login` and `/register`. - -### Authelia Mode -When `AUTHELIA_ENABLED=true`, the app trusts Authelia headers: -- `Remote-User`: User email/username -- `Remote-Name`: Display name -- `Remote-Groups`: Comma-separated group list - -Group mapping (follows lldap naming convention): -- `parking_admins` → admin role -- `managers` → manager role -- Others → employee role - -## User Roles - -| Role | Permissions | -|------|-------------| -| **admin** | Full access, manage users and managers | -| **manager** | Manage their team, set parking rules | -| **employee** | Mark own presence, view calendar | +- Gli utenti **Garantiti** vengono assegnati per primi. +- I posti **Rimanenti** sono distribuiti agli utenti presenti iniziando da chi ha il rapporto più **basso**. +- Gli utenti **Esclusi** non ricevono mai un posto. ## API Endpoints -### Authentication -- `POST /api/auth/login` - Login -- `POST /api/auth/register` - Register (standalone mode) -- `POST /api/auth/logout` - Logout -- `GET /api/auth/me` - Current user info -- `GET /api/auth/holidays/{year}` - Public holidays +Di seguito la lista delle chiamate API disponibili suddivise per modulo. -### Users -- `GET /api/users` - List users (admin) -- `POST /api/users` - Create user (admin) -- `PUT /api/users/{id}` - Update user (admin) -- `DELETE /api/users/{id}` - Delete user (admin) -- `GET /api/users/me/profile` - Own profile -- `PUT /api/users/me/settings` - Own settings +### Auth (`/api/auth`) +Gestione autenticazione e sessione. -### Managers -- `GET /api/managers` - List managers -- `GET /api/managers/{id}` - Manager details -- `PUT /api/managers/{id}/settings` - Update parking quota (admin) -- `GET/POST/DELETE /api/managers/{id}/closing-days` - Specific closures -- `GET/POST/DELETE /api/managers/{id}/weekly-closing-days` - Recurring closures -- `GET/POST/DELETE /api/managers/{id}/guarantees` - Parking guarantees -- `GET/POST/DELETE /api/managers/{id}/exclusions` - Parking exclusions +- `POST /register`: Registrazione nuovo utente (Disabilitato se Authelia è attivo). +- `POST /login`: Login con email e password (ritorna token JWT/cookie). +- `POST /logout`: Logout e invalidazione sessione. +- `GET /me`: Ritorna informazioni sull'utente corrente. +- `GET /config`: Ritorna la configurazione pubblica di autenticazione. +- `GET /holidays/{year}`: Ritorna i giorni festivi per l'anno specificato. -### Presence -- `POST /api/presence/mark` - Mark presence -- `POST /api/presence/mark-bulk` - Bulk mark -- `GET /api/presence/my-presences` - Own presences -- `GET /api/presence/team` - Team calendar (manager/admin) +### Users (`/api/users`) +Gestione utenti e profili. -### Parking -- `GET /api/parking/assignments/{date}` - Day's assignments -- `GET /api/parking/my-assignments` - Own assignments -- `POST /api/parking/manual-assign` - Manual assignment -- `POST /api/parking/reassign-spot` - Reassign spot +- `GET /`: Lista di tutti gli utenti (Solo Admin). +- `POST /`: Crea un nuovo utente (Solo Admin). +- `GET /{user_id}`: Dettaglio di un utente specifico (Solo Admin). +- `PUT /{user_id}`: Aggiorna dati di un utente (Solo Admin). +- `DELETE /{user_id}`: Elimina un utente (Solo Admin). +- `GET /me/profile`: Ottieni il proprio profilo. +- `PUT /me/profile`: Aggiorna il proprio profilo. +- `GET /me/settings`: Ottieni le proprie impostazioni. +- `PUT /me/settings`: Aggiorna le proprie impostazioni. +- `POST /me/change-password`: Modifica la propria password. -## Fairness Algorithm +### Offices (`/api/offices`) +Gestione uffici, regole di chiusura e quote. -Parking spots are assigned based on a fairness ratio: +- `GET /`: Lista di tutti gli uffici. +- `POST /`: Crea un nuovo ufficio (Solo Admin). +- `GET /{office_id}`: Dettagli di un ufficio. +- `PUT /{office_id}`: Aggiorna configurazione ufficio (Solo Admin). +- `DELETE /{office_id}`: Elimina un ufficio (Solo Admin). +- `GET /{office_id}/users`: Lista utenti assegnati all'ufficio. +- `GET /{office_id}/closing-days`: Lista giorni di chiusura specifici. +- `POST /{office_id}/closing-days`: Aggiungi giorno di chiusura. +- `DELETE /{office_id}/closing-days/{id}`: Rimuovi giorno di chiusura. +- `GET /{office_id}/weekly-closing-days`: Lista giorni di chiusura settimanali (es. Sabato/Domenica). +- `POST /{office_id}/weekly-closing-days`: Aggiungi giorno di chiusura settimanale. +- `DELETE /{office_id}/weekly-closing-days/{id}`: Rimuovi giorno di chiusura settimanale. +- `GET /{office_id}/guarantees`: Lista utenti con posto garantito. +- `POST /{office_id}/guarantees`: Aggiungi garanzia posto. +- `DELETE /{office_id}/guarantees/{id}`: Rimuovi garanzia. +- `GET /{office_id}/exclusions`: Lista utenti esclusi dal parcheggio. +- `POST /{office_id}/exclusions`: Aggiungi esclusione. +- `DELETE /{office_id}/exclusions/{id}`: Rimuovi esclusione. -``` -ratio = parking_days / presence_days -``` +### Presence (`/api/presence`) +Gestione presenze giornaliere. -Users with the lowest ratio get priority. Guaranteed users are always assigned first. +- `POST /mark`: Segna la propria presenza per una data (Presente/Remoto/Assente). +- `GET /my-presences`: Lista delle proprie presenze. +- `DELETE /{date}`: Rimuovi la propria presenza per una data. +- `POST /admin/mark`: Segna presenza per un altro utente (Manager/Admin). +- `DELETE /admin/{user_id}/{date}`: Rimuovi presenza di un altro utente (Manager/Admin). +- `GET /team`: Visualizza presenze e stato parcheggio del team. +- `GET /admin/{user_id}`: Storico presenze di un utente. -## License +### Parking (`/api/parking`) +Gestione assegnazioni posti auto. + +- `POST /init-office-pool`: Inizializza i posti disponibili per un giorno. +- `GET /assignments/{date}`: Lista assegnazioni per una data. +- `GET /my-assignments`: Le mie assegnazioni parcheggio. +- `POST /run-allocation`: Esegui manualmente l'algoritmo di assegnazione per una data. +- `POST /clear-assignments`: Cancella tutte le assegnazioni per una data. +- `POST /manual-assign`: Assegna manualmente un posto a un utente. +- `POST /reassign-spot`: Riassegna o libera un posto già assegnato. +- `POST /release-my-spot/{id}`: Rilascia il proprio posto assegnato. +- `GET /eligible-users/{id}`: Lista utenti idonei a ricevere un posto riassegnato. + +## Utilizzo con AUTHELIA + +Org-Parking supporta l'integrazione nativa con **Authelia** (o altri provider SSO compatibili con Forward Auth). Questo permette il Single Sign-On (SSO) e la gestione centralizzata degli utenti. + +### Configurazione + +1. **Abilita Authelia**: + Nel file `.env`, imposta `AUTHELIA_ENABLED=true`. + +2. **Configura gli Header del Proxy**: + Assicurati che il tuo reverse proxy (es. Traefik, Nginx) passi i seguenti header all'applicazione dopo l'autenticazione: + * `Remote-User`: Username dell'utente (spesso uguale all'email). + * `Remote-Email`: Email dell'utente. + * `Remote-Name`: Nome completo dell'utente (Opzionale). + * `Remote-Groups`: Gruppi di appartenenza (separati da virgola). + +3. **Gestione Admin**: + L'applicazione assegna automaticamente il ruolo di **Admin** agli utenti che appartengono al gruppo specificato nella variabile `AUTHELIA_ADMIN_GROUP` (default: `parking_admins`). + * Se un utente viene rimosso da questo gruppo su Authelia, perderà i privilegi di admin al login successivo. + * Gli altri ruoli (Manager, Employee) e l'assegnazione agli uffici vengono gestiti manualmente all'interno di Org-Parking da un amministratore. + +### Comportamento + +* **Creazione Utenti**: Gli utenti vengono creati automaticamente nel database di Org-Parking al loro primo accesso riuscito tramite Authelia. +* **Login/Logout**: Le pagine di login e registrazione interne vengono disabilitate o reindirizzano al portale SSO. +* **Password**: Org-Parking non gestisce le password in questa modalità; l'autenticazione è interamente delegata al provider esterno. +* **Sicurezza**: L'applicazione si fida degli header `Remote-*` solo se `AUTHELIA_ENABLED` è attivo. Assicurarsi che il container non sia esposto direttamente a internet senza passare per il proxy di autenticazione. + +## Note di Deployment + +- **Database**: SQLite è usato di default per semplicità e basso overhead. I dati persistono in `./data/parking.db`. +- **Sicurezza**: + - Rate limiting è attivo sugli endpoint sensibili (Login/Register). + - Le password sono hashate con Bcrypt. + - L'autenticazione via cookie è sicura di default. + +### Risoluzione Problemi Comuni + +**Errore: "Il reindirizzamento è stato determinato per essere non sicuro"** + +Questo errore appare se si tenta di accedere all'applicazione tramite HTTP (es. `http://lvh.me:8000`) mentre Authelia è su HTTPS. Authelia blocca i reindirizzamenti verso protocolli non sicuri. +**Soluzione**: Accedere all'applicazione tramite il Reverse Proxy (Caddy) usando HTTPS, ad esempio `https://parking.lvh.me`. Assicurarsi che Caddy sia configurato per gestire il dominio e l'autenticazione. + +## Licenza MIT diff --git a/app/config.py b/app/config.py index 1d8ec2a..eefe2dd 100644 --- a/app/config.py +++ b/app/config.py @@ -7,6 +7,10 @@ import sys import logging from pathlib import Path +# Paths +BASE_DIR = Path(__file__).resolve().parent.parent +FRONTEND_DIR = BASE_DIR / "frontend" + # Configure logging LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO").upper() logging.basicConfig( @@ -17,6 +21,19 @@ logger = logging.getLogger("org-parking") # Database DATABASE_PATH = os.getenv("DATABASE_PATH", "parking.db") + +# Fix for local execution: if path is absolute (docker) but dir doesn't exist, fallback to local data/ +if os.path.isabs(DATABASE_PATH) and not os.path.exists(os.path.dirname(DATABASE_PATH)): + # Check if we are aiming for /app/data but running locally + if str(DATABASE_PATH).startswith("/app/") or not os.access(os.path.dirname(DATABASE_PATH), os.W_OK): + logger.warning(f"Configured DATABASE_PATH '{DATABASE_PATH}' folder not found/writable. Switching to local 'data' directory.") + + local_data_dir = BASE_DIR / "data" + local_data_dir.mkdir(exist_ok=True) + + DATABASE_PATH = str(local_data_dir / os.path.basename(DATABASE_PATH)) + logger.info(f"Using local database path: {DATABASE_PATH}") + DATABASE_URL = os.getenv("DATABASE_URL", f"sqlite:///{DATABASE_PATH}") # JWT Authentication @@ -35,7 +52,7 @@ HOST = os.getenv("HOST", "0.0.0.0") PORT = int(os.getenv("PORT", "8000")) # CORS -ALLOWED_ORIGINS = os.getenv("ALLOWED_ORIGINS", "http://localhost:8000,http://127.0.0.1:8000").split(",") +ALLOWED_ORIGINS = os.getenv("ALLOWED_ORIGINS", "http://localhost:8000,http://127.0.0.1:8000,http://lvh.me").split(",") # Authelia Integration AUTHELIA_ENABLED = os.getenv("AUTHELIA_ENABLED", "false").lower() == "true" @@ -67,6 +84,4 @@ EMAIL_LOG_FILE = os.getenv("EMAIL_LOG_FILE", "/tmp/parking-emails.log") RATE_LIMIT_REQUESTS = int(os.getenv("RATE_LIMIT_REQUESTS", "5")) # requests per window RATE_LIMIT_WINDOW = int(os.getenv("RATE_LIMIT_WINDOW", "60")) # seconds -# Paths -BASE_DIR = Path(__file__).resolve().parent.parent -FRONTEND_DIR = BASE_DIR / "frontend" + diff --git a/app/routes/auth.py b/app/routes/auth.py index 4984673..22571a3 100644 --- a/app/routes/auth.py +++ b/app/routes/auth.py @@ -9,6 +9,7 @@ from slowapi import Limiter from slowapi.util import get_remote_address from database.connection import get_db +from database.models import UserRole from services.auth import ( create_user, authenticate_user, create_access_token, get_user_by_email @@ -25,7 +26,6 @@ class RegisterRequest(BaseModel): email: EmailStr password: str name: str - manager_id: str | None = None class LoginRequest(BaseModel): @@ -42,16 +42,16 @@ class UserResponse(BaseModel): id: str email: str name: str | None - manager_id: str | None - role: str - manager_parking_quota: int | None = None + office_id: str | None + office_name: str | None = None + role: UserRole week_start_day: int = 0 # Notification preferences - notify_weekly_parking: int = 1 - notify_daily_parking: int = 1 + notify_weekly_parking: bool = True + notify_daily_parking: bool = True notify_daily_parking_hour: int = 8 notify_daily_parking_minute: int = 0 - notify_parking_changes: int = 1 + notify_parking_changes: bool = True @router.post("/register", response_model=TokenResponse) @@ -76,8 +76,7 @@ def register(request: Request, data: RegisterRequest, db: Session = Depends(get_ db=db, email=data.email, password=data.password, - name=data.name, - manager_id=data.manager_id + name=data.name ) config.logger.info(f"New user registered: {data.email}") @@ -126,15 +125,15 @@ def get_me(user=Depends(get_current_user)): id=user.id, email=user.email, name=user.name, - manager_id=user.manager_id, + office_id=user.office_id, + office_name=user.office.name if user.office else None, role=user.role, - manager_parking_quota=user.manager_parking_quota, week_start_day=get_notification_default(user.week_start_day, 0), - notify_weekly_parking=get_notification_default(user.notify_weekly_parking, 1), - notify_daily_parking=get_notification_default(user.notify_daily_parking, 1), + notify_weekly_parking=get_notification_default(user.notify_weekly_parking, True), + notify_daily_parking=get_notification_default(user.notify_daily_parking, True), notify_daily_parking_hour=get_notification_default(user.notify_daily_parking_hour, 8), notify_daily_parking_minute=get_notification_default(user.notify_daily_parking_minute, 0), - notify_parking_changes=get_notification_default(user.notify_parking_changes, 1) + notify_parking_changes=get_notification_default(user.notify_parking_changes, True) ) diff --git a/app/routes/managers.py b/app/routes/managers.py index c1eda53..acdb622 100644 --- a/app/routes/managers.py +++ b/app/routes/managers.py @@ -5,7 +5,7 @@ Manager settings, closing days, guarantees, and exclusions Key concept: Managers own parking spots and set rules for their managed users. Rules are set at manager level (users have manager_id pointing to their manager). """ -from datetime import datetime +from datetime import datetime, date from fastapi import APIRouter, Depends, HTTPException from pydantic import BaseModel from sqlalchemy.orm import Session @@ -26,7 +26,8 @@ router = APIRouter(prefix="/api/managers", tags=["managers"]) # Request/Response Models class ClosingDayCreate(BaseModel): - date: str # YYYY-MM-DD + date: date # Start date + end_date: date | None = None # Optional end date (inclusive) reason: str | None = None @@ -36,14 +37,16 @@ class WeeklyClosingDayCreate(BaseModel): class GuaranteeCreate(BaseModel): user_id: str - start_date: str | None = None - end_date: str | None = None + start_date: date | None = None + end_date: date | None = None + notes: str | None = None class ExclusionCreate(BaseModel): user_id: str - start_date: str | None = None - end_date: str | None = None + start_date: date | None = None + end_date: date | None = None + notes: str | None = None class ManagerSettingsUpdate(BaseModel): @@ -124,7 +127,7 @@ def update_manager_settings(manager_id: str, data: ManagerSettingsUpdate, db: Se raise HTTPException(status_code=400, detail=f"Spot prefix '{data.spot_prefix}' is already used") manager.manager_spot_prefix = data.spot_prefix - manager.updated_at = datetime.utcnow().isoformat() + manager.updated_at = datetime.utcnow() db.commit() return { @@ -155,7 +158,7 @@ def get_manager_closing_days(manager_id: str, db: Session = Depends(get_db), use days = db.query(ManagerClosingDay).filter( ManagerClosingDay.manager_id == manager_id ).order_by(ManagerClosingDay.date).all() - return [{"id": d.id, "date": d.date, "reason": d.reason} for d in days] + return [{"id": d.id, "date": d.date, "end_date": d.end_date, "reason": d.reason} for d in days] @router.post("/{manager_id}/closing-days") @@ -172,10 +175,14 @@ def add_manager_closing_day(manager_id: str, data: ClosingDayCreate, db: Session if existing: raise HTTPException(status_code=400, detail="Closing day already exists for this date") + if data.end_date and data.end_date < data.date: + raise HTTPException(status_code=400, detail="End date must be after start date") + closing_day = ManagerClosingDay( id=generate_uuid(), manager_id=manager_id, date=data.date, + end_date=data.end_date, reason=data.reason ) db.add(closing_day) @@ -270,7 +277,8 @@ def get_manager_guarantees(manager_id: str, db: Session = Depends(get_db), user= "user_id": g.user_id, "user_name": user_lookup.get(g.user_id), "start_date": g.start_date, - "end_date": g.end_date + "end_date": g.end_date, + "notes": g.notes } for g in guarantees ] @@ -292,13 +300,17 @@ def add_manager_guarantee(manager_id: str, data: GuaranteeCreate, db: Session = if existing: raise HTTPException(status_code=400, detail="User already has a parking guarantee") + if data.start_date and data.end_date and data.end_date < data.start_date: + raise HTTPException(status_code=400, detail="End date must be after start date") + guarantee = ParkingGuarantee( id=generate_uuid(), manager_id=manager_id, user_id=data.user_id, start_date=data.start_date, end_date=data.end_date, - created_at=datetime.utcnow().isoformat() + notes=data.notes, + created_at=datetime.utcnow() ) db.add(guarantee) db.commit() @@ -340,7 +352,8 @@ def get_manager_exclusions(manager_id: str, db: Session = Depends(get_db), user= "user_id": e.user_id, "user_name": user_lookup.get(e.user_id), "start_date": e.start_date, - "end_date": e.end_date + "end_date": e.end_date, + "notes": e.notes } for e in exclusions ] @@ -362,13 +375,17 @@ def add_manager_exclusion(manager_id: str, data: ExclusionCreate, db: Session = if existing: raise HTTPException(status_code=400, detail="User already has a parking exclusion") + if data.start_date and data.end_date and data.end_date < data.start_date: + raise HTTPException(status_code=400, detail="End date must be after start date") + exclusion = ParkingExclusion( id=generate_uuid(), manager_id=manager_id, user_id=data.user_id, start_date=data.start_date, end_date=data.end_date, - created_at=datetime.utcnow().isoformat() + notes=data.notes, + created_at=datetime.utcnow() ) db.add(exclusion) db.commit() diff --git a/app/routes/offices.py b/app/routes/offices.py new file mode 100644 index 0000000..e236bc6 --- /dev/null +++ b/app/routes/offices.py @@ -0,0 +1,500 @@ +""" +Office Management Routes +Office settings, closing days, guarantees, and exclusions +""" +from datetime import datetime, date +from fastapi import APIRouter, Depends, HTTPException +from pydantic import BaseModel +from sqlalchemy.orm import Session +from sqlalchemy import func + +from database.connection import get_db +from database.models import ( + User, Office, + OfficeClosingDay, OfficeWeeklyClosingDay, + ParkingGuarantee, ParkingExclusion, + UserRole +) +from utils.auth_middleware import require_admin, require_manager_or_admin, get_current_user +from utils.helpers import generate_uuid +from app import config + +router = APIRouter(prefix="/api/offices", tags=["offices"]) + + +# Request/Response Models +class ValidOfficeCreate(BaseModel): + name: str + parking_quota: int = 0 + + +class ClosingDayCreate(BaseModel): + date: date # Start date + end_date: date | None = None # Optional end date (inclusive) + reason: str | None = None + + +class WeeklyClosingDayCreate(BaseModel): + weekday: int # 0=Sunday, 1=Monday, ..., 6=Saturday + + +class GuaranteeCreate(BaseModel): + user_id: str + start_date: date | None = None + end_date: date | None = None + notes: str | None = None + + +class ExclusionCreate(BaseModel): + user_id: str + start_date: date | None = None + end_date: date | None = None + notes: str | None = None + + +class OfficeSettingsUpdate(BaseModel): + parking_quota: int | None = None + name: str | None = None + booking_window_enabled: bool | None = None + booking_window_end_hour: int | None = None + booking_window_end_minute: int | None = None + + +# Helper check +def check_office_access(user: User, office_id: str): + if user.role == UserRole.ADMIN: + return True + if user.role == UserRole.MANAGER and user.office_id == office_id: + return True + raise HTTPException(status_code=403, detail="Access denied to this office") + + +# Office listing and details +@router.get("") +def list_offices(db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Get all offices with their user count and parking quota""" + offices = db.query(Office).all() + + # Batch query user counts + counts = db.query(User.office_id, func.count(User.id)).filter( + User.office_id.isnot(None) + ).group_by(User.office_id).all() + user_counts = {office_id: count for office_id, count in counts} + + return [ + { + "id": office.id, + "name": office.name, + "parking_quota": office.parking_quota, + "spot_prefix": office.spot_prefix, + "user_count": user_counts.get(office.id, 0) + } + for office in offices + ] + +def get_next_available_prefix(db: Session) -> str: + """Find the next available office prefix (A, B, C... AA, AB...)""" + existing = db.query(Office.spot_prefix).filter(Office.spot_prefix.isnot(None)).all() + used_prefixes = {row[0] for row in existing} + + # Try single letters A-Z + for i in range(26): + char = chr(65 + i) + if char not in used_prefixes: + return char + + # Try double letters AA-ZZ if needed + for i in range(26): + for j in range(26): + char = chr(65 + i) + chr(65 + j) + if char not in used_prefixes: + return char + + raise HTTPException(status_code=400, detail="No more office prefixes available") + + +@router.post("") +def create_office(data: ValidOfficeCreate, db: Session = Depends(get_db), user=Depends(require_admin)): + """Create a new office (admin only)""" + office = Office( + id=generate_uuid(), + name=data.name, + parking_quota=data.parking_quota, + spot_prefix=get_next_available_prefix(db), + created_at=datetime.utcnow() + ) + db.add(office) + db.commit() + return office + +@router.get("/{office_id}") +def get_office_details(office_id: str, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Get office details""" + office = db.query(Office).filter(Office.id == office_id).first() + if not office: + raise HTTPException(status_code=404, detail="Office not found") + + check_office_access(user, office_id) + + user_count = db.query(User).filter(User.office_id == office_id).count() + + return { + "id": office.id, + "name": office.name, + "parking_quota": office.parking_quota, + "spot_prefix": office.spot_prefix, + "user_count": user_count, + "booking_window_enabled": office.booking_window_enabled, + "booking_window_end_hour": office.booking_window_end_hour, + "booking_window_end_minute": office.booking_window_end_minute + } + + +@router.put("/{office_id}") +def update_office_settings(office_id: str, data: OfficeSettingsUpdate, db: Session = Depends(get_db), user=Depends(require_admin)): + """Update office settings (admin only) - Manager can view but usually Admin sets quota""" + # Verify access - currently assume admin manages quota. If manager should too, update logic. + # User request description: "Admin manage all offices with CRUD... rimodulare posti auto". + # So Managers might not edit quota? Or maybe they can? + # Keeping it simple: require_admin for structural changes. + + office = db.query(Office).filter(Office.id == office_id).first() + if not office: + raise HTTPException(status_code=404, detail="Office not found") + + if data.name: + office.name = data.name + + if data.parking_quota is not None: + if data.parking_quota < 0: + raise HTTPException(status_code=400, detail="Parking quota must be non-negative") + office.parking_quota = data.parking_quota + + if data.booking_window_enabled is not None: + office.booking_window_enabled = data.booking_window_enabled + + if data.booking_window_end_hour is not None: + if not (0 <= data.booking_window_end_hour <= 23): + raise HTTPException(status_code=400, detail="Hour must be 0-23") + office.booking_window_end_hour = data.booking_window_end_hour + + if data.booking_window_end_minute is not None: + if not (0 <= data.booking_window_end_minute <= 59): + raise HTTPException(status_code=400, detail="Minute must be 0-59") + office.booking_window_end_minute = data.booking_window_end_minute + + office.updated_at = datetime.utcnow() + db.commit() + + return { + "id": office.id, + "name": office.name, + "parking_quota": office.parking_quota, + "spot_prefix": office.spot_prefix, + "booking_window_enabled": office.booking_window_enabled, + "booking_window_end_hour": office.booking_window_end_hour, + "booking_window_end_minute": office.booking_window_end_minute + } + +@router.delete("/{office_id}") +def delete_office(office_id: str, db: Session = Depends(get_db), user=Depends(require_admin)): + """Delete an office (admin only)""" + office = db.query(Office).filter(Office.id == office_id).first() + if not office: + raise HTTPException(status_code=404, detail="Office not found") + + db.delete(office) + db.commit() + return {"message": "Office deleted"} + + +@router.get("/{office_id}/users") +def get_office_users(office_id: str, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Get all users in an office""" + check_office_access(user, office_id) + + office = db.query(Office).filter(Office.id == office_id).first() + if not office: + raise HTTPException(status_code=404, detail="Office not found") + + users = db.query(User).filter(User.office_id == office_id).all() + return [{"id": u.id, "name": u.name, "email": u.email, "role": u.role} for u in users] + + +# Closing days +@router.get("/{office_id}/closing-days") +def get_office_closing_days(office_id: str, db: Session = Depends(get_db), user=Depends(get_current_user)): + """Get closing days for an office""" + # Any user in the office can read closing days? Or just manager? + # check_office_access(user, office_id) # Let's allow read for all authenticated (frontend might need it) + + days = db.query(OfficeClosingDay).filter( + OfficeClosingDay.office_id == office_id + ).order_by(OfficeClosingDay.date).all() + return [{"id": d.id, "date": d.date, "end_date": d.end_date, "reason": d.reason} for d in days] + + +@router.post("/{office_id}/closing-days") +def add_office_closing_day(office_id: str, data: ClosingDayCreate, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Add a closing day for an office""" + check_office_access(user, office_id) + + office = db.query(Office).filter(Office.id == office_id).first() + if not office: + raise HTTPException(status_code=404, detail="Office not found") + + existing = db.query(OfficeClosingDay).filter( + OfficeClosingDay.office_id == office_id, + OfficeClosingDay.date == data.date + ).first() + if existing: + raise HTTPException(status_code=400, detail="Closing day already exists for this date") + + if data.end_date and data.end_date < data.date: + raise HTTPException(status_code=400, detail="End date must be after start date") + + closing_day = OfficeClosingDay( + id=generate_uuid(), + office_id=office_id, + date=data.date, + end_date=data.end_date, + reason=data.reason + ) + db.add(closing_day) + db.commit() + return {"id": closing_day.id, "message": "Closing day added"} + + +@router.delete("/{office_id}/closing-days/{closing_day_id}") +def remove_office_closing_day(office_id: str, closing_day_id: str, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Remove a closing day for an office""" + check_office_access(user, office_id) + + closing_day = db.query(OfficeClosingDay).filter( + OfficeClosingDay.id == closing_day_id, + OfficeClosingDay.office_id == office_id + ).first() + if not closing_day: + raise HTTPException(status_code=404, detail="Closing day not found") + + db.delete(closing_day) + db.commit() + return {"message": "Closing day removed"} + + +# Weekly closing days +@router.get("/{office_id}/weekly-closing-days") +def get_office_weekly_closing_days(office_id: str, db: Session = Depends(get_db), user=Depends(get_current_user)): + """Get weekly closing days for an office""" + days = db.query(OfficeWeeklyClosingDay).filter( + OfficeWeeklyClosingDay.office_id == office_id + ).all() + return [{"id": d.id, "weekday": d.weekday} for d in days] + + +@router.post("/{office_id}/weekly-closing-days") +def add_office_weekly_closing_day(office_id: str, data: WeeklyClosingDayCreate, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Add a weekly closing day for an office""" + check_office_access(user, office_id) + + office = db.query(Office).filter(Office.id == office_id).first() + if not office: + raise HTTPException(status_code=404, detail="Office not found") + + if data.weekday < 0 or data.weekday > 6: + raise HTTPException(status_code=400, detail="Weekday must be 0-6 (0=Sunday, 6=Saturday)") + + existing = db.query(OfficeWeeklyClosingDay).filter( + OfficeWeeklyClosingDay.office_id == office_id, + OfficeWeeklyClosingDay.weekday == data.weekday + ).first() + if existing: + raise HTTPException(status_code=400, detail="Weekly closing day already exists for this weekday") + + weekly_closing = OfficeWeeklyClosingDay( + id=generate_uuid(), + office_id=office_id, + weekday=data.weekday + ) + db.add(weekly_closing) + db.commit() + return {"id": weekly_closing.id, "message": "Weekly closing day added"} + + +@router.delete("/{office_id}/weekly-closing-days/{weekly_id}") +def remove_office_weekly_closing_day(office_id: str, weekly_id: str, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Remove a weekly closing day for an office""" + check_office_access(user, office_id) + + weekly_closing = db.query(OfficeWeeklyClosingDay).filter( + OfficeWeeklyClosingDay.id == weekly_id, + OfficeWeeklyClosingDay.office_id == office_id + ).first() + if not weekly_closing: + raise HTTPException(status_code=404, detail="Weekly closing day not found") + + db.delete(weekly_closing) + db.commit() + return {"message": "Weekly closing day removed"} + + +# Guarantees +@router.get("/{office_id}/guarantees") +def get_office_guarantees(office_id: str, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Get parking guarantees for an office""" + check_office_access(user, office_id) + + guarantees = db.query(ParkingGuarantee).filter(ParkingGuarantee.office_id == office_id).all() + + # Batch query to get all user names at once + user_ids = [g.user_id for g in guarantees] + if user_ids: + users = db.query(User).filter(User.id.in_(user_ids)).all() + user_lookup = {u.id: u.name for u in users} + else: + user_lookup = {} + + return [ + { + "id": g.id, + "user_id": g.user_id, + "user_name": user_lookup.get(g.user_id), + "start_date": g.start_date, + "end_date": g.end_date, + "notes": g.notes + } + for g in guarantees + ] + + +@router.post("/{office_id}/guarantees") +def add_office_guarantee(office_id: str, data: GuaranteeCreate, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Add parking guarantee for an office""" + check_office_access(user, office_id) + + office = db.query(Office).filter(Office.id == office_id).first() + if not office: + raise HTTPException(status_code=404, detail="Office not found") + if not db.query(User).filter(User.id == data.user_id).first(): + raise HTTPException(status_code=404, detail="User not found") + + existing = db.query(ParkingGuarantee).filter( + ParkingGuarantee.office_id == office_id, + ParkingGuarantee.user_id == data.user_id + ).first() + if existing: + raise HTTPException(status_code=400, detail="User already has a parking guarantee") + + if data.start_date and data.end_date and data.end_date < data.start_date: + raise HTTPException(status_code=400, detail="End date must be after start date") + + guarantee = ParkingGuarantee( + id=generate_uuid(), + office_id=office_id, + user_id=data.user_id, + start_date=data.start_date, + end_date=data.end_date, + notes=data.notes, + created_at=datetime.utcnow() + ) + db.add(guarantee) + db.commit() + return {"id": guarantee.id, "message": "Guarantee added"} + + +@router.delete("/{office_id}/guarantees/{guarantee_id}") +def remove_office_guarantee(office_id: str, guarantee_id: str, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Remove parking guarantee for an office""" + check_office_access(user, office_id) + + guarantee = db.query(ParkingGuarantee).filter( + ParkingGuarantee.id == guarantee_id, + ParkingGuarantee.office_id == office_id + ).first() + if not guarantee: + raise HTTPException(status_code=404, detail="Guarantee not found") + + db.delete(guarantee) + db.commit() + return {"message": "Guarantee removed"} + + +# Exclusions +@router.get("/{office_id}/exclusions") +def get_office_exclusions(office_id: str, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Get parking exclusions for an office""" + check_office_access(user, office_id) + + exclusions = db.query(ParkingExclusion).filter(ParkingExclusion.office_id == office_id).all() + + # Batch query to get all user names at once + user_ids = [e.user_id for e in exclusions] + if user_ids: + users = db.query(User).filter(User.id.in_(user_ids)).all() + user_lookup = {u.id: u.name for u in users} + else: + user_lookup = {} + + return [ + { + "id": e.id, + "user_id": e.user_id, + "user_name": user_lookup.get(e.user_id), + "start_date": e.start_date, + "end_date": e.end_date, + "notes": e.notes + } + for e in exclusions + ] + + +@router.post("/{office_id}/exclusions") +def add_office_exclusion(office_id: str, data: ExclusionCreate, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Add parking exclusion for an office""" + check_office_access(user, office_id) + + office = db.query(Office).filter(Office.id == office_id).first() + if not office: + raise HTTPException(status_code=404, detail="Office not found") + if not db.query(User).filter(User.id == data.user_id).first(): + raise HTTPException(status_code=404, detail="User not found") + + existing = db.query(ParkingExclusion).filter( + ParkingExclusion.office_id == office_id, + ParkingExclusion.user_id == data.user_id + ).first() + if existing: + raise HTTPException(status_code=400, detail="User already has a parking exclusion") + + if data.start_date and data.end_date and data.end_date < data.start_date: + raise HTTPException(status_code=400, detail="End date must be after start date") + + exclusion = ParkingExclusion( + id=generate_uuid(), + office_id=office_id, + user_id=data.user_id, + start_date=data.start_date, + end_date=data.end_date, + notes=data.notes, + created_at=datetime.utcnow() + ) + db.add(exclusion) + db.commit() + return {"id": exclusion.id, "message": "Exclusion added"} + + +@router.delete("/{office_id}/exclusions/{exclusion_id}") +def remove_office_exclusion(office_id: str, exclusion_id: str, db: Session = Depends(get_db), user=Depends(require_manager_or_admin)): + """Remove parking exclusion for an office""" + check_office_access(user, office_id) + + exclusion = db.query(ParkingExclusion).filter( + ParkingExclusion.id == exclusion_id, + ParkingExclusion.office_id == office_id + ).first() + if not exclusion: + raise HTTPException(status_code=404, detail="Exclusion not found") + + db.delete(exclusion) + db.commit() + return {"message": "Exclusion removed"} diff --git a/app/routes/parking.py b/app/routes/parking.py index 0f32b23..8cd2c36 100644 --- a/app/routes/parking.py +++ b/app/routes/parking.py @@ -2,21 +2,33 @@ Parking Management Routes Parking assignments, spot management, and pool initialization +Manager-centric model: +- Managers own parking spots (defined by manager_parking_quota) +- Spots are named with manager's letter prefix (A1, A2, B1, B2...) +- Assignments reference manager_id directly +""" +""" +Parking Management Routes +Parking assignments, spot management, and pool initialization + Manager-centric model: - Managers own parking spots (defined by manager_parking_quota) - Spots are named with manager's letter prefix (A1, A2, B1, B2...) - Assignments reference manager_id directly """ from typing import List -from datetime import datetime +from datetime import datetime, date from fastapi import APIRouter, Depends, HTTPException from pydantic import BaseModel from sqlalchemy.orm import Session from database.connection import get_db -from database.models import DailyParkingAssignment, User +from database.models import DailyParkingAssignment, User, UserRole, Office from utils.auth_middleware import get_current_user, require_manager_or_admin -from services.parking import initialize_parking_pool, get_spot_display_name +from services.parking import ( + initialize_parking_pool, get_spot_display_name, release_user_spot, + run_batch_allocation, clear_assignments_for_office_date +) from services.notifications import notify_parking_assigned, notify_parking_released, notify_parking_reassigned from app import config @@ -25,14 +37,14 @@ router = APIRouter(prefix="/api/parking", tags=["parking"]) # Request/Response Models class InitPoolRequest(BaseModel): - date: str # YYYY-MM-DD + date: date class ManualAssignRequest(BaseModel): - manager_id: str + office_id: str user_id: str spot_id: str - date: str + date: date class ReassignSpotRequest(BaseModel): @@ -42,50 +54,57 @@ class ReassignSpotRequest(BaseModel): class AssignmentResponse(BaseModel): id: str - date: str + date: date spot_id: str spot_display_name: str | None = None user_id: str | None - manager_id: str + office_id: str user_name: str | None = None user_email: str | None = None +class RunAllocationRequest(BaseModel): + date: date + office_id: str + + +class ClearAssignmentsRequest(BaseModel): + date: date + office_id: str + + # Routes -@router.post("/init-manager-pool") -def init_manager_pool(request: InitPoolRequest, db: Session = Depends(get_db), current_user=Depends(require_manager_or_admin)): - """Initialize parking pool for a manager on a given date""" - try: - datetime.strptime(request.date, "%Y-%m-%d") - except ValueError: - raise HTTPException(status_code=400, detail="Invalid date format") +@router.post("/init-office-pool") +def init_office_pool(request: InitPoolRequest, db: Session = Depends(get_db), current_user=Depends(require_manager_or_admin)): + """Initialize parking pool for an office on a given date""" + pool_date = request.date - quota = current_user.manager_parking_quota or 0 - if quota == 0: - return {"success": True, "message": "No parking quota configured", "spots": 0} + if not current_user.office_id: + raise HTTPException(status_code=400, detail="User does not belong to an office") + + office = db.query(Office).filter(Office.id == current_user.office_id).first() + if not office or not office.parking_quota: + return {"success": True, "message": "No parking quota configured", "spots": 0} - spots = initialize_parking_pool(current_user.id, quota, request.date, db) + spots = initialize_parking_pool(office.id, office.parking_quota, pool_date, db) return {"success": True, "spots": spots} -@router.get("/assignments/{date}", response_model=List[AssignmentResponse]) -def get_assignments(date: str, manager_id: str = None, db: Session = Depends(get_db), current_user=Depends(get_current_user)): - """Get parking assignments for a date, optionally filtered by manager""" - try: - datetime.strptime(date, "%Y-%m-%d") - except ValueError: - raise HTTPException(status_code=400, detail="Invalid date format") +@router.get("/assignments/{date_val}", response_model=List[AssignmentResponse]) +def get_assignments(date_val: date, office_id: str = None, db: Session = Depends(get_db), current_user=Depends(get_current_user)): + """Get parking assignments for a date, optionally filtered by office""" + query_date = date_val - query = db.query(DailyParkingAssignment).filter(DailyParkingAssignment.date == date) - if manager_id: - query = query.filter(DailyParkingAssignment.manager_id == manager_id) + query = db.query(DailyParkingAssignment).filter(DailyParkingAssignment.date == query_date) + if office_id: + query = query.filter(DailyParkingAssignment.office_id == office_id) assignments = query.all() results = [] for assignment in assignments: - # Get display name using manager's spot prefix - spot_display_name = get_spot_display_name(assignment.spot_id, assignment.manager_id, db) + # Get display name using office's spot prefix + spot_display_name = get_spot_display_name(assignment.spot_id, assignment.office_id, db) result = AssignmentResponse( id=assignment.id, @@ -93,7 +112,7 @@ def get_assignments(date: str, manager_id: str = None, db: Session = Depends(get spot_id=assignment.spot_id, spot_display_name=spot_display_name, user_id=assignment.user_id, - manager_id=assignment.manager_id + office_id=assignment.office_id ) if assignment.user_id: @@ -108,7 +127,7 @@ def get_assignments(date: str, manager_id: str = None, db: Session = Depends(get @router.get("/my-assignments", response_model=List[AssignmentResponse]) -def get_my_assignments(start_date: str = None, end_date: str = None, db: Session = Depends(get_db), current_user=Depends(get_current_user)): +def get_my_assignments(start_date: date = None, end_date: date = None, db: Session = Depends(get_db), current_user=Depends(get_current_user)): """Get current user's parking assignments""" query = db.query(DailyParkingAssignment).filter( DailyParkingAssignment.user_id == current_user.id @@ -123,7 +142,7 @@ def get_my_assignments(start_date: str = None, end_date: str = None, db: Session results = [] for assignment in assignments: - spot_display_name = get_spot_display_name(assignment.spot_id, assignment.manager_id, db) + spot_display_name = get_spot_display_name(assignment.spot_id, assignment.office_id, db) results.append(AssignmentResponse( id=assignment.id, @@ -131,7 +150,7 @@ def get_my_assignments(start_date: str = None, end_date: str = None, db: Session spot_id=assignment.spot_id, spot_display_name=spot_display_name, user_id=assignment.user_id, - manager_id=assignment.manager_id, + office_id=assignment.office_id, user_name=current_user.name, user_email=current_user.email )) @@ -139,27 +158,55 @@ def get_my_assignments(start_date: str = None, end_date: str = None, db: Session return results + return results + + +@router.post("/run-allocation") +def run_fair_allocation(data: RunAllocationRequest, db: Session = Depends(get_db), current_user=Depends(require_manager_or_admin)): + """Manually trigger fair allocation for a date (Test Tool)""" + # Verify office access + if current_user.role == UserRole.MANAGER and current_user.office_id != data.office_id: + raise HTTPException(status_code=403, detail="Not authorized for this office") + + result = run_batch_allocation(data.office_id, data.date, db) + return {"message": "Allocation completed", "result": result} + + +@router.post("/clear-assignments") +def clear_assignments(data: ClearAssignmentsRequest, db: Session = Depends(get_db), current_user=Depends(require_manager_or_admin)): + """Clear all assignments for a date (Test Tool)""" + # Verify office access + if current_user.role == UserRole.MANAGER and current_user.office_id != data.office_id: + raise HTTPException(status_code=403, detail="Not authorized for this office") + + count = clear_assignments_for_office_date(data.office_id, data.date, db) + return {"message": "Assignments cleared", "count": count} + + @router.post("/manual-assign") def manual_assign(data: ManualAssignRequest, db: Session = Depends(get_db), current_user=Depends(require_manager_or_admin)): """Manually assign a spot to a user""" + assign_date = data.date + # Verify user exists user = db.query(User).filter(User.id == data.user_id).first() if not user: raise HTTPException(status_code=404, detail="User not found") - # Verify manager exists and check permission - manager = db.query(User).filter(User.id == data.manager_id, User.role == "manager").first() - if not manager: - raise HTTPException(status_code=404, detail="Manager not found") + # Verify office exists + office = db.query(Office).filter(Office.id == data.office_id).first() + if not office: + raise HTTPException(status_code=404, detail="Office not found") - # Only admin or the manager themselves can assign spots - if current_user.role != "admin" and current_user.id != data.manager_id: - raise HTTPException(status_code=403, detail="Not authorized to assign spots for this manager") + # Only admin or the manager of that office can assign spots + is_manager = (current_user.role == UserRole.MANAGER and current_user.office_id == data.office_id) + if current_user.role != UserRole.ADMIN and not is_manager: + raise HTTPException(status_code=403, detail="Not authorized to assign spots for this office") # Check if spot exists and is free spot = db.query(DailyParkingAssignment).filter( - DailyParkingAssignment.manager_id == data.manager_id, - DailyParkingAssignment.date == data.date, + DailyParkingAssignment.office_id == data.office_id, + DailyParkingAssignment.date == assign_date, DailyParkingAssignment.spot_id == data.spot_id ).first() @@ -170,7 +217,7 @@ def manual_assign(data: ManualAssignRequest, db: Session = Depends(get_db), curr # Check if user already has a spot for this date (from any manager) existing = db.query(DailyParkingAssignment).filter( - DailyParkingAssignment.date == data.date, + DailyParkingAssignment.date == assign_date, DailyParkingAssignment.user_id == data.user_id ).first() @@ -180,7 +227,7 @@ def manual_assign(data: ManualAssignRequest, db: Session = Depends(get_db), curr spot.user_id = data.user_id db.commit() - spot_display_name = get_spot_display_name(data.spot_id, data.manager_id, db) + spot_display_name = get_spot_display_name(data.spot_id, data.office_id, db) return {"message": "Spot assigned", "spot_id": data.spot_id, "spot_display_name": spot_display_name} @@ -198,7 +245,7 @@ def release_my_spot(assignment_id: str, db: Session = Depends(get_db), current_u raise HTTPException(status_code=403, detail="You can only release your own parking spot") # Get spot display name for notification - spot_display_name = get_spot_display_name(assignment.spot_id, assignment.manager_id, db) + spot_display_name = get_spot_display_name(assignment.spot_id, assignment.office_id, db) assignment.user_id = None db.commit() @@ -223,9 +270,9 @@ def reassign_spot(data: ReassignSpotRequest, db: Session = Depends(get_db), curr raise HTTPException(status_code=404, detail="Assignment not found") # Check permission: admin, manager who owns the spot, or current spot holder - is_admin = current_user.role == 'admin' + is_admin = current_user.role == UserRole.ADMIN is_spot_owner = assignment.user_id == current_user.id - is_manager = current_user.id == assignment.manager_id + is_manager = (current_user.role == UserRole.MANAGER and current_user.office_id == assignment.office_id) if not (is_admin or is_manager or is_spot_owner): raise HTTPException(status_code=403, detail="Not authorized to reassign this spot") @@ -235,9 +282,17 @@ def reassign_spot(data: ReassignSpotRequest, db: Session = Depends(get_db), curr old_user = db.query(User).filter(User.id == old_user_id).first() if old_user_id else None # Get spot display name for notifications - spot_display_name = get_spot_display_name(assignment.spot_id, assignment.manager_id, db) + spot_display_name = get_spot_display_name(assignment.spot_id, assignment.office_id, db) - if data.new_user_id: + if data.new_user_id == "auto": + # "Auto assign" means releasing the spot so the system picks the next person + # release_user_spot returns True if it released it (and potentially reassigned it) + success = release_user_spot(assignment.office_id, assignment.user_id, assignment.date, db) + if not success: + raise HTTPException(status_code=400, detail="Could not auto-reassign spot") + return {"message": "Spot released for auto-assignment"} + + elif data.new_user_id: # Check new user exists new_user = db.query(User).filter(User.id == data.new_user_id).first() if not new_user: @@ -275,7 +330,7 @@ def reassign_spot(data: ReassignSpotRequest, db: Session = Depends(get_db), curr db.refresh(assignment) # Build response - spot_display_name = get_spot_display_name(assignment.spot_id, assignment.manager_id, db) + spot_display_name = get_spot_display_name(assignment.spot_id, assignment.office_id, db) result = AssignmentResponse( id=assignment.id, @@ -283,7 +338,7 @@ def reassign_spot(data: ReassignSpotRequest, db: Session = Depends(get_db), curr spot_id=assignment.spot_id, spot_display_name=spot_display_name, user_id=assignment.user_id, - manager_id=assignment.manager_id + office_id=assignment.office_id ) if assignment.user_id: @@ -308,16 +363,16 @@ def get_eligible_users(assignment_id: str, db: Session = Depends(get_db), curren raise HTTPException(status_code=404, detail="Assignment not found") # Check permission: admin, manager who owns the spot, or current spot holder - is_admin = current_user.role == 'admin' + is_admin = current_user.role == UserRole.ADMIN is_spot_owner = assignment.user_id == current_user.id - is_manager = current_user.id == assignment.manager_id + is_manager = (current_user.role == UserRole.MANAGER and current_user.office_id == assignment.office_id) if not (is_admin or is_manager or is_spot_owner): raise HTTPException(status_code=403, detail="Not authorized") - # Get users in this manager's team (including the manager themselves) + # Get users in this office (including the manager themselves) users = db.query(User).filter( - (User.manager_id == assignment.manager_id) | (User.id == assignment.manager_id), + User.office_id == assignment.office_id, User.id != assignment.user_id # Exclude current holder ).all() diff --git a/app/routes/presence.py b/app/routes/presence.py index da5c7b6..1e073eb 100644 --- a/app/routes/presence.py +++ b/app/routes/presence.py @@ -3,13 +3,13 @@ Presence Management Routes User presence marking and admin management """ from typing import List -from datetime import datetime, timedelta -from fastapi import APIRouter, Depends, HTTPException +from datetime import datetime, timedelta, date +from fastapi import APIRouter, Depends, HTTPException, Query from pydantic import BaseModel from sqlalchemy.orm import Session from database.connection import get_db -from database.models import UserPresence, User, DailyParkingAssignment +from database.models import UserPresence, User, DailyParkingAssignment, UserRole, PresenceStatus, Office from utils.auth_middleware import get_current_user, require_manager_or_admin from utils.helpers import generate_uuid from services.parking import handle_presence_change, get_spot_display_name @@ -20,38 +20,26 @@ router = APIRouter(prefix="/api/presence", tags=["presence"]) # Request/Response Models class PresenceMarkRequest(BaseModel): - date: str # YYYY-MM-DD - status: str # present, remote, absent + date: date + status: PresenceStatus class AdminPresenceMarkRequest(BaseModel): user_id: str - date: str - status: str + date: date + status: PresenceStatus -class BulkPresenceRequest(BaseModel): - start_date: str - end_date: str - status: str - days: List[int] | None = None # Optional: [0,1,2,3,4] for Mon-Fri -class AdminBulkPresenceRequest(BaseModel): - user_id: str - start_date: str - end_date: str - status: str - days: List[int] | None = None - class PresenceResponse(BaseModel): id: str user_id: str - date: str - status: str - created_at: str | None - updated_at: str | None + date: date + status: PresenceStatus + created_at: datetime | None + updated_at: datetime | None parking_spot_number: str | None = None class Config: @@ -59,51 +47,38 @@ class PresenceResponse(BaseModel): # Helper functions -def validate_status(status: str): - if status not in ["present", "remote", "absent"]: - raise HTTPException(status_code=400, detail="Status must be: present, remote, or absent") - - -def parse_date(date_str: str) -> datetime: - try: - return datetime.strptime(date_str, "%Y-%m-%d") - except ValueError: - raise HTTPException(status_code=400, detail="Invalid date format. Use YYYY-MM-DD") - def check_manager_access(current_user: User, target_user: User, db: Session): """Check if current_user has access to target_user""" - if current_user.role == "admin": + if current_user.role == UserRole.ADMIN: return True - if current_user.role == "manager": - # Manager can access users they manage - if target_user.manager_id == current_user.id: + if current_user.role == UserRole.MANAGER: + # Manager can access users in their Office + if target_user.office_id == current_user.office_id: return True - raise HTTPException(status_code=403, detail="User is not managed by you") + raise HTTPException(status_code=403, detail="User is not in your office") raise HTTPException(status_code=403, detail="Access denied") def _mark_presence_for_user( user_id: str, - date: str, - status: str, + presence_date: date, + status: PresenceStatus, db: Session, target_user: User ) -> UserPresence: """ Core presence marking logic - shared by user and admin routes. """ - validate_status(status) - parse_date(date) existing = db.query(UserPresence).filter( UserPresence.user_id == user_id, - UserPresence.date == date + UserPresence.date == presence_date ).first() - now = datetime.utcnow().isoformat() + now = datetime.utcnow() old_status = existing.status if existing else None if existing: @@ -116,7 +91,7 @@ def _mark_presence_for_user( presence = UserPresence( id=generate_uuid(), user_id=user_id, - date=date, + date=presence_date, status=status, created_at=now, updated_at=now @@ -125,114 +100,36 @@ def _mark_presence_for_user( db.commit() db.refresh(presence) - # Handle parking assignment - # Use manager_id if user has one, or user's own id if they are a manager - parking_manager_id = target_user.manager_id - if not parking_manager_id and target_user.role == "manager": - # Manager is part of their own team for parking purposes - parking_manager_id = target_user.id - - if old_status != status and parking_manager_id: + # Handle parking assignment (if user is in an office) + if target_user.office_id and old_status != status: try: handle_presence_change( - user_id, date, - old_status or "absent", status, - parking_manager_id, db + user_id, presence_date, + old_status or PresenceStatus.ABSENT, status, + target_user.office_id, db ) except Exception as e: - config.logger.warning(f"Parking handler failed for user {user_id} on {date}: {e}") + config.logger.warning(f"Parking handler failed for user {user_id} on {presence_date}: {e}") return presence -def _bulk_mark_presence( - user_id: str, - start_date: str, - end_date: str, - status: str, - days: List[int] | None, - db: Session, - target_user: User -) -> List[UserPresence]: - """ - Core bulk presence marking logic - shared by user and admin routes. - """ - validate_status(status) - start = parse_date(start_date) - end = parse_date(end_date) - if end < start: - raise HTTPException(status_code=400, detail="End date must be after start date") - if (end - start).days > 90: - raise HTTPException(status_code=400, detail="Range cannot exceed 90 days") - - results = [] - current_date = start - now = datetime.utcnow().isoformat() - - while current_date <= end: - if days is None or current_date.weekday() in days: - date_str = current_date.strftime("%Y-%m-%d") - - existing = db.query(UserPresence).filter( - UserPresence.user_id == user_id, - UserPresence.date == date_str - ).first() - - old_status = existing.status if existing else None - - if existing: - existing.status = status - existing.updated_at = now - results.append(existing) - else: - presence = UserPresence( - id=generate_uuid(), - user_id=user_id, - date=date_str, - status=status, - created_at=now, - updated_at=now - ) - db.add(presence) - results.append(presence) - - # Handle parking for each date - # Use manager_id if user has one, or user's own id if they are a manager - parking_manager_id = target_user.manager_id - if not parking_manager_id and target_user.role == "manager": - parking_manager_id = target_user.id - - if old_status != status and parking_manager_id: - try: - handle_presence_change( - user_id, date_str, - old_status or "absent", status, - parking_manager_id, db - ) - except Exception as e: - config.logger.warning(f"Parking handler failed for user {user_id} on {date_str}: {e}") - - current_date += timedelta(days=1) - - db.commit() - return results def _delete_presence( user_id: str, - date: str, + presence_date: date, db: Session, target_user: User ) -> dict: """ Core presence deletion logic - shared by user and admin routes. """ - parse_date(date) presence = db.query(UserPresence).filter( UserPresence.user_id == user_id, - UserPresence.date == date + UserPresence.date == presence_date ).first() if not presence: @@ -242,20 +139,15 @@ def _delete_presence( db.delete(presence) db.commit() - # Use manager_id if user has one, or user's own id if they are a manager - parking_manager_id = target_user.manager_id - if not parking_manager_id and target_user.role == "manager": - parking_manager_id = target_user.id - - if parking_manager_id: + if target_user.office_id: try: handle_presence_change( - user_id, date, - old_status, "absent", - parking_manager_id, db + user_id, presence_date, + old_status, PresenceStatus.ABSENT, + target_user.office_id, db ) except Exception as e: - config.logger.warning(f"Parking handler failed for user {user_id} on {date}: {e}") + config.logger.warning(f"Parking handler failed for user {user_id} on {presence_date}: {e}") return {"message": "Presence deleted"} @@ -267,34 +159,26 @@ def mark_presence(data: PresenceMarkRequest, db: Session = Depends(get_db), curr return _mark_presence_for_user(current_user.id, data.date, data.status, db, current_user) -@router.post("/mark-bulk", response_model=List[PresenceResponse]) -def mark_bulk_presence(data: BulkPresenceRequest, db: Session = Depends(get_db), current_user=Depends(get_current_user)): - """Mark presence for a date range""" - return _bulk_mark_presence( - current_user.id, data.start_date, data.end_date, - data.status, data.days, db, current_user - ) + @router.get("/my-presences", response_model=List[PresenceResponse]) -def get_my_presences(start_date: str = None, end_date: str = None, db: Session = Depends(get_db), current_user=Depends(get_current_user)): +def get_my_presences(start_date: date = None, end_date: date = None, db: Session = Depends(get_db), current_user=Depends(get_current_user)): """Get current user's presences""" query = db.query(UserPresence).filter(UserPresence.user_id == current_user.id) if start_date: - parse_date(start_date) query = query.filter(UserPresence.date >= start_date) if end_date: - parse_date(end_date) query = query.filter(UserPresence.date <= end_date) return query.order_by(UserPresence.date.desc()).all() -@router.delete("/{date}") -def delete_presence(date: str, db: Session = Depends(get_db), current_user=Depends(get_current_user)): +@router.delete("/{date_val}") +def delete_presence(date_val: date, db: Session = Depends(get_db), current_user=Depends(get_current_user)): """Delete presence for a date""" - return _delete_presence(current_user.id, date, db, current_user) + return _delete_presence(current_user.id, date_val, db, current_user) # Admin/Manager Routes @@ -309,66 +193,47 @@ def admin_mark_presence(data: AdminPresenceMarkRequest, db: Session = Depends(ge return _mark_presence_for_user(data.user_id, data.date, data.status, db, target_user) -@router.post("/admin/mark-bulk", response_model=List[PresenceResponse]) -def admin_mark_bulk_presence(data: AdminBulkPresenceRequest, db: Session = Depends(get_db), current_user=Depends(require_manager_or_admin)): - """Bulk mark presence for any user (manager/admin)""" - target_user = db.query(User).filter(User.id == data.user_id).first() - if not target_user: - raise HTTPException(status_code=404, detail="User not found") - - check_manager_access(current_user, target_user, db) - return _bulk_mark_presence( - data.user_id, data.start_date, data.end_date, - data.status, data.days, db, target_user - ) -@router.delete("/admin/{user_id}/{date}") -def admin_delete_presence(user_id: str, date: str, db: Session = Depends(get_db), current_user=Depends(require_manager_or_admin)): + +@router.delete("/admin/{user_id}/{date_val}") +def admin_delete_presence(user_id: str, date_val: date, db: Session = Depends(get_db), current_user=Depends(require_manager_or_admin)): """Delete presence for any user (manager/admin)""" target_user = db.query(User).filter(User.id == user_id).first() if not target_user: raise HTTPException(status_code=404, detail="User not found") check_manager_access(current_user, target_user, db) - return _delete_presence(user_id, date, db, target_user) + return _delete_presence(user_id, date_val, db, target_user) @router.get("/team") -def get_team_presences(start_date: str, end_date: str, manager_id: str = None, db: Session = Depends(get_db), current_user=Depends(get_current_user)): - """Get team presences with parking info, filtered by manager. - - Admins can see all teams - - Managers see their own team - - Employees can only see their own team (read-only view) +def get_team_presences(start_date: date, end_date: date, office_id: str = None, db: Session = Depends(get_db), current_user=Depends(get_current_user)): + """Get office presences with parking info. + - Admins can see all users (or filter by office_id) + - Managers see their own office's users + - Employees can see their own office's users (read-only view) """ - parse_date(start_date) - parse_date(end_date) - # Get users based on permissions and manager filter - # Note: Manager is part of their own team (for parking assignment purposes) - if current_user.role == "employee": - # Employees can only see their own team (users with same manager_id + the manager) - if not current_user.manager_id: - return [] # No manager assigned, no team to show - users = db.query(User).filter( - (User.manager_id == current_user.manager_id) | (User.id == current_user.manager_id) - ).all() - elif manager_id: - # Filter by specific manager (for admins/managers) - include the manager themselves - users = db.query(User).filter( - (User.manager_id == manager_id) | (User.id == manager_id) - ).all() - elif current_user.role == "admin": - # Admin sees all users - users = db.query(User).all() + if current_user.role == UserRole.ADMIN: + if office_id: + users = db.query(User).filter(User.office_id == office_id).all() + else: + users = db.query(User).all() + + elif current_user.office_id: + # Non-admin users see their office members + users = db.query(User).filter(User.office_id == current_user.office_id).all() + else: - # Manager sees their team + themselves - users = db.query(User).filter( - (User.manager_id == current_user.id) | (User.id == current_user.id) - ).all() + # No office assigned + return [] - # Batch query presences and parking for all users + # Batch query presences and parking for all selected users user_ids = [u.id for u in users] + if not user_ids: + return [] + presences = db.query(UserPresence).filter( UserPresence.user_id.in_(user_ids), UserPresence.date >= start_date, @@ -389,7 +254,7 @@ def get_team_presences(start_date: str, end_date: str, manager_id: str = None, d parking_lookup[p.user_id] = [] parking_info_lookup[p.user_id] = [] parking_lookup[p.user_id].append(p.date) - spot_display_name = get_spot_display_name(p.spot_id, p.manager_id, db) + spot_display_name = get_spot_display_name(p.spot_id, p.office_id, db) parking_info_lookup[p.user_id].append({ "id": p.id, "date": p.date, @@ -397,10 +262,10 @@ def get_team_presences(start_date: str, end_date: str, manager_id: str = None, d "spot_display_name": spot_display_name }) - # Build manager lookup for display - manager_ids = list(set(u.manager_id for u in users if u.manager_id)) - managers = db.query(User).filter(User.id.in_(manager_ids)).all() if manager_ids else [] - manager_lookup = {m.id: m.name for m in managers} + # Build office lookup for display (replacing old manager_lookup) + office_ids = list(set(u.office_id for u in users if u.office_id)) + offices = db.query(Office).filter(Office.id.in_(office_ids)).all() if office_ids else [] + office_lookup = {o.id: o.name for o in offices} # Build response result = [] @@ -410,8 +275,8 @@ def get_team_presences(start_date: str, end_date: str, manager_id: str = None, d result.append({ "id": user.id, "name": user.name, - "manager_id": user.manager_id, - "manager_name": manager_lookup.get(user.manager_id), + "office_id": user.office_id, + "office_name": office_lookup.get(user.office_id), "presences": [{"date": p.date, "status": p.status} for p in user_presences], "parking_dates": parking_lookup.get(user.id, []), "parking_info": parking_info_lookup.get(user.id, []) @@ -421,7 +286,7 @@ def get_team_presences(start_date: str, end_date: str, manager_id: str = None, d @router.get("/admin/{user_id}") -def get_user_presences(user_id: str, start_date: str = None, end_date: str = None, db: Session = Depends(get_db), current_user=Depends(require_manager_or_admin)): +def get_user_presences(user_id: str, start_date: date = None, end_date: date = None, db: Session = Depends(get_db), current_user=Depends(require_manager_or_admin)): """Get any user's presences with parking info (manager/admin)""" target_user = db.query(User).filter(User.id == user_id).first() if not target_user: @@ -432,24 +297,23 @@ def get_user_presences(user_id: str, start_date: str = None, end_date: str = Non query = db.query(UserPresence).filter(UserPresence.user_id == user_id) if start_date: - parse_date(start_date) query = query.filter(UserPresence.date >= start_date) if end_date: - parse_date(end_date) query = query.filter(UserPresence.date <= end_date) presences = query.order_by(UserPresence.date.desc()).all() # Batch query parking assignments - date_strs = [p.date for p in presences] + dates = [p.date for p in presences] parking_map = {} - if date_strs: + if dates: + # Note: Assignments link to user. We can find spot display name by looking up assignment -> office assignments = db.query(DailyParkingAssignment).filter( DailyParkingAssignment.user_id == user_id, - DailyParkingAssignment.date.in_(date_strs) + DailyParkingAssignment.date.in_(dates) ).all() for a in assignments: - parking_map[a.date] = get_spot_display_name(a.spot_id, a.manager_id, db) + parking_map[a.date] = get_spot_display_name(a.spot_id, a.office_id, db) # Build response result = [] diff --git a/app/routes/users.py b/app/routes/users.py index 5a18ac5..76e2040 100644 --- a/app/routes/users.py +++ b/app/routes/users.py @@ -8,7 +8,7 @@ from pydantic import BaseModel, EmailStr from sqlalchemy.orm import Session from database.connection import get_db -from database.models import User +from database.models import User, UserRole, Office from utils.auth_middleware import get_current_user, require_admin from utils.helpers import ( generate_uuid, is_ldap_user, is_ldap_admin, @@ -25,16 +25,14 @@ class UserCreate(BaseModel): email: EmailStr password: str name: str | None = None - role: str = "employee" - manager_id: str | None = None + role: UserRole = UserRole.EMPLOYEE + office_id: str | None = None class UserUpdate(BaseModel): name: str | None = None - role: str | None = None - manager_id: str | None = None - manager_parking_quota: int | None = None - manager_spot_prefix: str | None = None + role: UserRole | None = None + office_id: str | None = None class ProfileUpdate(BaseModel): @@ -44,11 +42,11 @@ class ProfileUpdate(BaseModel): class SettingsUpdate(BaseModel): week_start_day: int | None = None # Notification preferences - notify_weekly_parking: int | None = None - notify_daily_parking: int | None = None + notify_weekly_parking: bool | None = None + notify_daily_parking: bool | None = None notify_daily_parking_hour: int | None = None notify_daily_parking_minute: int | None = None - notify_parking_changes: int | None = None + notify_parking_changes: bool | None = None class ChangePasswordRequest(BaseModel): @@ -60,61 +58,54 @@ class UserResponse(BaseModel): id: str email: str name: str | None - role: str - manager_id: str | None = None - manager_name: str | None = None - manager_parking_quota: int | None = None - manager_spot_prefix: str | None = None - managed_user_count: int | None = None + role: UserRole + office_id: str | None = None + office_name: str | None = None is_ldap_user: bool = False is_ldap_admin: bool = False created_at: str | None + parking_ratio: float | None = None class Config: from_attributes = True -def user_to_response(user: User, db: Session, manager_lookup: dict = None, managed_counts: dict = None) -> dict: +def user_to_response(user: User, db: Session, office_lookup: dict = None) -> dict: """ Convert user to response dict with computed fields. - - Args: - user: The user to convert - db: Database session - manager_lookup: Optional pre-fetched dict of manager_id -> name (for batch operations) - managed_counts: Optional pre-fetched dict of user_id -> managed_user_count (for batch operations) """ - # Get manager name - use lookup if available, otherwise query - manager_name = None - if user.manager_id: - if manager_lookup is not None: - manager_name = manager_lookup.get(user.manager_id) + # Get office name - use lookup if available, otherwise query + office_name = None + if user.office_id: + if office_lookup is not None: + office_name = office_lookup.get(user.office_id) else: - manager = db.query(User).filter(User.id == user.manager_id).first() - if manager: - manager_name = manager.name + office = db.query(Office).filter(Office.id == user.office_id).first() + if office: + office_name = office.name - # Count managed users if this user is a manager - managed_user_count = None - if user.role == "manager": - if managed_counts is not None: - managed_user_count = managed_counts.get(user.id, 0) - else: - managed_user_count = db.query(User).filter(User.manager_id == user.id).count() + # Calculate parking ratio (score) + parking_ratio = None + if user.office_id: + try: + # Avoid circular import by importing inside function if needed, + # or ensure services.parking doesn't import this file. + from services.parking import get_user_parking_ratio + parking_ratio = get_user_parking_ratio(user.id, user.office_id, db) + except ImportError: + pass return { "id": user.id, "email": user.email, "name": user.name, "role": user.role, - "manager_id": user.manager_id, - "manager_name": manager_name, - "manager_parking_quota": user.manager_parking_quota, - "manager_spot_prefix": user.manager_spot_prefix, - "managed_user_count": managed_user_count, + "office_id": user.office_id, + "office_name": office_name, "is_ldap_user": is_ldap_user(user), "is_ldap_admin": is_ldap_admin(user), - "created_at": user.created_at + "created_at": user.created_at.isoformat() if user.created_at else None, + "parking_ratio": parking_ratio } @@ -125,23 +116,12 @@ def list_users(db: Session = Depends(get_db), user=Depends(require_admin)): users = db.query(User).all() # Build lookups to avoid N+1 queries - # Manager lookup: id -> name - manager_ids = list(set(u.manager_id for u in users if u.manager_id)) - managers = db.query(User).filter(User.id.in_(manager_ids)).all() if manager_ids else [] - manager_lookup = {m.id: m.name for m in managers} + # Office lookup: id -> name + office_ids = list(set(u.office_id for u in users if u.office_id)) + offices = db.query(Office).filter(Office.id.in_(office_ids)).all() if office_ids else [] + office_lookup = {o.id: o.name for o in offices} - # Managed user counts for managers - from sqlalchemy import func - manager_user_ids = [u.id for u in users if u.role == "manager"] - if manager_user_ids: - counts = db.query(User.manager_id, func.count(User.id)).filter( - User.manager_id.in_(manager_user_ids) - ).group_by(User.manager_id).all() - managed_counts = {manager_id: count for manager_id, count in counts} - else: - managed_counts = {} - - return [user_to_response(u, db, manager_lookup, managed_counts) for u in users] + return [user_to_response(u, db, office_lookup) for u in users] @router.get("/{user_id}") @@ -162,18 +142,17 @@ def create_user(data: UserCreate, db: Session = Depends(get_db), user=Depends(re if db.query(User).filter(User.email == data.email).first(): raise HTTPException(status_code=400, detail="Email already registered") - if data.role not in ["admin", "manager", "employee"]: - raise HTTPException(status_code=400, detail="Invalid role") + # Role validation handled by Pydantic Enum # Validate password strength password_errors = validate_password(data.password) if password_errors: raise HTTPException(status_code=400, detail=format_password_errors(password_errors)) - if data.manager_id: - manager = db.query(User).filter(User.id == data.manager_id).first() - if not manager or manager.role != "manager": - raise HTTPException(status_code=400, detail="Invalid manager") + if data.office_id: + office = db.query(Office).filter(Office.id == data.office_id).first() + if not office: + raise HTTPException(status_code=400, detail="Invalid office") new_user = User( id=generate_uuid(), @@ -181,8 +160,8 @@ def create_user(data: UserCreate, db: Session = Depends(get_db), user=Depends(re password_hash=hash_password(data.password), name=data.name, role=data.role, - manager_id=data.manager_id, - created_at=datetime.utcnow().isoformat() + office_id=data.office_id, + created_at=datetime.utcnow() ) db.add(new_user) @@ -211,54 +190,20 @@ def update_user(user_id: str, data: UserUpdate, db: Session = Depends(get_db), u # Role update if data.role is not None: - if data.role not in ["admin", "manager", "employee"]: - raise HTTPException(status_code=400, detail="Invalid role") # Can't change admin role for LDAP admins (they get admin from parking_admins group) - if target_is_ldap_admin and data.role != "admin": + if target_is_ldap_admin and data.role != UserRole.ADMIN: raise HTTPException(status_code=400, detail="Admin role is managed by LDAP group (parking_admins)") - # If changing from manager to another role, check for managed users - if target.role == "manager" and data.role != "manager": - managed_count = db.query(User).filter(User.manager_id == user_id).count() - if managed_count > 0: - raise HTTPException(status_code=400, detail=f"Cannot change role: {managed_count} users are assigned to this manager") - # Clear manager-specific fields - target.manager_parking_quota = 0 - target.manager_spot_prefix = None target.role = data.role - # Manager assignment (any user including admins can be assigned to a manager) - if data.manager_id is not None: - if data.manager_id: - manager = db.query(User).filter(User.id == data.manager_id).first() - if not manager or manager.role != "manager": - raise HTTPException(status_code=400, detail="Invalid manager") - if data.manager_id == user_id: - raise HTTPException(status_code=400, detail="User cannot be their own manager") - target.manager_id = data.manager_id if data.manager_id else None + # Office assignment + if "office_id" in data.__fields_set__: + if data.office_id: + office = db.query(Office).filter(Office.id == data.office_id).first() + if not office: + raise HTTPException(status_code=400, detail="Invalid office") + target.office_id = data.office_id if data.office_id else None - # Manager-specific fields - if data.manager_parking_quota is not None: - if target.role != "manager": - raise HTTPException(status_code=400, detail="Parking quota only for managers") - target.manager_parking_quota = data.manager_parking_quota - - if data.manager_spot_prefix is not None: - if target.role != "manager": - raise HTTPException(status_code=400, detail="Spot prefix only for managers") - prefix = data.manager_spot_prefix.upper() if data.manager_spot_prefix else None - if prefix and not prefix.isalpha(): - raise HTTPException(status_code=400, detail="Spot prefix must be a letter") - # Check for duplicate prefix - if prefix: - existing = db.query(User).filter( - User.manager_spot_prefix == prefix, - User.id != user_id - ).first() - if existing: - raise HTTPException(status_code=400, detail=f"Spot prefix '{prefix}' is already used by another manager") - target.manager_spot_prefix = prefix - - target.updated_at = datetime.utcnow().isoformat() + target.updated_at = datetime.utcnow() db.commit() db.refresh(target) return user_to_response(target, db) @@ -274,12 +219,6 @@ def delete_user(user_id: str, db: Session = Depends(get_db), current_user=Depend if not target: raise HTTPException(status_code=404, detail="User not found") - # Check if user is a manager with managed users - if target.role == "manager": - managed_count = db.query(User).filter(User.manager_id == user_id).count() - if managed_count > 0: - raise HTTPException(status_code=400, detail=f"Cannot delete: {managed_count} users are assigned to this manager") - db.delete(target) db.commit() return {"message": "User deleted"} @@ -289,20 +228,20 @@ def delete_user(user_id: str, db: Session = Depends(get_db), current_user=Depend @router.get("/me/profile") def get_profile(db: Session = Depends(get_db), current_user=Depends(get_current_user)): """Get current user's profile""" - # Get manager name - manager_name = None - if current_user.manager_id: - manager = db.query(User).filter(User.id == current_user.manager_id).first() - if manager: - manager_name = manager.name + # Get office name + office_name = None + if current_user.office_id: + office = db.query(Office).filter(Office.id == current_user.office_id).first() + if office: + office_name = office.name return { "id": current_user.id, "email": current_user.email, "name": current_user.name, "role": current_user.role, - "manager_id": current_user.manager_id, - "manager_name": manager_name, + "office_id": current_user.office_id, + "office_name": office_name, "is_ldap_user": is_ldap_user(current_user) } @@ -314,7 +253,7 @@ def update_profile(data: ProfileUpdate, db: Session = Depends(get_db), current_u if is_ldap_user(current_user): raise HTTPException(status_code=400, detail="Name is managed by LDAP") current_user.name = data.name - current_user.updated_at = datetime.utcnow().isoformat() + current_user.updated_at = datetime.utcnow() db.commit() return {"message": "Profile updated"} @@ -325,11 +264,11 @@ def get_settings(current_user=Depends(get_current_user)): """Get current user's settings""" return { "week_start_day": get_notification_default(current_user.week_start_day, 0), - "notify_weekly_parking": get_notification_default(current_user.notify_weekly_parking, 1), - "notify_daily_parking": get_notification_default(current_user.notify_daily_parking, 1), + "notify_weekly_parking": get_notification_default(current_user.notify_weekly_parking, True), + "notify_daily_parking": get_notification_default(current_user.notify_daily_parking, True), "notify_daily_parking_hour": get_notification_default(current_user.notify_daily_parking_hour, 8), "notify_daily_parking_minute": get_notification_default(current_user.notify_daily_parking_minute, 0), - "notify_parking_changes": get_notification_default(current_user.notify_parking_changes, 1) + "notify_parking_changes": get_notification_default(current_user.notify_parking_changes, True) } @@ -337,8 +276,8 @@ def get_settings(current_user=Depends(get_current_user)): def update_settings(data: SettingsUpdate, db: Session = Depends(get_db), current_user=Depends(get_current_user)): """Update current user's settings""" if data.week_start_day is not None: - if data.week_start_day not in [0, 1]: - raise HTTPException(status_code=400, detail="Week start must be 0 (Sunday) or 1 (Monday)") + if data.week_start_day not in [0, 6]: + raise HTTPException(status_code=400, detail="Week start must be 0 (Monday) or 6 (Sunday)") current_user.week_start_day = data.week_start_day # Notification preferences @@ -361,7 +300,7 @@ def update_settings(data: SettingsUpdate, db: Session = Depends(get_db), current if data.notify_parking_changes is not None: current_user.notify_parking_changes = data.notify_parking_changes - current_user.updated_at = datetime.utcnow().isoformat() + current_user.updated_at = datetime.utcnow() db.commit() return { "message": "Settings updated", @@ -389,7 +328,7 @@ def change_password(data: ChangePasswordRequest, db: Session = Depends(get_db), raise HTTPException(status_code=400, detail=format_password_errors(password_errors)) current_user.password_hash = hash_password(data.new_password) - current_user.updated_at = datetime.utcnow().isoformat() + current_user.updated_at = datetime.utcnow() db.commit() config.logger.info(f"User {current_user.email} changed password") return {"message": "Password changed"} diff --git a/compose.yml b/compose.yml index 425989d..cd61b3e 100644 --- a/compose.yml +++ b/compose.yml @@ -3,8 +3,6 @@ services: build: . container_name: parking restart: unless-stopped - ports: - - "8000:8000" volumes: - ./data:/app/data env_file: @@ -21,6 +19,13 @@ services: start_period: 10s networks: - org-network + labels: + - "caddy=parking.lvh.me" + - "caddy.reverse_proxy={{upstreams 8000}}" + - "caddy.forward_auth=authelia:9091" + - "caddy.forward_auth.uri=/api/verify?rd=https://parking.lvh.me/" + - "caddy.forward_auth.copy_headers=Remote-User Remote-Groups Remote-Name Remote-Email" + networks: org-network: diff --git a/create_test_db.py b/create_test_db.py deleted file mode 100644 index dacb070..0000000 --- a/create_test_db.py +++ /dev/null @@ -1,132 +0,0 @@ -""" -Create test database with sample data -Run: .venv/bin/python create_test_db.py - -Manager-centric model: -- Users have a manager_id pointing to their manager -- Managers own parking spots (manager_parking_quota) -- Each manager has a spot prefix (A, B, C...) for display names -""" -import uuid -from datetime import datetime, timezone -from database.connection import engine, SessionLocal -from database.models import Base, User -from services.auth import hash_password - -# Drop and recreate all tables for clean slate -Base.metadata.drop_all(bind=engine) -Base.metadata.create_all(bind=engine) - -db = SessionLocal() - -now = datetime.now(timezone.utc).isoformat() -password_hash = hash_password("password123") - -# Create users with manager-centric model -# manager_id points to the user's manager - -users_data = [ - { - "id": "admin", - "email": "admin@example.com", - "name": "Admin User", - "role": "admin", - "manager_id": None, # Admins don't have managers - }, - { - "id": "manager1", - "email": "manager1@example.com", - "name": "Alice Manager", - "role": "manager", - "manager_id": None, # Managers don't have managers - "manager_parking_quota": 3, - "manager_spot_prefix": "A", - }, - { - "id": "manager2", - "email": "manager2@example.com", - "name": "Bob Manager", - "role": "manager", - "manager_id": None, - "manager_parking_quota": 2, - "manager_spot_prefix": "B", - }, - { - "id": "user1", - "email": "user1@example.com", - "name": "User One", - "role": "employee", - "manager_id": "manager1", # Managed by Alice - }, - { - "id": "user2", - "email": "user2@example.com", - "name": "User Two", - "role": "employee", - "manager_id": "manager1", # Managed by Alice - }, - { - "id": "user3", - "email": "user3@example.com", - "name": "User Three", - "role": "employee", - "manager_id": "manager1", # Managed by Alice - }, - { - "id": "user4", - "email": "user4@example.com", - "name": "User Four", - "role": "employee", - "manager_id": "manager2", # Managed by Bob - }, - { - "id": "user5", - "email": "user5@example.com", - "name": "User Five", - "role": "employee", - "manager_id": "manager2", # Managed by Bob - }, -] - -for data in users_data: - user = User( - id=data["id"], - email=data["email"], - password_hash=password_hash, - name=data["name"], - role=data["role"], - manager_id=data.get("manager_id"), - manager_parking_quota=data.get("manager_parking_quota", 0), - manager_spot_prefix=data.get("manager_spot_prefix"), - created_at=now - ) - db.add(user) - print(f"Created user: {user.email} ({user.role})") - -db.commit() -db.close() - -print("\n" + "="*60) -print("Test database created successfully!") -print("="*60) -print("\nTest accounts (all use password: password123):") -print("-"*60) -print(f"{'Email':<25} {'Role':<10} {'Manager':<15}") -print("-"*60) -print(f"{'admin@example.com':<25} {'admin':<10} {'-':<15}") -print(f"{'manager1@example.com':<25} {'manager':<10} {'-':<15}") -print(f"{'manager2@example.com':<25} {'manager':<10} {'-':<15}") -print(f"{'user1@example.com':<25} {'employee':<10} {'Alice':<15}") -print(f"{'user2@example.com':<25} {'employee':<10} {'Alice':<15}") -print(f"{'user3@example.com':<25} {'employee':<10} {'Alice':<15}") -print(f"{'user4@example.com':<25} {'employee':<10} {'Bob':<15}") -print(f"{'user5@example.com':<25} {'employee':<10} {'Bob':<15}") -print("-"*60) -print("\nParking pools:") -print(" Alice (manager1): 3 spots (A1,A2,A3)") -print(" -> manages: user1, user2, user3") -print(" -> 3 users, 3 spots = 100% ratio target") -print() -print(" Bob (manager2): 2 spots (B1,B2)") -print(" -> manages: user4, user5") -print(" -> 2 users, 2 spots = 100% ratio target") diff --git a/database/models.py b/database/models.py index de3f2df..9644375 100644 --- a/database/models.py +++ b/database/models.py @@ -2,12 +2,73 @@ SQLAlchemy ORM Models Clean, focused data models for parking management """ -from sqlalchemy import Column, String, Integer, Text, ForeignKey, Index +import enum +from sqlalchemy import Column, String, Integer, Text, ForeignKey, Index, Enum, Date, DateTime, Boolean from sqlalchemy.orm import relationship, declarative_base +from datetime import datetime, date Base = declarative_base() +class UserRole(str, enum.Enum): + ADMIN = "admin" + MANAGER = "manager" + EMPLOYEE = "employee" + + +class PresenceStatus(str, enum.Enum): + PRESENT = "present" + REMOTE = "remote" + ABSENT = "absent" + + +class NotificationType(str, enum.Enum): + PRESENCE_REMINDER = "presence_reminder" + WEEKLY_PARKING = "weekly_parking" + DAILY_PARKING = "daily_parking" + PARKING_CHANGE = "parking_change" + + +class WeekDay(enum.IntEnum): + # Matches Python's calendar (0=Monday)? No! + # The current DB convention in ManagerWeeklyClosingDay seems to be 0=Sunday based on comment: + # "0=Sunday, 1=Monday, ..., 6=Saturday" + # To keep consistency with existing logic comments, we'll stick to that, + # OR we can switch to standard Python (0=Monday). + # Plan said: "IntEnum matching DB convention (0=Sunday, 1=Monday, ...)" + MONDAY = 0 + TUESDAY = 1 + WEDNESDAY = 2 + THURSDAY = 3 + FRIDAY = 4 + SATURDAY = 5 + SUNDAY = 6 + + + +class Office(Base): + """Organization units that have parking spots""" + __tablename__ = "offices" + + id = Column(Text, primary_key=True) + name = Column(Text, nullable=False) + parking_quota = Column(Integer, default=0) + spot_prefix = Column(Text) # Letter prefix: A, B, C + + # Booking Window Settings (Batch Assignment) + booking_window_enabled = Column(Boolean, default=False) + booking_window_end_hour = Column(Integer, default=18) # 0-23 + booking_window_end_minute = Column(Integer, default=0) # 0-59 + + created_at = Column(DateTime, default=datetime.utcnow) + updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) + + # Relationships + users = relationship("User", back_populates="office") + closing_days = relationship("OfficeClosingDay", back_populates="office", cascade="all, delete-orphan") + weekly_closing_days = relationship("OfficeWeeklyClosingDay", back_populates="office", cascade="all, delete-orphan") + + class User(Base): """Application users""" __tablename__ = "users" @@ -16,34 +77,30 @@ class User(Base): email = Column(Text, unique=True, nullable=False) password_hash = Column(Text) name = Column(Text) - role = Column(Text, nullable=False, default="employee") # admin, manager, employee - manager_id = Column(Text, ForeignKey("users.id")) # Who manages this user (any user can have a manager) - - # Manager-specific fields (only relevant for role='manager') - manager_parking_quota = Column(Integer, default=0) # Number of spots this manager controls - manager_spot_prefix = Column(Text) # Letter prefix for spots: A, B, C, etc. + role = Column(Enum(UserRole, values_callable=lambda obj: [e.value for e in obj]), nullable=False, default=UserRole.EMPLOYEE) + office_id = Column(Text, ForeignKey("offices.id")) # Which office this user belongs to # User preferences - week_start_day = Column(Integer, default=0) # 0=Sunday, 1=Monday, ..., 6=Saturday + week_start_day = Column(Integer, default=0) # 0=Sunday, 1=Monday, ... (Matches WeekDay logic) # Notification preferences - notify_weekly_parking = Column(Integer, default=1) # Weekly parking summary (Friday at 12) - notify_daily_parking = Column(Integer, default=1) # Daily parking reminder + notify_weekly_parking = Column(Boolean, default=True) # Weekly parking summary (Friday at 12) + notify_daily_parking = Column(Boolean, default=True) # Daily parking reminder notify_daily_parking_hour = Column(Integer, default=8) # Hour for daily reminder (0-23) notify_daily_parking_minute = Column(Integer, default=0) # Minute for daily reminder (0-59) - notify_parking_changes = Column(Integer, default=1) # Immediate notification on assignment changes + notify_parking_changes = Column(Boolean, default=True) # Immediate notification on assignment changes - created_at = Column(Text) - updated_at = Column(Text) + created_at = Column(DateTime, default=datetime.utcnow) + updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) # Relationships - manager = relationship("User", remote_side=[id], backref="managed_users") + office = relationship("Office", back_populates="users") presences = relationship("UserPresence", back_populates="user", cascade="all, delete-orphan") assignments = relationship("DailyParkingAssignment", back_populates="user", foreign_keys="DailyParkingAssignment.user_id") __table_args__ = ( Index('idx_user_email', 'email'), - Index('idx_user_manager', 'manager_id'), + Index('idx_user_office', 'office_id'), ) @@ -53,10 +110,10 @@ class UserPresence(Base): id = Column(Text, primary_key=True) user_id = Column(Text, ForeignKey("users.id", ondelete="CASCADE"), nullable=False) - date = Column(Text, nullable=False) # YYYY-MM-DD - status = Column(Text, nullable=False) # present, remote, absent - created_at = Column(Text) - updated_at = Column(Text) + date = Column(Date, nullable=False) + status = Column(Enum(PresenceStatus, values_callable=lambda obj: [e.value for e in obj]), nullable=False) # present, remote, absent + created_at = Column(DateTime, default=datetime.utcnow) + updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) # Relationships user = relationship("User", back_populates="presences") @@ -68,97 +125,100 @@ class UserPresence(Base): class DailyParkingAssignment(Base): - """Parking spot assignments per day - spots belong to managers""" + """Parking spot assignments per day - spots belong to offices""" __tablename__ = "daily_parking_assignments" id = Column(Text, primary_key=True) - date = Column(Text, nullable=False) # YYYY-MM-DD - spot_id = Column(Text, nullable=False) # A1, A2, B1, B2, etc. (prefix from manager) + date = Column(Date, nullable=False) + spot_id = Column(Text, nullable=False) # A1, A2, B1, B2, etc. (prefix from office) user_id = Column(Text, ForeignKey("users.id", ondelete="SET NULL")) - manager_id = Column(Text, ForeignKey("users.id", ondelete="CASCADE"), nullable=False) # Manager who owns the spot - created_at = Column(Text) + office_id = Column(Text, ForeignKey("offices.id", ondelete="CASCADE"), nullable=False) # Office that owns the spot + created_at = Column(DateTime, default=datetime.utcnow) # Relationships user = relationship("User", back_populates="assignments", foreign_keys=[user_id]) - manager = relationship("User", foreign_keys=[manager_id]) + office = relationship("Office") __table_args__ = ( - Index('idx_assignment_manager_date', 'manager_id', 'date'), + Index('idx_assignment_office_date', 'office_id', 'date'), Index('idx_assignment_user', 'user_id'), Index('idx_assignment_date_spot', 'date', 'spot_id'), ) -class ManagerClosingDay(Base): - """Specific date closing days for a manager's parking pool (holidays, special closures)""" - __tablename__ = "manager_closing_days" +class OfficeClosingDay(Base): + """Specific date closing days for an office's parking pool (holidays, special closures)""" + __tablename__ = "office_closing_days" id = Column(Text, primary_key=True) - manager_id = Column(Text, ForeignKey("users.id", ondelete="CASCADE"), nullable=False) - date = Column(Text, nullable=False) # YYYY-MM-DD + office_id = Column(Text, ForeignKey("offices.id", ondelete="CASCADE"), nullable=False) + date = Column(Date, nullable=False) + end_date = Column(Date) reason = Column(Text) # Relationships - manager = relationship("User") + office = relationship("Office", back_populates="closing_days") __table_args__ = ( - Index('idx_closing_manager_date', 'manager_id', 'date', unique=True), + Index('idx_closing_office_date', 'office_id', 'date', unique=True), ) -class ManagerWeeklyClosingDay(Base): - """Weekly recurring closing days for a manager's parking pool (e.g., Saturday and Sunday)""" - __tablename__ = "manager_weekly_closing_days" +class OfficeWeeklyClosingDay(Base): + """Weekly recurring closing days for an office's parking pool (e.g., Saturday and Sunday)""" + __tablename__ = "office_weekly_closing_days" id = Column(Text, primary_key=True) - manager_id = Column(Text, ForeignKey("users.id", ondelete="CASCADE"), nullable=False) - weekday = Column(Integer, nullable=False) # 0=Sunday, 1=Monday, ..., 6=Saturday + office_id = Column(Text, ForeignKey("offices.id", ondelete="CASCADE"), nullable=False) + weekday = Column(Integer, nullable=False) # 0=Sunday, 1=Monday, ..., 6=Saturday (Matches WeekDay Enum logic) # Relationships - manager = relationship("User") + office = relationship("Office", back_populates="weekly_closing_days") __table_args__ = ( - Index('idx_weekly_closing_manager_day', 'manager_id', 'weekday', unique=True), + Index('idx_weekly_closing_office_day', 'office_id', 'weekday', unique=True), ) class ParkingGuarantee(Base): - """Users guaranteed a parking spot when present (set by manager)""" + """Users guaranteed a parking spot when present (set by office manager)""" __tablename__ = "parking_guarantees" id = Column(Text, primary_key=True) - manager_id = Column(Text, ForeignKey("users.id", ondelete="CASCADE"), nullable=False) + office_id = Column(Text, ForeignKey("offices.id", ondelete="CASCADE"), nullable=False) user_id = Column(Text, ForeignKey("users.id", ondelete="CASCADE"), nullable=False) - start_date = Column(Text) # Optional: YYYY-MM-DD (null = no start limit) - end_date = Column(Text) # Optional: YYYY-MM-DD (null = no end limit) - created_at = Column(Text) + start_date = Column(Date) # Optional (null = no start limit) + end_date = Column(Date) # Optional (null = no end limit) + notes = Column(Text, nullable=True) + created_at = Column(DateTime, default=datetime.utcnow) # Relationships - manager = relationship("User", foreign_keys=[manager_id]) + office = relationship("Office") user = relationship("User", foreign_keys=[user_id]) __table_args__ = ( - Index('idx_guarantee_manager_user', 'manager_id', 'user_id', unique=True), + Index('idx_guarantee_office_user', 'office_id', 'user_id', unique=True), ) class ParkingExclusion(Base): - """Users excluded from parking assignment (set by manager)""" + """Users excluded from parking assignment (set by office manager)""" __tablename__ = "parking_exclusions" id = Column(Text, primary_key=True) - manager_id = Column(Text, ForeignKey("users.id", ondelete="CASCADE"), nullable=False) + office_id = Column(Text, ForeignKey("offices.id", ondelete="CASCADE"), nullable=False) user_id = Column(Text, ForeignKey("users.id", ondelete="CASCADE"), nullable=False) - start_date = Column(Text) # Optional: YYYY-MM-DD (null = no start limit) - end_date = Column(Text) # Optional: YYYY-MM-DD (null = no end limit) - created_at = Column(Text) + start_date = Column(Date) # Optional + end_date = Column(Date) # Optional + notes = Column(Text, nullable=True) + created_at = Column(DateTime, default=datetime.utcnow) # Relationships - manager = relationship("User", foreign_keys=[manager_id]) + office = relationship("Office") user = relationship("User", foreign_keys=[user_id]) __table_args__ = ( - Index('idx_exclusion_manager_user', 'manager_id', 'user_id', unique=True), + Index('idx_exclusion_office_user', 'office_id', 'user_id', unique=True), ) @@ -168,9 +228,9 @@ class NotificationLog(Base): id = Column(Text, primary_key=True) user_id = Column(Text, ForeignKey("users.id", ondelete="CASCADE"), nullable=False) - notification_type = Column(Text, nullable=False) # presence_reminder, weekly_parking, daily_parking, parking_change - reference_date = Column(Text) # The date/week this notification refers to (YYYY-MM-DD or YYYY-Www) - sent_at = Column(Text, nullable=False) + notification_type = Column(Enum(NotificationType, values_callable=lambda obj: [e.value for e in obj]), nullable=False) + reference_date = Column(Text) # The date/week this notification refers to (YYYY-MM-DD or YYYY-Www) - keeping as Text for flexibility + sent_at = Column(DateTime, default=datetime.utcnow) __table_args__ = ( Index('idx_notification_user_type_date', 'user_id', 'notification_type', 'reference_date'), @@ -183,11 +243,11 @@ class NotificationQueue(Base): id = Column(Text, primary_key=True) user_id = Column(Text, ForeignKey("users.id", ondelete="CASCADE"), nullable=False) - notification_type = Column(Text, nullable=False) # parking_change + notification_type = Column(Enum(NotificationType, values_callable=lambda obj: [e.value for e in obj]), nullable=False) # parking_change subject = Column(Text, nullable=False) body = Column(Text, nullable=False) - created_at = Column(Text, nullable=False) - sent_at = Column(Text) # null = not sent yet + created_at = Column(DateTime, default=datetime.utcnow) + sent_at = Column(DateTime) # null = not sent yet __table_args__ = ( Index('idx_queue_pending', 'sent_at'), diff --git a/deploy/Caddyfile.snippet b/deploy/Caddyfile.snippet deleted file mode 100644 index 0f589ca..0000000 --- a/deploy/Caddyfile.snippet +++ /dev/null @@ -1,8 +0,0 @@ -# Caddy configuration snippet for parking.rocketscale.it -# Add this block to org-stack/Caddyfile after the (auth) snippet definition - -# Parking Manager - Protected by Authelia -parking.rocketscale.it { - import auth - reverse_proxy parking:8000 -} diff --git a/deploy/DEPLOY.md b/deploy/DEPLOY.md deleted file mode 100644 index 07e9a20..0000000 --- a/deploy/DEPLOY.md +++ /dev/null @@ -1,219 +0,0 @@ -# Deployment Guide for parking.rocketscale.it - -## Prerequisites - -- org-stack running on rocky@rocketscale.it -- Git repository on git.rocketscale.it (optional, can use rsync) - -## Directory Structure - -Parking is deployed as a **separate directory** alongside org-stack: - -``` -~/ -├── org-stack/ # Main stack (Caddy, Authelia, LLDAP, etc.) -│ ├── compose.yml -│ ├── Caddyfile -│ ├── authelia/ -│ └── .env -│ -└── org-parking/ # Parking app (separate) - ├── compose.yml # Production compose (connects to org-stack network) - ├── .env # Own .env with PARKING_SECRET_KEY - ├── Dockerfile - └── ... -``` - -## Step 1: Deploy to Server - -Option A - Using rsync (recommended for development): -```bash -# From development machine -rsync -avz --exclude '.git' --exclude '__pycache__' --exclude '*.pyc' \ - --exclude '.env' --exclude 'data/' --exclude '*.db' --exclude '.venv/' \ - /path/to/org-parking/ rocky@rocketscale.it:~/org-parking/ -``` - -Option B - Using git: -```bash -ssh rocky@rocketscale.it -cd ~ -git clone git@git.rocketscale.it:rocky/parking-manager.git org-parking -``` - -## Step 2: Create Production compose.yml - -Create `~/org-parking/compose.yml` on the server: - -```yaml -services: - parking: - build: . - container_name: parking - restart: unless-stopped - volumes: - - parking_data:/app/data - environment: - - SECRET_KEY=${PARKING_SECRET_KEY} - - DATABASE_PATH=/app/data/parking.db - - AUTHELIA_ENABLED=true - - ALLOWED_ORIGINS=https://parking.rocketscale.it - - SMTP_HOST=${SMTP_HOST:-} - - SMTP_PORT=${SMTP_PORT:-587} - - SMTP_USER=${SMTP_USER:-} - - SMTP_PASSWORD=${SMTP_PASSWORD:-} - - SMTP_FROM=${SMTP_FROM:-} - networks: - - org-network - healthcheck: - test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"] - interval: 30s - timeout: 10s - retries: 3 - start_period: 10s - -volumes: - parking_data: - -networks: - org-network: - external: true - name: org-stack_org-network -``` - -## Step 3: Create .env File - -Create `~/org-parking/.env` with a secret key: - -```bash -cd ~/org-parking -python3 -c "import secrets; print(f'PARKING_SECRET_KEY={secrets.token_hex(32)}')" > .env -``` - -**Note**: Each directory needs its own `.env` file since docker compose only reads from the current directory. - -## Step 4: Add to Caddyfile - -Add to `~/org-stack/Caddyfile`: - -``` -# Parking Manager - Protected by Authelia -parking.rocketscale.it { - import auth - reverse_proxy parking:8000 -} -``` - -## Step 5: Add Authelia Access Control Rule - -**Important**: Authelia's `access_control` must include parking.rocketscale.it or you'll get 403 Forbidden. - -Edit `~/org-stack/authelia/configuration.yml` and add to the `access_control.rules` section: - -```yaml -access_control: - default_policy: deny - rules: - # ... existing rules ... - - # Parking Manager - require authentication - - domain: parking.rocketscale.it - policy: one_factor -``` - -After editing, restart Authelia: -```bash -cd ~/org-stack -docker compose restart authelia -``` - -## Step 6: Create LLDAP Group - -In lldap (https://ldap.rocketscale.it): - -1. Create group: `parking_admins` -2. Add yourself (or whoever should be admin) to this group - -**Role Management:** -- `parking_admins` group → **admin** role (synced from LLDAP on each login) -- **manager** role → assigned by admin in the app UI (Manage Users page) -- **employee** role → default for all other users - -The admin can promote users to manager and assign offices via the Manage Users page. - -## Step 7: Build and Deploy - -```bash -# Build and start parking service -cd ~/org-parking -docker compose build parking -docker compose up -d - -# Reload Caddy to pick up new domain (from org-stack) -cd ~/org-stack -docker compose exec caddy caddy reload --config /etc/caddy/Caddyfile - -# Check logs -cd ~/org-parking -docker compose logs -f parking -``` - -## Step 8: Verify - -1. Go to https://parking.rocketscale.it -2. You should be redirected to Authelia for login -3. After login, you should see the parking app -4. Your user should be auto-created with `admin` role (if in parking-admins group) - -## Troubleshooting - -### 403 Forbidden from Authelia -- Authelia's `access_control` doesn't have a rule for parking.rocketscale.it -- Add the domain to `~/org-stack/authelia/configuration.yml` (see Step 6) -- Restart Authelia: `docker compose restart authelia` - -### 401 Unauthorized -- Check Authelia headers are being passed -- Check `docker compose logs authelia` - -### Login redirect loop (keeps redirecting to /login) -- Frontend JS must use async auth checking for Authelia mode -- The `api.requireAuth()` must call `/api/auth/me` endpoint (not check localStorage) -- Ensure all page JS files use: `currentUser = await api.requireAuth();` - -### User has wrong role -- **Admin role**: Verify user is in `parking_admins` LLDAP group (synced on each login) -- **Manager role**: Must be assigned by admin via Manage Users page (not from LLDAP) -- **Employee role**: Default for users not in `parking_admins` group - -### Database errors -- Check volume mount: `docker compose exec parking ls -la /app/data` -- Check permissions: `docker compose exec parking id` - -## Architecture Notes - -### Authelia Integration -The app supports two authentication modes: -1. **JWT mode** (standalone): Users login via `/login`, get JWT token stored in localStorage -2. **Authelia mode** (SSO): Authelia handles login, passes headers to backend - -When `AUTHELIA_ENABLED=true`: -- Backend reads user info from headers: `Remote-User`, `Remote-Email`, `Remote-Name`, `Remote-Groups` -- Users are auto-created on first login -- Roles are synced from LLDAP groups on each request -- Frontend calls `/api/auth/me` to get user info (backend reads headers) - -### Role Management - -Only the **admin** role is synced from LLDAP: -```python -AUTHELIA_ADMIN_GROUP = "parking_admins" # → role: admin -``` - -Other roles are managed within the app: -- **manager**: Assigned by admin via Manage Users page -- **employee**: Default role for all non-admin users - -This separation allows: -- LLDAP to control who has admin access -- App admin to assign manager roles and office assignments without LLDAP changes diff --git a/deploy/compose.production.yml b/deploy/compose.production.yml deleted file mode 100644 index 6c3a5fc..0000000 --- a/deploy/compose.production.yml +++ /dev/null @@ -1,32 +0,0 @@ -# Production compose file for org-stack integration -# This will be added to ~/org-stack/compose.yml on the server - -services: - parking: - build: ./parking - container_name: parking - restart: unless-stopped - volumes: - - parking_data:/app/data - environment: - - SECRET_KEY=${PARKING_SECRET_KEY} - - DATABASE_PATH=/app/data/parking.db - - AUTHELIA_ENABLED=true - - ALLOWED_ORIGINS=https://parking.rocketscale.it - # SMTP (shared with other services) - - SMTP_HOST=${SMTP_HOST:-} - - SMTP_PORT=${SMTP_PORT:-587} - - SMTP_USER=${SMTP_USER:-} - - SMTP_PASSWORD=${SMTP_PASSWORD:-} - - SMTP_FROM=${SMTP_FROM:-} - networks: - - org-network - depends_on: - - authelia - -volumes: - parking_data: - -networks: - org-network: - external: true diff --git a/frontend/assets/parking-map.png b/frontend/assets/parking-map.png new file mode 100644 index 0000000000000000000000000000000000000000..b4669c3fc1c8e2ef4268edca9e5ae0c65c8acad8 GIT binary patch literal 805077 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

2gc6qgl4S5Jn# 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�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


0|ySGU!T5WB>3ID-_s*zNTV)4 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

T|P%A-tcj6iE;O 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�kq5 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

6_pDR=V)Q3k8ViqXg*?!ru2KO{T-ByVl@Q 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

)FowR~=`B-it|LzsLv_-#u(ze@$9 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 { + currentUser = await api.requireAuth(); + if (!currentUser) return; + + if (currentUser.role !== 'admin') { + window.location.href = '/presence'; + return; + } + + await loadOffices(); + setupEventListeners(); +}); + +async function loadOffices() { + const response = await api.get('/api/offices'); + if (response && response.ok) { + offices = await response.json(); + renderOffices(); + } +} + +function renderOffices() { + const tbody = document.getElementById('officesBody'); + + if (offices.length === 0) { + tbody.innerHTML = 'Nessun ufficio trovato'; + return; + } + + tbody.innerHTML = offices.map(office => { + return ` + + ${office.name} + ${office.parking_quota} posti + ${office.spot_prefix || '-'} + ${office.user_count || 0} utenti + + + + + + `; + }).join(''); +} + +function openModal(title) { + document.getElementById('officeModalTitle').textContent = title; + document.getElementById('officeModal').style.display = 'flex'; +} + +function closeModal() { + document.getElementById('officeModal').style.display = 'none'; + document.getElementById('officeForm').reset(); + document.getElementById('officeId').value = ''; +} + +async function editOffice(officeId) { + const office = offices.find(o => o.id === officeId); + if (!office) return; + + document.getElementById('officeId').value = office.id; + document.getElementById('officeName').value = office.name; + document.getElementById('officeQuota').value = office.parking_quota; + + openModal('Modifica Ufficio'); +} + +async function deleteOffice(officeId) { + const office = offices.find(o => o.id === officeId); + if (!office) return; + + if (!confirm(`Eliminare l'ufficio "${office.name}"?`)) return; + + const response = await api.delete(`/api/offices/${officeId}`); + if (response && response.ok) { + utils.showMessage('Ufficio eliminato', 'success'); + await loadOffices(); + } else { + const error = await response.json(); + utils.showMessage(error.detail || 'Impossibile eliminare l\'ufficio', 'error'); + } +} + +function setupEventListeners() { + // Add button + document.getElementById('addOfficeBtn').addEventListener('click', () => { + openModal('Nuovo Ufficio'); + }); + + // Modal close + document.getElementById('closeOfficeModal').addEventListener('click', closeModal); + document.getElementById('cancelOffice').addEventListener('click', closeModal); + utils.setupModalClose('officeModal'); + + // Debug tracking for save button + const saveBtn = document.getElementById('saveOfficeBtn'); + if (saveBtn) { + saveBtn.addEventListener('click', () => console.log('Save button clicked')); + } + + // Form submit + const form = document.getElementById('officeForm'); + form.addEventListener('submit', handleOfficeSubmit); +} + +async function handleOfficeSubmit(e) { + e.preventDefault(); + console.log('Form submitting...'); + + const saveBtn = document.getElementById('saveOfficeBtn'); + const originalText = saveBtn.innerHTML; + saveBtn.disabled = true; + saveBtn.innerHTML = 'Salvataggio...'; + + const officeId = document.getElementById('officeId').value; + const data = { + name: document.getElementById('officeName').value, + parking_quota: parseInt(document.getElementById('officeQuota').value) || 0 + }; + + console.log('Payload:', data); + + try { + let response; + if (officeId) { + response = await api.put(`/api/offices/${officeId}`, data); + } else { + response = await api.post('/api/offices', data); + } + + console.log('Response status:', response ? response.status : 'null'); + + if (response && response.ok) { + closeModal(); + utils.showMessage(officeId ? 'Ufficio aggiornato' : 'Ufficio creato', 'success'); + await loadOffices(); + } else { + let errorMessage = 'Errore operazione'; + try { + const error = await response.json(); + errorMessage = error.detail || errorMessage; + } catch (e) { + console.error('Error parsing JSON error:', e); + errorMessage = 'Errore server imprevisto (' + (response ? response.status : 'network') + ')'; + } + utils.showMessage(errorMessage, 'error'); + } + } catch (error) { + console.error('Form submit exception:', error); + utils.showMessage('Errore di connessione: ' + error.message, 'error'); + } finally { + saveBtn.disabled = false; + saveBtn.innerHTML = originalText; + } +} + +// Global functions +window.editOffice = editOffice; +window.deleteOffice = deleteOffice; diff --git a/frontend/js/admin-users.js b/frontend/js/admin-users.js index b8dfd2a..b286a53 100644 --- a/frontend/js/admin-users.js +++ b/frontend/js/admin-users.js @@ -1,11 +1,12 @@ /** * Admin Users Page - * Manage users with LDAP-aware editing + * Manage users with LDAP-aware editing and Office assignment */ let currentUser = null; let users = []; -let managers = []; +let offices = []; +let currentSort = { column: 'name', direction: 'asc' }; document.addEventListener('DOMContentLoaded', async () => { currentUser = await api.requireAuth(); @@ -16,15 +17,15 @@ document.addEventListener('DOMContentLoaded', async () => { return; } - await loadManagers(); + await loadOffices(); await loadUsers(); setupEventListeners(); }); -async function loadManagers() { - const response = await api.get('/api/managers'); +async function loadOffices() { + const response = await api.get('/api/offices'); if (response && response.ok) { - managers = await response.json(); + offices = await response.json(); } } @@ -46,30 +47,60 @@ function renderUsers(filter = '') { (u.name || '').toLowerCase().includes(filterLower) || (u.email || '').toLowerCase().includes(filterLower) || (u.role || '').toLowerCase().includes(filterLower) || - (u.manager_name || '').toLowerCase().includes(filterLower) + (u.office_name || '').toLowerCase().includes(filterLower) ); + + } + + // Sort + filtered.sort((a, b) => { + let valA = a[currentSort.column]; + let valB = b[currentSort.column]; + + // Handle nulls for ratio + if (currentSort.column === 'parking_ratio') { + valA = valA !== null ? valA : 999; // Null ratio (new users) -> low priority? No, new users have ratio 0. + // Actually get_user_parking_ratio returns 0.0 for new users. + // If office_id is missing, it's None. Treat as high val to push to bottom? + valA = (valA === undefined || valA === null) ? 999 : valA; + valB = (valB === undefined || valB === null) ? 999 : valB; + } else { + valA = (valA || '').toString().toLowerCase(); + valB = (valB || '').toString().toLowerCase(); + } + + if (valA < valB) return currentSort.direction === 'asc' ? -1 : 1; + if (valA > valB) return currentSort.direction === 'asc' ? 1 : -1; + return 0; + }); + + // Update icons + document.querySelectorAll('th.sortable .sort-icon').forEach(icon => icon.textContent = ''); + const activeTh = document.querySelector(`th[data-sort="${currentSort.column}"]`); + if (activeTh) { + const icon = activeTh.querySelector('.sort-icon'); + if (icon) icon.textContent = currentSort.direction === 'asc' ? ' ▲' : ' ▼'; } if (filtered.length === 0) { - tbody.innerHTML = 'No users found'; + tbody.innerHTML = 'Nessun utente trovato'; return; } tbody.innerHTML = filtered.map(user => { const ldapBadge = user.is_ldap_user ? 'LDAP' : ''; - const managerInfo = user.role === 'manager' - ? `${user.managed_user_count || 0} users` - : (user.manager_name || '-'); + const officeInfo = user.office_name || '-'; return ` ${user.name || '-'} ${ldapBadge} ${user.email} ${user.role} - ${managerInfo} + ${officeInfo} + ${user.parking_ratio !== null ? user.parking_ratio.toFixed(2) : '-'} - - + + `; @@ -93,20 +124,16 @@ async function editUser(userId) { document.getElementById('editName').value = user.name || ''; document.getElementById('editEmail').value = user.email; document.getElementById('editRole').value = user.role; - document.getElementById('editQuota').value = user.manager_parking_quota || 0; - document.getElementById('editPrefix').value = user.manager_spot_prefix || ''; - // Populate manager dropdown - const managerSelect = document.getElementById('editManager'); - managerSelect.innerHTML = ''; - managers.forEach(m => { - if (m.id !== userId) { // Can't be own manager - const option = document.createElement('option'); - option.value = m.id; - option.textContent = m.name; - if (m.id === user.manager_id) option.selected = true; - managerSelect.appendChild(option); - } + // Populate office dropdown + const officeSelect = document.getElementById('editOffice'); + officeSelect.innerHTML = ''; + offices.forEach(o => { + const option = document.createElement('option'); + option.value = o.id; + option.textContent = o.name; + if (o.id === user.office_id) option.selected = true; + officeSelect.appendChild(option); }); // Handle LDAP restrictions @@ -126,13 +153,7 @@ async function editUser(userId) { roleSelect.disabled = isLdapAdmin; document.getElementById('roleHelp').style.display = isLdapAdmin ? 'block' : 'none'; - // Manager group - show for all users (admins can also be assigned to a manager) - document.getElementById('managerGroup').style.display = 'block'; - - // Manager fields - show only for managers - document.getElementById('managerFields').style.display = user.role === 'manager' ? 'block' : 'none'; - - document.getElementById('userModalTitle').textContent = 'Edit User'; + document.getElementById('userModalTitle').textContent = 'Modifica Utente'; document.getElementById('userModal').style.display = 'flex'; } @@ -140,15 +161,15 @@ async function deleteUser(userId) { const user = users.find(u => u.id === userId); if (!user) return; - if (!confirm(`Delete user "${user.name || user.email}"?`)) return; + if (!confirm(`Eliminare l'utente "${user.name || user.email}"?`)) return; const response = await api.delete(`/api/users/${userId}`); if (response && response.ok) { - utils.showMessage('User deleted', 'success'); + utils.showMessage('Utente eliminato', 'success'); await loadUsers(); } else { const error = await response.json(); - utils.showMessage(error.detail || 'Failed to delete user', 'error'); + utils.showMessage(error.detail || 'Impossibile eliminare l\'utente', 'error'); } } @@ -158,13 +179,6 @@ function setupEventListeners() { renderUsers(e.target.value); }); - // Role change - toggle manager fields (manager group always visible since any user can have a manager) - document.getElementById('editRole').addEventListener('change', (e) => { - const role = e.target.value; - document.getElementById('managerFields').style.display = role === 'manager' ? 'block' : 'none'; - // Manager group stays visible - any user (including admins) can have a manager assigned - }); - // Modal close document.getElementById('closeUserModal').addEventListener('click', () => { document.getElementById('userModal').style.display = 'none'; @@ -183,7 +197,7 @@ function setupEventListeners() { const data = { role: role, - manager_id: document.getElementById('editManager').value || null + office_id: document.getElementById('editOffice').value || null }; // Only include name if not disabled (LDAP users can't change name) @@ -192,23 +206,31 @@ function setupEventListeners() { data.name = nameInput.value; } - // Manager-specific fields - if (role === 'manager') { - data.manager_parking_quota = parseInt(document.getElementById('editQuota').value) || 0; - data.manager_spot_prefix = document.getElementById('editPrefix').value || null; - } - const response = await api.put(`/api/users/${userId}`, data); if (response && response.ok) { document.getElementById('userModal').style.display = 'none'; - utils.showMessage('User updated', 'success'); - await loadManagers(); // Reload in case role changed + utils.showMessage('Utente aggiornato', 'success'); await loadUsers(); } else { const error = await response.json(); - utils.showMessage(error.detail || 'Failed to update user', 'error'); + utils.showMessage(error.detail || 'Impossibile aggiornare l\'utente', 'error'); } }); + + + // Sort headers + document.querySelectorAll('th.sortable').forEach(th => { + th.addEventListener('click', () => { + const column = th.dataset.sort; + if (currentSort.column === column) { + currentSort.direction = currentSort.direction === 'asc' ? 'desc' : 'asc'; + } else { + currentSort.column = column; + currentSort.direction = 'asc'; + } + renderUsers(document.getElementById('searchInput').value); + }); + }); } // Make functions available globally for onclick handlers diff --git a/frontend/js/api.js b/frontend/js/api.js index 896bf4e..8fa4dad 100644 --- a/frontend/js/api.js +++ b/frontend/js/api.js @@ -158,7 +158,7 @@ const api = { } const error = await response.json(); - return { success: false, error: error.detail || 'Login failed' }; + return { success: false, error: error.detail || 'Login fallito' }; }, /** @@ -178,7 +178,7 @@ const api = { } const error = await response.json(); - return { success: false, error: error.detail || 'Registration failed' }; + return { success: false, error: error.detail || 'Registrazione fallita' }; }, /** diff --git a/frontend/js/modal-logic.js b/frontend/js/modal-logic.js new file mode 100644 index 0000000..4d0cee8 --- /dev/null +++ b/frontend/js/modal-logic.js @@ -0,0 +1,188 @@ +/** + * Shared logic for the Day/Presence Modal + * Handles UI interactions, assignments, and integrated reassign form. + */ + +const ModalLogic = { + // Configuration holding callbacks + config: { + onMarkPresence: async (status, date, userId) => { }, + onClearPresence: async (date, userId) => { }, + onReleaseParking: async (assignmentId) => { }, + onReassignParking: async (assignmentId, newUserId) => { }, + onReload: async () => { } // Callback to reload calendar data + }, + + // State + currentAssignmentId: null, + currentDate: null, + currentUserId: null, + + init(config) { + this.config = { ...this.config, ...config }; + this.setupEventListeners(); + }, + + setupEventListeners() { + // Close buttons + document.getElementById('closeDayModal')?.addEventListener('click', () => { + document.getElementById('dayModal').style.display = 'none'; + }); + + // Status buttons + document.querySelectorAll('#dayModal .status-btn').forEach(btn => { + btn.addEventListener('click', () => { + if (this.currentDate) { + this.config.onMarkPresence(btn.dataset.status, this.currentDate, this.currentUserId); + } + }); + }); + + // Actions + document.getElementById('clearDayBtn')?.addEventListener('click', () => { + if (this.currentDate) { + this.config.onClearPresence(this.currentDate, this.currentUserId); + } + }); + + document.getElementById('releaseParkingBtn')?.addEventListener('click', () => { + if (this.currentAssignmentId) { + this.config.onReleaseParking(this.currentAssignmentId); + } + }); + + document.getElementById('reassignParkingBtn')?.addEventListener('click', () => { + this.showReassignForm(); + }); + + // Reassign Form + document.getElementById('cancelReassign')?.addEventListener('click', () => { + this.hideReassignForm(); + }); + + document.getElementById('confirmReassign')?.addEventListener('click', () => { + const select = document.getElementById('reassignUser'); + this.config.onReassignParking(this.currentAssignmentId, select.value); + }); + + // Close on click outside + window.addEventListener('click', (e) => { + const modal = document.getElementById('dayModal'); + if (e.target === modal) { + modal.style.display = 'none'; + } + }); + }, + + openModal(data) { + const { dateStr, userName, presence, parking, userId, isReadOnly } = data; + + this.currentDate = dateStr; + this.currentUserId = userId; // Optional, for team view + this.currentAssignmentId = parking ? parking.id : null; + + const modal = document.getElementById('dayModal'); + const title = document.getElementById('dayModalTitle'); + const userLabel = document.getElementById('dayModalUser'); + + title.textContent = utils.formatDateDisplay(dateStr); + + // Show/Hide User Name (for Team Calendar) + if (userName && userLabel) { + userLabel.textContent = userName; + userLabel.style.display = 'block'; + } else if (userLabel) { + userLabel.style.display = 'none'; + } + + // Highlight status + document.querySelectorAll('#dayModal .status-btn').forEach(btn => { + const status = btn.dataset.status; + if (presence && presence.status === status) { + btn.classList.add('active'); + } else { + btn.classList.remove('active'); + } + }); + + // Clear button visibility + const clearBtn = document.getElementById('clearDayBtn'); + if (presence) { + clearBtn.style.display = 'block'; + } else { + clearBtn.style.display = 'none'; + } + + // Parking Section & Reset Form + this.hideReassignForm(); // Reset view to actions + + const parkingSection = document.getElementById('parkingSection'); + const parkingInfo = document.getElementById('parkingInfo'); + + if (parking) { + parkingSection.style.display = 'block'; + const spotName = parking.spot_display_name || parking.spot_id; + parkingInfo.innerHTML = `Parcheggio: Posto ${spotName}`; + } else { + parkingSection.style.display = 'none'; + } + + modal.style.display = 'flex'; + }, + + async showReassignForm() { + if (!this.currentAssignmentId) return; + + const actionsDiv = document.getElementById('parkingActions'); + const formDiv = document.getElementById('reassignForm'); + + actionsDiv.style.display = 'none'; + formDiv.style.display = 'flex'; + + const select = document.getElementById('reassignUser'); + select.innerHTML = ''; + + // Load eligible users (Global API function assumed available) + try { + const response = await api.get(`/api/parking/eligible-users/${this.currentAssignmentId}`); + if (!response || !response.ok) { + const error = await response.json(); + alert(error.detail || 'Impossibile caricare gli utenti idonei'); + this.hideReassignForm(); + return; + } + + const users = await response.json(); + select.innerHTML = ''; + select.innerHTML += ''; + + if (users.length === 0) { + const option = document.createElement('option'); + option.disabled = true; + option.textContent = "Nessun altro utente disponibile"; + select.appendChild(option); + } else { + users.forEach(user => { + const option = document.createElement('option'); + option.value = user.id; + const officeInfo = user.office_name ? ` (${user.office_name})` : ''; + option.textContent = user.name + officeInfo; + select.appendChild(option); + }); + } + } catch (e) { + console.error(e); + alert('Errore di rete'); + this.hideReassignForm(); + } + }, + + hideReassignForm() { + document.getElementById('reassignForm').style.display = 'none'; + document.getElementById('parkingActions').style.display = 'flex'; + }, + + closeModal() { + document.getElementById('dayModal').style.display = 'none'; + } +}; diff --git a/frontend/js/nav.js b/frontend/js/nav.js index d11b891..c73c865 100644 --- a/frontend/js/nav.js +++ b/frontend/js/nav.js @@ -38,14 +38,20 @@ const ICONS = { + `, + settings: ` + + ` }; const NAV_ITEMS = [ - { href: '/presence', icon: 'calendar', label: 'My Presence' }, - { href: '/team-calendar', icon: 'users', label: 'Team Calendar' }, - { href: '/team-rules', icon: 'rules', label: 'Team Rules', roles: ['admin', 'manager'] }, - { href: '/admin/users', icon: 'user', label: 'Manage Users', roles: ['admin'] } + { href: '/presence', icon: 'calendar', label: 'La mia presenza' }, + { href: '/team-calendar', icon: 'users', label: 'Calendario del team' }, + { href: '/team-rules', icon: 'rules', label: 'Regole parcheggio', roles: ['admin', 'manager'] }, + { href: '/admin/users', icon: 'user', label: 'Gestione Utenti', roles: ['admin'] }, + { href: '/admin/offices', icon: 'building', label: 'Gestione Uffici', roles: ['admin'] }, + { href: '/parking-settings', icon: 'settings', label: 'Impostazioni Ufficio', roles: ['admin', 'manager'] } ]; function getIcon(name) { @@ -108,7 +114,7 @@ function setupMobileMenu() { const menuToggle = document.createElement('button'); menuToggle.className = 'menu-toggle'; menuToggle.innerHTML = MENU_ICON; - menuToggle.setAttribute('aria-label', 'Toggle menu'); + menuToggle.setAttribute('aria-label', 'Apri/Chiudi menu'); pageHeader.insertBefore(menuToggle, pageHeader.firstChild); // Add overlay diff --git a/frontend/js/parking-settings.js b/frontend/js/parking-settings.js new file mode 100644 index 0000000..c4b6081 --- /dev/null +++ b/frontend/js/parking-settings.js @@ -0,0 +1,226 @@ + +let currentUser = null; +let currentOffice = null; + +document.addEventListener('DOMContentLoaded', async () => { + if (!api.requireAuth()) return; + + currentUser = await api.getCurrentUser(); + if (!currentUser) return; + + // Only Manager or Admin + if (!['admin', 'manager'].includes(currentUser.role)) { + window.location.href = '/'; + return; + } + + // Initialize UI + populateHourSelect(); + + // Set default date to tomorrow + const tomorrow = new Date(); + tomorrow.setDate(tomorrow.getDate() + 1); + document.getElementById('testDateStart').valueAsDate = tomorrow; + + await loadOffices(); + setupEventListeners(); +}); + +async function loadOffices() { + const select = document.getElementById('officeSelect'); + const card = document.getElementById('officeSelectionCard'); + const content = document.getElementById('settingsContent'); + + // Only Admins see the selector + if (currentUser.role === 'admin') { + card.style.display = 'block'; + content.style.display = 'none'; // Hide until selected + + try { + const response = await api.get('/api/offices'); + if (response && response.ok) { + const offices = await response.json(); + offices.forEach(office => { + const option = document.createElement('option'); + option.value = office.id; + option.textContent = office.name; + select.appendChild(option); + }); + } + } catch (e) { + console.error(e); + utils.showMessage('Errore caricamento uffici', 'error'); + } + } else { + // Manager uses their own office + card.style.display = 'none'; + content.style.display = 'block'; + if (currentUser.office_id) { + await loadOfficeSettings(currentUser.office_id); + } else { + utils.showMessage('Nessun ufficio assegnato al manager', 'error'); + } + } +} + +function populateHourSelect() { + const select = document.getElementById('bookingWindowHour'); + select.innerHTML = ''; + for (let h = 0; h < 24; h++) { + const option = document.createElement('option'); + option.value = h; + option.textContent = h.toString().padStart(2, '0'); + select.appendChild(option); + } +} + +async function loadOfficeSettings(id) { + const officeId = id; + if (!officeId) { + utils.showMessage('Nessun ufficio selezionato', 'error'); + return; + } + + try { + const response = await api.get(`/api/offices/${officeId}`); + if (!response.ok) throw new Error('Failed to load office'); + + const office = await response.json(); + currentOffice = office; + + // Populate form + document.getElementById('bookingWindowEnabled').checked = office.booking_window_enabled || false; + document.getElementById('bookingWindowHour').value = office.booking_window_end_hour ?? 18; // Default 18 + document.getElementById('bookingWindowMinute').value = office.booking_window_end_minute ?? 0; + + updateVisibility(); + } catch (e) { + console.error(e); + utils.showMessage('Errore nel caricamento impostazioni', 'error'); + } +} + +function updateVisibility() { + const enabled = document.getElementById('bookingWindowEnabled').checked; + document.getElementById('cutoffTimeGroup').style.display = enabled ? 'block' : 'none'; +} + +function setupEventListeners() { + // Office Select + document.getElementById('officeSelect').addEventListener('change', (e) => { + const id = e.target.value; + if (id) { + document.getElementById('settingsContent').style.display = 'block'; + loadOfficeSettings(id); + } else { + document.getElementById('settingsContent').style.display = 'none'; + } + }); + + // Toggle visibility + document.getElementById('bookingWindowEnabled').addEventListener('change', updateVisibility); + + // Save Settings + document.getElementById('scheduleForm').addEventListener('submit', async (e) => { + e.preventDefault(); + + if (!currentOffice) return; + + const data = { + booking_window_enabled: document.getElementById('bookingWindowEnabled').checked, + booking_window_end_hour: parseInt(document.getElementById('bookingWindowHour').value), + booking_window_end_minute: parseInt(document.getElementById('bookingWindowMinute').value) + }; + + try { + const res = await api.put(`/api/offices/${currentOffice.id}`, data); + if (res) { + utils.showMessage('Impostazioni salvate con successo', 'success'); + currentOffice = res; + } + } catch (e) { + utils.showMessage('Errore nel salvataggio', 'error'); + } + }); + + // Test Tools + document.getElementById('runAllocationBtn').addEventListener('click', async () => { + if (!confirm('Sei sicuro di voler avviare l\'assegnazione ORA? Questo potrebbe sovrascrivere le assegnazioni esistenti per la data selezionata.')) return; + + const dateStart = document.getElementById('testDateStart').value; + const dateEnd = document.getElementById('testDateEnd').value; + + if (!dateStart) return utils.showMessage('Seleziona una data di inizio', 'error'); + + let start = new Date(dateStart); + let end = dateEnd ? new Date(dateEnd) : new Date(dateStart); + + if (end < start) { + return utils.showMessage('La data di fine deve essere successiva alla data di inizio', 'error'); + } + + let current = new Date(start); + let successCount = 0; + let errorCount = 0; + + utils.showMessage('Avvio assegnazione...', 'success'); + + while (current <= end) { + const dateStr = current.toISOString().split('T')[0]; + try { + await api.post('/api/parking/run-allocation', { + date: dateStr, + office_id: currentOffice.id + }); + successCount++; + } catch (e) { + console.error(`Error for ${dateStr}`, e); + errorCount++; + } + current.setDate(current.getDate() + 1); + } + + if (errorCount === 0) { + utils.showMessage(`Assegnazione completata per ${successCount} giorni.`, 'success'); + } else { + utils.showMessage(`Completato con errori: ${successCount} successi, ${errorCount} errori.`, 'warning'); + } + }); + + document.getElementById('clearAssignmentsBtn').addEventListener('click', async () => { + if (!confirm('ATTENZIONE: Stai per eliminare TUTTE le assegnazioni per il periodo selezionato. Procedere?')) return; + + const dateStart = document.getElementById('testDateStart').value; + const dateEnd = document.getElementById('testDateEnd').value; + + if (!dateStart) return utils.showMessage('Seleziona una data di inizio', 'error'); + + let start = new Date(dateStart); + let end = dateEnd ? new Date(dateEnd) : new Date(dateStart); + + if (end < start) { + return utils.showMessage('La data di fine deve essere successiva alla data di inizio', 'error'); + } + + let current = new Date(start); + let totalRemoved = 0; + + utils.showMessage('Rimozione in corso...', 'warning'); + + while (current <= end) { + const dateStr = current.toISOString().split('T')[0]; + try { + const res = await api.post('/api/parking/clear-assignments', { + date: dateStr, + office_id: currentOffice.id + }); + totalRemoved += (res.count || 0); + } catch (e) { + console.error(`Error clearing ${dateStr}`, e); + } + current.setDate(current.getDate() + 1); + } + + utils.showMessage(`Operazione eseguita. ${totalRemoved} assegnazioni rimosse in totale.`, 'warning'); + }); +} diff --git a/frontend/js/presence.js b/frontend/js/presence.js index 7d5322f..c1dc210 100644 --- a/frontend/js/presence.js +++ b/frontend/js/presence.js @@ -8,14 +8,31 @@ let currentDate = new Date(); let presenceData = {}; let parkingData = {}; let currentAssignmentId = null; +let weeklyClosingDays = []; +let specificClosingDays = []; +let statusDate = new Date(); +let statusViewMode = 'daily'; document.addEventListener('DOMContentLoaded', async () => { currentUser = await api.requireAuth(); if (!currentUser) return; - await Promise.all([loadPresences(), loadParkingAssignments()]); + await Promise.all([loadPresences(), loadParkingAssignments(), loadClosingDays()]); + + // Initialize Modal Logic + ModalLogic.init({ + onMarkPresence: handleMarkPresence, + onClearPresence: handleClearPresence, + onReleaseParking: handleReleaseParking, + onReassignParking: handleReassignParking + }); + renderCalendar(); setupEventListeners(); + + // Initialize Parking Status + initParkingStatus(); + setupStatusListeners(); }); async function loadPresences() { @@ -56,10 +73,32 @@ async function loadParkingAssignments() { } } + +async function loadClosingDays() { + if (!currentUser.office_id) return; + try { + const [weeklyRes, specificRes] = await Promise.all([ + api.get(`/api/offices/${currentUser.office_id}/weekly-closing-days`), + api.get(`/api/offices/${currentUser.office_id}/closing-days`) + ]); + + if (weeklyRes && weeklyRes.ok) { + const days = await weeklyRes.json(); + weeklyClosingDays = days.map(d => d.weekday); + } + + if (specificRes && specificRes.ok) { + specificClosingDays = await specificRes.json(); + } + } catch (e) { + console.error('Error loading closing days:', e); + } +} + function renderCalendar() { const year = currentDate.getFullYear(); const month = currentDate.getMonth(); - const weekStartDay = currentUser.week_start_day || 0; // 0=Sunday, 1=Monday + const weekStartDay = currentUser.week_start_day || 1; // 0=Sunday, 1=Monday (default to Monday) // Update month header document.getElementById('currentMonth').textContent = `${utils.getMonthName(month)} ${year}`; @@ -78,7 +117,7 @@ function renderCalendar() { grid.innerHTML = ''; // Day headers - reorder based on week start day - const allDayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + const allDayNames = ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab']; const dayNames = []; for (let i = 0; i < 7; i++) { dayNames.push(allDayNames[(weekStartDay + i) % 7]); @@ -120,7 +159,25 @@ function renderCalendar() { if (isHoliday) cell.classList.add('holiday'); if (isToday) cell.classList.add('today'); - if (presence) { + // Check closing days + // Note: JS getDay(): 0=Sunday, 1=Monday... + // DB WeekDay: 0=Sunday, etc. (They match) + const isWeeklyClosed = weeklyClosingDays.includes(dayOfWeek); + const isSpecificClosed = specificClosingDays.some(d => { + const start = new Date(d.date); + const end = d.end_date ? new Date(d.end_date) : start; + // Reset times for strict date comparison + start.setHours(0, 0, 0, 0); + end.setHours(0, 0, 0, 0); + return date >= start && date <= end; + }); + + const isClosed = isWeeklyClosed || isSpecificClosed; + + if (isClosed) { + cell.classList.add('closed'); + cell.title = "Ufficio Chiuso"; + } else if (presence) { cell.classList.add(`status-${presence.status}`); } @@ -134,140 +191,60 @@ function renderCalendar() { ${parkingBadge} `; - cell.addEventListener('click', () => openDayModal(dateStr, presence, parking)); + if (!isClosed) { + cell.addEventListener('click', () => openDayModal(dateStr, presence, parking)); + } grid.appendChild(cell); } } function openDayModal(dateStr, presence, parking) { - const modal = document.getElementById('dayModal'); - const title = document.getElementById('dayModalTitle'); - - title.textContent = utils.formatDateDisplay(dateStr); - - // Highlight current status - document.querySelectorAll('.status-btn').forEach(btn => { - const status = btn.dataset.status; - if (presence && presence.status === status) { - btn.classList.add('active'); - } else { - btn.classList.remove('active'); - } + ModalLogic.openModal({ + dateStr, + presence, + parking }); - - // Update parking section - const parkingSection = document.getElementById('parkingSection'); - const parkingInfo = document.getElementById('parkingInfo'); - const releaseBtn = document.getElementById('releaseParkingBtn'); - - if (parking) { - parkingSection.style.display = 'block'; - const spotName = parking.spot_display_name || parking.spot_id; - parkingInfo.innerHTML = `Parking: Spot ${spotName}`; - releaseBtn.dataset.assignmentId = parking.id; - document.getElementById('reassignParkingBtn').dataset.assignmentId = parking.id; - currentAssignmentId = parking.id; - } else { - parkingSection.style.display = 'none'; - } - - modal.dataset.date = dateStr; - modal.style.display = 'flex'; } -async function markPresence(status) { - const modal = document.getElementById('dayModal'); - const date = modal.dataset.date; - +async function handleMarkPresence(status, date) { const response = await api.post('/api/presence/mark', { date, status }); if (response && response.ok) { await Promise.all([loadPresences(), loadParkingAssignments()]); renderCalendar(); - modal.style.display = 'none'; + ModalLogic.closeModal(); } else { const error = await response.json(); - alert(error.detail || 'Failed to mark presence'); + alert(error.detail || 'Impossibile segnare la presenza'); } } -async function clearPresence() { - const modal = document.getElementById('dayModal'); - const date = modal.dataset.date; - - if (!confirm('Clear presence for this date?')) return; - +async function handleClearPresence(date) { const response = await api.delete(`/api/presence/${date}`); if (response && response.ok) { await Promise.all([loadPresences(), loadParkingAssignments()]); renderCalendar(); - modal.style.display = 'none'; + ModalLogic.closeModal(); } } -async function releaseParking() { - const modal = document.getElementById('dayModal'); - const releaseBtn = document.getElementById('releaseParkingBtn'); - const assignmentId = releaseBtn.dataset.assignmentId; - - if (!assignmentId) return; - if (!confirm('Release your parking spot for this date?')) return; +async function handleReleaseParking(assignmentId) { + if (!confirm('Rilasciare il parcheggio per questa data?')) return; const response = await api.post(`/api/parking/release-my-spot/${assignmentId}`); - if (response && response.ok) { await loadParkingAssignments(); renderCalendar(); - modal.style.display = 'none'; + ModalLogic.closeModal(); } else { const error = await response.json(); - alert(error.detail || 'Failed to release parking spot'); + alert(error.detail || 'Impossibile rilasciare il parcheggio'); } } -async function openReassignModal() { - const assignmentId = currentAssignmentId; - if (!assignmentId) return; - - // Load eligible users - const response = await api.get(`/api/parking/eligible-users/${assignmentId}`); - if (!response || !response.ok) { - const error = await response.json(); - alert(error.detail || 'Failed to load eligible users'); - return; - } - - const users = await response.json(); - const select = document.getElementById('reassignUser'); - select.innerHTML = ''; - - if (users.length === 0) { - select.innerHTML = ''; - } else { - users.forEach(user => { - const option = document.createElement('option'); - option.value = user.id; - option.textContent = user.name; - select.appendChild(option); - }); - } - - // Get spot info from parking data - const parking = Object.values(parkingData).find(p => p.id === assignmentId); - if (parking) { - const spotName = parking.spot_display_name || parking.spot_id; - document.getElementById('reassignSpotInfo').textContent = `Spot ${spotName}`; - } - - document.getElementById('dayModal').style.display = 'none'; - document.getElementById('reassignModal').style.display = 'flex'; -} - -async function confirmReassign() { - const assignmentId = currentAssignmentId; - const newUserId = document.getElementById('reassignUser').value; - +async function handleReassignParking(assignmentId, newUserId) { + // Basic validation handled by select; confirm if (!assignmentId || !newUserId) { - alert('Please select a user'); + alert('Seleziona un utente'); return; } @@ -279,13 +256,15 @@ async function confirmReassign() { if (response && response.ok) { await loadParkingAssignments(); renderCalendar(); - document.getElementById('reassignModal').style.display = 'none'; + ModalLogic.closeModal(); } else { const error = await response.json(); - alert(error.detail || 'Failed to reassign parking spot'); + alert(error.detail || 'Impossibile riassegnare il parcheggio'); } } + + function setupEventListeners() { // Month navigation document.getElementById('prevMonth').addEventListener('click', async () => { @@ -300,69 +279,255 @@ function setupEventListeners() { renderCalendar(); }); - // Day modal - document.getElementById('closeDayModal').addEventListener('click', () => { - document.getElementById('dayModal').style.display = 'none'; + // Quick Entry Logic + const quickEntryModal = document.getElementById('quickEntryModal'); + const quickEntryBtn = document.getElementById('quickEntryBtn'); + const closeQuickEntryBtn = document.getElementById('closeQuickEntryModal'); + const cancelQuickEntryBtn = document.getElementById('cancelQuickEntry'); + const quickEntryForm = document.getElementById('quickEntryForm'); + + if (quickEntryBtn) { + quickEntryBtn.addEventListener('click', () => { + // Default dates: tomorrow + const tomorrow = new Date(); + tomorrow.setDate(tomorrow.getDate() + 1); + + document.getElementById('qeStartDate').valueAsDate = tomorrow; + document.getElementById('qeEndDate').valueAsDate = tomorrow; + document.getElementById('qeStatus').value = ''; + + // Clear selections + document.querySelectorAll('.qe-status-btn').forEach(btn => btn.classList.remove('active')); + + quickEntryModal.style.display = 'flex'; + }); + } + + if (closeQuickEntryBtn) closeQuickEntryBtn.addEventListener('click', () => quickEntryModal.style.display = 'none'); + if (cancelQuickEntryBtn) cancelQuickEntryBtn.addEventListener('click', () => quickEntryModal.style.display = 'none'); + + // Status selection in QE + document.querySelectorAll('.qe-status-btn').forEach(btn => { + btn.addEventListener('click', () => { + document.querySelectorAll('.qe-status-btn').forEach(b => b.classList.remove('active')); + btn.classList.add('active'); + document.getElementById('qeStatus').value = btn.dataset.status; + }); }); - document.querySelectorAll('.status-btn').forEach(btn => { - btn.addEventListener('click', () => markPresence(btn.dataset.status)); - }); + if (quickEntryForm) { + quickEntryForm.addEventListener('submit', async (e) => { + e.preventDefault(); - document.getElementById('clearDayBtn').addEventListener('click', clearPresence); - document.getElementById('releaseParkingBtn').addEventListener('click', releaseParking); - document.getElementById('reassignParkingBtn').addEventListener('click', openReassignModal); + const startStr = document.getElementById('qeStartDate').value; + const endStr = document.getElementById('qeEndDate').value; + const status = document.getElementById('qeStatus').value; - utils.setupModalClose('dayModal'); + if (!status) return utils.showMessage('Seleziona uno stato', 'error'); + if (!startStr || !endStr) return utils.showMessage('Seleziona le date', 'error'); - // Reassign modal - document.getElementById('closeReassignModal').addEventListener('click', () => { - document.getElementById('reassignModal').style.display = 'none'; - }); - document.getElementById('cancelReassign').addEventListener('click', () => { - document.getElementById('reassignModal').style.display = 'none'; - }); - document.getElementById('confirmReassign').addEventListener('click', confirmReassign); - utils.setupModalClose('reassignModal'); + const startDate = new Date(startStr); + const endDate = new Date(endStr); - // Bulk mark - document.getElementById('bulkMarkBtn').addEventListener('click', () => { - document.getElementById('bulkMarkModal').style.display = 'flex'; - }); + if (endDate < startDate) return utils.showMessage('La data di fine non può essere precedente alla data di inizio', 'error'); - document.getElementById('closeBulkModal').addEventListener('click', () => { - document.getElementById('bulkMarkModal').style.display = 'none'; - }); + quickEntryModal.style.display = 'none'; + utils.showMessage('Inserimento in corso...', 'warning'); - document.getElementById('cancelBulk').addEventListener('click', () => { - document.getElementById('bulkMarkModal').style.display = 'none'; - }); + const promises = []; + let current = new Date(startDate); - utils.setupModalClose('bulkMarkModal'); + while (current <= endDate) { + const dStr = current.toISOString().split('T')[0]; + if (status === 'clear') { + promises.push(api.delete(`/api/presence/${dStr}`)); + } else { + promises.push(api.post('/api/presence/mark', { date: dStr, status: status })); + } + current.setDate(current.getDate() + 1); + } - document.getElementById('bulkMarkForm').addEventListener('submit', async (e) => { - e.preventDefault(); + try { + await Promise.all(promises); + utils.showMessage('Inserimento completato!', 'success'); + await Promise.all([loadPresences(), loadParkingAssignments()]); + renderCalendar(); + } catch (err) { + console.error(err); + utils.showMessage('Errore durante l\'inserimento. Alcuni giorni potrebbero non essere stati aggiornati.', 'error'); + } + }); + } +} - const startDate = document.getElementById('startDate').value; - const endDate = document.getElementById('endDate').value; - const status = document.getElementById('bulkStatus').value; - const weekdaysOnly = document.getElementById('weekdaysOnly').checked; +// ---------------------------------------------------------------------------- +// Parking Status Logic +// ---------------------------------------------------------------------------- - const data = { start_date: startDate, end_date: endDate, status }; - if (weekdaysOnly) { - data.days = [1, 2, 3, 4, 5]; // Mon-Fri (JS weekday) - } +function initParkingStatus() { + updateStatusHeader(); + loadDailyStatus(); - const response = await api.post('/api/presence/mark-bulk', data); + // Update office name if available + if (currentUser && currentUser.office_name) { + const nameDisplay = document.getElementById('statusOfficeName'); + if (nameDisplay) nameDisplay.textContent = currentUser.office_name; + + const headerDisplay = document.getElementById('currentOfficeDisplay'); + if (headerDisplay) headerDisplay.textContent = currentUser.office_name; + } else { + const nameDisplay = document.getElementById('statusOfficeName'); + if (nameDisplay) nameDisplay.textContent = 'Tuo Ufficio'; + + const headerDisplay = document.getElementById('currentOfficeDisplay'); + if (headerDisplay) headerDisplay.textContent = 'Tuo Ufficio'; + } +} + +function updateStatusHeader() { + const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; + const dateStr = statusDate.toLocaleDateString('it-IT', options); + const capitalizedDate = dateStr.charAt(0).toUpperCase() + dateStr.slice(1); + + const statusDateDisplay = document.getElementById('statusDateDisplay'); + if (statusDateDisplay) statusDateDisplay.textContent = capitalizedDate; + + const pickerDateDisplay = document.getElementById('pickerDateDisplay'); + if (pickerDateDisplay) pickerDateDisplay.textContent = utils.formatDate(statusDate); + + const summaryDateDisplay = document.getElementById('summaryDateDisplay'); + if (summaryDateDisplay) summaryDateDisplay.textContent = dateStr; + + const picker = document.getElementById('statusDatePicker'); + if (picker) { + const yyyy = statusDate.getFullYear(); + const mm = String(statusDate.getMonth() + 1).padStart(2, '0'); + const dd = String(statusDate.getDate()).padStart(2, '0'); + picker.value = `${yyyy}-${mm}-${dd}`; + } +} + +async function loadDailyStatus() { + if (!currentUser || !currentUser.office_id) return; + + const dateStr = utils.formatDate(statusDate); + const officeId = currentUser.office_id; + + const grid = document.getElementById('spotsGrid'); + // Keep grid height to avoid jump if possible, or just loading styling + if (grid) grid.innerHTML = '

'; + + try { + const response = await api.get(`/api/parking/assignments/${dateStr}?office_id=${officeId}`); if (response && response.ok) { - const results = await response.json(); - alert(`Marked ${results.length} dates`); - document.getElementById('bulkMarkModal').style.display = 'none'; - await Promise.all([loadPresences(), loadParkingAssignments()]); - renderCalendar(); + const assignments = await response.json(); + renderParkingStatus(assignments); } else { - const error = await response.json(); - alert(error.detail || 'Failed to bulk mark'); + if (grid) grid.innerHTML = '
Impossibile caricare i dati.
'; + } + } catch (e) { + console.error("Error loading parking status", e); + if (grid) grid.innerHTML = '
Errore di caricamento.
'; + } +} + +function renderParkingStatus(assignments) { + const grid = document.getElementById('spotsGrid'); + if (!grid) return; + + grid.innerHTML = ''; + + if (!assignments || assignments.length === 0) { + grid.innerHTML = '
Nessun posto configurato o disponibile.
'; + const badge = document.getElementById('spotsCountBadge'); + if (badge) badge.textContent = `Liberi: 0/0`; + return; + } + + // Sort + assignments.sort((a, b) => { + const nameA = a.spot_display_name || a.spot_id; + const nameB = b.spot_display_name || b.spot_id; + return nameA.localeCompare(nameB, undefined, { numeric: true, sensitivity: 'base' }); + }); + + let total = assignments.length; + let free = 0; + + assignments.forEach(a => { + const isFree = !a.user_id; + if (isFree) free++; + + const spotName = a.spot_display_name || a.spot_id; + const statusText = isFree ? 'Libero' : (a.user_name || 'Occupato'); + + // Colors: Free = Green (default), Occupied = Yellow (requested) + // Yellow palette: Border #eab308, bg #fefce8, text #a16207, icon #eab308 + + const borderColor = isFree ? '#22c55e' : '#eab308'; + const bgColor = isFree ? '#f0fdf4' : '#fefce8'; + const textColor = isFree ? '#15803d' : '#a16207'; + const iconColor = isFree ? '#22c55e' : '#eab308'; + + const el = document.createElement('div'); + el.className = 'spot-card'; + el.style.cssText = ` + border: 1px solid ${borderColor}; + background: ${bgColor}; + border-radius: 8px; + padding: 1rem; + width: 140px; + min-width: 120px; + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + gap: 0.5rem; + transition: all 0.2s; + `; + + // New Car Icon (Front Facing Sedan style or similar simple shape) + // Using a cleaner SVG path + el.innerHTML = ` +
${spotName}
+
+ ${statusText} +
+ `; + + grid.appendChild(el); + }); + + const badge = document.getElementById('spotsCountBadge'); + if (badge) badge.textContent = `Liberi: ${free}/${total}`; +} + + + + +function setupStatusListeners() { + const prevDay = document.getElementById('statusPrevDay'); + if (prevDay) prevDay.addEventListener('click', () => { + statusDate.setDate(statusDate.getDate() - 1); + updateStatusHeader(); + loadDailyStatus(); + }); + + const nextDay = document.getElementById('statusNextDay'); + if (nextDay) nextDay.addEventListener('click', () => { + statusDate.setDate(statusDate.getDate() + 1); + updateStatusHeader(); + loadDailyStatus(); + }); + + const datePicker = document.getElementById('statusDatePicker'); + if (datePicker) datePicker.addEventListener('change', (e) => { + if (e.target.value) { + statusDate = new Date(e.target.value); + updateStatusHeader(); + loadDailyStatus(); } }); } + + diff --git a/frontend/js/team-calendar.js b/frontend/js/team-calendar.js index c8eaa59..9c6684a 100644 --- a/frontend/js/team-calendar.js +++ b/frontend/js/team-calendar.js @@ -1,72 +1,118 @@ /** * Team Calendar Page * Shows presence and parking for all team members - * Filtered by manager (manager-centric model) + * Filtered by office (office-centric model) */ let currentUser = null; let currentStartDate = null; let viewMode = 'week'; // 'week' or 'month' -let managers = []; +let offices = []; let teamData = []; let parkingDataLookup = {}; let parkingAssignmentLookup = {}; let selectedUserId = null; let selectedDate = null; let currentAssignmentId = null; +let officeClosingRules = {}; // { officeId: { weekly: [], specific: [] } } document.addEventListener('DOMContentLoaded', async () => { currentUser = await api.requireAuth(); if (!currentUser) return; // Initialize start date based on week start preference - const weekStartDay = currentUser.week_start_day || 0; + const weekStartDay = currentUser.week_start_day || 1; currentStartDate = utils.getWeekStart(new Date(), weekStartDay); - await loadManagers(); + await loadOffices(); await loadTeamData(); + await loadTeamData(); + + // Initialize Modal Logic + ModalLogic.init({ + onMarkPresence: handleMarkPresence, + onClearPresence: handleClearPresence, + onReleaseParking: handleReleaseParking, + onReassignParking: handleReassignParking + }); + renderCalendar(); setupEventListeners(); }); -async function loadManagers() { - const response = await api.get('/api/managers'); - if (response && response.ok) { - managers = await response.json(); - const select = document.getElementById('managerFilter'); +function updateOfficeDisplay() { + const display = document.getElementById('currentOfficeNameDisplay'); + if (!display) return; - // Filter managers based on user role - let filteredManagers = managers; + const select = document.getElementById('officeFilter'); + + // If user is employee, show their office name directly + if (currentUser.role === 'employee') { + display.textContent = currentUser.office_name || "Mio Ufficio"; + return; + } + + // For admin/manager, show selected + if (select && select.value) { + // Find name in options + const option = select.options[select.selectedIndex]; + if (option) { + // Remove the count (xx utenti) part if desired, or keep it. + // User requested "nome del'ufficio", let's keep it simple. + // Option text is "Name (Count users)" + // let text = option.textContent.split('(')[0].trim(); + display.textContent = option.textContent; + } else { + display.textContent = "Tutti gli Uffici"; + } + } else { + display.textContent = "Tutti gli Uffici"; + } +} + +async function loadOffices() { + const select = document.getElementById('officeFilter'); + + // Only Admins and Managers can list offices + // Employees will just see their own office logic handled in loadTeamData + // Only Admins can see the office selector + if (currentUser.role !== 'admin') { + select.style.display = 'none'; + // Employees stop here, Managers continue to allow auto-selection logic below + if (currentUser.role === 'employee') return; + } + + const response = await api.get('/api/offices'); + if (response && response.ok) { + offices = await response.json(); + + let filteredOffices = offices; if (currentUser.role === 'manager') { - // Manager only sees themselves - filteredManagers = managers.filter(m => m.id === currentUser.id); - } else if (currentUser.role === 'employee') { - // Employee only sees their own manager - if (currentUser.manager_id) { - filteredManagers = managers.filter(m => m.id === currentUser.manager_id); + // Manager only sees their own office in the filter? + // Actually managers might want to filter if they (hypothetically) managed multiple, + // but currently User has 1 office. + if (currentUser.office_id) { + filteredOffices = offices.filter(o => o.id === currentUser.office_id); } else { - filteredManagers = []; + filteredOffices = []; } } - filteredManagers.forEach(manager => { + filteredOffices.forEach(office => { const option = document.createElement('option'); - option.value = manager.id; - const userCount = manager.managed_user_count || 0; - option.textContent = `${manager.name} (${userCount} users)`; + option.value = office.id; + option.textContent = `${office.name} (${office.user_count || 0} utenti)`; select.appendChild(option); }); - // Auto-select for managers and employees (they only see their team) - if (filteredManagers.length === 1) { - select.value = filteredManagers[0].id; - } - - // Hide manager filter for employees (they can only see their team) - if (currentUser.role === 'employee') { - select.style.display = 'none'; + // Auto-select for managers + if (currentUser.role === 'manager' && filteredOffices.length === 1) { + select.value = filteredOffices[0].id; } } + + // Initial update of office display + updateOfficeDisplay(); } function getDateRange() { @@ -85,15 +131,16 @@ function getDateRange() { } async function loadTeamData() { + await loadClosingData(); const { startDate, endDate } = getDateRange(); const startStr = utils.formatDate(startDate); const endStr = utils.formatDate(endDate); let url = `/api/presence/team?start_date=${startStr}&end_date=${endStr}`; - const managerFilter = document.getElementById('managerFilter').value; - if (managerFilter) { - url += `&manager_id=${managerFilter}`; + const officeFilter = document.getElementById('officeFilter').value; + if (officeFilter) { + url += `&office_id=${officeFilter}`; } const response = await api.get(url); @@ -114,6 +161,68 @@ async function loadTeamData() { } } + +async function loadClosingData() { + officeClosingRules = {}; + let officeIdsToLoad = []; + + const selectedOfficeId = document.getElementById('officeFilter').value; + + if (selectedOfficeId) { + officeIdsToLoad = [selectedOfficeId]; + } else if (currentUser.role === 'employee' || (currentUser.role === 'manager' && currentUser.office_id)) { + officeIdsToLoad = [currentUser.office_id]; + } else if (offices.length > 0) { + // Admin viewing all or Manager with access to list + officeIdsToLoad = offices.map(o => o.id); + } + + if (officeIdsToLoad.length === 0) return; + + // Fetch in parallel + const promises = officeIdsToLoad.map(async (oid) => { + try { + const [weeklyRes, specificRes] = await Promise.all([ + api.get(`/api/offices/${oid}/weekly-closing-days`), + api.get(`/api/offices/${oid}/closing-days`) + ]); + + officeClosingRules[oid] = { weekly: [], specific: [] }; + + if (weeklyRes && weeklyRes.ok) { + const days = await weeklyRes.json(); + officeClosingRules[oid].weekly = days.map(d => d.weekday); + } + + if (specificRes && specificRes.ok) { + officeClosingRules[oid].specific = await specificRes.json(); + + // OPTIMIZATION: Pre-calculate all specific closed dates into a Set + const closedSet = new Set(); + officeClosingRules[oid].specific.forEach(range => { + let start = new Date(range.date); + let end = range.end_date ? new Date(range.end_date) : new Date(range.date); + + // Normalize to noon to avoid timezone issues when stepping + start.setHours(12, 0, 0, 0); + end.setHours(12, 0, 0, 0); + + let current = new Date(start); + while (current <= end) { + closedSet.add(utils.formatDate(current)); + current.setDate(current.getDate() + 1); + } + }); + officeClosingRules[oid].closedDatesSet = closedSet; + } + } catch (e) { + console.error(`Error loading closing days for office ${oid}:`, e); + } + }); + + await Promise.all(promises); +} + function renderCalendar() { const header = document.getElementById('calendarHeader'); const body = document.getElementById('calendarBody'); @@ -132,8 +241,8 @@ function renderCalendar() { const dayCount = Math.round((endDate - startDate) / (1000 * 60 * 60 * 24)) + 1; // Build header row - const dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; - let headerHtml = 'NameManager'; + const dayNames = ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab']; + let headerHtml = 'NomeUfficio'; for (let i = 0; i < dayCount; i++) { const date = new Date(startDate); @@ -141,13 +250,19 @@ function renderCalendar() { const dayOfWeek = date.getDay(); const isWeekend = dayOfWeek === 0 || dayOfWeek === 6; const isHoliday = utils.isItalianHoliday(date); - const isToday = date.toDateString() === new Date().toDateString(); + const isToday = utils.formatDate(date) === utils.formatDate(new Date()); let classes = []; if (isWeekend) classes.push('weekend'); if (isHoliday) classes.push('holiday'); if (isToday) classes.push('today'); + if (isToday) classes.push('today'); + + // Header doesn't show closed status in multi-office view + // unless we want to check if ALL are closed? + // For now, simpler to leave header clean. + headerHtml += `
${dayNames[dayOfWeek].charAt(0)}
${date.getDate()}
@@ -157,7 +272,7 @@ function renderCalendar() { // Build body rows if (teamData.length === 0) { - body.innerHTML = `No team members found`; + body.innerHTML = `Nessun membro del team trovato`; return; } @@ -165,7 +280,7 @@ function renderCalendar() { teamData.forEach(member => { bodyHtml += ` ${member.name || 'Unknown'} - ${member.manager_name || '-'}`; + ${member.office_name || '-'}`; for (let i = 0; i < dayCount; i++) { const date = new Date(startDate); @@ -179,7 +294,7 @@ function renderCalendar() { const parkingKey = `${member.id}_${dateStr}`; const parkingSpot = parkingDataLookup[parkingKey]; const hasParking = member.parking_dates && member.parking_dates.includes(dateStr); - const isToday = date.toDateString() === new Date().toDateString(); + const isToday = dateStr === utils.formatDate(new Date()); let cellClasses = ['calendar-cell']; if (isWeekend) cellClasses.push('weekend'); @@ -187,6 +302,47 @@ function renderCalendar() { if (isToday) cellClasses.push('today'); if (presence) cellClasses.push(`status-${presence.status}`); + if (isToday) cellClasses.push('today'); + if (presence) cellClasses.push(`status-${presence.status}`); + + // Optimized closing day check + // Pre-calculate loop-invariant sets outside if not already done, but here we do it per-cell because of date dependency? + // BETTER: We should pre-calculate a "closedMap" for the viewed range for each office? + // OR: Just optimize the inner check. + + // Optimization: Create a lookup string for the current date once + // (Already have dateStr) + + const memberRules = officeClosingRules[member.office_id]; + let isClosed = false; + + if (memberRules) { + // Check weekly + if (memberRules.weekly.includes(dayOfWeek)) { + isClosed = true; + } else if (memberRules.specific && memberRules.specific.length > 0) { + // Check specific + // Optimization: Use the string date lookup if we had a Set, but we have ranges. + // We can optimize by converting ranges to Sets ONCE when loading data, + // OR just stick to this check if N is small. + // Given the "optimization" task, let's just make sure we don't do new Date() inside. + // The `specific` array contains objects with `date` and `end_date` strings. + // We can compare strings directly if format is YYYY-MM-DD and we are careful. + + // Optimization: check if dateStr is in a Set of closed dates for this office? + // Let's implement the Set lookup logic in `loadClosingData` or `renderCalendar` start. + // For now, let's assume `memberRules.closedDatesSet` exists. + + if (memberRules.closedDatesSet && memberRules.closedDatesSet.has(dateStr)) { + isClosed = true; + } + } + } + + if (isClosed) { + cellClasses.push('closed'); + } + // Show parking badge instead of just 'P' let parkingBadge = ''; if (hasParking) { @@ -194,7 +350,7 @@ function renderCalendar() { parkingBadge = `${spotName}`; } - bodyHtml += `${parkingBadge}`; + bodyHtml += `${parkingBadge}`; } bodyHtml += ''; @@ -205,12 +361,14 @@ function renderCalendar() { if (currentUser.role === 'admin' || currentUser.role === 'manager') { body.querySelectorAll('.calendar-cell').forEach(cell => { cell.style.cursor = 'pointer'; - cell.addEventListener('click', () => { - const userId = cell.dataset.userId; - const date = cell.dataset.date; - const userName = cell.dataset.userName; - openDayModal(userId, date, userName); - }); + if (cell.dataset.closed !== 'true') { + cell.addEventListener('click', () => { + const userId = cell.dataset.userId; + const date = cell.dataset.date; + const userName = cell.dataset.userName; + openDayModal(userId, date, userName); + }); + } }); } } @@ -219,129 +377,107 @@ function openDayModal(userId, dateStr, userName) { selectedUserId = userId; selectedDate = dateStr; - const modal = document.getElementById('dayModal'); - document.getElementById('dayModalTitle').textContent = utils.formatDateDisplay(dateStr); - document.getElementById('dayModalUser').textContent = userName; - // Find current status and parking const member = teamData.find(m => m.id === userId); const presence = member?.presences.find(p => p.date === dateStr); const parkingKey = `${userId}_${dateStr}`; const parkingSpot = parkingDataLookup[parkingKey]; const assignmentId = parkingAssignmentLookup[parkingKey]; + currentAssignmentId = assignmentId; // Ensure this is set for modal logic - // Highlight current status - document.querySelectorAll('#dayModal .status-btn').forEach(btn => { - const status = btn.dataset.status; - if (presence && presence.status === status) { - btn.classList.add('active'); - } else { - btn.classList.remove('active'); - } + const parkingObj = assignmentId ? { + id: assignmentId, + spot_display_name: parkingSpot, + spot_id: parkingSpot + } : null; + + ModalLogic.openModal({ + dateStr, + userName, + presence, + parking: parkingObj, + userId }); - - // Update parking section - const parkingSection = document.getElementById('parkingSection'); - const parkingInfo = document.getElementById('parkingInfo'); - - if (parkingSpot) { - parkingSection.style.display = 'block'; - parkingInfo.innerHTML = `Parking: Spot ${parkingSpot}`; - currentAssignmentId = assignmentId; - } else { - parkingSection.style.display = 'none'; - currentAssignmentId = null; - } - - modal.style.display = 'flex'; } -async function markPresence(status) { - if (!selectedUserId || !selectedDate) return; +async function handleMarkPresence(status, date, userId) { + // userId passed from ModalLogic if provided, or use selectedUserId + const targetUserId = userId || selectedUserId; + if (!targetUserId) return; const response = await api.post('/api/presence/admin/mark', { - user_id: selectedUserId, - date: selectedDate, + user_id: targetUserId, + date: date, status: status }); if (response && response.ok) { - document.getElementById('dayModal').style.display = 'none'; + ModalLogic.closeModal(); await loadTeamData(); renderCalendar(); } else { const error = await response.json(); - alert(error.detail || 'Failed to mark presence'); + alert(error.detail || 'Impossibile segnare la presenza'); } } -async function clearPresence() { - if (!selectedUserId || !selectedDate) return; - if (!confirm('Clear presence for this date?')) return; +async function handleClearPresence(date, userId) { + const targetUserId = userId || selectedUserId; + if (!targetUserId) return; - const response = await api.delete(`/api/presence/admin/${selectedUserId}/${selectedDate}`); + // confirm is not needed here if ModalLogic doesn't mandate it, but keeping logic + // ModalLogic buttons usually trigger this directly. + + const response = await api.delete(`/api/presence/admin/${targetUserId}/${date}`); if (response && response.ok) { - document.getElementById('dayModal').style.display = 'none'; + ModalLogic.closeModal(); await loadTeamData(); renderCalendar(); } } -async function openReassignModal() { - if (!currentAssignmentId) return; +async function handleReleaseParking(assignmentId) { + if (!confirm('Rilasciare il parcheggio per questa data?')) return; - // Load eligible users - const response = await api.get(`/api/parking/eligible-users/${currentAssignmentId}`); - if (!response || !response.ok) { - const error = await response.json(); - alert(error.detail || 'Failed to load eligible users'); - return; - } + // Note: Admin endpoint for releasing ANY spot vs "my spot" + // Since we are admin/manager here, we might need a general release endpoint or use reassign with null? + // The current 'release_my_spot' is only for self. + // 'reassign_spot' with null user_id is the way for admins. - const users = await response.json(); - const select = document.getElementById('reassignUser'); - select.innerHTML = ''; + const response = await api.post('/api/parking/reassign-spot', { + assignment_id: assignmentId, + new_user_id: null // Release + }); - if (users.length === 0) { - select.innerHTML = ''; + if (response && response.ok) { + ModalLogic.closeModal(); + await loadTeamData(); + renderCalendar(); } else { - users.forEach(user => { - const option = document.createElement('option'); - option.value = user.id; - option.textContent = user.name; - select.appendChild(option); - }); + const error = await response.json(); + alert(error.detail || 'Impossibile rilasciare il parcheggio'); } - - // Get spot info - const parkingKey = `${selectedUserId}_${selectedDate}`; - const spotName = parkingDataLookup[parkingKey] || 'Unknown'; - document.getElementById('reassignSpotInfo').textContent = `Spot ${spotName}`; - - document.getElementById('dayModal').style.display = 'none'; - document.getElementById('reassignModal').style.display = 'flex'; } -async function confirmReassign() { - const newUserId = document.getElementById('reassignUser').value; - if (!currentAssignmentId || !newUserId) { - alert('Please select a user'); +async function handleReassignParking(assignmentId, newUserId) { + if (!assignmentId || !newUserId) { + alert('Seleziona un utente'); return; } const response = await api.post('/api/parking/reassign-spot', { - assignment_id: currentAssignmentId, + assignment_id: assignmentId, new_user_id: newUserId }); if (response && response.ok) { await loadTeamData(); renderCalendar(); - document.getElementById('reassignModal').style.display = 'none'; + ModalLogic.closeModal(); } else { const error = await response.json(); - alert(error.detail || 'Failed to reassign parking spot'); + alert(error.detail || 'Impossibile riassegnare il parcheggio'); } } @@ -375,40 +511,20 @@ function setupEventListeners() { currentStartDate = new Date(currentStartDate.getFullYear(), currentStartDate.getMonth(), 1); } else { // Set to current week start - const weekStartDay = currentUser.week_start_day || 0; + const weekStartDay = currentUser.week_start_day || 1; currentStartDate = utils.getWeekStart(new Date(), weekStartDay); } await loadTeamData(); renderCalendar(); }); - // Manager filter - document.getElementById('managerFilter').addEventListener('change', async () => { + + // Office filter + document.getElementById('officeFilter').addEventListener('change', async () => { + updateOfficeDisplay(); // Update label on change await loadTeamData(); renderCalendar(); }); - // Day modal - document.getElementById('closeDayModal').addEventListener('click', () => { - document.getElementById('dayModal').style.display = 'none'; - }); - - document.querySelectorAll('#dayModal .status-btn').forEach(btn => { - btn.addEventListener('click', () => markPresence(btn.dataset.status)); - }); - - document.getElementById('clearDayBtn').addEventListener('click', clearPresence); - document.getElementById('reassignParkingBtn').addEventListener('click', openReassignModal); - utils.setupModalClose('dayModal'); - - // Reassign modal - document.getElementById('closeReassignModal').addEventListener('click', () => { - document.getElementById('reassignModal').style.display = 'none'; - }); - document.getElementById('cancelReassign').addEventListener('click', () => { - document.getElementById('reassignModal').style.display = 'none'; - }); - document.getElementById('confirmReassign').addEventListener('click', confirmReassign); - utils.setupModalClose('reassignModal'); } diff --git a/frontend/js/team-rules.js b/frontend/js/team-rules.js index a812ec4..f7a8642 100644 --- a/frontend/js/team-rules.js +++ b/frontend/js/team-rules.js @@ -1,370 +1,383 @@ /** * Team Rules Page - * Manage closing days, parking guarantees, and exclusions - * - * Rules are set at manager level for their parking pool. + * Manage closing days, guarantees, and exclusions + * Office-centric model */ let currentUser = null; -let selectedManagerId = null; -let managerUsers = []; +let offices = []; +let currentOfficeId = null; +let officeUsers = []; +let currentWeeklyClosingDays = []; document.addEventListener('DOMContentLoaded', async () => { currentUser = await api.requireAuth(); if (!currentUser) return; - // Only managers and admins can access - if (currentUser.role === 'employee') { + // Only admins and managers can access this page + if (currentUser.role !== 'admin' && currentUser.role !== 'manager') { window.location.href = '/presence'; return; } - await loadManagers(); + await loadOffices(); setupEventListeners(); }); -async function loadManagers() { - const response = await api.get('/api/managers'); - if (response && response.ok) { - const managers = await response.json(); - const select = document.getElementById('managerSelect'); +async function loadOffices() { + const select = document.getElementById('officeSelect'); + const card = document.getElementById('officeSelectionCard'); - // Filter to managers this user can see - let filteredManagers = managers; + // Only Admins can see the office selector + if (currentUser.role !== 'admin') { + if (card) card.style.display = 'none'; + } + + const response = await api.get('/api/offices'); + if (response && response.ok) { + offices = await response.json(); + + let filteredOffices = offices; if (currentUser.role === 'manager') { - // Manager only sees themselves - filteredManagers = managers.filter(m => m.id === currentUser.id); + // Manager only sees their own office + if (currentUser.office_id) { + filteredOffices = offices.filter(o => o.id === currentUser.office_id); + } else { + filteredOffices = []; + } } - // Show managers in dropdown - let totalManagers = 0; - let firstManagerId = null; - - filteredManagers.forEach(manager => { + filteredOffices.forEach(office => { const option = document.createElement('option'); - option.value = manager.id; - // Show manager name with user count and parking quota - const userCount = manager.managed_user_count || 0; - const quota = manager.parking_quota || 0; - option.textContent = `${manager.name} (${userCount} users, ${quota} spots)`; + option.value = office.id; + option.textContent = office.name; select.appendChild(option); - totalManagers++; - if (!firstManagerId) firstManagerId = manager.id; }); - // Auto-select if only one manager - if (totalManagers === 1 && firstManagerId) { - select.value = firstManagerId; - await selectManager(firstManagerId); + // Auto-select for managers + if (currentUser.role === 'manager' && filteredOffices.length === 1) { + select.value = filteredOffices[0].id; + loadOfficeRules(filteredOffices[0].id); } } } -async function selectManager(managerId) { - selectedManagerId = managerId; - - if (!managerId) { +async function loadOfficeRules(officeId) { + if (!officeId) { document.getElementById('rulesContent').style.display = 'none'; - document.getElementById('noManagerMessage').style.display = 'block'; + document.getElementById('noOfficeMessage').style.display = 'block'; return; } + currentOfficeId = officeId; document.getElementById('rulesContent').style.display = 'block'; - document.getElementById('noManagerMessage').style.display = 'none'; + document.getElementById('noOfficeMessage').style.display = 'none'; + + // Load users for this office (for dropdowns) + await loadOfficeUsers(officeId); await Promise.all([ - loadWeeklyClosingDays(), - loadClosingDays(), - loadGuarantees(), - loadExclusions(), - loadManagerUsers() + loadWeeklyClosingDays(officeId), + loadClosingDays(officeId), + loadGuarantees(officeId), + loadExclusions(officeId) ]); } -async function loadWeeklyClosingDays() { - const response = await api.get(`/api/managers/${selectedManagerId}/weekly-closing-days`); +async function loadOfficeUsers(officeId) { + const response = await api.get(`/api/offices/${officeId}/users`); + if (response && response.ok) { + officeUsers = await response.json(); + } +} + +// Weekly Closing Days +async function loadWeeklyClosingDays(officeId) { + const response = await api.get(`/api/offices/${officeId}/weekly-closing-days`); if (response && response.ok) { const days = await response.json(); - const weekdays = days.map(d => d.weekday); + currentWeeklyClosingDays = days; + const activeWeekdays = days.map(d => d.weekday); - // Update checkboxes document.querySelectorAll('#weeklyClosingDays input[type="checkbox"]').forEach(cb => { const weekday = parseInt(cb.dataset.weekday); - cb.checked = weekdays.includes(weekday); + cb.checked = activeWeekdays.includes(weekday); }); } } -async function loadManagerUsers() { - const response = await api.get(`/api/managers/${selectedManagerId}/users`); - if (response && response.ok) { - managerUsers = await response.json(); - updateUserSelects(); +async function saveWeeklyClosingDays() { + const btn = document.getElementById('saveWeeklyClosingDaysBtn'); + if (!btn) return; + + const originalText = btn.textContent; + btn.disabled = true; + btn.textContent = 'Salvataggio...'; + + try { + const promises = []; + const checkboxes = document.querySelectorAll('#weeklyClosingDays input[type="checkbox"]'); + + for (const cb of checkboxes) { + const weekday = parseInt(cb.dataset.weekday); + const isChecked = cb.checked; + const existingEntry = currentWeeklyClosingDays.find(d => d.weekday === weekday); + + if (isChecked && !existingEntry) { + // Add + promises.push(api.post(`/api/offices/${currentOfficeId}/weekly-closing-days`, { weekday })); + } else if (!isChecked && existingEntry) { + // Remove + promises.push(api.delete(`/api/offices/${currentOfficeId}/weekly-closing-days/${existingEntry.id}`)); + } + } + + await Promise.all(promises); + utils.showMessage('Giorni di chiusura aggiornati', 'success'); + await loadWeeklyClosingDays(currentOfficeId); + } catch (error) { + console.error(error); + utils.showMessage('Errore durante il salvataggio', 'error'); + } finally { + btn.disabled = false; + btn.textContent = originalText; } } -function updateUserSelects() { - ['guaranteeUser', 'exclusionUser'].forEach(selectId => { - const select = document.getElementById(selectId); - select.innerHTML = ''; - managerUsers.forEach(user => { - const option = document.createElement('option'); - option.value = user.id; - option.textContent = user.name; - select.appendChild(option); - }); - }); -} -async function loadClosingDays() { - const response = await api.get(`/api/managers/${selectedManagerId}/closing-days`); + +// Closing Days +async function loadClosingDays(officeId) { + const response = await api.get(`/api/offices/${officeId}/closing-days`); const container = document.getElementById('closingDaysList'); if (response && response.ok) { const days = await response.json(); + if (days.length === 0) { - container.innerHTML = ''; + container.innerHTML = '

Nessun giorno di chiusura specifico.

'; return; } container.innerHTML = days.map(day => `
- ${utils.formatDateDisplay(day.date)} - ${day.reason ? `${day.reason}` : ''} + ${utils.formatDateDisplay(day.date)}${day.end_date ? ' - ' + utils.formatDateDisplay(day.end_date) : ''} + ${day.reason ? `${day.reason}` : ''}
`).join(''); } } -function formatDateRange(startDate, endDate) { - if (!startDate && !endDate) return ''; - if (startDate && !endDate) return `From ${utils.formatDateDisplay(startDate)}`; - if (!startDate && endDate) return `Until ${utils.formatDateDisplay(endDate)}`; - return `${utils.formatDateDisplay(startDate)} - ${utils.formatDateDisplay(endDate)}`; +async function addClosingDay(data) { + const response = await api.post(`/api/offices/${currentOfficeId}/closing-days`, data); + if (response && response.ok) { + await loadClosingDays(currentOfficeId); + document.getElementById('closingDayModal').style.display = 'none'; + document.getElementById('closingDayForm').reset(); + } else { + const error = await response.json(); + alert(error.detail || 'Impossibile aggiungere il giorno di chiusura'); + } } -async function loadGuarantees() { - const response = await api.get(`/api/managers/${selectedManagerId}/guarantees`); +async function deleteClosingDay(id) { + if (!confirm('Eliminare questo giorno di chiusura?')) return; + const response = await api.delete(`/api/offices/${currentOfficeId}/closing-days/${id}`); + if (response && response.ok) { + await loadClosingDays(currentOfficeId); + } +} + +// Guarantees +async function loadGuarantees(officeId) { + const response = await api.get(`/api/offices/${officeId}/guarantees`); const container = document.getElementById('guaranteesList'); if (response && response.ok) { const guarantees = await response.json(); + if (guarantees.length === 0) { - container.innerHTML = ''; + container.innerHTML = '

Nessuna garanzia di parcheggio attiva.

'; return; } - container.innerHTML = guarantees.map(g => { - const dateRange = formatDateRange(g.start_date, g.end_date); - return ` + container.innerHTML = guarantees.map(g => `
- ${g.user_name} - ${dateRange ? `${dateRange}` : ''} + ${g.user_name || 'Utente sconosciuto'} + + ${g.start_date ? 'Dal ' + utils.formatDateDisplay(g.start_date) : 'Da sempre'} + ${g.end_date ? ' al ' + utils.formatDateDisplay(g.end_date) : ''} + + ${g.notes ? `${g.notes}` : ''}
- `}).join(''); + `).join(''); } } -async function loadExclusions() { - const response = await api.get(`/api/managers/${selectedManagerId}/exclusions`); - const container = document.getElementById('exclusionsList'); - +async function addGuarantee(data) { + const response = await api.post(`/api/offices/${currentOfficeId}/guarantees`, data); if (response && response.ok) { - const exclusions = await response.json(); - if (exclusions.length === 0) { - container.innerHTML = ''; - return; - } - - container.innerHTML = exclusions.map(e => { - const dateRange = formatDateRange(e.start_date, e.end_date); - return ` -
-
- ${e.user_name} - ${dateRange ? `${dateRange}` : ''} -
- -
- `}).join(''); - } -} - -// Delete functions -async function deleteClosingDay(id) { - if (!confirm('Delete this closing day?')) return; - const response = await api.delete(`/api/managers/${selectedManagerId}/closing-days/${id}`); - if (response && response.ok) { - await loadClosingDays(); + await loadGuarantees(currentOfficeId); + document.getElementById('guaranteeModal').style.display = 'none'; + document.getElementById('guaranteeForm').reset(); + } else { + const error = await response.json(); + alert(error.detail || 'Impossibile aggiungere la garanzia'); } } async function deleteGuarantee(id) { - if (!confirm('Remove this parking guarantee?')) return; - const response = await api.delete(`/api/managers/${selectedManagerId}/guarantees/${id}`); + if (!confirm('Eliminare questa garanzia?')) return; + const response = await api.delete(`/api/offices/${currentOfficeId}/guarantees/${id}`); if (response && response.ok) { - await loadGuarantees(); + await loadGuarantees(currentOfficeId); + } +} + +// Exclusions +async function loadExclusions(officeId) { + const response = await api.get(`/api/offices/${officeId}/exclusions`); + const container = document.getElementById('exclusionsList'); + + if (response && response.ok) { + const exclusions = await response.json(); + + if (exclusions.length === 0) { + container.innerHTML = '

Nessuna esclusione attiva.

'; + return; + } + + container.innerHTML = exclusions.map(e => ` +
+
+ ${e.user_name || 'Utente sconosciuto'} + + ${e.start_date ? 'Dal ' + utils.formatDateDisplay(e.start_date) : 'Da sempre'} + ${e.end_date ? ' al ' + utils.formatDateDisplay(e.end_date) : ''} + + ${e.notes ? `${e.notes}` : ''} +
+ +
+ `).join(''); + } +} + +async function addExclusion(data) { + const response = await api.post(`/api/offices/${currentOfficeId}/exclusions`, data); + if (response && response.ok) { + await loadExclusions(currentOfficeId); + document.getElementById('exclusionModal').style.display = 'none'; + document.getElementById('exclusionForm').reset(); + } else { + const error = await response.json(); + alert(error.detail || 'Impossibile aggiungere l\'esclusione'); } } async function deleteExclusion(id) { - if (!confirm('Remove this parking exclusion?')) return; - const response = await api.delete(`/api/managers/${selectedManagerId}/exclusions/${id}`); + if (!confirm('Eliminare questa esclusione?')) return; + const response = await api.delete(`/api/offices/${currentOfficeId}/exclusions/${id}`); if (response && response.ok) { - await loadExclusions(); + await loadExclusions(currentOfficeId); } } -function setupEventListeners() { - // Manager selection - document.getElementById('managerSelect').addEventListener('change', (e) => { - selectManager(e.target.value); - }); +function populateUserSelects() { + const selects = ['guaranteeUser', 'exclusionUser']; + selects.forEach(id => { + const select = document.getElementById(id); + const currentVal = select.value; + select.innerHTML = ''; - // Weekly closing day checkboxes - document.querySelectorAll('#weeklyClosingDays input[type="checkbox"]').forEach(cb => { - cb.addEventListener('change', async (e) => { - const weekday = parseInt(e.target.dataset.weekday); - - if (e.target.checked) { - // Add weekly closing day - const response = await api.post(`/api/managers/${selectedManagerId}/weekly-closing-days`, { weekday }); - if (!response || !response.ok) { - e.target.checked = false; - const error = await response.json(); - alert(error.detail || 'Failed to add weekly closing day'); - } - } else { - // Remove weekly closing day - need to find the ID first - const getResponse = await api.get(`/api/managers/${selectedManagerId}/weekly-closing-days`); - if (getResponse && getResponse.ok) { - const days = await getResponse.json(); - const day = days.find(d => d.weekday === weekday); - if (day) { - const deleteResponse = await api.delete(`/api/managers/${selectedManagerId}/weekly-closing-days/${day.id}`); - if (!deleteResponse || !deleteResponse.ok) { - e.target.checked = true; - } - } - } - } + officeUsers.forEach(user => { + const option = document.createElement('option'); + option.value = user.id; + option.textContent = user.name; + select.appendChild(option); }); - }); - // Modal openers - document.getElementById('addClosingDayBtn').addEventListener('click', () => { - document.getElementById('closingDayForm').reset(); - document.getElementById('closingDayModal').style.display = 'flex'; + if (currentVal) select.value = currentVal; }); - - document.getElementById('addGuaranteeBtn').addEventListener('click', () => { - document.getElementById('guaranteeForm').reset(); - document.getElementById('guaranteeModal').style.display = 'flex'; - }); - - document.getElementById('addExclusionBtn').addEventListener('click', () => { - document.getElementById('exclusionForm').reset(); - document.getElementById('exclusionModal').style.display = 'flex'; - }); - - // Modal closers - ['closeClosingDayModal', 'cancelClosingDay'].forEach(id => { - document.getElementById(id).addEventListener('click', () => { - document.getElementById('closingDayModal').style.display = 'none'; - }); - }); - - ['closeGuaranteeModal', 'cancelGuarantee'].forEach(id => { - document.getElementById(id).addEventListener('click', () => { - document.getElementById('guaranteeModal').style.display = 'none'; - }); - }); - - ['closeExclusionModal', 'cancelExclusion'].forEach(id => { - document.getElementById(id).addEventListener('click', () => { - document.getElementById('exclusionModal').style.display = 'none'; - }); - }); - - // Form submissions - document.getElementById('closingDayForm').addEventListener('submit', async (e) => { - e.preventDefault(); - const data = { - date: document.getElementById('closingDate').value, - reason: document.getElementById('closingReason').value || null - }; - const response = await api.post(`/api/managers/${selectedManagerId}/closing-days`, data); - if (response && response.ok) { - document.getElementById('closingDayModal').style.display = 'none'; - await loadClosingDays(); - } else { - const error = await response.json(); - alert(error.detail || 'Failed to add closing day'); - } - }); - - document.getElementById('guaranteeForm').addEventListener('submit', async (e) => { - e.preventDefault(); - const data = { - user_id: document.getElementById('guaranteeUser').value, - start_date: document.getElementById('guaranteeStartDate').value || null, - end_date: document.getElementById('guaranteeEndDate').value || null - }; - const response = await api.post(`/api/managers/${selectedManagerId}/guarantees`, data); - if (response && response.ok) { - document.getElementById('guaranteeModal').style.display = 'none'; - await loadGuarantees(); - } else { - const error = await response.json(); - alert(error.detail || 'Failed to add guarantee'); - } - }); - - document.getElementById('exclusionForm').addEventListener('submit', async (e) => { - e.preventDefault(); - const data = { - user_id: document.getElementById('exclusionUser').value, - start_date: document.getElementById('exclusionStartDate').value || null, - end_date: document.getElementById('exclusionEndDate').value || null - }; - const response = await api.post(`/api/managers/${selectedManagerId}/exclusions`, data); - if (response && response.ok) { - document.getElementById('exclusionModal').style.display = 'none'; - await loadExclusions(); - } else { - const error = await response.json(); - alert(error.detail || 'Failed to add exclusion'); - } - }); - - // Modal background clicks - utils.setupModalClose('closingDayModal'); - utils.setupModalClose('guaranteeModal'); - utils.setupModalClose('exclusionModal'); } -// Make delete functions globally accessible +function setupEventListeners() { + // Office select + document.getElementById('officeSelect').addEventListener('change', (e) => { + loadOfficeRules(e.target.value); + }); + + // Save Weekly closing days + const saveBtn = document.getElementById('saveWeeklyClosingDaysBtn'); + if (saveBtn) { + saveBtn.addEventListener('click', saveWeeklyClosingDays); + } + + // Modals + const modals = [ + { id: 'closingDayModal', btn: 'addClosingDayBtn', close: 'closeClosingDayModal', cancel: 'cancelClosingDay' }, + { id: 'guaranteeModal', btn: 'addGuaranteeBtn', close: 'closeGuaranteeModal', cancel: 'cancelGuarantee' }, + { id: 'exclusionModal', btn: 'addExclusionBtn', close: 'closeExclusionModal', cancel: 'cancelExclusion' } + ]; + + modals.forEach(m => { + document.getElementById(m.btn).addEventListener('click', () => { + if (m.id !== 'closingDayModal') populateUserSelects(); + document.getElementById(m.id).style.display = 'flex'; + }); + document.getElementById(m.close).addEventListener('click', () => { + document.getElementById(m.id).style.display = 'none'; + }); + document.getElementById(m.cancel).addEventListener('click', () => { + document.getElementById(m.id).style.display = 'none'; + }); + utils.setupModalClose(m.id); + }); + + // Forms + document.getElementById('closingDayForm').addEventListener('submit', (e) => { + e.preventDefault(); + addClosingDay({ + date: document.getElementById('closingDate').value, + end_date: document.getElementById('closingEndDate').value || null, + reason: document.getElementById('closingReason').value || null + }); + }); + + document.getElementById('guaranteeForm').addEventListener('submit', (e) => { + e.preventDefault(); + addGuarantee({ + user_id: document.getElementById('guaranteeUser').value, + start_date: document.getElementById('guaranteeStartDate').value || null, + end_date: document.getElementById('guaranteeEndDate').value || null, + notes: document.getElementById('guaranteeNotes').value || null + }); + }); + + document.getElementById('exclusionForm').addEventListener('submit', (e) => { + e.preventDefault(); + addExclusion({ + user_id: document.getElementById('exclusionUser').value, + start_date: document.getElementById('exclusionStartDate').value || null, + end_date: document.getElementById('exclusionEndDate').value || null, + notes: document.getElementById('exclusionNotes').value || null + }); + }); +} + +// Global functions window.deleteClosingDay = deleteClosingDay; window.deleteGuarantee = deleteGuarantee; window.deleteExclusion = deleteExclusion; diff --git a/frontend/js/utils.js b/frontend/js/utils.js index 0ace644..27cbfc2 100644 --- a/frontend/js/utils.js +++ b/frontend/js/utils.js @@ -97,7 +97,7 @@ function formatDate(date) { */ function formatDateDisplay(dateStr) { const date = new Date(dateStr + 'T12:00:00'); - return date.toLocaleDateString('en-US', { + return date.toLocaleDateString('it-IT', { weekday: 'short', month: 'short', day: 'numeric' @@ -109,8 +109,8 @@ function formatDateDisplay(dateStr) { */ function getMonthName(month) { const months = [ - 'January', 'February', 'March', 'April', 'May', 'June', - 'July', 'August', 'September', 'October', 'November', 'December' + 'Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', + 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre' ]; return months[month]; } @@ -119,7 +119,7 @@ function getMonthName(month) { * Get day name */ function getDayName(dayIndex) { - const days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + const days = ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab']; return days[dayIndex]; } @@ -133,7 +133,7 @@ function getDaysInMonth(year, month) { /** * Get start of week for a date */ -function getWeekStart(date, weekStartDay = 0) { +function getWeekStart(date, weekStartDay = 1) { const d = new Date(date); const day = d.getDay(); const diff = (day - weekStartDay + 7) % 7; @@ -146,7 +146,7 @@ function getWeekStart(date, weekStartDay = 0) { * Format date as short display (e.g., "Nov 26") */ function formatDateShort(date) { - return date.toLocaleDateString('en-US', { + return date.toLocaleDateString('it-IT', { month: 'short', day: 'numeric' }); @@ -163,12 +163,14 @@ function showMessage(message, type = 'success', duration = 3000) { toastContainer.id = 'toastContainer'; toastContainer.style.cssText = ` position: fixed; - top: 1rem; - right: 1rem; + bottom: 2rem; + left: 50%; + transform: translateX(-50%); z-index: 9999; display: flex; flex-direction: column; - gap: 0.5rem; + gap: 1rem; + align-items: center; `; document.body.appendChild(toastContainer); } @@ -176,17 +178,21 @@ function showMessage(message, type = 'success', duration = 3000) { const toast = document.createElement('div'); toast.className = `message ${type}`; toast.style.cssText = ` - padding: 0.75rem 1rem; - border-radius: 6px; - box-shadow: 0 2px 8px rgba(0,0,0,0.15); - animation: slideIn 0.2s ease; + padding: 1rem 1.5rem; + border-radius: 8px; + box-shadow: 0 4px 12px rgba(0,0,0,0.2); + animation: slideInBottom 0.3s ease; + font-size: 1.1rem; + font-weight: 500; + min-width: 300px; + text-align: center; `; toast.textContent = message; toastContainer.appendChild(toast); if (duration > 0) { setTimeout(() => { - toast.style.animation = 'slideOut 0.2s ease'; + toast.style.animation = 'fadeOut 0.3s ease'; setTimeout(() => toast.remove(), 200); }, duration); } @@ -196,14 +202,7 @@ function showMessage(message, type = 'success', duration = 3000) { * Close modal when clicking outside */ function setupModalClose(modalId) { - const modal = document.getElementById(modalId); - if (modal) { - modal.addEventListener('click', (e) => { - if (e.target.id === modalId) { - modal.style.display = 'none'; - } - }); - } + // Behavior disabled: clicking outside does not close modal } // Export utilities diff --git a/frontend/pages/admin-offices.html b/frontend/pages/admin-offices.html new file mode 100644 index 0000000..f3b9eb4 --- /dev/null +++ b/frontend/pages/admin-offices.html @@ -0,0 +1,113 @@ + + + + + + + Gestione Uffici - Parking Manager + + + + + +
+ +
+ + +
+
+
+

Lista Uffici

+ +
+
+ + + + + + + + + + + +
NomeQuota PostiPrefissoUtentiAzioni
+
+
+
+
+ + + + + + + + + + + \ No newline at end of file diff --git a/frontend/pages/admin-users.html b/frontend/pages/admin-users.html index 720f183..d47eade 100644 --- a/frontend/pages/admin-users.html +++ b/frontend/pages/admin-users.html @@ -1,5 +1,6 @@ + @@ -7,31 +8,33 @@ +

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∋r=w$HBDTGS$KjR4FG@XT4RPFoqhYsm(hVBrh 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�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