Files
TimeTracker/app/models/__init__.py
T
Dries Peeters dcbdfcc288 feat: Add client custom fields, link templates, UI feature flags, and client billing support
Add client custom fields (JSON) for flexible data storage

Implement link templates system for dynamic URL generation from custom fields

Add client_id support to time entries for direct client billing (project_id now nullable)

Implement user-level UI feature flags for customizable navigation visibility

Add system-wide UI feature flags in settings for admin control

Fix metadata column naming (user_badges.achievement_metadata, leaderboard_entries.entry_metadata)

Update templates and routes to support new features

Add comprehensive UI feature flag management in admin and user settings

Enhance client views with custom fields and link template integration

Update time entry forms to support client billing

Add tests for system UI flags

Migrations: 075-080 for custom fields, link templates, UI flags, client billing, and metadata fixes
2025-11-29 06:17:07 +01:00

176 lines
5.3 KiB
Python

from .user import User
from .project import Project
from .time_entry import TimeEntry
from .task import Task
from .settings import Settings
from .invoice import Invoice, InvoiceItem
from .invoice_template import InvoiceTemplate
from .currency import Currency, ExchangeRate
from .tax_rule import TaxRule
from .payments import Payment, CreditNote, InvoiceReminderSchedule
from .reporting import SavedReportView, ReportEmailSchedule
from .client import Client
from .client_prepaid_consumption import ClientPrepaidConsumption
from .task_activity import TaskActivity
from .expense_category import ExpenseCategory
from .mileage import Mileage
from .per_diem import PerDiem, PerDiemRate
from .extra_good import ExtraGood
from .comment import Comment
from .focus_session import FocusSession
from .recurring_block import RecurringBlock
from .rate_override import RateOverride
from .saved_filter import SavedFilter
from .project_cost import ProjectCost
from .kanban_column import KanbanColumn
from .time_entry_template import TimeEntryTemplate
from .activity import Activity
from .user_favorite_project import UserFavoriteProject
from .client_note import ClientNote
from .weekly_time_goal import WeeklyTimeGoal
from .expense import Expense
from .permission import Permission, Role
from .api_token import ApiToken
from .calendar_event import CalendarEvent
from .budget_alert import BudgetAlert
from .import_export import DataImport, DataExport
from .invoice_pdf_template import InvoicePDFTemplate
from .audit_log import AuditLog
from .recurring_invoice import RecurringInvoice
from .invoice_email import InvoiceEmail
from .webhook import Webhook, WebhookDelivery
from .quote import Quote, QuoteItem, QuotePDFTemplate
from .quote_attachment import QuoteAttachment
from .quote_template import QuoteTemplate
from .quote_version import QuoteVersion
from .warehouse import Warehouse
from .stock_item import StockItem
from .warehouse_stock import WarehouseStock
from .stock_movement import StockMovement
from .stock_reservation import StockReservation
from .project_stock_allocation import ProjectStockAllocation
from .supplier import Supplier
from .supplier_stock_item import SupplierStockItem
from .purchase_order import PurchaseOrder, PurchaseOrderItem
from .contact import Contact
from .contact_communication import ContactCommunication
from .deal import Deal
from .deal_activity import DealActivity
from .lead import Lead
from .lead_activity import LeadActivity
from .project_template import ProjectTemplate
from .invoice_approval import InvoiceApproval
from .payment_gateway import PaymentGateway, PaymentTransaction
from .calendar_integration import CalendarIntegration, CalendarSyncEvent
from .integration import Integration, IntegrationCredential, IntegrationEvent
from .workflow import WorkflowRule, WorkflowExecution
from .time_entry_approval import TimeEntryApproval, ApprovalPolicy, ApprovalStatus
from .recurring_task import RecurringTask
from .client_portal_customization import ClientPortalCustomization
from .team_chat import ChatChannel, ChatMessage, ChatChannelMember, ChatReadReceipt
from .client_time_approval import ClientTimeApproval, ClientApprovalPolicy, ClientApprovalStatus
from .custom_report import CustomReportConfig
from .gamification import Badge, UserBadge, Leaderboard, LeaderboardEntry
from .expense_gps import MileageTrack
from .link_template import LinkTemplate
__all__ = [
"User",
"Project",
"TimeEntry",
"Task",
"Settings",
"Invoice",
"InvoiceItem",
"Client",
"TaskActivity",
"Comment",
"FocusSession",
"RecurringBlock",
"RateOverride",
"SavedFilter",
"ProjectCost",
"InvoiceTemplate",
"Currency",
"ExchangeRate",
"TaxRule",
"Payment",
"CreditNote",
"InvoiceReminderSchedule",
"SavedReportView",
"ReportEmailSchedule",
"KanbanColumn",
"TimeEntryTemplate",
"Activity",
"UserFavoriteProject",
"ClientNote",
"WeeklyTimeGoal",
"Expense",
"Permission",
"Role",
"ApiToken",
"CalendarEvent",
"BudgetAlert",
"DataImport",
"DataExport",
"InvoicePDFTemplate",
"ClientPrepaidConsumption",
"AuditLog",
"RecurringInvoice",
"InvoiceEmail",
"Webhook",
"WebhookDelivery",
"Quote",
"QuoteItem",
"QuotePDFTemplate",
"QuoteAttachment",
"QuoteTemplate",
"QuoteVersion",
"Warehouse",
"StockItem",
"WarehouseStock",
"StockMovement",
"StockReservation",
"ProjectStockAllocation",
"Supplier",
"SupplierStockItem",
"PurchaseOrder",
"PurchaseOrderItem",
"Contact",
"ContactCommunication",
"Deal",
"DealActivity",
"Lead",
"LeadActivity",
"ProjectTemplate",
"InvoiceApproval",
"PaymentGateway",
"PaymentTransaction",
"CalendarIntegration",
"CalendarSyncEvent",
"Integration",
"IntegrationCredential",
"IntegrationEvent",
"WorkflowRule",
"WorkflowExecution",
"TimeEntryApproval",
"ApprovalPolicy",
"ApprovalStatus",
"RecurringTask",
"ClientPortalCustomization",
"ChatChannel",
"ChatMessage",
"ChatChannelMember",
"ChatReadReceipt",
"ClientTimeApproval",
"ClientApprovalPolicy",
"ClientApprovalStatus",
"CustomReportConfig",
"Badge",
"UserBadge",
"Leaderboard",
"LeaderboardEntry",
"MileageTrack",
"LinkTemplate",
]