import ast import datetime import json import re import uuid import logging import base64 import subprocess import tempfile import easywebdav import os import os.path from odoo import api, fields, models, _ from odoo import tools from odoo.exceptions import ValidationError from datetime import date from datetime import datetime from dateutil.relativedelta import relativedelta from pyffmpeg import FFmpeg from tuya_iot import TuyaOpenAPI, TUYA_LOGGER from tuya_connector import TuyaOpenAPI, TUYA_LOGGER import sys TUYA_LOGGER.setLevel(logging.DEBUG) _logger = logging.getLogger(__name__) class dssmaintaintasks(models.Model): _name = "dss.maintaintask" _description = "DigitalSignage Wartungsarbeiten" _inherit = ['mail.thread','mail.activity.mixin'] _rec_name = "maintainname" maintainname = fields.Char('Einsatzbezeichnung', required=True) uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID') date_create = fields.Date('Erstellungsdatum', default=lambda self: self._default_create_date()) date_lastedit = fields.Date('Änderungsdatum') user_create = fields.Char('Erstellungsuser', default=lambda self: self._default_create_user()) user_lastedit = fields.Char('Änderungsuser') maintaintyp = fields.Selection([('AUF','Aufbau/Installation'),('REP','Reparatur'), ('CLE','Reinigung'), ('INS','Inspektion'), ('ABB','Demontage'), ('SON','Sonstiges')],tracking=True) project = fields.Many2one('dss.projects', required=True, tracking=True) maintain_tag = fields.Date('Einsatztag', required=True, tracking=True) maintain_time_h = fields.Integer('Einsatzzeit Volle Stunden', required=True, tracking=True) maintain_time_m = fields.Integer('Einsatzzeit Rest Minuten', required=True, tracking=True) # maintain_people = fields.Many2many('res.partner','Einsatzbeteiligte', domain="['&',('dssinternpartner','=',True),('dssinternpartner_grafik','=',True)]", tracking=True,required=True) maintain_reason = fields.Char('Einsatzgrund', required=True) maintain_text = fields.Html('Einsatzablauf', required=True) @api.model def _default_uuid(self): return str(uuid.uuid4()) def _default_create_date(self): return str(date.today()) def _default_create_user(self): return str(self.env.user.name)