Files
timemaster/backend/app/models/__init__.py
T
patrick d60349df67 feat: Sondervertretungs-Faktoren (special_assignments)
- Neues Model SpecialAssignment mit AssignmentMode (fza|payroll|both)
- CRUD-Endpunkte unter /users/{id}/special-assignments
- Payroll-Report: GET /reports/special-assignments/payroll?year=&month=
- Migration 0029: special_assignments Tabelle + btree_gist Overlap-Constraint
- _recalculate_overtime_balance berücksichtigt FZA-Faktoren
- Frontend: Sondervertretungs-Zeiträume im UsersPage Edit-Modal
- Frontend: ReportsPage neuer Tab 'Sondervertretungen' mit Payroll-Tabelle + CSV-Export

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 00:55:47 +02:00

42 lines
1.3 KiB
Python

from app.models.company import Company
from app.models.department import Department
from app.models.user import User, UserRole
from app.models.session import Session
from app.models.password_reset import PasswordReset
from app.models.audit_log import AuditLog
from app.models.work_schedule import WorkSchedule
from app.models.time_entry import TimeEntry, EntryStatus, EntrySource
from app.models.absence_type import AbsenceType
from app.models.absence import Absence, AbsenceStatus
from app.models.vacation_balance import VacationBalance
from app.models.overtime_balance import OvertimeBalance
from app.models.public_holiday import PublicHoliday
from app.models.smtp_config import SmtpConfig
from app.models.caldav_config import CaldavCompanyConfig, CaldavUserConfig
from app.models.kiosk_device import KioskDevice, KioskAuthMethod
from app.models.special_assignment import SpecialAssignment, AssignmentMode
__all__ = [
"Company",
"Department",
"User",
"UserRole",
"Session",
"PasswordReset",
"AuditLog",
"WorkSchedule",
"TimeEntry",
"EntryStatus",
"EntrySource",
"AbsenceType",
"Absence",
"AbsenceStatus",
"VacationBalance",
"OvertimeBalance",
"PublicHoliday",
"KioskDevice",
"KioskAuthMethod",
"SpecialAssignment",
"AssignmentMode",
]