Source code for ace.centralize.models.task

"""
    Task models for Centralize

    Models for tasks, translations, and user groups (REST API).
"""
from datetime import date
from typing import List, Optional

from ace.centralize.models.base import ModelBase


[docs] class Translation(ModelBase):
[docs] def __init__( self, language_id: int, name: str, description: str ): self.languageId = language_id self.name = name self.description = description
[docs] class UserGroup(ModelBase):
[docs] def __init__( self, name: str, description: Optional[str] = None, translations: Optional[List[Translation]] = None, users: list[int] = None ): self.name = name self.description = description self.translations = translations self.users = users
[docs] class Task(ModelBase):
[docs] def __init__( self, include_folder_responsible: bool, is_create_template: bool, language_id: int, priority_id: int, title: str, start_date: date, entity_type_name: Optional[str] = None, entity_id: Optional[int] = None, note: Optional[str] = None, reminder_date: Optional[date] = None, due_date: Optional[date] = None, completed_date: Optional[date] = None, deleted_date: Optional[date] = None, responsible_user_group_ids: Optional[list[int]] = None, responsible_user_ids: Optional[list[int]] = None, private_user_group_ids: Optional[list[int]] = None ): if start_date: start_date = start_date.strftime('%Y-%m-%d') if reminder_date: reminder_date = reminder_date.strftime('%Y-%m-%d') if due_date: due_date = due_date.strftime('%Y-%m-%d') if completed_date: completed_date = completed_date.strftime('%Y-%m-%d') if deleted_date: deleted_date = deleted_date.strftime('%Y-%m-%d') if responsible_user_group_ids is None: responsible_user_group_ids = [] if responsible_user_ids is None: responsible_user_ids = [] if private_user_group_ids is None: private_user_group_ids = [] self.entityTypeName = entity_type_name self.entityId = entity_id self.priorityId = priority_id self.includeFolderResponsible = include_folder_responsible self.isCreateTemplate = is_create_template self.languageId = language_id self.title = title self.note = note self.startDate = start_date self.reminderDate = reminder_date self.dueDate = due_date self.completedDate = completed_date self.deletedDate = deleted_date self.responsibleUserGroupIds = responsible_user_group_ids self.responsibleUserIds = responsible_user_ids self.privateUserGroupIds = private_user_group_ids