inital commit
|
|
@ -0,0 +1 @@
|
|||
from . import models
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
{
|
||||
'name': 'DigitalSignage System',
|
||||
'version': '0.1.0.1',
|
||||
'category': 'Productivity',
|
||||
'author': 'SPACE Software',
|
||||
'website': '',
|
||||
'sequence': 20,
|
||||
'summary': 'DigitalSignage Management',
|
||||
'description': """DigitalSignage Management""",
|
||||
'depends':['base','mail','web'],
|
||||
'data': [
|
||||
'security/groups.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'views/menu.xml',
|
||||
'views/dss.xml',
|
||||
'views/mainsystem_view.xml',
|
||||
'views/company_view.xml',
|
||||
],
|
||||
'demo': [],
|
||||
'installable': True,
|
||||
'application': True,
|
||||
'images': ['static/description/banner.gif'],
|
||||
'auto_install': False,
|
||||
'css': ['static/src/css/dss.css'],
|
||||
'assets': {
|
||||
'web.assets_common': [
|
||||
'DigitalSignage/static/images/**/*',
|
||||
'DigitalSignage/static/src/css/dss.css',
|
||||
],
|
||||
'web.assets_backend': [
|
||||
],
|
||||
'web.assets_qweb': [
|
||||
],
|
||||
},
|
||||
'license': 'LGPL-3',
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
from . import dss
|
||||
from . import company
|
||||
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,479 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import ast
|
||||
import json
|
||||
import re
|
||||
import uuid
|
||||
import logging
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class dsscontracts(models.Model):
|
||||
|
||||
@api.model
|
||||
def _get_default_project(self):
|
||||
_logger.debug("Ermittelte Id aus Context : %s" % (self.env.context.get('active_id')))
|
||||
ds = self.env('dss.projects').search([('id','=',self.env.context.get('active_id'))],limit=1)
|
||||
return ds
|
||||
|
||||
def _default_work_state(self):
|
||||
ds=self.env['dss.workstate'].search([('statusname','=','Neu')],limit=1).id
|
||||
_logger.debug(ds)
|
||||
return ds
|
||||
|
||||
def _default_work_state_color(self):
|
||||
ds=self.env['dss.workstate'].search([('statusname','=','Neu')],limit=1).color
|
||||
_logger.info(ds)
|
||||
return ds
|
||||
|
||||
def _default_todo_state(self):
|
||||
ds=self.env['dss.todostate'].search([('statusnr','=','0')],limit=1).id
|
||||
if not ds : ds = 1
|
||||
_logger.debug(ds)
|
||||
# ds =
|
||||
return ds
|
||||
|
||||
|
||||
_name = "dss.contracts"
|
||||
_description = "DigitalSignage Vertraege"
|
||||
_rec_name = "contract_auto_name"
|
||||
_inherit = ['mail.thread']
|
||||
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
||||
contract_id = fields.Char("Kundennummer",store=True)
|
||||
contract_name = fields.Char('Kurzbezeichnung', required=True)
|
||||
contract_state = fields.Many2one('dss.contractstate',group_expand='_read_group_stage_ids')
|
||||
contract_state_order = fields.Integer(related='contract_state.order',store=True)
|
||||
contract_auto_id = fields.Char("Kundennummer")
|
||||
contract_auto_name = fields.Char('Vertragskennug')
|
||||
project = fields.Many2one('dss.projects' , string='Project', store=True)
|
||||
project_id = fields.Integer(related='project.projectid', string='Project ID')
|
||||
projectIid = fields.Integer('Project IID')
|
||||
client = fields.Many2one('res.partner',domain="['&',('dsspartner','=',True),('dsspartner_werbung','=',True)]")
|
||||
client_id = fields.Char("Kundenid")
|
||||
client_uuid = fields.Char(related="client.dss_uuid")
|
||||
parent_id = fields.Many2one('dss.contracts', string='Parent Task', index=True)
|
||||
|
||||
client_short_company = fields.Char('Firmenname Kunde')
|
||||
client_short_vorname = fields.Char('Vorname Kunde')
|
||||
client_short_name = fields.Char('Name Kunde')
|
||||
client_short_strasse = fields.Char('Strasse Kunde')
|
||||
client_short_plz = fields.Char('PLZ Kunde')
|
||||
client_short_ort = fields.Char('Ort Kunde')
|
||||
client_short_land = fields.Many2one('res.country','Land Kunde')
|
||||
client_short_email = fields.Char('Email Kunde')
|
||||
client_short_telefon = fields.Char('Telefon Kunde')
|
||||
client_short_mobil = fields.Char('Mobilfunk Kunde')
|
||||
client_short_website = fields.Char('Webseite Kunde')
|
||||
|
||||
client_other_projects = fields.Many2many('dss.projects',string='Weitere Projekte')
|
||||
|
||||
|
||||
info_account_changes = fields.Boolean('Benarichtigen bei Accountänderungen')
|
||||
info_spot_changes = fields.Boolean('Benarichtigen bei Spotänderungen')
|
||||
info_contract_changes = fields.Boolean('Benarichtigen bei Vertragsänderungen')
|
||||
info_partner_changes = fields.Boolean('Benarichtigen bei Partneränderungen')
|
||||
info_partner = fields.Many2one('res.partner','Benarichtigung an : ')
|
||||
|
||||
work_state = fields.Many2one('dss.workstate',default=_default_work_state)
|
||||
work_state_color = fields.Char(related='work_state.color')
|
||||
work_state_text = fields.Char(related='work_state.statusname')
|
||||
work_state_info = fields.Char('Zusatzinfo')
|
||||
|
||||
todo_state = fields.Many2one('dss.todostate',default=_default_todo_state)
|
||||
todo_state_color = fields.Char(related='todo_state.color')
|
||||
todo_state_text = fields.Char(related='todo_state.statusname')
|
||||
todo_state_info = fields.Char('Zusatzinfo')
|
||||
|
||||
|
||||
@api.constrains('client_id')
|
||||
def _check_client_id(self) :
|
||||
for record in self :
|
||||
if len(record.client_id) != 2 :
|
||||
_logger.debug("Kundenid muss 2 Stellen haben %s" % (record.client_id))
|
||||
raise ValidationError(_("KundenID muss 2 Stellen haben"))
|
||||
|
||||
@api.onchange('client_id')
|
||||
def _onchange_client_id(self):
|
||||
for record in self :
|
||||
if record.contract_name == '' :
|
||||
cname = 'unbekannter Kunden'
|
||||
else:
|
||||
cname = record.contract_name
|
||||
resstr = "%s%s %s" % (record.project_id,record.client_id,cname)
|
||||
cidstr = "%s%s" % (record.project_id,record.client_id)
|
||||
if resstr is None :
|
||||
resstr = 'nicht ermittelbar'
|
||||
_logger.debug(resstr)
|
||||
self.contract_auto_name = resstr
|
||||
self.contract_auto_id = cidstr
|
||||
|
||||
@api.onchange('project_id')
|
||||
def _onchange_project_id(self):
|
||||
for record in self :
|
||||
if record.contract_name == '' :
|
||||
cname = 'unbekannter Kunden'
|
||||
else:
|
||||
cname = record.contract_name
|
||||
resstr = "%s%s %s" % (record.project_id,record.client_id,cname)
|
||||
cidstr = "%s%s" % (record.project_id,record.client_id)
|
||||
if resstr is None :
|
||||
resstr = 'nicht ermittelbar'
|
||||
_logger.debug(resstr)
|
||||
self.contract_auto_name = resstr
|
||||
self.contract_auto_id = cidstr
|
||||
|
||||
@api.onchange('contract_name')
|
||||
def _onchange_contract_name(self):
|
||||
for record in self :
|
||||
if record.contract_name == '' :
|
||||
cname = 'unbekannter Kunden'
|
||||
else:
|
||||
cname = record.contract_name
|
||||
resstr = "%s%s %s" % (record.project_id,record.client_id,cname)
|
||||
if resstr is None :
|
||||
resstr = 'nicht ermittelbar'
|
||||
_logger.debug(resstr)
|
||||
self.contract_auto_name = resstr
|
||||
|
||||
|
||||
# @api.model
|
||||
# def create(self,vals):
|
||||
# vals['projectid'] = self.env.context.get('active_id')
|
||||
# project = self.env('dss.projects').search(['id','=',vals['projectid']])
|
||||
# vals['project'] = project('projektname');
|
||||
# contract=super().create(vals)
|
||||
# return contract
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
return str(uuid.uuid4())
|
||||
|
||||
def _getdefwscolor(self):
|
||||
return str('#ffffff')
|
||||
|
||||
@api.model
|
||||
def _default_client_id(self):
|
||||
return str("00")
|
||||
|
||||
@api.model
|
||||
def _read_group_stage_ids(self,stages,domain,order):
|
||||
contract_state_ids = self.env['dss.contractstate'].search([],order='order')
|
||||
return contract_state_ids
|
||||
|
||||
@api.model
|
||||
def pyaction_view_contract(self):
|
||||
action = self.env['ir.actions.act_window'].with_context({'default_contractid': self.id})._for_xml_id('DigitalSignage.act_dss_project_view_contract')
|
||||
action['display_name'] = self.contract_name
|
||||
# action['domain'] = '[["projectid","=","4"]]'
|
||||
# context = action['context'].replace('', str(self.id))
|
||||
# context = ast.literal_eval(context)
|
||||
# context.update({
|
||||
# 'create': self.active,
|
||||
# 'active_test': self.active
|
||||
# })
|
||||
# action['context'] = context
|
||||
return action
|
||||
|
||||
def pyaction_new_contract_kanban(self):
|
||||
action = self.env['ir.actions.act_window'].with_context({'default_contractid': self.id})._for_xml_id('DigitalSignage.action_dss_project_new_contract_kanban')
|
||||
action['display_name'] = self.contract_name
|
||||
# action['domain'] = '[["projectid","=","4"]]'
|
||||
# context = action['context'].replace('', str(self.id))
|
||||
# context = ast.literal_eval(context)
|
||||
# context.update({
|
||||
# 'create': self.active,
|
||||
# 'active_test': self.active
|
||||
# })
|
||||
# action['context'] = context
|
||||
return action
|
||||
|
||||
def pyaction_dss_project_make_contract(self):
|
||||
action = self.env['ir.actions.act_window'].with_context({'default_projectid': self.id})._for_xml_id('DigitalSignage.action_dss_project_view_contract')
|
||||
return action
|
||||
|
||||
|
||||
|
||||
|
||||
class dssmain(models.Model):
|
||||
_name = "dss.projects"
|
||||
_description = "DigitalSignage Projekte"
|
||||
_rec_name = "projektname"
|
||||
_inherit = ['mail.thread']
|
||||
projektname = fields.Char('Projektname', required=True)
|
||||
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
||||
projectid = fields.Integer('Projekt ID')
|
||||
color = fields.Integer('Color Index')
|
||||
active = fields.Boolean('Active', default=True)
|
||||
name = fields.Char('Interner Name', required=True)
|
||||
aktstatus = fields.Many2one('dss.projectstate',string='Aktueller Status:')
|
||||
aktstatus_color = fields.Integer(related='aktstatus.color')
|
||||
aktstatus_icon = fields.Image(related='aktstatus.icon')
|
||||
description = fields.Text('Beschreibung')
|
||||
systemname = fields.Many2one('dss.systems')
|
||||
grundsystemname = fields.Many2one('dss.systemtypen')
|
||||
grundsystemicon = fields.Image(related='grundsystemname.icon')
|
||||
grundsystemicon5050 = fields.Image(related='grundsystemname.icon_5050')
|
||||
vertragsschreiber = fields.Many2one('res.partner',domain="['&',('dsspartner','=',True),('dsspartner_vertrieb','=',True)]")
|
||||
standortpartner = fields.Many2one('res.partner',domain="['&',('dsspartner','=',True),('dsspartner_standort','=',True)]")
|
||||
vertriebspartner = fields.Many2many('res.partner',domain="['&',('dsspartner','=',True),('dsspartner_vertrieb','=',True)]")
|
||||
zeiten_on = fields.Datetime('Einschaltzeit')
|
||||
zeiten_off = fields.Datetime('Ausschaltzeit')
|
||||
errichtet_am = fields.Datetime('Errichtungstag')
|
||||
standort_inout = fields.Selection([('indoor','im Gebäude'), ('outdoor','Aussenbereich'), ('semiindoor','Überdachter Aussenbereich'),('Divers','Andere Art')]);
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
return str(uuid.uuid4())
|
||||
|
||||
def pyaction_view_contracts(self):
|
||||
action = self.env['ir.actions.act_window'].with_context({'default_project': self.id})._for_xml_id('DigitalSignage.action_dss_project_contracts')
|
||||
action['display_name'] = self.projektname
|
||||
context = action['context'].replace('active_id', str(self.id))
|
||||
# context = ast.literal_eval(context)
|
||||
# context = "{
|
||||
# 'create': self.active,
|
||||
# 'active_test': self.active
|
||||
# }
|
||||
action['context'] = context
|
||||
return action
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class dssgeraetetypen(models.Model):
|
||||
_name = "dss.geraetetypen"
|
||||
_description = "DigitalSignage Geraetetypen"
|
||||
_inherit = ['mail.thread']
|
||||
_rec_name = "geraetename"
|
||||
geraetename = fields.Char('Geraetename', required=True)
|
||||
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
||||
geraetetyp = fields.Selection([('SYS','Systemgerät'), ('STE','Steuergerät'), ('DIV','Anderes'), ('ANZ','Anzeigegerät'), ('PLY','Abspielgerät')])
|
||||
grundsystem = fields.Many2one('dss.systemtypen', string="Gerät ist nutzbar für")
|
||||
grundsystem_kennung = fields.Char(string='Kennung', related='grundsystem.kennung')
|
||||
|
||||
farbe = fields.Char('Grundfarbe')
|
||||
|
||||
has_heizung = fields.Boolean('Mit Heizsystem')
|
||||
has_klima = fields.Boolean('Mit Klimasystem')
|
||||
has_fan = fields.Boolean('Mit Ventiltorensystem')
|
||||
|
||||
stromzaehler = fields.Many2one('dss.geraetetypen')
|
||||
stromverbrauch_avg = fields.Integer('Stromverbrauch AVG in W')
|
||||
|
||||
osvorhanden = fields.Boolean('Mit Betriebssystem')
|
||||
osname = fields.Char('Betriebssystem')
|
||||
ostyp = fields.Selection([('Win','Windows'), ('Lin','Linux'), ('And','Android'),('Ras','Raspberry PI'),('Non','Keines bekannt'),('Div','Anderes')]);
|
||||
|
||||
lcd_ausrichtung = fields.Selection([('quer','Horizontal/Querformat'), ('hoch','Vertikal/Hochformat'),('Divers','Andere Art')],'LCD Ausrichtung');
|
||||
lcd_touch = fields.Boolean('Touchsystem')
|
||||
lcd_montage = fields.Selection([('WAN','Wandmontage'), ('FUS','Standfuss rollbar'), ('FI1','Boden verankert 1 Fuss'),('FI2','Boden verankert 2 Füsse'),('FIX','Bodenverankert Blockfuss'),('XXX','Sonstige')],'Montage/Befestigung');
|
||||
lcd_montage_sonstige = fields.Char('Sonstige Montageart')
|
||||
lcd_size = fields.Selection([('42','42 Zoll'), ('55','55 Zoll'), ('65','65 Zoll'),('75','75 Zoll'),('10','10.x Zoll'),('00','Sonstige')],'LCD Größe');
|
||||
lcd_size_sonstige = fields.Char('LCD Sondergröße')
|
||||
|
||||
led_geraetetyp = fields.Selection([('MOD','LED Modul'),('NET','Netzgerät'), ('REC','Receiving Karte'), ('STE','Steuerkarte'),('LFT','Lüftertyp')])
|
||||
led_module_pixelpitch = fields.Float('Modulpixelpitch')
|
||||
led_module_breite = fields.Integer('Modulbreite mm')
|
||||
led_module_hoehe = fields.Integer('Modulhoehe mm')
|
||||
led_module_pixel_breite = fields.Integer('Modulbreite px')
|
||||
led_module_pixel_hoehe = fields.Integer('Modulhoehe px')
|
||||
|
||||
led_module_system = fields.Selection([('FIX1','Fix Verschraubt'), ('MAG1','Magnetisch haltend'), ('RIG1','Imbus Veriegelt (vorn)'),('SONS','Sonstige')],'Modul Montage/Befestigung');
|
||||
led_module_system_sonstige = fields.Char('Modulbefestigung Sonstige')
|
||||
led_module_kennung = fields.Char('Modulbezeichnung')
|
||||
led_module_serial = fields.Char('Modulseriennummer')
|
||||
led_module_vendor = fields.Many2one('res.partner','Modul Hersteller')
|
||||
|
||||
led_receivingcard_vendor = fields.Many2one('res.partner','Receivingcard Hersteller')
|
||||
led_receivingcard_kennung = fields.Char('Receivingcardtyp')
|
||||
|
||||
led_netzteil_typ = fields.Selection([('SNT','Schaltnetzteil'), ('STN','Steckernetzteil'), ('HNT','Hutschienennetzteil'),('INT','Internes Netzteil')],'Netzteil Bauart');
|
||||
led_netzteil_vendor = fields.Many2one('res.partner','Netzteil Hersteller')
|
||||
led_netzteil_kennung = fields.Char('Netzteilkennung')
|
||||
led_netzteil_spannung = fields.Char('Netzteil Spannung V')
|
||||
led_netzteil_leistung = fields.Char('Netzteil Leistung W')
|
||||
|
||||
lcd_montage = fields.Selection([('WAN','Wandmontage'), ('FUS','Standfuss rollbar'), ('FI1','Boden verankert 1 Fuss'),('FI2','Boden verankert 2 Füsse'),('FIX','Bodenverankert Blockfuss'),('XXX','Sonstige')],'Montage/Befestigung');
|
||||
lcd_montage_sonstige = fields.Char('Sonstige Montageart')
|
||||
|
||||
|
||||
hw_anzeige = fields.Many2one('dss.geraetetypen',domain="[('geraetetyp','=','ANZ')]")
|
||||
hw_steuerung = fields.Many2one('dss.geraetetypen',domain="['&',('geraetetyp','=','STE'),('grundsystem_kennung','=','LED')]")
|
||||
hw_player = fields.Many2one('dss.geraetetypen',domain="[('geraetetyp','=','PLY')]")
|
||||
hw_umwelt = fields.Many2one('dss.geraetetypen',domain="['|',('geraetetyp','=','SYS'),('geraetetyp','=','DIV')]")
|
||||
|
||||
zusatz_integrationen = fields.Many2one('dss.geraetetypen')
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
return str(uuid.uuid4())
|
||||
|
||||
@api.depends('grundsystem')
|
||||
def _compute_grundsystem_kennung(self):
|
||||
for syst in self:
|
||||
if syst.grundsystem:
|
||||
syst.grundsystem_kennung = syst.grundsystem.kennung
|
||||
|
||||
class dsssystemtypen(models.Model):
|
||||
_name = "dss.systemtypen"
|
||||
_inherit = ['mail.thread']
|
||||
_description = "DigitalSignage Systemtypen"
|
||||
_rec_name = "systemname"
|
||||
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
||||
systemname = fields.Char('Systemname', required=True)
|
||||
kennung = fields.Char('Kurzkennung', required=True)
|
||||
farbe = fields.Integer('Grundfarbe')
|
||||
icon = fields.Image()
|
||||
icon_5050 = fields.Image("Icon 50")
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
return str(uuid.uuid4())
|
||||
|
||||
|
||||
|
||||
class dsssoftware(models.Model):
|
||||
_name = "dss.software"
|
||||
_description = "Softwaresysteme"
|
||||
_inherit = ['mail.thread']
|
||||
_rec_name = "softwarename"
|
||||
# _inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
||||
# uuid = fields.Char('UUID', required=True, translate=True)
|
||||
softwarename = fields.Char('Softwarename', required=True)
|
||||
version = fields.Char('Version')
|
||||
hersteller = fields.Char('Hersteller')
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
return str(uuid.uuid4())
|
||||
|
||||
class dsssystems(models.Model):
|
||||
_name = "dss.systems"
|
||||
_description = "DigitalSignage Systemtypen"
|
||||
_inherit = ['mail.thread']
|
||||
_rec_name = "systemname"
|
||||
# _inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
||||
# uuid = fields.Char('UUID', required=True, translate=True)
|
||||
systemname = fields.Char('Systemname', required=True)
|
||||
|
||||
grundsystem = fields.Many2one('dss.systemtypen', string="Gerät ist nutzbar für")
|
||||
grundsystem_kennung = fields.Char(string='Kennung', related='grundsystem.kennung')
|
||||
|
||||
farbe = fields.Integer('Grundfarbe')
|
||||
|
||||
has_heizung = fields.Boolean('Mit Heizsystem')
|
||||
has_klima = fields.Boolean('Mit Klimasystem')
|
||||
has_fan = fields.Boolean('Mit Ventiltorensystem')
|
||||
|
||||
stromzaehler = fields.Many2one('dss.geraetetypen')
|
||||
stromverbrauch_avg = fields.Integer('Stromverbrauch AVG in W')
|
||||
|
||||
osvorhanden = fields.Boolean('Mit Betriebssystem')
|
||||
osname = fields.Char('Betriebssystem')
|
||||
ostyp = fields.Selection([('Win','Windows'), ('Lin','Linux'), ('And','Android'),('Ras','Raspberry PI'),('Non','Keines bekannt'),('Div','Anderes')]);
|
||||
|
||||
lcd_ausrichtung = fields.Selection([('quer','Horizontal/Querformat'), ('hoch','Vertikal/Hochformat'),('Divers','Andere Art')],'LCD Ausrichtung');
|
||||
lcd_touch = fields.Boolean('Touchsystem')
|
||||
lcd_montage = fields.Selection([('WAN','Wandmontage'), ('FUS','Standfuss rollbar'), ('FI1','Boden verankert 1 Fuss'),('FI2','Boden verankert 2 Füsse'),('FIX','Bodenverankert Blockfuss'),('XXX','Sonstige')],'Montage/Befestigung');
|
||||
lcd_montage_sonstige = fields.Char('Sonstige Montageart')
|
||||
|
||||
lcd_panel = fields.Many2one('dss.geraetetypen',domain="['&',('grundsystem_kennung','=','LCD'),('led_geraetetyp','=','ANZ')]")
|
||||
lcd_mainboard = fields.Many2one('dss.geraetetypen',domain="['&',('grundsystem_kennung','=','LCD'),('led_geraetetyp','=','STE')]")
|
||||
lcd_touchcontroler = fields.Many2one('dss.geraetetypen',domain="['&',('grundsystem_kennung','=','LCD'),('led_geraetetyp','=','SYS')]")
|
||||
lcd_netzteil = fields.Many2one('dss.geraetetypen',domain="['&',('grundsystem_kennung','=','LCD'),('led_geraetetyp','=','NET')]")
|
||||
|
||||
led_pixelpitch = fields.Char('Pixelabstand')
|
||||
led_breite = fields.Integer('LED Breite mm')
|
||||
led_hoehe = fields.Integer('LED Hoehe mm')
|
||||
led_pixel_breite = fields.Integer('LED Breite px')
|
||||
led_pixel_hoehe = fields.Integer('LED Hoehe px')
|
||||
|
||||
led_receivingcard = fields.Many2one('dss.geraetetypen',domain="['&',('grundsystem_kennung','=','LED'),('led_geraetetyp','=','REC')]")
|
||||
led_netzteile = fields.Many2one('dss.geraetetypen',domain="['&',('grundsystem_kennung','=','LED'),('led_geraetetyp','=','NET')]")
|
||||
led_module = fields.Many2one('dss.geraetetypen',domain="['&',('grundsystem_kennung','=','LED'),('led_geraetetyp','=','MOD')]")
|
||||
|
||||
led_montage = fields.Selection([('WAN','Wandmontage'), ('FUS','1 standFuss zentral'), ('FU2','2 Standfüsse Aussen'),('FU3','1 Standfuss dezentral'),('MO1','manuell Mobil bewegbar'),('MO2','Mobil bewegbar Container'),('XXX','Sonstige')],'Montage/Befestigung');
|
||||
led_montage_sonstige = fields.Char('Sonstige Montageart')
|
||||
|
||||
zusatz_integrationen = fields.Many2many('dss.geraetetypen')
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
return str(uuid.uuid4())
|
||||
|
||||
class dsspprojektstatus(models.Model):
|
||||
_name = "dss.projectstate"
|
||||
_description = "DigitalSignage Projektstatus"
|
||||
_inherit = ['mail.thread']
|
||||
_rec_name = "statusname"
|
||||
# _inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
||||
# uuid = fields.Char('UUID', required=True, translate=True)
|
||||
statusname = fields.Char('Statusname', required=True)
|
||||
color = fields.Integer(string='Color Index')
|
||||
icon = fields.Image()
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
return str(uuid.uuid4())
|
||||
|
||||
class dsscontractstatus(models.Model):
|
||||
_name = "dss.contractstate"
|
||||
_description = "DigitalSignage Vertragsstatus"
|
||||
_inherit = ['mail.thread']
|
||||
_rec_name = "statusname"
|
||||
# _inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
||||
# uuid = fields.Char('UUID', required=True, translate=True)
|
||||
statusname = fields.Char('Statusname', required=True)
|
||||
color = fields.Integer(string='Color Index')
|
||||
icon = fields.Image()
|
||||
order = fields.Integer('Reihenfolge')
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
return str(uuid.uuid4())
|
||||
|
||||
|
||||
class dssworkstatus(models.Model):
|
||||
_name = "dss.workstate"
|
||||
_description = "DigitalSignage Bearbeitungsstatus"
|
||||
_inherit = ['mail.thread']
|
||||
_rec_name = "statusname"
|
||||
# _inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
||||
# uuid = fields.Char('UUID', required=True, translate=True)
|
||||
statusname = fields.Char('Statusname', required=True)
|
||||
color = fields.Char(string='Color Index')
|
||||
icon = fields.Image()
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
return str(uuid.uuid4())
|
||||
|
||||
|
||||
class dsstodostatus(models.Model):
|
||||
_name = "dss.todostate"
|
||||
_description = "DigitalSignage Bearbeitungsschritte"
|
||||
_inherit = ['mail.thread']
|
||||
_rec_name = "statusname"
|
||||
# _inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
||||
# uuid = fields.Char('UUID', required=True, translate=True)
|
||||
statusname = fields.Char('Statusname', required=True)
|
||||
statusnr = fields.Integer('Litenpostion', required=True)
|
||||
color = fields.Char(string='Color Index')
|
||||
icon = fields.Image()
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
return str(uuid.uuid4())
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<record id="module_fleet_category" model="ir.module.category">
|
||||
<field name="name">Fleet</field>
|
||||
<field name="sequence">17</field>
|
||||
</record>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<odoo>
|
||||
<record id="dss_module" model="ir.module.category">
|
||||
<field name="name">DigitalSignage</field>
|
||||
<field name="sequence">15</field>
|
||||
</record>
|
||||
|
||||
<record id="dssgroup_user" model="res.groups">
|
||||
<field name="name">Standarduser</field>
|
||||
<field name="category_id" ref="DigitalSignage.dss_module"/>
|
||||
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="dssgroup_admin" model="res.groups">
|
||||
<field name="name">Administrator</field>
|
||||
<field name="category_id" ref="DigitalSignage.dss_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>
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
digitalsignage_dss_projects_group_user,access.dss.projects,model_dss_projects,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
|
||||
digitalsignage_dss_geraetetypen_group_user,access.dss.geraetetypen,model_dss_geraetetypen,base.group_user,1,1,1,1
|
||||
digitalsignage_dss_systemtypen_group_user,access.dss.systemtypen,model_dss_systemtypen,base.group_user,1,1,1,1
|
||||
digitalsignage_dss_software_group_user,access.dss.software,model_dss_software,base.group_user,1,1,1,1
|
||||
digitalsignage_dss_projectstate_group_user,access.dss.projectstate,model_dss_projectstate,base.group_user,1,1,1,1
|
||||
digitalsignage_dss_contractstate_group_user,access.dss.contractstate,model_dss_contractstate,base.group_user,1,1,1,1
|
||||
digitalsignage_dss_workstate_group_user,access.dss.workstate,model_dss_workstate,base.group_user,1,1,1,1
|
||||
digitalsignage_dss_todostate_group_user,access.dss.todostate,model_dss_todostate,base.group_user,1,1,1,1
|
||||
digitalsignage_dss_contracts_group_user,access.dss.contracts,model_dss_contracts,base.group_user,1,1,1,1
|
||||
|
|
After Width: | Height: | Size: 800 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
|
@ -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>
|
||||
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
|
@ -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>
|
||||
|
||||
|
||||
|
|
@ -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>
|
||||
|
||||
|
|
@ -0,0 +1,454 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="action_dss_project_contracts" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Projekt Vertraege</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.contracts</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="domain">[('project', '=', active_id)]</field>
|
||||
<field name="context">{
|
||||
'default_project': active_id,
|
||||
'show_project_update': True
|
||||
}
|
||||
</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
No Contracts/Clients found. Let's create one!
|
||||
</p>
|
||||
<p>
|
||||
Keep track of the progress of your contracts from creation to completion.<br/>
|
||||
Collaborate efficiently by chatting in real-time or via email.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_dss_project_new_contract_kanban" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Projekt Vertraeg</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.contracts</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
No Contracts/Clients found. Let's create one!
|
||||
</p>
|
||||
<p>
|
||||
Keep track of the progress of your contracts from creation to completion.<br/>
|
||||
Collaborate efficiently by chatting in real-time or via email.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="action_dss_project_view_contract" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Vertrag</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.contracts</field>
|
||||
<field name="view_mode">form</field>
|
||||
</record>
|
||||
|
||||
<record id="act_dss_contracts" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Alle Vertraege</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.contracts</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
No Contracts/Clients found. Let's create one!
|
||||
</p>
|
||||
<p>
|
||||
Keep track of the progress of your contracts from creation to completion.<br/>
|
||||
Collaborate efficiently by chatting in real-time or via email.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_project_new_contract_kanbanform" model="ir.ui.view">
|
||||
<field name="name">dss.contracts.view.kanbanform</field>
|
||||
<field name="model">dss.contracts</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Vertrag">
|
||||
<div class="row" style="width:100%">
|
||||
<div>
|
||||
<h3>
|
||||
<label for="client_id" string="Kundennummer (2 stellig)"/><field name="client_id" placeholder="XX (2 Stellen)"/>
|
||||
<label for="contract_name" string="Eigene Vertragskennung"/><field name="contract_name" placeholder="Kurzbezeichnung"/>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt16 o_settings_container"/>
|
||||
<div name='alias_def' class="row mt16 o_settings_container"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_project_new_contract_kanbanform_footer" model="ir.ui.view">
|
||||
<field name="name">dss.contracts.new.kanbanform.footer</field>
|
||||
<field name="model">dss.contracts</field>
|
||||
<field name="inherit_id" ref="dss_project_new_contract_kanbanform"/>
|
||||
<!-- <field name="mode">primary</field>
|
||||
<field name="priority">1000</field>-->
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='alias_def']" position="after">
|
||||
<footer>
|
||||
<button string="Vertrag anlegen" name="pyaction_dss_project_make_contract" type="object" class="btn-primary o_open_tasks" data-hotkey="q"/>
|
||||
<button string="Abbrechen" class="btn-secondary" special="cancel" data-hotkey="z"/>
|
||||
</footer>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_open_create_contract" model="ir.actions.act_window">
|
||||
<field name="name">Vertrag erstellen</field>
|
||||
<field name="res_model">dss.contracts</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="dss_project_new_contract_kanbanform_footer"/>
|
||||
<field name="target">new</field>
|
||||
<field name="context">{"default_allow_billable": 1}</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<record id="dss_main_contracts_tree" model="ir.ui.view">
|
||||
<field name="name">dss_contracts_tree</field>
|
||||
<field name="model">dss.contracts</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Vertragsuebersicht" editable="bottom" multi_edit="1" edit="1" default_order="contract_id">
|
||||
<field name="contract_state"/>
|
||||
<field name="contract_id"/>
|
||||
<field name="contract_name"/>
|
||||
<field name="project"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_main_contracts_form" model="ir.ui.view">
|
||||
<field name="name">dss_contracts_form</field>
|
||||
<field name="model">dss.contracts</field>
|
||||
<field eval="2" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<div class="row">
|
||||
<h1>
|
||||
<field name="contract_auto_name" string="Autom. Vertragskennung"/>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="row">
|
||||
<hr></hr>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-7">
|
||||
<div class="row">
|
||||
<div class="col-3">
|
||||
<group>
|
||||
<field name="project_id" string="Projekt ID"/>
|
||||
</group>
|
||||
</div>
|
||||
<div class="col-7">
|
||||
<group>
|
||||
<field name="project" string="Projekt"/>
|
||||
</group>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-3">
|
||||
<group>
|
||||
<field name="client_id" string="Kunden ID"/>
|
||||
</group>
|
||||
</div>
|
||||
</div>
|
||||
<hr></hr>
|
||||
<div class="row">
|
||||
<div class="col-20">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<group>
|
||||
<field name="contract_auto_id" string="Kundennummer"/>
|
||||
</group>
|
||||
</div>
|
||||
<div class="col-8">
|
||||
<group>
|
||||
<field name="contract_name" string="Vertragskennung"/>
|
||||
</group>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-5" style="border-style:solid;border-width:1px;border-color:lightgray">
|
||||
<!-- <div class="row">
|
||||
<div class="col-1" t-attf-style="background-color:{{work_state_color}};padding-left: 1px;height:20px;border-style:solid;border-width:0.2px;">
|
||||
</div>
|
||||
<div class="col-1" t-attf-style="background-color:{{todo_state_color}};padding-left: 1px;height:20px;border-style:solid;border-width:0.2px;">
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="row">
|
||||
<div class="col-5" style="height:20px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<group>
|
||||
<field name="contract_state" string="Status"/>
|
||||
</group>
|
||||
</div>
|
||||
<div class="row">
|
||||
<group>
|
||||
<field name="work_state" string="Arbeitsstand"/>
|
||||
</group>
|
||||
</div>
|
||||
<field name="work_state_text" invisible="1"/>
|
||||
<div class="row" attrs="{'invisible': [('work_state_text','!=','Sonstiges')]}" >
|
||||
<group>
|
||||
<field name="work_state_info"/>
|
||||
</group>
|
||||
</div>
|
||||
<div class="row">
|
||||
<group>
|
||||
<field name="todo_state" string="nächste Aufgabe"/>
|
||||
</group>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr></hr>
|
||||
<group>
|
||||
<field name="client" string="Kunde"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="informations" string="Informationen">
|
||||
<group>
|
||||
<field name="contract_id" string="Kunden/Vert.nummer" readonly="1"/>
|
||||
<field name="id" string="Vertrags Interne Id" readonly="1"/>
|
||||
<field name="projectIid" string="Project IId" readonly="1"/>
|
||||
<field name="uuid" string="Datensatz UUID"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_main_contracts_kanban" model="ir.ui.view">
|
||||
<field name="name">dss_contracts_kanban</field>
|
||||
<field name="model">dss.contracts</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<!-- <kanban
|
||||
default_group_by="stage_id"
|
||||
class="o_kanban_small_column o_kanban_project_tasks"
|
||||
on_create="quick_create"
|
||||
quick_create_view="project.quick_create_task_form"
|
||||
examples="project"
|
||||
js_class="project_task_kanban" sample="1"
|
||||
on_create="action_open_create_contract"
|
||||
quick_create_view="dss_contracts_view_form_simplified_footer"
|
||||
on_create="pyaction_new_contract_kanban"
|
||||
> -->
|
||||
<kanban class="o_kanban_mobile" on_click="pyaction_view_contract" on_create="quick_create" quick_create_view="DigitalSignage.dss_project_new_contract_kanbanform" type="object" default_group_by="contract_state">
|
||||
<field name="contract_name"/>
|
||||
<field name="contract_state"/>
|
||||
<field name="contract_state_order"/>
|
||||
<field name="work_state_color"/>
|
||||
<field name="todo_state_color"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_global_click o_has_icon oe_kanban_content oe_kanban_card">
|
||||
<div class="oe_kanban_content oe_kanban_global_click o_kanban_get_form">
|
||||
<div class="row" style="--gutter-x:10px;">
|
||||
<div class="col-2" t-attf-style="background-color:{{record.work_state_color.value}};padding-left: 1px;height:10px;border-style:solid;border-width:0.2px;">
|
||||
</div>
|
||||
<!-- <t t-esc="record.work_state_color"/>
|
||||
<t t-esc="record.work_state_color.value"/>-->
|
||||
<div class="col-2" t-attf-style="background-color:{{record.todo_state_color.value}};padding-left: 1px;height:10px;border-style:solid;border-width:0.2px;">
|
||||
<!-- <div class="col-2" t-attf-style="background-color:{{record.work_state_color.value}};padding-left: 1px;height:10px;border-style:solid;border-width:0.2px;">-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="--gutter-x:10px;">
|
||||
<div class="col-4" style="padding-left: 1px;height:5px">
|
||||
<strong><field name="work_state_color" invisible="1"/></strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="--gutter-x:10px;">
|
||||
<div class="col-2" style="padding-left: 1px">
|
||||
<strong><field name="client_id"/></strong>
|
||||
</div>
|
||||
<div class="col-8" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">
|
||||
<strong><field name="contract_name"/></strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="--gutter-x:10px;">
|
||||
<div class="col-10" style="padding-left: 1px">
|
||||
<span style="font-size:9px">Status : <field name="work_state_text"/></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="--gutter-x:10px;">
|
||||
<div class="col-10" style="padding-left: 1px">
|
||||
<span style="font-size:9px">Info : <field name="work_state_info"/></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="--gutter-x:10px;">
|
||||
<div class="col-10" style="padding-left: 1px">
|
||||
<span style="font-size:9px">Aktion : <field name="todo_state_text"/></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
<record id="dss_main_view_form" model="ir.ui.view">
|
||||
<field name="name">dss_projects_form</field>
|
||||
<field name="model">dss.projects</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="aktstatus"/>
|
||||
<field name="projektname"/>
|
||||
<field name="projectid"/>
|
||||
<field name="name"/>
|
||||
<field name="active"/>
|
||||
<field name="standort_inout"/>
|
||||
<field name="grundsystemname" string="Kategorie"/>
|
||||
<field name="errichtet_am"/>
|
||||
<field name="aktstatus_color" widget="color"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="partnersettings" string="Partner/Adressen">
|
||||
<group>
|
||||
<field name="vertragsschreiber"/>
|
||||
<field name="standortpartner"/>
|
||||
<field name="vertriebspartner"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="basesettings" string="Details">
|
||||
<group>
|
||||
<field name="zeiten_on"/>
|
||||
<field name="zeiten_off"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="geraetesettings" string="Systeme">
|
||||
<group>
|
||||
<field name="systemname" string="Abspiel/Controlsystem"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="informations" string="Informationen">
|
||||
<field name="id" string="Iid" readonly="1"/>
|
||||
<field name="uuid" string="UUID" readonly="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_main_view_tree" model="ir.ui.view">
|
||||
<field name="name">dss_projects_tree</field>
|
||||
<field name="model">dss.projects</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Projektuebersicht" editable="bottom" multi_edit="1" edit="1" default_order="projectid">
|
||||
<field name="grundsystemicon5050" widget="image"/>
|
||||
<field name="projectid"/>
|
||||
<field name="projektname"/>
|
||||
<field name="name"/>
|
||||
<field name="aktstatus"/>
|
||||
<field name="grundsystemname"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_main_view_kanban" model="ir.ui.view">
|
||||
<field name="name">dss_projects_kanban</field>
|
||||
<field name="model">dss.projects</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_kanban_mobile" action="pyaction_view_contracts" type="object">
|
||||
<field name="projektname"/>
|
||||
<field name="aktstatus_color"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<t t-set="colonr" t-value="aktstatus_color"/>
|
||||
<!-- <t t-set="colo" t-value="kanban_color(colonr)"/> -->
|
||||
<t t-set="colo" t-value="333"/>
|
||||
<div t-attf-class="#{colo} oe_kanban_global_click o_has_icon oe_kanban_content oe_kanban_card">
|
||||
<div t-attf-class="oe_kanban_content oe_kanban_global_click o_kanban_get_form">
|
||||
<div class="row" style="--gutter-x:10px;">
|
||||
<div class="col-2" style="padding-left: 1px">
|
||||
<field name="grundsystemicon" widget="image" string="intern" class="system_icon_small oe_avatar"/>
|
||||
<!-- <img t-attf-src="/DigitalSignage/static/images/{{grundsystemname.icon}}.jpg"></img>-->
|
||||
</div>
|
||||
<div class="col-10">
|
||||
<div class="row">
|
||||
<div class="col-2">
|
||||
<strong style="font-size:20px;font-weight:bold"><field name="projectid"/></strong>
|
||||
</div>
|
||||
<div class="col-8" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">
|
||||
<div class="row">
|
||||
<div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">
|
||||
<span style="font-size:17px;"><field name="projektname" string="Project Name"/></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">
|
||||
<span style="font-size:10px;"><field name="name" string="Name"/></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-2" style="padding-left:0px;padding-right:15px;">
|
||||
<div class="row" style="height:25px">
|
||||
<!-- <div class="dropdown" t-if="!selection_mode" groups="base.group_user">-->
|
||||
<div t-if="!selection_mode" groups="base.group_user">
|
||||
<a role="button" class="dropdown-toggle o-no-caret btn" data-bs-toggle="dropdown" data-bs-display="static" href="#" aria-label="Dropdown menu" title="Dropdown menu">
|
||||
<span class="fa fa-ellipsis-h"/>
|
||||
</a>
|
||||
<div class="dropdown-menu" role="menu">
|
||||
<a t-if="widget.editable" role="menuitem" type="set_cover" class="dropdown-item" data-field="displayed_image_id">Cloud Ordner öffnen</a>
|
||||
<a name="%(portal.portal_share_action)d" role="menuitem" type="action" class="dropdown-item">Projekt teilen</a>
|
||||
<a t-if="widget.editable" role="menuitem" type="edit" class="dropdown-item">Bearbeiten</a>
|
||||
<div role="separator" class="dropdown-divider"></div>
|
||||
<ul class="oe_kanban_colorpicker" data-field="color"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<field name="aktstatus_icon" widget="image" string="intern" class="system_icon_small oe_avatar"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12" style="padding-left: 20px">
|
||||
<span style="font-size:9px"><field name="projectid"/> <field name="systemname" string="Project Name"/></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_contracts_details"
|
||||
name="Vertraege managen"
|
||||
parent="menu_dss_main_view"
|
||||
action="act_dss_contracts"
|
||||
sequence="4"/>
|
||||
|
||||
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,606 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="dss_systems_view_form" model="ir.ui.view">
|
||||
<field name="name">dss_systems_form</field>
|
||||
<field name="model">dss.systems</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="systemname"/>
|
||||
<field name="grundsystem" string="Nutzung für "/>
|
||||
<field name="grundsystem_kennung" invisible="1"/>
|
||||
</group>
|
||||
<group name="components" string="Für LCD Gesamtsysteme" attrs="{'invisible': [('grundsystem_kennung','!=','LCD')]}" >
|
||||
<field name="osvorhanden"/>
|
||||
<field name="has_heizung"/>
|
||||
<field name="has_klima"/>
|
||||
<field name="has_fan"/>
|
||||
</group>
|
||||
<group name="components" string="Für LED Gesamtsysteme" attrs="{'invisible': [('grundsystem_kennung','!=','LED')]}" colspan="4" >
|
||||
<field name="has_heizung"/>
|
||||
<field name="has_klima"/>
|
||||
<field name="has_fan"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="osssetings" string="LCDSystem Daten" attrs="{'invisible': [('grundsystem_kennung','!=','LCD')]}" >
|
||||
<group name="lcdsettings">
|
||||
<field name="lcd_ausrichtung"/>
|
||||
<field name="lcd_touch"/>
|
||||
</group>
|
||||
<group name="ledsettings_hw" string="LCD Hardware">
|
||||
<field name="lcd_panel"/>
|
||||
<field name="lcd_mainboard"/>
|
||||
<field name="lcd_touchcontroler"/>
|
||||
<field name="lcd_netzteil"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="osssetings" string="LEDSystem Daten" attrs="{'invisible': [('grundsystem_kennung','!=','LED')]}" >
|
||||
<group name="ledsettings" string="LED Grunddaten">
|
||||
<field name="led_pixelpitch" colspan="2"/>
|
||||
<field name="led_breite"/>
|
||||
<field name="led_hoehe"/>
|
||||
<field name="led_pixel_breite"/>
|
||||
<field name="led_pixel_hoehe"/>
|
||||
</group>
|
||||
<group name="ledsettings_hw" string="LED Hardware">
|
||||
<field name="led_module"/>
|
||||
<field name="led_receivingcard"/>
|
||||
<field name="led_netzteile"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="aussehen" string="Aussehen/Bauart">
|
||||
<group name="aussehen_farbe" string="Farbgebung">
|
||||
<field name="farbe" widget='color_picker'/>
|
||||
</group>
|
||||
<group name="aussehen_Bauart" string="Bauart/Montage" attrs="{'invisible': [('grundsystem_kennung','!=','LCD')]}">
|
||||
<field name="lcd_montage"/>
|
||||
<field name="lcd_montage_sonstige" attrs="{'invisible': [('grundsystem_kennung','!=','XXX')]}"/>
|
||||
</group>
|
||||
<group name="aussehen_Bauart" string="Bauart/Montage" attrs="{'invisible': [('grundsystem_kennung','!=','LED')]}">
|
||||
<field name="led_montage"/>
|
||||
<field name="led_montage_sonstige" attrs="{'invisible': [('grundsystem_kennung','!=','XXX')]}"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="energie" string="Ausstatung">
|
||||
<group name="energie" string="Austattung">
|
||||
<field name="stromzaehler"/>
|
||||
<field name="stromverbrauch_avg"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="osssetings" string="Betriebssystem" attrs="{'invisible': [('osvorhanden','=',False)]}">
|
||||
<group name="osversion" string="Version/Art">
|
||||
<field name="ostyp" string="Betriebssystem"/>
|
||||
<field name="osname" string="Version/Name"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="geraetesettings" string="Zubehör" colspan="4">
|
||||
<group>
|
||||
<field name="zusatz_integrationen" string="Instal. Zubehör"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="informations" string="Informationen">
|
||||
<field name="id" string="Iid" readonly="1"/>
|
||||
<field name="uuid" string="UUID" readonly="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_geraetetypen_view_form" model="ir.ui.view">
|
||||
<field name="name">dss_geraetetypen_form</field>
|
||||
<field name="model">dss.geraetetypen</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<group name="basesettings" >
|
||||
<field name="geraetename"/>
|
||||
<field name="geraetetyp"/>
|
||||
<field name="grundsystem" string="Nutzung für "/>
|
||||
<field name="grundsystem_kennung" invisible="1"/>
|
||||
<field name="led_geraetetyp" attrs="{'invisible': ['|',('geraetetyp','!=','STE'),('grundsystem_kennung','!=','LED')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="osssetings" string="LCDSystem Daten" attrs="{'invisible': ['|',('geraetetyp','!=','TOP'),('grundsystem_kennung','!=','LCD')]}" >
|
||||
<group name="lcdsettings">
|
||||
<field name="lcd_size"/>
|
||||
<field name="lcd_size_sonstige" attrs="{'invisible': [('lcd_size','!=','00')]}"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="osssetings" string="LEDModul Daten" attrs="{'invisible': ['|',('led_geraetetyp','!=','MOD'),('grundsystem_kennung','!=','LED')]}" >
|
||||
<group name="ledsettings_hw" string="LED Modul Daten" colspan="2">
|
||||
<group name="ledsettings" string="LED Modul Grunddaten" colspan="2">
|
||||
<field name="led_module_pixelpitch" colspan="2"/>
|
||||
<field name="led_module_breite"/>
|
||||
<field name="led_module_hoehe"/>
|
||||
<field name="led_module_pixel_breite"/>
|
||||
<field name="led_module_pixel_hoehe"/>
|
||||
</group>
|
||||
<group name="ledsettings" string="LED Modul Kennungen" colspan="2">
|
||||
<field name="led_module_kennung"/>
|
||||
<field name="led_module_serial"/>
|
||||
<field name="led_module_vendor"/>
|
||||
</group>
|
||||
<group name="ledsettings" string="LED Modul typ" colspan="2">
|
||||
<field name="led_module_system"/>
|
||||
<field name="led_module_system_sonstige" attrs="{'invisible': [('led_module_system','!=','SON')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page name="receivingssetings" string="Receivingcard Daten" attrs="{'invisible': ['|',('led_geraetetyp','!=','REC'),('grundsystem_kennung','!=','LED')]}" >
|
||||
<group name="ledsettings_hw" string="LED Receivingcard Daten" colspan="2">
|
||||
<field name="led_receivingcard_kennung" colspan="2"/>
|
||||
<field name="led_receivingcard_vendor"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="ntssetings" string="Netzteil Daten" attrs="{'invisible': ['|',('led_geraetetyp','!=','NET'),('grundsystem_kennung','!=','LED')]}" >
|
||||
<group name="ledsettings_hw_nt" string="LED Netzteil Daten" colspan="2">
|
||||
<field name="led_netzteil_typ"/>
|
||||
<field name="led_netzteil_kennung"/>
|
||||
<field name="led_netzteil_vendor"/>
|
||||
<field name="led_netzteil_spannung"/>
|
||||
<field name="led_netzteil_leistung"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="geraetezusatz" string="Zubehör" colspan="4">
|
||||
<group>
|
||||
<field name="zusatz_integrationen" string="Zubehör"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="informations" string="Informationen">
|
||||
<field name="uuid" string="UUID"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_systemtypen_view_form" model="ir.ui.view">
|
||||
<field name="name">dss_systemtypen_form</field>
|
||||
<field name="model">dss.systemtypen</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<field name="systemname"/>
|
||||
<group name="erscheinung" string="Aussehen/Kennungen">
|
||||
<field name="kennung" string="Kurzkennung (XXX)"/>
|
||||
<field name="farbe" string="Farbkennung" widget="color_picker"/>
|
||||
<field name="icon" widget="image"/>
|
||||
<field name="icon_5050" widget="image"/>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_systems_view_tree" model="ir.ui.view">
|
||||
<field name="name">dss_systems_tree</field>
|
||||
<field name="model">dss.systems</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Systemtypen">
|
||||
<field name="systemname"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_geraetetypen_view_tree" model="ir.ui.view">
|
||||
<field name="name">dss_geraetetypen_tree</field>
|
||||
<field name="model">dss.geraetetypen</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Geraetetypen">
|
||||
<field name="geraetename"/>
|
||||
<field name="geraetetyp"/>
|
||||
<field name="grundsystem"/>
|
||||
<field name="led_geraetetyp"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_software_view_form" model="ir.ui.view">
|
||||
<field name="name">dss_software_form</field>
|
||||
<field name="model">dss.software</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<group name="basesettings">
|
||||
<field name="softwarename" string="Softwarename"/>
|
||||
<field name="version" string="Version"/>
|
||||
<field name="hersteller" string="Hersteller"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="dss_software_view_tree" model="ir.ui.view">
|
||||
<field name="name">dss_software_tree</field>
|
||||
<field name="model">dss.software</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="software">
|
||||
<field name="softwarename"/>
|
||||
<field name="version"/>
|
||||
<field name="hersteller"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_systemtypen_view_tree" model="ir.ui.view">
|
||||
<field name="name">dss_systemtypen_tree</field>
|
||||
<field name="model">dss.systemtypen</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Systemtypen">
|
||||
<field name="systemname"/>
|
||||
<field name="kennung"/>
|
||||
<field name="farbe" string="Farbindex" widget="color"/>
|
||||
<field name="icon" widget="image"/>
|
||||
<field name="icon_5050" widget="image"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_projectstate_view_tree" model="ir.ui.view">
|
||||
<field name="name">dss_projectstate_tree</field>
|
||||
<field name="model">dss.projectstate</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Projectstatus">
|
||||
<field name="color" widget="color"/>
|
||||
<field name="statusname"/>
|
||||
<field name="icon"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_projectstate_view_form" model="ir.ui.view">
|
||||
<field name="name">dss_projectstate_form</field>
|
||||
<field name="model">dss.projectstate</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<group name="basethings">
|
||||
<field name="statusname" string="Statusname"/>
|
||||
<field name="color" string="Farbindex" widget="colorpicker"/>
|
||||
<field name="icon" string="Icon"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_contractstate_view_tree" model="ir.ui.view">
|
||||
<field name="name">dss_contractstate_tree</field>
|
||||
<field name="model">dss.contractstate</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Vertragsstatus">
|
||||
<field name="color" widget="colorpicker"/>
|
||||
<field name="statusname"/>
|
||||
<field name="icon"/>
|
||||
<field name="order"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_contractstate_view_form" model="ir.ui.view">
|
||||
<field name="name">dss_contractstate_form</field>
|
||||
<field name="model">dss.contractstate</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<group name="basethings">
|
||||
<field name="statusname" string="Statusname"/>
|
||||
<field name="color" string="Farbindex" widget="colorpicker"/>
|
||||
<field name="icon" string="Icon"/>
|
||||
<field name="order"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_workstate_view_tree" model="ir.ui.view">
|
||||
<field name="name">dss_workstate_tree</field>
|
||||
<field name="model">dss.workstate</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Bearbeitungsstatus">
|
||||
<field name="color" widget="colorpicker"/>
|
||||
<field name="statusname"/>
|
||||
<field name="icon"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_workstate_view_form" model="ir.ui.view">
|
||||
<field name="name">dss_workstate_form</field>
|
||||
<field name="model">dss.workstate</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<group name="basethings">
|
||||
<field name="statusname" string="Statusname"/>
|
||||
<field name="color" string="Farbindex" widget="color"/>
|
||||
<!-- <field name="color" string="Farbindex" widget="int_color"/> -->
|
||||
<field name="icon" string="Icon"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_todostate_view_tree" model="ir.ui.view">
|
||||
<field name="name">dss_todostate_tree</field>
|
||||
<field name="model">dss.todostate</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Bearbeitungsschritte">
|
||||
<field name="color" widget="colorpicker"/>
|
||||
<field name="statusname"/>
|
||||
<field name="statusnr" string="Statusposition"/>
|
||||
<field name="icon"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_todostate_view_form" model="ir.ui.view">
|
||||
<field name="name">dss_todostate_form</field>
|
||||
<field name="model">dss.todostate</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<group name="basethings">
|
||||
<field name="statusname" string="Statusname"/>
|
||||
<field name="statusnr" string="Statusposition"/>
|
||||
<field name="color" string="Farbindex" widget="color"/>
|
||||
<!-- <field name="color" string="Farbindex" widget="int_color"/> -->
|
||||
<field name="icon" string="Icon"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_dss_view" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Projekte</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.projects</field>
|
||||
<field name="view_mode">kanban,form,tree</field>
|
||||
<field name="context">{}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="'o_view_nocontent_smiling_face">
|
||||
Fuege ein System ein !
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_dss_systems_view" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Systeme</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.systems</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 Systemtyp erstellen
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_dss_geraetetypen_view" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Hardware</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.geraetetypen</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 Hardware erstellen
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_dss_software_view" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Software</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.software</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 Software erstellen
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_dss_systemtypen_view" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Systemtypen</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.systemtypen</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 Systemtyp erstellen
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_dss_projectstate_view" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Projectstatus</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.projectstate</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 Projektstatus erstellen
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_dss_contractstate_view" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Vertragsstatus</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.contractstate</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 Vertragsstatus erstellen
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_dss_workstate_view" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Bearbeitungsstatus</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.workstate</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 Bearbeitungsstatus erstellen
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_dss_todostate_view" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage Bearbeitungsschritte</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.todostate</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 Bearbeitungsschritt erstellen
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_config"
|
||||
name="Configuration"
|
||||
parent="menu_dss_main"
|
||||
sequence="3"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_main_view"
|
||||
name="DigitalSignage"
|
||||
parent="menu_dss_main"
|
||||
sequence="2"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_main_partner_details"
|
||||
name="Partner managen"
|
||||
parent="menu_dss_main_view"
|
||||
action="base.action_partner_form"
|
||||
sequence="2"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_main_details"
|
||||
name="Projekte managen"
|
||||
parent="menu_dss_main_view"
|
||||
action="action_dss_view"
|
||||
sequence="1"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_configuration_systems"
|
||||
name="Systemtypen"
|
||||
parent="menu_dss_config"
|
||||
action="action_dss_systems_view"
|
||||
sequence="3"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_configurationen"
|
||||
name="Werte"
|
||||
parent="menu_dss_config"
|
||||
sequence="5"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_configuration_systemtypen"
|
||||
name="Grundsystemtypen"
|
||||
parent="menu_dss_configurationen"
|
||||
action="action_dss_systemtypen_view"
|
||||
sequence="3"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_configuration_geraetetypen"
|
||||
name="Hardware verwalten"
|
||||
parent="menu_dss_config"
|
||||
action="action_dss_geraetetypen_view"
|
||||
sequence="3"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_configuration_software"
|
||||
name="Software verwalten"
|
||||
parent="menu_dss_config"
|
||||
action="action_dss_software_view"
|
||||
sequence="4"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_configuration_projectstate"
|
||||
name="Projektstati verwalten"
|
||||
parent="menu_dss_configurationen"
|
||||
action="action_dss_projectstate_view"
|
||||
sequence="5"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_configuration_contractstate"
|
||||
name="Vertragsstati verwalten"
|
||||
parent="menu_dss_configurationen"
|
||||
action="action_dss_contractstate_view"
|
||||
sequence="6"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_configuration_workstate"
|
||||
name="Bearbeitungsstände verwalten"
|
||||
parent="menu_dss_configurationen"
|
||||
action="action_dss_workstate_view"
|
||||
sequence="7"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_dss_configuration_todostate"
|
||||
name="Bearbeitungsschritte verwalten"
|
||||
parent="menu_dss_configurationen"
|
||||
action="action_dss_todostate_view"
|
||||
sequence="8"/>
|
||||
|
||||
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<menuitem
|
||||
id="menu_dss_main"
|
||||
name="DigitalSignage"
|
||||
web_icon="digitalsignage_system,static/description/icon.png"
|
||||
sequence="2"/>
|
||||
|
||||
</odoo>
|
||||