Files
lib-paveit-demo/src/paveit/datamodels/taskmanager.py
2023-06-02 08:53:44 +02:00

57 lines
1.7 KiB
Python
Executable File

import datetime
from mongoengine import *
from .machines import MachineBase
from .material import Material
from .project import Project
from .usermanagement import Organisation, User
from .workpackage import Workpackage
from .enumeration import ProcessStatusEnum
from .client import Client
class TaskManagerBase(Document):
org_id = LazyReferenceField(Organisation, required=True)
user_id = LazyReferenceField(User, required=True)
client_id = LazyReferenceField(Client, required=True)
project_id = LazyReferenceField(Project, required=True)
wp_id = LazyReferenceField(Workpackage, required=False)
status = EnumField(ProcessStatusEnum, default=ProcessStatusEnum.ONGOING)
task_added = DateTimeField(default=datetime.datetime.now,
wtf_options={"r ender_kw": {
"step": "60"
}})
task_finished = DateTimeField(required=False)
assign_users = ListField(LazyReferenceField(User), required=False)
assign_machine = LazyReferenceField(MachineBase, required=False)
series = StringField(default='Serie 01')
meta = {
'allow_inheritance': True,
'index_opts': {},
'index_background': True,
'index_cls': False,
'auto_create_index': True,
'collection': 'taskmanager',
"db_alias": 'dblabtests',
}
class TaskCITTStiffness(TaskManagerBase):
material = LazyReferenceField(Material, required=True)
class TaskDynShearStiffness(TaskManagerBase):
material = LazyReferenceField(Material, required=True)
material2 = LazyReferenceField(Material, required=True)
bounding = LazyReferenceField(Material, required=True)