first commit

This commit is contained in:
jopster 2024-03-16 22:11:43 +01:00
commit 70cb009780
47 changed files with 903 additions and 0 deletions

1
__init__.py Executable file
View File

@ -0,0 +1 @@
from . import models

40
__manifest__.py Executable file
View File

@ -0,0 +1,40 @@
# -*- coding: utf-8 -*-
{
'name': 'ToolManagement System',
'version': '0.1.0.1',
'category': 'Productivity',
'author': 'SPACE Software',
'website': '',
'sequence': 20,
'summary': 'ToolManagement and Rental',
'description': """ToolManagement and ToolRental""",
'depends':['base','mail','web'],
'data': [
'security/groups.xml',
'security/ir.model.access.csv',
'views/dbtools_producer.xml',
'views/dbtools_classes.xml',
'views/dbtools_category.xml',
'views/dbtools_state.xml',
'views/dbtools_branche.xml',
'views/dbtools_documents.xml',
'views/dbtools_tools.xml',
'views/menu.xml',
],
'demo': [],
'installable': True,
'application': True,
'images': ['static/description/banner.gif'],
'auto_install': False,
'css': [''],
'assets': {
'web.assets_common': [
],
'web.assets_backend': [
],
'web.assets_qweb': [
],
},
'license': 'LGPL-3',
}

Binary file not shown.

10
data/questions_data.xml Executable file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="seq_jsa_question" model="ir.sequence">
<field name="name">Jsa Questions</field>
<field name="code">jsa.questions</field>
<field name="prefix">Q</field>
<field name="padding">5</field>
<field name="company_id" eval="False"/>
</record>
</odoo>

BIN
digi_001.tar.gz Normal file

Binary file not shown.

4
models/__init__.py Executable file
View File

@ -0,0 +1,4 @@
from . import dbtools
from . import company

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

60
models/company.py Executable file
View File

@ -0,0 +1,60 @@
# -*- coding: utf-8 -*-
import uuid
import logging
from odoo import api,fields, models
_logger = logging.getLogger(__name__)
class ResCompany(models.Model):
_name = "res.partner"
_inherit = "res.partner"
# company_type = fields.Selection(selection_add=[('dss_client','Werbekunde'),('dss_partner','Partnerunternehmen')])
dsspartner = fields.Boolean('DigitalSignage Partner', default=False)
dsspartner_vertrieb = fields.Boolean('Vertriebspartner', default=False)
dsspartner_standort = fields.Boolean('Standortpartner', default=False)
dsspartner_werbung = fields.Boolean('Werbekunde', default=False)
dsspartner_vertrag = fields.Boolean('Aquisepartner', default=False)
dsspartner_eigenwerbung = fields.Boolean('Eigenwerbekunde ', default=False)
dsspartner_sonstiges = fields.Boolean('Sonstiges', default=False)
dsspartner_sonstiges_text = fields.Char('Sonstiges', default=False)
dssprojekte = fields.Many2many('dss.main', readonly=1 )
dsspartner_name = fields.Char('Kundenname', default=False)
dsspartner_vorname = fields.Char('KundenVorname', default=False)
# dss_uuid = fields.Char('uuid')
dss_uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
@api.model
def _default_uuid(self):
return str(uuid.uuid4())
#
# @api.depends('is_company')
# def _compute_company_type(self):
# for partner in self:
# if partner.is_company : partner.company_type = 'company'
#
# def _write_company_type(self):
# for partner in self:
# partner.is_company = partner.company_type == 'company'
# partner.dsspartner = ('|',partner.company_type == 'dss_client',partner.company_type == 'dss_partner')
# partner.dsspartner_werbung = partner.company_type == 'dss_client'
#
# @api.onchange('company_type')
# def onchange_company_type(self):
# res = super().onchange_company_type()
# self.is_company = (self.company_type == 'company')
# self.dsspartner_werbung = self.company_type == 'dss_client'
# return res
@api.onchange('name')
def onchange_name(self):
if not self.dsspartner_name :
self.dsspartner_name = self.name[self.name.index(' '):]
if not self.dsspartner_vorname :
self.dsspartner_vorname = self.name[0:self.name.index(' ')]
# self.dsspartner_werbung = self.company_type == 'dss_client'
# return res

158
models/dbtools.py Executable file
View File

@ -0,0 +1,158 @@
# -*- 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())

4
security/3 Executable file
View File

@ -0,0 +1,4 @@
<record id="module_fleet_category" model="ir.module.category">
<field name="name">Fleet</field>
<field name="sequence">17</field>
</record>

