ToolsManagement/models/dbtools.py

159 lines
5.9 KiB
Python
Raw Normal View History

2024-03-16 22:11:43 +01:00
# -*- coding: utf-8 -*-
import ast
import json
import re
import uuid
import logging
from odoo import api, fields, models, _
from odoo.exceptions import ValidationError
from datetime import date
_logger = logging.getLogger(__name__)
class dbtools_toolsbase(models.Model):
_name = "dbtools.tools"
_description = "ToolManagement Tools"
_rec_name = "tool_short_name"
_inherit = ['mail.thread']
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
tool_state = fields.Many2one('dbtools.state',sring='akt.Status')
tool_class = fields.Many2one('dbtools.classes',sring='Werkzeuglasse')
tool_category = fields.Many2one('dbtools.category',string='Werkzeugkategorie')
tool_branch = fields.Many2one('dbtools.branche',string='Gewerke')
tool_short_name = fields.Char('Kurzbezeichnung', required=True)
tool_long_name = fields.Char('Ausf.Bezeichnung')
tool_description = fields.Text('Beschreibung')
tool_artikelnummer_intern = fields.Char('Interne Art.Nummer')
tool_artikelnummer_producer = fields.Char('Hersteller Art.Nummer')
tool_producer = fields.Many2one('dbtools.producer',string='Hersteller')
tool_picture = fields.Binary('Werkzeugbild')
tool_documents = fields.One2many('dbtools.documents','tool',string='Dokumente')
tool_rental_state = fields.Selection([('IL','Im Lager'),('RT','Vermietet'),('RS','Reserviert'),('NV','Nicht verfügbar')],string="Vermietungs Status",default=lambda self: self._default_rental_state())
tool_rental_date = fields.Datetime('Vermietet seit')
tool_rental_partner = fields.Many2one('res.partner',string='Vermietet an')
tool_rental_returndate = fields.Datetime('Plan-Rückgabeam')
tool_rental_takedate = fields.Datetime('Plan-Abholung am')
tool_rental_history = fields.One2many('dbtools.rentalhistory','tool',string='Dokumente')
@api.model
def _default_uuid(self):
return str(uuid.uuid4())
def _default_rental_state(self):
return str('IL')
def dorental(self):
return self
def finrental(self):
return self
class dbtools_toolproducer(models.Model):
_name = "dbtools.producer"
_description = "ToolManagement Hersteller"
_rec_name = "producername"
_inherit = ['mail.thread']
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
producername = fields.Char('Herstellername', required=True)
description = fields.Char('Beschreibung')
producer_partner = fields.Many2one('res.partner',string='Partner')
@api.model
def _default_uuid(self):
return str(uuid.uuid4())
class dbtools_toolclass(models.Model):
_name = "dbtools.classes"
_description = "ToolManagement Klassen"
_rec_name = "classname"
_inherit = ['mail.thread']
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
classname = fields.Char('Klassenname', required=True)
description = fields.Char('Beschreibung')
@api.model
def _default_uuid(self):
return str(uuid.uuid4())
class dbtools_toolbranche(models.Model):
_name = "dbtools.branche"
_description = "ToolManagement Gewerke"
_rec_name = "branchname"
_inherit = ['mail.thread']
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
branchname = fields.Char('Klassenname', required=True)
description = fields.Char('Beschreibung')
@api.model
def _default_uuid(self):
return str(uuid.uuid4())
class dbtools_toolcategory(models.Model):
_name = "dbtools.category"
_description = "ToolManagement Kategorie"
_rec_name = "categoryname"
_inherit = ['mail.thread']
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
categoryname = fields.Char('Kategoriename', required=True)
description = fields.Char('Beschreibung')
@api.model
def _default_uuid(self):
return str(uuid.uuid4())
class dbtools_tooldocuments(models.Model):
_name = "dbtools.documents"
_description = "ToolManagement Dokumente"
_rec_name = "documentname"
_inherit = ['mail.thread']
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
tool = fields.Many2one('dbtools.tools',string='Werkzeug')
documentname = fields.Char('Dokumentenname', required=True)
description = fields.Char('Beschreibung')
documentfile = fields.Binary('Anhang')
@api.model
def _default_uuid(self):
return str(uuid.uuid4())
class dbtools_toolrentalhistory(models.Model):
_name = "dbtools.rentalhistory"
_description = "ToolManagement Vermietungshistorie"
_rec_name = "entryname"
_inherit = ['mail.thread']
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
tool = fields.Many2one('dbtools.tools',string='Werkzeug')
entryname = fields.Char('Entryname', required=True)
rental_partner = fields.Char('Leihpartner')
rental_start = fields.Datetime('Vermietungsbegin')
rental_ende = fields.Datetime('Vermietungsende')
rental_returndate = fields.Datetime('Rückgabe am')
rental_takedate = fields.Datetime('Abholung am')
@api.model
def _default_uuid(self):
return str(uuid.uuid4())
class dbtools_toolstate(models.Model):
_name = "dbtools.state"
_description = "ToolManagement Status"
_rec_name = "statename"
_inherit = ['mail.thread']
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
statename = fields.Char('Statusname', required=True)
description = fields.Char('Beschreibung')
@api.model
def _default_uuid(self):
return str(uuid.uuid4())