Einfache Zuordnung Maschine - Einweisung und Maschine - Nutzung
This commit is contained in:
parent
312dffdad0
commit
e14531fa7f
|
|
@ -12,17 +12,19 @@
|
|||
'views/machine_area_views.xml',
|
||||
'views/machine_views.xml',
|
||||
'views/res_partner_view.xml',
|
||||
'views/partner_machine_access_html.xml',
|
||||
'views/assets.xml',
|
||||
'views/machine_product_training_views.xml',
|
||||
'data/data.xml',
|
||||
'data/data_product_and_categories.xml',
|
||||
'data/machine_product_links.xml',
|
||||
|
||||
|
||||
],
|
||||
'qweb': [
|
||||
'static/src/xml/ows_briefing_details.xml',
|
||||
'static/src/xml/ows_briefing_details_edit.xml',
|
||||
'static/src/xml/ows_pos_order_selector.xml',
|
||||
'static/src/xml/partner_access_popup.xml',
|
||||
'static/src/xml/ows_pos_machine_access_view.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'assets': {
|
||||
|
|
|
|||
50
data/machine_product_links.xml
Normal file
50
data/machine_product_links.xml
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
<odoo>
|
||||
<record id="machine_prusa_training_prod_einweisung_3d_drucker_prusa" model="ows.machine.training">
|
||||
<field name="machine_id" ref="machine_prusa"/>
|
||||
<field name="training_id" ref="prod_einweisung_3d_drucker_prusa"/>
|
||||
</record>
|
||||
<record id="machine_formatkreissaege_usage_prod_formatkreissäge_1_minute" model="ows.machine.product">
|
||||
<field name="machine_id" ref="machine_formatkreissaege"/>
|
||||
<field name="product_id" ref="prod_formatkreissäge_1_minute"/>
|
||||
</record>
|
||||
<record id="machine_bandsaege_holz_usage_prod_bandsäge_1_minute" model="ows.machine.product">
|
||||
<field name="machine_id" ref="machine_bandsaege_holz"/>
|
||||
<field name="product_id" ref="prod_bandsäge_1_minute"/>
|
||||
</record>
|
||||
<record id="machine_bandsaege_holz_training_prod_einweisung_bandsäge" model="ows.machine.training">
|
||||
<field name="machine_id" ref="machine_bandsaege_holz"/>
|
||||
<field name="training_id" ref="prod_einweisung_bandsäge"/>
|
||||
</record>
|
||||
<record id="machine_kreissaege_metall_usage_prod_formatkreissäge_1_minute" model="ows.machine.product">
|
||||
<field name="machine_id" ref="machine_kreissaege_metall"/>
|
||||
<field name="product_id" ref="prod_formatkreissäge_1_minute"/>
|
||||
</record>
|
||||
<record id="machine_bandsaege_metall_usage_prod_bandsäge_1_minute" model="ows.machine.product">
|
||||
<field name="machine_id" ref="machine_bandsaege_metall"/>
|
||||
<field name="product_id" ref="prod_bandsäge_1_minute"/>
|
||||
</record>
|
||||
<record id="machine_bandsaege_metall_training_prod_einweisung_bandsäge" model="ows.machine.training">
|
||||
<field name="machine_id" ref="machine_bandsaege_metall"/>
|
||||
<field name="training_id" ref="prod_einweisung_bandsäge"/>
|
||||
</record>
|
||||
<record id="machine_drehbank_usage_prod_drehbank_1_minute" model="ows.machine.product">
|
||||
<field name="machine_id" ref="machine_drehbank"/>
|
||||
<field name="product_id" ref="prod_drehbank_1_minute"/>
|
||||
</record>
|
||||
<record id="machine_drehbank_training_prod_einweisung_drehbank" model="ows.machine.training">
|
||||
<field name="machine_id" ref="machine_drehbank"/>
|
||||
<field name="training_id" ref="prod_einweisung_drehbank"/>
|
||||
</record>
|
||||
<record id="machine_fraese_usage_prod_cnc_fräse_1_minute" model="ows.machine.product">
|
||||
<field name="machine_id" ref="machine_fraese"/>
|
||||
<field name="product_id" ref="prod_cnc_fräse_1_minute"/>
|
||||
</record>
|
||||
<record id="machine_fraese_usage_prod_fräse___deckel_1_minute" model="ows.machine.product">
|
||||
<field name="machine_id" ref="machine_fraese"/>
|
||||
<field name="product_id" ref="prod_fräse___deckel_1_minute"/>
|
||||
</record>
|
||||
<record id="machine_fraese_training_prod_einweisung_metallfräse" model="ows.machine.training">
|
||||
<field name="machine_id" ref="machine_fraese"/>
|
||||
<field name="training_id" ref="prod_einweisung_metallfräse"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -14,10 +14,34 @@ class ResPartner(models.Model):
|
|||
ows_user_id = fields.One2many('ows.user', 'partner_id', string="OWS Benutzerdaten")
|
||||
|
||||
# ✳️ Zugriff auf Felder aus ows.user per compute + inverse (statt related)
|
||||
birthday = fields.Date(compute='_compute_ows_user_fields', inverse='_inverse_ows_user_fields', store=False)
|
||||
rfid_card = fields.Text(compute='_compute_ows_user_fields', inverse='_inverse_ows_user_fields', store=False)
|
||||
security_briefing = fields.Boolean(compute='_compute_ows_user_fields', inverse='_inverse_ows_user_fields', store=False)
|
||||
security_id = fields.Text(compute='_compute_ows_user_fields', inverse='_inverse_ows_user_fields', store=False)
|
||||
birthday = fields.Date(
|
||||
string="Geburtstag",
|
||||
compute='_compute_ows_user_fields',
|
||||
inverse='_inverse_ows_user_fields',
|
||||
store=False
|
||||
)
|
||||
|
||||
rfid_card = fields.Text(
|
||||
string="RFID Card ID",
|
||||
compute='_compute_ows_user_fields',
|
||||
inverse='_inverse_ows_user_fields',
|
||||
store=False
|
||||
)
|
||||
|
||||
security_briefing = fields.Boolean(
|
||||
string="Haftungsausschluss",
|
||||
compute='_compute_ows_user_fields',
|
||||
inverse='_inverse_ows_user_fields',
|
||||
store=False
|
||||
)
|
||||
|
||||
security_id = fields.Text(
|
||||
string="Haftungsausschluss ID",
|
||||
compute='_compute_ows_user_fields',
|
||||
inverse='_inverse_ows_user_fields',
|
||||
store=False
|
||||
)
|
||||
|
||||
|
||||
@api.depends('ows_user_id')
|
||||
def _compute_ows_user_fields(self):
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
|||
access_ows_machine_access_user,ows.machine.access,model_ows_machine_access,base.group_user,1,1,1,1
|
||||
access_ows_machine_user,ows.machine,model_ows_machine,base.group_user,1,1,1,1
|
||||
access_ows_machine_product_user,ows.machine.product,model_ows_machine_product,base.group_user,1,1,1,1
|
||||
access_ows_machine_training_user,access_ows_machine_training_user,model_ows_machine_training,base.group_user,1,1,1,1
|
||||
access_ows_machine_area,ows.machine.area,model_ows_machine_area,base.group_user,1,1,1,1
|
||||
access_ows_user,ows.user,model_ows_user,base.group_user,1,1,1,1
|
||||
access_ows_machine_training,ows.machine.training,model_ows_machine_training,base.group_user,1,1,1,1
|
||||
|
|
|
|||
|
|
|
@ -3,7 +3,7 @@
|
|||
<xpath expr="." position="inside">
|
||||
<script type="text/javascript" src="/open_workshop/static/src/js/partner_access_popup.js"/>
|
||||
<template id="machine_access_template" name="Maschinenfreigaben Template"
|
||||
src="/open_workshop/static/src/xml/partner_access_popup.xml"/>
|
||||
src="/open_workshop/static/src/xml/ows_pos_machine_access_view.xml"/>
|
||||
</xpath>
|
||||
<xpath expr="//link[@href='/point_of_sale/static/src/css/pos.css']" position="replace">
|
||||
<link rel="stylesheet" type="text/css" href="/open_workshop/static/src/css/pos.css"/>
|
||||
|
|
|
|||
49
views/machine_product_training_views.xml
Normal file
49
views/machine_product_training_views.xml
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<odoo>
|
||||
<!-- Tree View: Nutzungsprodukte -->
|
||||
<record id="view_machine_product_tree" model="ir.ui.view">
|
||||
<field name="name">ows.machine.product.tree</field>
|
||||
<field name="model">ows.machine.product</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree editable="bottom">
|
||||
<field name="machine_id"/>
|
||||
<field name="product_id" domain="[('categ_id.name', '=', 'Maschinennutzung')]"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Tree View: Einweisungsprodukte -->
|
||||
<record id="view_machine_training_tree" model="ir.ui.view">
|
||||
<field name="name">ows.machine.training.tree</field>
|
||||
<field name="model">ows.machine.training</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree editable="bottom">
|
||||
<field name="machine_id"/>
|
||||
<field name="training_id" domain="[('categ_id.name', '=', 'Einweisungen')]"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Action: Nutzungsprodukte -->
|
||||
<record id="action_machine_product" model="ir.actions.act_window">
|
||||
<field name="name">Maschinen-Nutzungsprodukte</field>
|
||||
<field name="res_model">ows.machine.product</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_machine_product_tree"/>
|
||||
<field name="help" type="html">
|
||||
<p>Verwalte die Zuordnung von Maschinen zu Nutzungsprodukten.</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Action: Einweisungsprodukte -->
|
||||
<record id="action_machine_training" model="ir.actions.act_window">
|
||||
<field name="name">Maschinen-Einweisungsprodukte</field>
|
||||
<field name="res_model">ows.machine.training</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_machine_training_tree"/>
|
||||
<field name="help" type="html">
|
||||
<p>Verwalte die Zuordnung von Maschinen zu Einweisungsprodukten.</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</odoo>
|
||||
|
|
@ -15,11 +15,45 @@
|
|||
</record>
|
||||
|
||||
<!-- Menüstruktur -->
|
||||
<menuitem id="menu_machine_root" name="Maschinen" sequence="10"/>
|
||||
<menuitem id="menu_machine_config" name="Konfiguration" parent="menu_machine_root" sequence="10"/>
|
||||
<menuitem id="menu_machine_list" name="Maschinen" parent="menu_machine_config" action="open_workshop.action_machine_list" sequence="10"/>
|
||||
<menuitem id="menu_training_product" name="Einweisungs-Produkte" parent="menu_machine_config" action="open_workshop.action_training_product_list" sequence="20"/>
|
||||
<!-- Oberstes Menü -->
|
||||
<menuitem id="menu_machine_root"
|
||||
name="Maschinen"
|
||||
sequence="10"/>
|
||||
|
||||
<!-- Konfigurationsebene -->
|
||||
<menuitem id="menu_machine_config"
|
||||
name="Konfiguration"
|
||||
parent="menu_machine_root"
|
||||
sequence="10"/>
|
||||
|
||||
<!-- Menüpunkt: Maschinenliste (klickbar) -->
|
||||
<menuitem id="menu_machine_list_action"
|
||||
name="Alle Maschinen"
|
||||
parent="menu_machine_config"
|
||||
action="open_workshop.action_machine_list"
|
||||
sequence="10"/>
|
||||
|
||||
<!-- Menücontainer: Zuordnungen -->
|
||||
<menuitem id="menu_machine_list"
|
||||
name="Zuordnungen"
|
||||
parent="menu_machine_config"
|
||||
sequence="20"/>
|
||||
|
||||
<!-- Untermenü: Nutzungsprodukte -->
|
||||
<menuitem id="menu_machine_product"
|
||||
name="Nutzungsprodukte"
|
||||
parent="menu_machine_list"
|
||||
action="action_machine_product"
|
||||
sequence="10"/>
|
||||
|
||||
<!-- Untermenü: Einweisungsprodukte -->
|
||||
<menuitem id="menu_machine_training"
|
||||
name="Einweisungsprodukte"
|
||||
parent="menu_machine_list"
|
||||
action="action_machine_training"
|
||||
sequence="20"/>
|
||||
|
||||
|
||||
<!-- List & Form Views für training.product -->
|
||||
<record id="view_training_product_tree" model="ir.ui.view">
|
||||
<field name="name">ows.machine.product.tree</field>
|
||||
|
|
|
|||
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
<!-- View-Erweiterung für res.partner: Tab mit HTML-Tabelle -->
|
||||
<record id="view_partner_form_inherit_open_workshop_html" model="ir.ui.view">
|
||||
<field name="name">res.partner.form.ows.machine.access.html</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="HOBBYHIMMEL Einweisungen">
|
||||
<field name="machine_access_html" readonly="1" widget="html"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -1,5 +1,25 @@
|
|||
<!-- res_partner_view.xml -->
|
||||
<odoo>
|
||||
<!-- View-Erweiterung für res.partner: Tab mit HTML-Tabelle
|
||||
Der Inhalt wird in der Methode _compute_machine_access_html() generiert.
|
||||
Diese Methode wird in der Klasse res.partner definiert in der Datei models/ows_models.py.
|
||||
Die Methode wird aufgerufen, wenn das Partnerformular geöffnet wird.
|
||||
Die HTML-Tabelle wird in der Variable machine_access_html gespeichert.
|
||||
Die Variable wird in der View angezeigt.
|
||||
-->
|
||||
<record id="view_partner_form_inherit_open_workshop_html" model="ir.ui.view">
|
||||
<field name="name">res.partner.form.ows.machine.access.html</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="HOBBYHIMMEL Einweisungen">
|
||||
<field name="machine_access_html" readonly="1" widget="html"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Teil 1: Maschinenfreigaben-Tabelle -->
|
||||
<record id="view_partner_form_inherit_open_workshop" model="ir.ui.view">
|
||||
<field name="name">res.partner.form.ows.machine.access</field>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user