11
security/4 Executable file
View File

@ -0,0 +1,11 @@
<record id="fleet_group_user" model="res.groups">
<field name="name">Officer : Manage all vehicles</field>
<field name="category_id" ref="base.module_category_human_resources_fleet"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
</record>
<record id="fleet_group_manager" model="res.groups">
<field name="name">Administrator</field>
<field name="implied_ids" eval="[(4, ref('fleet_group_user'))]"/>
<field name="category_id" ref="base.module_category_human_resources_fleet"/>
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>

3
security/6 Executable file
View File

@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
digitalsignage_dss_main_group_user,access.dss.main,model_dss_main,base.group_user,1,1,1,1
digitalsignage_dss_systems_group_user,access.dss.systems,model_dss_systems,base.group_user,1,1,1,1

20
security/groups.xml Executable file
View File

@ -0,0 +1,20 @@
<odoo>
<record id="dbtools_module" model="ir.module.category">
<field name="name">ToolManagement</field>
<field name="sequence">13</field>
</record>
<record id="dbtoolsgroup_user" model="res.groups">
<field name="name">Standarduser</field>
<field name="category_id" ref="ToolManagement.dbtools_module"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
</record>
<record id="dbtoolsgroup_admin" model="res.groups">
<field name="name">Administrator</field>
<field name="category_id" ref="ToolManagement.dbtools_module"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>
</odoo>

8
security/ir.model.access.csv Executable file
View File

@ -0,0 +1,8 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
toolmanagement_dbtools_producer_group_user,access.dbtools.producer,model_dbtools_producer,base.group_user,1,1,1,1
toolmanagement_dbtools_tools_group_user,access.dbtools.tools,model_dbtools_tools,base.group_user,1,1,1,1
toolmanagement_dbtools_classes_group_user,access.dbtools.classes,model_dbtools_classes,base.group_user,1,1,1,1
toolmanagement_dbtools_category_group_user,access.dbtools.category,model_dbtools_category,base.group_user,1,1,1,1
toolmanagement_dbtools_branche_group_user,access.dbtools.branche,model_dbtools_branche,base.group_user,1,1,1,1
toolmanagement_dbtools_documents_group_user,access.dbtools.documents,model_dbtools_documents,base.group_user,1,1,1,1
toolmanagement_dbtools_state_group_user,access.dbtools.state,model_dbtools_state,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 toolmanagement_dbtools_producer_group_user access.dbtools.producer model_dbtools_producer base.group_user 1 1 1 1
3 toolmanagement_dbtools_tools_group_user access.dbtools.tools model_dbtools_tools base.group_user 1 1 1 1
4 toolmanagement_dbtools_classes_group_user access.dbtools.classes model_dbtools_classes base.group_user 1 1 1 1
5 toolmanagement_dbtools_category_group_user access.dbtools.category model_dbtools_category base.group_user 1 1 1 1
6 toolmanagement_dbtools_branche_group_user access.dbtools.branche model_dbtools_branche base.group_user 1 1 1 1
7 toolmanagement_dbtools_documents_group_user access.dbtools.documents model_dbtools_documents base.group_user 1 1 1 1
8 toolmanagement_dbtools_state_group_user access.dbtools.state model_dbtools_state base.group_user 1 1 1 1

BIN
static/description/banner.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 KiB

BIN
static/description/icon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

17
static/description/index.html Executable file
View File

@ -0,0 +1,17 @@
<h2>
Client Equipment
</h2>
<h4>Made for Enterprise and Community</h4>
<h3>For managing your client's equipment</h3>
<ul>
<li>Register the equipment</li>
<li>Keep track of who from the client side needs to be consulted</li>
<li>Attach manuals and photos</li>
<li>Manufacturer</li>
<li>Reference numbers</li>
<li>Model</li>
<li>Serial numbers</li>
<li>Exact address and location of the equipment</li>
</ul>
<p>Add equipment service, click <a href="https://apps.odoo.com/apps/modules/16.0/client_equipment_servicing/">Client Equipment Servicing</a>
<p><a href="https://youtu.be/J-6yKlmRrok">Watch the demo</a></p>

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
static/images/LCD.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
static/images/LED.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
static/images/Matrix.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,30 @@
.o_int_colorpicker {
.o_color_pill {
display: inline-block;
height: 25px;
width: 25px;
margin: 4px;
border-radius: 25px;
position: relative;
@for $size from 1 through length($o-colors) {
&.o_color_#{$size - 1} {
background-color: nth($o-colors, $size);
&:not(.readonly):hover {
transform: scale(1.2);
transition: 0.3s;
cursor: pointer;
}
&.active:after{
content: "\f00c";
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
color: #fff;
position: absolute;
padding: 4px;
font-size: 16px;
}
}
}
}
}

