mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-05-20 05:10:26 -05:00
dcbdfcc288
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
176 lines
5.3 KiB
Python
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",
|
|
]
|