inital version
This commit is contained in:
parent
ea557caf99
commit
94c63f12da
1
__init__.py
Normal file
1
__init__.py
Normal file
|
|
@ -0,0 +1 @@
|
|||
from . import models
|
||||
28
__manifest__.py
Normal file
28
__manifest__.py
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
'name': 'Open Workshop',
|
||||
'version': '1.0',
|
||||
'author': 'Dein Name / Deine Organisation',
|
||||
'category': 'Custom',
|
||||
'summary': 'Verwaltung von Maschinen & Einweisungen in einer offenen Werkstatt',
|
||||
'description': """
|
||||
Dieses Modul fügt zwei neue Modelle hinzu:
|
||||
- Maschinen (mit Metadaten)
|
||||
- Maschineneinweisungen (Verknüpfung zwischen Partner und Maschine)
|
||||
|
||||
Außerdem wird das Partnerformular erweitert, damit man direkt sieht,
|
||||
für welche Maschinen ein Partner bereits eingewiesen ist.
|
||||
""",
|
||||
'depends': [
|
||||
'base',
|
||||
'point_of_sale',
|
||||
],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'views/open_workshop_machine_views.xml',
|
||||
'views/open_workshop_training_views.xml',
|
||||
'views/res_partner_views.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'application': True,
|
||||
}
|
||||
|
||||
4
models/__init__.py
Normal file
4
models/__init__.py
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
from . import machine
|
||||
from . import training
|
||||
from . import res_partner
|
||||
|
||||
12
models/machine.py
Normal file
12
models/machine.py
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
from odoo import models, fields, api
|
||||
|
||||
class OpenWorkshopMachine(models.Model):
|
||||
_name = 'open.workshop.machine'
|
||||
_description = 'Open Workshop Machine'
|
||||
|
||||
name = fields.Char(string='Name', required=True)
|
||||
code = fields.Char(string='Maschinen-Code', help='Interner Code oder Inventar-Nr.')
|
||||
location = fields.Char(string='Standort')
|
||||
description = fields.Text(string='Beschreibung')
|
||||
active = fields.Boolean(default=True)
|
||||
|
||||
11
models/res_partner.py
Normal file
11
models/res_partner.py
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
from odoo import models, fields
|
||||
|
||||
class ResPartner(models.Model):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
machine_training_ids = fields.One2many(
|
||||
'open.workshop.machine.training',
|
||||
'partner_id',
|
||||
string='Maschineneinweisungen'
|
||||
)
|
||||
|
||||
29
models/training.py
Normal file
29
models/training.py
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
from odoo import models, fields, api
|
||||
|
||||
class OpenWorkshopMachineTraining(models.Model):
|
||||
_name = 'open.workshop.machine.training'
|
||||
_description = 'Machine Training for Partners'
|
||||
|
||||
partner_id = fields.Many2one(
|
||||
'res.partner',
|
||||
string='Partner',
|
||||
required=True,
|
||||
ondelete='cascade'
|
||||
)
|
||||
machine_id = fields.Many2one(
|
||||
'open.workshop.machine',
|
||||
string='Maschine',
|
||||
required=True,
|
||||
ondelete='restrict'
|
||||
)
|
||||
training_date = fields.Datetime(
|
||||
string='Datum der Einweisung',
|
||||
default=fields.Datetime.now
|
||||
)
|
||||
notes = fields.Text(string='Notizen')
|
||||
|
||||
trainer_id = fields.Many2one(
|
||||
'res.users',
|
||||
string='Einweiser/In'
|
||||
)
|
||||
|
||||
4
security/ir.model.access.csv
Normal file
4
security/ir.model.access.csv
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_open_workshop_machine_user,access_open_workshop_machine_user,model_open_workshop_machine,base.group_user,1,1,1,1
|
||||
access_open_workshop_training_user,access_open_workshop_training_user,model_open_workshop_machine_training,base.group_user,1,1,1,1
|
||||
|
||||
|
53
views/open_workshop_machine_views.xml
Normal file
53
views/open_workshop_machine_views.xml
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="action_open_workshop_machine" model="ir.actions.act_window">
|
||||
<field name="name">Maschinen</field>
|
||||
<field name="res_model">open.workshop.machine</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="help">Verwaltung aller Maschinen in der offenen Werkstatt</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="open_workshop_main_menu"
|
||||
name="Offene Werkstatt"
|
||||
sequence="10"/>
|
||||
|
||||
<menuitem id="open_workshop_menu_machine"
|
||||
name="Maschinen"
|
||||
parent="open_workshop_main_menu"
|
||||
action="action_open_workshop_machine"
|
||||
sequence="20"/>
|
||||
|
||||
<record id="view_open_workshop_machine_tree" model="ir.ui.view">
|
||||
<field name="name">open.workshop.machine.tree</field>
|
||||
<field name="model">open.workshop.machine</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Maschinen">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="location"/>
|
||||
<field name="active"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_open_workshop_machine_form" model="ir.ui.view">
|
||||
<field name="name">open.workshop.machine.form</field>
|
||||
<field name="model">open.workshop.machine</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Maschine">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="location"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="description"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
48
views/open_workshop_training_views.xml
Normal file
48
views/open_workshop_training_views.xml
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="action_open_workshop_training" model="ir.actions.act_window">
|
||||
<field name="name">Maschineneinweisungen</field>
|
||||
<field name="res_model">open.workshop.machine.training</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="help">Verwaltung aller Maschineneinweisungen (Partner -> Maschine)</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="open_workshop_menu_training"
|
||||
name="Einweisungen"
|
||||
parent="open_workshop_main_menu"
|
||||
action="action_open_workshop_training"
|
||||
sequence="30"/>
|
||||
|
||||
<record id="view_open_workshop_training_tree" model="ir.ui.view">
|
||||
<field name="name">open.workshop.machine.training.tree</field>
|
||||
<field name="model">open.workshop.machine.training</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Maschineneinweisungen">
|
||||
<field name="partner_id"/>
|
||||
<field name="machine_id"/>
|
||||
<field name="training_date"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_open_workshop_training_form" model="ir.ui.view">
|
||||
<field name="name">open.workshop.machine.training.form</field>
|
||||
<field name="model">open.workshop.machine.training</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Maschineneinweisung">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="partner_id"/>
|
||||
<field name="machine_id"/>
|
||||
<field name="training_date"/>
|
||||
<field name="trainer_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="notes"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
30
views/res_partner_views.xml
Normal file
30
views/res_partner_views.xml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_partner_form_open_workshop_inherit" model="ir.ui.view">
|
||||
<field name="name">res.partner.form.open.workshop.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//notebook" position="inside">
|
||||
<page string="Maschineneinweisungen">
|
||||
<field name="machine_training_ids">
|
||||
<list editable="bottom">
|
||||
<field name="machine_id"/>
|
||||
<field name="training_date"/>
|
||||
<field name="trainer_id"/>
|
||||
</list>
|
||||
<form>
|
||||
<group>
|
||||
<field name="machine_id"/>
|
||||
<field name="training_date"/>
|
||||
<field name="trainer_id"/>
|
||||
<field name="notes"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user