19
static/src/css/dss.css Executable file
View File

@ -0,0 +1,19 @@
.o_kanban_project_tasks .oe_kanban_align.badge {
background: inherit;
color: inherit;
border: 1px solid var(--success);
}
.o_kanban_project_tasks .o_field_one2many_sub_task {
margin-top:2px;
margin-right: 6px;
}
.o_form_project_project .o_setting_box {
margin-left: 1.5rem;
}
.openerp .system_icon_small >img {
height:90px;
width:90px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
static/src/img/bird.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

48
views/company_view.xml Executable file
View File

@ -0,0 +1,48 @@
<?xml version='1.0' encoding='utf-8'?>
<odoo>
<record model="ir.ui.view" id="view_partner_form_dss">
<field name="name">partner.view.dss</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="priority" eval="11"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='company_type']" position="after">
</xpath>
<xpath expr="/form/sheet/notebook" position="inside">
<page name="digital_signage" string="DigitalSignage" autofocus="autofocus"> <!-- attrs="{'invisible': [('is_company','=',False)]}"> -->
<div class="row">
<div class="col-6">
<group name="container_row_1">
<label for="dsspartner_vorname"/><field name="dsspartner_vorname" nolabel="1" priority="1" placeholder="Vorname des Kunden"/>
</group>
</div>
<div class="col-6">
<group name="container_row_1_1">
<label for="dsspartner_name"/><field name="dsspartner_name" nolabel="1" priority="1" placeholder="Name des Kunden"/>
</group>
</div>
</div>
<hr></hr>
<div class="row">
<group name="container_row_2">
<label for="dsspartner"/><field name="dsspartner" colspan="3" nolabel="1" priority="1"/>
<group attrs="{'invisible': [('dsspartner','=',False)]}">
<label for="dsspartner_standort"/><field name="dsspartner_standort" nolabel="1"/>
<label for="dsspartner_vertrieb"/><field name="dsspartner_vertrieb" nolabel="1"/>
<label for="dsspartner_vertrag"/><field name="dsspartner_vertrag" nolabel="1"/>
<label for="dsspartner_werbung"/><field name="dsspartner_werbung" nolabel="1"/>
<label for="dsspartner_eigenwerbung"/><field name="dsspartner_eigenwerbung" nolabel="1"/>
<label for="dsspartner_sonstiges"/><field name="dsspartner_sonstiges" nolabel="1"/>
<group attrs="{'invisible': [('dsspartner_sonstiges','=',False)]}">
<label for="dsspartner_sonstiges_text"/><field name="dsspartner_sonstiges_text" nolabel="1"/>
</group>
</group>
</group>
</div>
</page>
</xpath>
</field>
</record>
</odoo>

11
views/css_loader.xml Executable file
View File

@ -0,0 +1,11 @@
<?xml version='1.0' encoding='utf-8'?>
<odoo>
<data>
<template id="dss_custom_css_asset" name="dss_custom_css assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/DigitalSignage/static/src/css/dss.css"/>
</xpath>
</template>
</data>
</odoo>

45
views/dbtools_branche.xml Executable file
View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="dbtools_branche_view_form" model="ir.ui.view">
<field name="name">dbtools_branche_form</field>
<field name="model">dbtools.branche</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="branchname"/>
<field name="description"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="dbtools_branche_view_tree" model="ir.ui.view">
<field name="name">dbtools_branche_tree</field>
<field name="model">dbtools.branche</field>
<field name="priority" eval="16"/>
<field name="arch" type="xml">
<tree string="Branchenuebersicht">
<field name="branchname"/>
<field name="description"/>
</tree>
</field>
</record>
<record id="action_dbtools_branche_view" model="ir.actions.act_window">
<field name="name">ToolManagement Branchen</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">dbtools.branche</field>
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
<field name="help" type="html">
<p class="'o_view_nocontent_smiling_face">
Neue Branche/Gewerke erstellen
</p>
</field>
</record>
</odoo>

