159 lines
5.9 KiB
Python
Executable File
159 lines
5.9 KiB
Python
Executable File
# -*- 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())
|