Squashed commit of the following:
commit 1eeea9f83ad9230a5c1f7a75662770eaab0df837 Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 21:15:41 2025 +0200 Disable resuming of old time entries. commit 3e3ec2f01cb7943622b819a19179388078ae1315 Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 20:59:19 2025 +0200 Refactor db migrations. commit 15a51a569da36c6b7c9e01ab17b6fdbdee6ad994 Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 19:58:04 2025 +0200 Apply new style for Time Tracking view. commit 77e5278b303e060d2b03853b06277f8aa567ae68 Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 18:06:04 2025 +0200 Allow direct registrations as a Company. commit 188a8772757cbef374243d3a5f29e4440ddecabe Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 18:04:45 2025 +0200 Add email invitation feature. commit d9ebaa02aa01b518960a20dccdd5a327d82f30c6 Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 17:12:32 2025 +0200 Apply common style for Company, User, Team management pages. commit 81149caf4d8fc6317e2ab1b4f022b32fc5aa6d22 Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 16:44:32 2025 +0200 Move export functions to own module. commit 1a26e19338e73f8849c671471dd15cc3c1b1fe82 Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 15:51:15 2025 +0200 Split up models.py. commit 61f1ccd10f721b0ff4dc1eccf30c7a1ee13f204d Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 12:05:28 2025 +0200 Move utility function into own modules. commit 84b341ed35e2c5387819a8b9f9d41eca900ae79f Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 11:44:24 2025 +0200 Refactor auth functions use. commit 923e311e3da5b26d85845c2832b73b7b17c48adb Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 11:35:52 2025 +0200 Refactor route nameing and fix bugs along the way. commit f0a5c4419c340e62a2615c60b2a9de28204d2995 Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 10:34:33 2025 +0200 Fix URL endpoints in announcement template. commit b74d74542a1c8dc350749e4788a9464d067a88b5 Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 09:25:53 2025 +0200 Move announcements to own module. commit 9563a28021ac46c82c04fe4649b394dbf96f92c7 Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 09:16:30 2025 +0200 Combine Company view and edit templates. commit 6687c373e681d54e4deab6b2582fed5cea9aadf6 Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 08:17:42 2025 +0200 Move Users, Company and System Administration to own modules. commit 8b7894a2e3eb84bb059f546648b6b9536fea724e Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 07:40:57 2025 +0200 Move Teams and Projects to own modules. commit d11bf059d99839ecf1f5d7020b8c8c8a2454c00b Author: Jens Luedicke <jens@luedicke.me> Date: Mon Jul 7 07:09:33 2025 +0200 Move Tasks and Sprints to own modules.
This commit is contained in:
115
models/enums.py
Normal file
115
models/enums.py
Normal file
@@ -0,0 +1,115 @@
|
||||
"""
|
||||
Enum definitions for the TimeTrack application
|
||||
"""
|
||||
|
||||
import enum
|
||||
|
||||
|
||||
class Role(enum.Enum):
|
||||
"""User role enumeration"""
|
||||
TEAM_MEMBER = "Team Member"
|
||||
TEAM_LEADER = "Team Leader"
|
||||
SUPERVISOR = "Supervisor"
|
||||
ADMIN = "Administrator" # Company-level admin
|
||||
SYSTEM_ADMIN = "System Administrator" # System-wide admin
|
||||
|
||||
|
||||
class AccountType(enum.Enum):
|
||||
"""Account type for freelancer support"""
|
||||
COMPANY_USER = "Company User"
|
||||
FREELANCER = "Freelancer"
|
||||
|
||||
|
||||
class WorkRegion(enum.Enum):
|
||||
"""Work region enumeration for different labor law compliance"""
|
||||
USA = "United States"
|
||||
CANADA = "Canada"
|
||||
UK = "United Kingdom"
|
||||
GERMANY = "Germany"
|
||||
EU = "European Union"
|
||||
AUSTRALIA = "Australia"
|
||||
OTHER = "Other"
|
||||
|
||||
|
||||
class CommentVisibility(enum.Enum):
|
||||
"""Comment visibility levels"""
|
||||
PRIVATE = "Private" # Only creator can see
|
||||
TEAM = "Team" # Team members can see
|
||||
COMPANY = "Company" # All company users can see
|
||||
|
||||
|
||||
class TaskStatus(enum.Enum):
|
||||
"""Task status enumeration"""
|
||||
TODO = "To Do"
|
||||
IN_PROGRESS = "In Progress"
|
||||
IN_REVIEW = "In Review"
|
||||
DONE = "Done"
|
||||
CANCELLED = "Cancelled"
|
||||
ARCHIVED = "Archived"
|
||||
|
||||
|
||||
class TaskPriority(enum.Enum):
|
||||
"""Task priority levels"""
|
||||
LOW = "Low"
|
||||
MEDIUM = "Medium"
|
||||
HIGH = "High"
|
||||
URGENT = "Urgent"
|
||||
|
||||
|
||||
class SprintStatus(enum.Enum):
|
||||
"""Sprint status enumeration"""
|
||||
PLANNING = "Planning"
|
||||
ACTIVE = "Active"
|
||||
COMPLETED = "Completed"
|
||||
CANCELLED = "Cancelled"
|
||||
|
||||
|
||||
class WidgetType(enum.Enum):
|
||||
"""Dashboard widget types"""
|
||||
# Time Tracking Widgets
|
||||
CURRENT_TIMER = "current_timer"
|
||||
DAILY_SUMMARY = "daily_summary"
|
||||
WEEKLY_CHART = "weekly_chart"
|
||||
BREAK_REMINDER = "break_reminder"
|
||||
TIME_SUMMARY = "Time Summary"
|
||||
|
||||
# Project Management Widgets
|
||||
ACTIVE_PROJECTS = "active_projects"
|
||||
PROJECT_PROGRESS = "project_progress"
|
||||
PROJECT_ACTIVITY = "project_activity"
|
||||
PROJECT_DEADLINES = "project_deadlines"
|
||||
PROJECT_STATUS = "Project Status"
|
||||
|
||||
# Task Management Widgets
|
||||
ASSIGNED_TASKS = "assigned_tasks"
|
||||
TASK_PRIORITY = "task_priority"
|
||||
TASK_CALENDAR = "task_calendar"
|
||||
UPCOMING_TASKS = "upcoming_tasks"
|
||||
TASK_LIST = "Task List"
|
||||
|
||||
# Sprint Widgets
|
||||
SPRINT_OVERVIEW = "sprint_overview"
|
||||
SPRINT_BURNDOWN = "sprint_burndown"
|
||||
SPRINT_PROGRESS = "Sprint Progress"
|
||||
|
||||
# Team & Analytics Widgets
|
||||
TEAM_WORKLOAD = "team_workload"
|
||||
TEAM_PRESENCE = "team_presence"
|
||||
TEAM_ACTIVITY = "Team Activity"
|
||||
|
||||
# Performance & Stats Widgets
|
||||
PRODUCTIVITY_STATS = "productivity_stats"
|
||||
TIME_DISTRIBUTION = "time_distribution"
|
||||
PERSONAL_STATS = "Personal Stats"
|
||||
|
||||
# Action Widgets
|
||||
QUICK_ACTIONS = "quick_actions"
|
||||
RECENT_ACTIVITY = "recent_activity"
|
||||
|
||||
|
||||
class WidgetSize(enum.Enum):
|
||||
"""Dashboard widget sizes"""
|
||||
SMALL = "small" # 1x1
|
||||
MEDIUM = "medium" # 2x1
|
||||
LARGE = "large" # 2x2
|
||||
WIDE = "wide" # 3x1 or full width
|
||||
Reference in New Issue
Block a user