45
views/dbtools_category.xml Executable file
View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="dbtools_category_view_form" model="ir.ui.view">
<field name="name">dbtools_category_form</field>
<field name="model">dbtools.category</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="categoryname"/>
<field name="description"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="dbtools_category_view_tree" model="ir.ui.view">
<field name="name">dbtools_category_tree</field>
<field name="model">dbtools.category</field>
<field name="priority" eval="16"/>
<field name="arch" type="xml">
<tree string="Kategorieuebersicht">
<field name="categoryname"/>
<field name="description"/>
</tree>
</field>
</record>
<record id="action_dbtools_category_view" model="ir.actions.act_window">
<field name="name">ToolManagement Kategorien</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">dbtools.category</field>
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
<field name="help" type="html">
<p class="'o_view_nocontent_smiling_face">
Neue Kategorie erstellen
</p>
</field>
</record>
</odoo>

45
views/dbtools_classes.xml Executable file
View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="dbtools_classes_view_form" model="ir.ui.view">
<field name="name">dbtools_classes_form</field>
<field name="model">dbtools.classes</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="classname"/>
<field name="description"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="dbtools_classes_view_tree" model="ir.ui.view">
<field name="name">dbtools_classes_tree</field>
<field name="model">dbtools.classes</field>
<field name="priority" eval="16"/>
<field name="arch" type="xml">
<tree string="Klassenuebersicht">
<field name="classname"/>
<field name="description"/>
</tree>
</field>
</record>
<record id="action_dbtools_classes_view" model="ir.actions.act_window">
<field name="name">ToolManagement Klassen</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">dbtools.classes</field>
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
<field name="help" type="html">
<p class="'o_view_nocontent_smiling_face">
Neue Klasse erstellen
</p>
</field>
</record>
</odoo>

46
views/dbtools_documents.xml Executable file
View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="dbtools_documents_view_form" model="ir.ui.view">
<field name="name">dbtools_documents_form</field>
<field name="model">dbtools.documents</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="documentname"/>
<field name="description"/>
<field name="documentfile"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="dbtools_documents_view_tree" model="ir.ui.view">
<field name="name">dbtools_documents_tree</field>
<field name="model">dbtools.documents</field>
<field name="priority" eval="16"/>
<field name="arch" type="xml">
<tree string="Dokumentenuebersicht">
<field name="documentname"/>
<field name="description"/>
</tree>
</field>
</record>
<record id="action_documents_branche_view" model="ir.actions.act_window">
<field name="name">ToolManagement Dokumente</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">dbtools.documents</field>
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
<field name="help" type="html">
<p class="'o_view_nocontent_smiling_face">
Neues Dokument erstellen
</p>
</field>
</record>
</odoo>

48
views/dbtools_producer.xml Executable file
View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="dbtools_producer_view_form" model="ir.ui.view">
<field name="name">dbtools_producer_form</field>
<field name="model">dbtools.producer</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="producername"/>
<field name="description"/>
</group>
<group>
<field name="producer_partner"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="dbtools_producer_view_tree" model="ir.ui.view">
<field name="name">dbtools_producer_tree</field>
<field name="model">dbtools.producer</field>
<field name="priority" eval="16"/>
<field name="arch" type="xml">
<tree string="Strukturuebersicht">
<field name="producername"/>
<field name="description"/>
</tree>
</field>
</record>
<record id="action_dbtools_producer_view" model="ir.actions.act_window">
<field name="name">ToolManagement Hersteller</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">dbtools.producer</field>
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
<field name="help" type="html">
<p class="'o_view_nocontent_smiling_face">
Neuen Hersteller erstellen
</p>
</field>
</record>
</odoo>

45
views/dbtools_state.xml Executable file
View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="dbtools_state_view_form" model="ir.ui.view">
<field name="name">dbtools_state_form</field>
<field name="model">dbtools.state</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="statename"/>
<field name="description"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="dbtools_state_view_tree" model="ir.ui.view">
<field name="name">dbtools_state_tree</field>
<field name="model">dbtools.state</field>
<field name="priority" eval="16"/>
<field name="arch" type="xml">
<tree string="Statusuebersicht">
<field name="statename"/>
<field name="description"/>
</tree>
</field>
</record>
<record id="action_dbtools_state_view" model="ir.actions.act_window">
<field name="name">ToolManagement Status</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">dbtools.state</field>
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
<field name="help" type="html">
<p class="'o_view_nocontent_smiling_face">
Neuen Status erstellen
</p>
</field>
</record>
</odoo>

