Files
patrick a63b0e835f feat: Stunden-Auszahlung Feature (/hr/payouts)
- Backend: Model HoursPayout, Schema, Router GET/POST/DELETE
- GET /hr/payouts: HR/Admin sehen alle, Employee/Manager nur eigene
- POST /hr/payouts: reduziert OvertimeBalance.taken_hours sofort
- DELETE /hr/payouts/{id}: storniert und bucht Stunden zurück
- AuditLog-Einträge bei Anlegen und Stornieren
- Migration 0030: hours_payouts Tabelle
- Frontend: /hr/payouts Seite (lila, 💸) mit Filter, Tabelle, Modal
- Modal zeigt verfügbares Überstundenguthaben + Warnung bei Überziehung
- Navigation: Stunden-Auszahlung (HR/COMPANY_ADMIN/SUPER_ADMIN)

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

44 lines
1.4 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
from app.models.hours_payout import HoursPayout
__all__ = [
"Company",
"Department",
"User",
"UserRole",
"Session",
"PasswordReset",
"AuditLog",
"WorkSchedule",
"TimeEntry",
"EntryStatus",
"EntrySource",
"AbsenceType",
"Absence",
"AbsenceStatus",
"VacationBalance",
"OvertimeBalance",
"PublicHoliday",
"KioskDevice",
"KioskAuthMethod",
"SpecialAssignment",
"AssignmentMode",
"HoursPayout",
]