110
views/dbtools_tools.xml Executable file
View File

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="dbtools_tools_view_form" model="ir.ui.view">
<field name="name">dbtools_tools_form</field>
<field name="model">dbtools.tools</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<form>
<header>
<button name="dorental" string="Vermietung durchführen" type="object" class="oe_hightlight"/>
<button name="finrental" string="Rücknahme durchführen" type="object" class="oe_hightlight" enabled="0"/>
<field name="tool_rental_state" widget="statusbar" statusbar_visible="Verfügbar,Vermietet,Reserviert,Gesperrt"/>
</header>
<sheet>
<div class='row' style='border-size:1px;border-color:#000;'>
<div class='col-6'>
<div class='row'>
<div class='col-10'>
<group>
<field name="tool_short_name"/>
<field name="tool_long_name"/>
<field name="tool_description"/>
</group>
</div>
</div>
<hr></hr>
<div class='row'>
<div class='col-10'>
<group>
<field name="tool_artikelnummer_intern"/>
<field name="tool_artikelnummer_producer"/>
<field name="tool_producer"/>
</group>
</div>
</div>
</div>
<div class='col-4'>
<group>
<field name="tool_state"/>
<field name="tool_class"/>
<field name="tool_category"/>
<field name="tool_branch"/>
</group>
</div>
<notebook>
<page name="tdata" string="Techn. Daten">
</page>
<page name="rental" string="Vermietung">
<div class='row'>
<group>
<field name="tool_rental_state" readonly="0"/>
</group>
</div>
<div class='row' attrs="{'invisible': [('tool_rental_state','!=','RT')]}" >
<group>
<field name="tool_rental_date" readonly="1"/>
<field name="tool_rental_partner" readonly="1"/>
</group>
</div>
<hr></hr>
</page>
<page name="history" string="Historie">
</page>
<page name="documents" string="Dokumente">
<field name="tool_documents">
<tree string="Werkzeugdokumente">
<field name="documentname" string="Dokument"/>
<field name="description" string="Beschreibung"/>
<field name="documentfile" string="Datei"/>
</tree>
</field>
</page>
<page name="details" string="Details">
</page>
<page name="intern" string="Interne Daten">
</page>
</notebook>
</div>
</sheet>
</form>
</field>
</record>
<record id="dbtools_tools_view_tree" model="ir.ui.view">
<field name="name">dbtools_tools_tree</field>
<field name="model">dbtools.tools</field>
<field name="priority" eval="16"/>
<field name="arch" type="xml">
<tree string="Werkzeuguebersicht">
<field name="tool_short_name"/>
<field name="tool_description"/>
</tree>
</field>
</record>
<record id="action_dbtools_tools_view" model="ir.actions.act_window">
<field name="name">ToolManagement</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">dbtools.tools</field>
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
<field name="help" type="html">
<p class="'o_view_nocontent_smiling_face">
Neues Werkzeug erstellen
</p>
</field>
</record>
</odoo>

75
views/menu.xml Executable file
View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<menuitem
id="menu_dbtools_main"
name="Toolmanagement"
web_icon="toolmanagement_system,static/description/icon.png"
sequence="2"/>
<menuitem
id="menu_dbtools_main_mnu"
name="Toolmanagement"
parent="menu_dbtools_main"
sequence="2"/>
<menuitem
id="menu_dbtools_config"
name="Konfiguration"
parent="menu_dbtools_main"
sequence="4"/>
<menuitem
id="menu_dbtools_internsetup"
name="System Einstellungen"
parent="menu_dbtools_config"
sequence="4"/>
<menuitem
id="menu_dbtools_internsetup_state"
name="Status Einstellungen"
parent="menu_dbtools_config"
sequence="4"/>
<menuitem
id="menu_dbtools_tools"
name="Werkzeuge verwalten"
parent="menu_dbtools_main_mnu"
action="action_dbtools_tools_view"
sequence="10"/>
<menuitem
id="menu_dbtools_config_producer"
name="Hersteller verwalten"
parent="menu_dbtools_internsetup"
action="action_dbtools_producer_view"
sequence="10"/>
<menuitem
id="menu_dbtools_config_classes"
name="Werkzeugklassen verwalten"
parent="menu_dbtools_internsetup_state"
action="action_dbtools_classes_view"
sequence="40"/>
<menuitem
id="menu_dbtools_config_categorys"
name="Werkzeugkategorien verwalten"
parent="menu_dbtools_internsetup_state"
action="action_dbtools_category_view"
sequence="50"/>
<menuitem
id="menu_dbtools_config_branch"
name="Branchen/Gewerke verwalten"
parent="menu_dbtools_internsetup_state"
action="action_dbtools_branche_view"
sequence="60"/>
<menuitem
id="menu_dbtools_config_state"
name="Stati verwalten"
parent="menu_dbtools_internsetup_state"
action="action_dbtools_state_view"
sequence="30"/>
</odoo>