August 2025 Build
This commit is contained in:
parent
a2e4beba27
commit
4e32d9ba82
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -124,6 +124,7 @@ class dssadvertisefields(models.Model):
|
|||
btn_text_2_font = fields.Char('Textzeile 2 Schriftart', tracking=True)
|
||||
btn_text_3_font = fields.Char('Textzeile 3 Schriftart', tracking=True)
|
||||
btn_text_4_font = fields.Char('Textzeile 4 Schriftart', tracking=True)
|
||||
Field_notinCloud = fields.Boolean('Feld im Cloudname',tracking=True, default=True)
|
||||
|
||||
loopfiles = fields.Char('Durchlaufdateien', tracking=True)
|
||||
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ class dsseventdays(models.Model):
|
|||
color = fields.Char(string='Color Index')
|
||||
username = fields.Many2one('res.users',string="Kalendercontact")
|
||||
calendarevent = fields.Integer('Kalenderevent ID')
|
||||
category = fields.Char('Kategorie', required=True)
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ class dssm2mvalues(models.Model):
|
|||
self.project = False
|
||||
for record in self:
|
||||
if record.project_id:
|
||||
project = self.env['dss.projects'].search([('projectid', '=', int(record.project_id))])
|
||||
project = self.env['dss.projects'].search([('projectid', '=', int(record.project_id))],limit=1)
|
||||
if project:
|
||||
record.project = project
|
||||
|
||||
|
|
|
|||
|
|
@ -41,15 +41,160 @@ class dssmaintaintasks(models.Model):
|
|||
user_create = fields.Char('Erstellungsuser', default=lambda self: self._default_create_user())
|
||||
user_lastedit = fields.Char('Änderungsuser')
|
||||
|
||||
maintaintyp = fields.Selection([('AUF','Aufbau/Installation'),('REP','Reparatur'), ('CLE','Reinigung'), ('INS','Inspektion'), ('ABB','Demontage'), ('SON','Sonstiges')],tracking=True)
|
||||
maintaintyp = fields.Selection([('AUF','Aufbau/Installation'),('REP','Reparatur'), ('CLE','Reinigung'), ('INS','Inspektion'), ('ABB','Demontage'), ('REN','Erneuerung'),('SON','Sonstiges')],tracking=True)
|
||||
project = fields.Many2one('dss.projects', required=True, tracking=True)
|
||||
maintain_tag = fields.Date('Einsatztag', required=True, tracking=True)
|
||||
maintain_time_h = fields.Integer('Einsatzzeit Volle Stunden', required=True, tracking=True)
|
||||
maintain_time_m = fields.Integer('Einsatzzeit Rest Minuten', required=True, tracking=True)
|
||||
maintain_tag = fields.Date('Einsatztag', tracking=True)
|
||||
maintain_time_h = fields.Integer('Einsatzzeit Volle Stunden', tracking=True)
|
||||
maintain_time_m = fields.Integer('Einsatzzeit Rest Minuten', tracking=True)
|
||||
# maintain_people = fields.Many2many('res.partner','Einsatzbeteiligte', domain="['&',('dssinternpartner','=',True),('dssinternpartner_grafik','=',True)]", tracking=True,required=True)
|
||||
maintain_reason = fields.Char('Einsatzgrund', required=True)
|
||||
maintain_text = fields.Html('Einsatzablauf', required=True)
|
||||
|
||||
maintain_travel_start = fields.Datetime('Anreisebeginn', tracking=True)
|
||||
maintain_travel_end = fields.Datetime('Ankunftszeit', tracking=True)
|
||||
maintain_travel_distance = fields.Float('Anreise Entfernung', tracking=True)
|
||||
maintain_travel_duration = fields.Float('Anreise Dauer', tracking=True, compute='_compute_travel_total_time', store=True)
|
||||
maintain_travel_duration_text = fields.Char('Anreise Dauer', tracking=True, compute='_compute_travel_total_time_text', store=True)
|
||||
|
||||
maintain_work_start = fields.Datetime('Arbeitsbeginn', tracking=True)
|
||||
maintain_work_end = fields.Datetime('Arbeitsende', tracking=True)
|
||||
maintain_work_duration = fields.Float('Arbeits Dauer', tracking=True,compute='_compute_work_total_time', store=True)
|
||||
maintain_work_duration_text = fields.Char('Arbeits Dauer', tracking=True, compute='_compute_work_total_time_text', store=True)
|
||||
|
||||
maintain_return_start = fields.Datetime('Rückreisebeginn', tracking=True)
|
||||
maintain_return_end = fields.Datetime('Rückreiseende', tracking=True)
|
||||
maintain_return_duration = fields.Float('Rückreise Dauer', tracking=True,compute='_compute_return_total_time', store=True)
|
||||
maintain_return_distance = fields.Float('Rückreise Entfernung', tracking=True)
|
||||
maintain_return_duration_text = fields.Char('Rückreise Dauer', tracking=True, compute='_compute_return_total_time_text', store=True)
|
||||
|
||||
maintain_total_start = fields.Datetime('Einsatzbeginn', tracking=True,compute='_compute_maintain_total_start', store=True)
|
||||
maintain_total_end = fields.Datetime('Einsatzende', tracking=True, compute='_compute_maintain_total_end', store=True)
|
||||
maintain_total_duration = fields.Float('Einsatz Dauer', tracking=True,compute='_compute_maintain_total_time', store=True)
|
||||
maintain_total_duration_text = fields.Char('Einsatz Dauer', tracking=True, compute='_compute_maintain_total_time_text', store=True)
|
||||
maintain_total_duration_money = fields.Float('Einsatz Kosten', tracking=True, compute='_compute_maintain_total_cost', store=True)
|
||||
|
||||
maintain_is_calculate = fields.Boolean('Einsatz ist Abrechenbar', default=False, tracking=True)
|
||||
|
||||
maintain_employee =fields.Many2many('hr.employee', string='Einsatzmitarbeiter', tracking=True, required=True)
|
||||
|
||||
@api.depends('maintain_employee')
|
||||
@api.onchange('maintain_employee')
|
||||
def _compute_maintain_total_cost(self):
|
||||
for record in self:
|
||||
total_cost = 0.0
|
||||
if record.maintain_employee:
|
||||
for employee in record.maintain_employee:
|
||||
if employee.hourly_cost:
|
||||
# Calculate the total cost for each employee based on their hourly cost and the total duration of the maintenance task
|
||||
total_cost += employee.hourly_cost * record.maintain_total_duration
|
||||
record.maintain_total_duration_money = total_cost
|
||||
|
||||
@api.depends('maintain_travel_duration')
|
||||
@api.onchange('maintain_travel_duration')
|
||||
def _compute_travel_total_time_text(self):
|
||||
for record in self:
|
||||
if record.maintain_travel_duration:
|
||||
hours = int(record.maintain_travel_duration)
|
||||
minutes = int((record.maintain_travel_duration - hours) * 60)
|
||||
record.maintain_travel_duration_text = f"{hours} Stunden {minutes} Minuten"
|
||||
else:
|
||||
record.maintain_travel_duration_text = "0 Stunden 0 Minuten"
|
||||
|
||||
@api.depends('maintain_work_duration')
|
||||
@api.onchange('maintain_work_duration')
|
||||
def _compute_work_total_time_text(self):
|
||||
for record in self:
|
||||
if record.maintain_work_duration:
|
||||
hours = int(record.maintain_work_duration)
|
||||
minutes = int((record.maintain_work_duration - hours) * 60)
|
||||
record.maintain_work_duration_text = f"{hours} Stunden {minutes} Minuten"
|
||||
else:
|
||||
record.maintain_work_duration_text = "0 Stunden 0 Minuten"
|
||||
|
||||
@api.depends('maintain_return_duration')
|
||||
@api.onchange('maintain_return_duration')
|
||||
def _compute_return_total_time_text(self):
|
||||
for record in self:
|
||||
if record.maintain_return_duration:
|
||||
hours = int(record.maintain_return_duration)
|
||||
minutes = int((record.maintain_return_duration - hours) * 60)
|
||||
record.maintain_return_duration_text = f"{hours} Stunden {minutes} Minuten"
|
||||
else:
|
||||
record.maintain_return_duration_text = "0 Stunden 0 Minuten"
|
||||
|
||||
@api.depends('maintain_total_duration')
|
||||
@api.onchange('maintain_total_duration')
|
||||
def _compute_maintain_total_time_text(self):
|
||||
for record in self:
|
||||
if record.maintain_total_duration:
|
||||
hours = int(record.maintain_total_duration)
|
||||
minutes = int((record.maintain_total_duration - hours) * 60)
|
||||
record.maintain_total_duration_text = f"{hours} Stunden {minutes} Minuten"
|
||||
else:
|
||||
record.maintain_total_duration_text = "0 Stunden 0 Minuten"
|
||||
|
||||
|
||||
@api.constrains('maintain_travel_start', 'maintain_travel_end')
|
||||
@api.onchange('maintain_travel_start', 'maintain_travel_end')
|
||||
def _compute_travel_total_time(self):
|
||||
for record in self:
|
||||
if record.maintain_travel_start and record.maintain_travel_end:
|
||||
if record.maintain_travel_start >= record.maintain_travel_end:
|
||||
raise ValidationError(_("Anreisebeginn muss vor Ankunftszeit liegen."))
|
||||
record.maintain_travel_duration = (record.maintain_travel_end - record.maintain_travel_start).total_seconds() / 3600.0
|
||||
|
||||
@api.constrains('maintain_work_start', 'maintain_work_end')
|
||||
@api.onchange('maintain_work_start', 'maintain_work_end')
|
||||
def _compute_work_total_time(self):
|
||||
for record in self:
|
||||
if record.maintain_work_start and record.maintain_work_end:
|
||||
if record.maintain_work_start >= record.maintain_work_end:
|
||||
raise ValidationError(_("Arbeitsbeginn muss vor Arbeitsende liegen."))
|
||||
record.maintain_work_duration = (record.maintain_work_end - record.maintain_work_start).total_seconds() / 3600.0
|
||||
|
||||
|
||||
@api.constrains('maintain_return_start', 'maintain_return_end')
|
||||
@api.onchange('maintain_return_start', 'maintain_return_end')
|
||||
def _compute_return_total_time(self):
|
||||
for record in self:
|
||||
if record.maintain_return_start and record.maintain_return_end:
|
||||
if record.maintain_return_start >= record.maintain_return_end:
|
||||
raise ValidationError(_("Rückreisebeginn muss vor Rückreiseende liegen."))
|
||||
record.maintain_return_duration = (record.maintain_return_end - record.maintain_return_start).total_seconds() / 3600.0
|
||||
|
||||
@api.depends('maintain_travel_start', 'maintain_work_start', 'maintain_return_start')
|
||||
def _compute_maintain_total_start(self):
|
||||
for record in self:
|
||||
if record.maintain_travel_start and record.maintain_work_start and record.maintain_return_start:
|
||||
# Find the earliest start time among travel, work, and return
|
||||
earliest_start = min(record.maintain_travel_start, record.maintain_work_start, record.maintain_return_start)
|
||||
record.maintain_total_start = earliest_start
|
||||
else:
|
||||
record.maintain_total_start = False
|
||||
|
||||
@api.depends('maintain_travel_end', 'maintain_work_end', 'maintain_return_end')
|
||||
def _compute_maintain_total_end(self):
|
||||
for record in self:
|
||||
if record.maintain_travel_end and record.maintain_work_end and record.maintain_return_end:
|
||||
# Find the latest end time among travel, work, and return
|
||||
latest_end = max(record.maintain_travel_end, record.maintain_work_end, record.maintain_return_end)
|
||||
record.maintain_total_end = latest_end
|
||||
else:
|
||||
record.maintain_total_end = False
|
||||
|
||||
@api.depends('maintain_travel_duration', 'maintain_work_duration', 'maintain_return_duration')
|
||||
@api.onchange('maintain_travel_duration', 'maintain_work_duration', 'maintain_return_duration')
|
||||
def _compute_maintain_total_time(self):
|
||||
for record in self:
|
||||
total_duration = 0.0
|
||||
if record.maintain_travel_duration:
|
||||
total_duration += record.maintain_travel_duration
|
||||
if record.maintain_work_duration:
|
||||
total_duration += record.maintain_work_duration
|
||||
if record.maintain_return_duration:
|
||||
total_duration += record.maintain_return_duration
|
||||
record.maintain_total_duration = total_duration
|
||||
|
||||
@api.model
|
||||
def _default_uuid(self):
|
||||
return str(uuid.uuid4())
|
||||
|
|
|
|||
|
|
@ -58,6 +58,8 @@ class dssprojects(models.Model):
|
|||
aktstatus_color = fields.Char(related='aktstatus.color')
|
||||
aktstatus_icon = fields.Image(related='aktstatus.icon')
|
||||
description = fields.Text('Beschreibung',tracking=True)
|
||||
remarks = fields.Html('Bemerkungen',tracking=True)
|
||||
hotremarks = fields.Html('Wichtige Bemerkungen',tracking=True)
|
||||
short_partner_description = fields.Char('Kurz-Beschreibung für Kunden',tracking=True)
|
||||
partner_description = fields.Text('Beschreibung für Kunden',tracking=True)
|
||||
systemname = fields.Many2one('dss.systems',tracking=True)
|
||||
|
|
@ -157,6 +159,8 @@ class dssprojects(models.Model):
|
|||
simstart_DVEmpty_3 = fields.Boolean('Simkarte 3 DV leer', tracking=True)
|
||||
simstart_DVEmpty_3_lastdate = fields.Date('Simkarte 3 Leerdatum', tracking=True)
|
||||
|
||||
playsetup_user = fields.Many2one('res.users',domain="[('user_type','=','1')]",string='Einspielung - Benutzer',tracking=True)
|
||||
|
||||
@api.model
|
||||
def _read_group_system_ids(self, stages, domain, order):
|
||||
project_system_ids = self.env['dss.systemtypen'].search([('open_close_standard_state','=',False)], order='order')
|
||||
|
|
|
|||
|
|
@ -76,7 +76,13 @@ class dssSettings(models.Model):
|
|||
for parts in path.split(','):
|
||||
if parts[0] == '$':
|
||||
fels = parts[1:]
|
||||
parts = record._origin.read([fels])
|
||||
if fels == 'shortwerbe_feld_selected':
|
||||
if not record.werbe_feld_selected.Field_notinCloud:
|
||||
parts = ''
|
||||
else:
|
||||
parts = record._origin.read([fels])
|
||||
else:
|
||||
parts = record._origin.read([fels])
|
||||
_logger.info("Get Path - Anfrage-Teil gefunden : " + str(parts))
|
||||
if parts:
|
||||
value = str(parts[0][fels])
|
||||
|
|
|
|||
|
|
@ -26,20 +26,21 @@
|
|||
<sheet>
|
||||
<group>
|
||||
<group name="basethings">
|
||||
<field name="feldname" string="Feldname"/>
|
||||
<field name="project" string="Projekt"/>
|
||||
<field name="auto_feldname" string="Projekt_Feld" readonly="1"/>
|
||||
<field name="contract" string="Vertrag">
|
||||
<field name="feldname" string="Feldname"/>
|
||||
<field name="project" string="Projekt"/>
|
||||
<field name="auto_feldname" string="Projekt_Feld" readonly="1"/>
|
||||
<field name="contract" string="Vertrag">
|
||||
<tree string="Verträge">
|
||||
<field name="contract_auto_name"/>
|
||||
<field name="contract_auto_id"/>
|
||||
<field name="contract_name" />
|
||||
</tree>
|
||||
</field>
|
||||
<div colspan="2" style="font-color:#E00000;"><p>Die Struktur kann erst nach Speichern der Grunddaten eingerichtet werden !</p></div>
|
||||
<field name="mediastructure" attrs="{'invisible': [('issaved','!=',True)]}" />
|
||||
<field name="isblocked" widget="boolean_toggle"/>
|
||||
</field>
|
||||
<div colspan="2" style="font-color:#E00000;"><p>Die Struktur kann erst nach Speichern der Grunddaten eingerichtet werden !</p></div>
|
||||
<field name="mediastructure" attrs="{'invisible': [('issaved','!=',True)]}" />
|
||||
<field name="isblocked" widget="boolean_toggle"/>
|
||||
<field name="is_btn"/>
|
||||
<field name="Field_notinCloud" widget="boolean_toggle"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
<field name="eventname"/>
|
||||
<field name="eventstartdate"/>
|
||||
<field name="eventenddate"/>
|
||||
<field name="category"/>
|
||||
<field name="description"/>
|
||||
<field name="color" widget="color"/>
|
||||
</tree>
|
||||
|
|
@ -32,6 +33,7 @@
|
|||
<field name="description" string="Beschreibung"/>
|
||||
<field name="color" widget="color"/>
|
||||
<field name="username" string="Benutzer in dessen Kalender Event einzutragen ist"/>
|
||||
<field name="category"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="informations" string="Informationen">
|
||||
|
|
|
|||
|
|
@ -15,17 +15,86 @@
|
|||
<field name="maintaintyp"/>
|
||||
<field name="project"/>
|
||||
</group>
|
||||
<group name="settings" string="Einsatzzeiten">
|
||||
<field name="maintain_tag"/>
|
||||
<field name="maintain_time_h" />
|
||||
<field name="maintain_time_m" />
|
||||
</group>
|
||||
<group name="settings" string="Einsatzablauf">
|
||||
<field name="maintain_reason"/>
|
||||
<field name="maintain_text"/>
|
||||
<field name="maintain_is_calculate" widget="boolean_toggle" options="{'terminology': 'Abrechenbar'}"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="maintaintimes" string="Einsatzzeiten">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<group name="maintain_travel" string="Anreise">
|
||||
<field name="maintain_travel_start"/>
|
||||
</group>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<group name="maintain_travel" string="Anreise">
|
||||
<field name="maintain_travel_end"/>
|
||||
</group>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<label for="maintain_travel_distance" string="Fahr - Entfernung in km"/><field name="maintain_travel_distance"/>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="maintain_travel_duration_text" string="Fahrzeit gesamt in h"/><field name="maintain_travel_duration_text" readonly="1"/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<group name="maintain_times" string="Einsatzzeiten">
|
||||
<field name="maintain_work_start"/>
|
||||
</group>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<group name="maintain_times" string="Einsatzzeiten">
|
||||
<field name="maintain_work_end"/>
|
||||
</group>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-10">
|
||||
<label for="maintain_work_duration_text" string="Gesamt Arbeitszeit in h"/><field name="maintain_work_duration_text" readonly="1"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<group name="maintain_return" string="Rückreise">
|
||||
<field name="maintain_return_start"/>
|
||||
</group>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<group name="maintain_return" string="Rückreise">
|
||||
<field name="maintain_return_end"/>
|
||||
</group>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<label for="maintain_return_distance" string="Rückfahr - Entfernung in km"/><field name="maintain_return_distance"/>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="maintain_return_duration_text" string="Gesamt Rückfahrzeit in h"/><field name="maintain_return_duration_text" readonly="1"/>
|
||||
</div>
|
||||
</div>
|
||||
<group name="maintain_total" string="Gesamtzeiten">
|
||||
<field name="maintain_total_start" readonly="1"/>
|
||||
<field name="maintain_total_end" readonly="1"/>
|
||||
<field name="maintain_total_duration_text" readonly="1"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="employees" string="Mitarbeiter">
|
||||
<group name="maintain_employee" string="Einsatzbeteiligte">
|
||||
<field name="maintain_employee" widget="many2many_tags" options="{'no_create': True, 'no_create_edit': True}"/>
|
||||
</group>
|
||||
<group name="maintain_employee_other" string="Kosten">
|
||||
<field name="maintain_total_duration_money"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="informations" string="Informationen">
|
||||
<group name="settings" string="interne Informationen">
|
||||
<field name="uuid" string="UUID"/>
|
||||
|
|
@ -53,7 +122,9 @@
|
|||
<field name="maintainname"/>
|
||||
<field name="maintaintyp"/>
|
||||
<field name="project"/>
|
||||
<field name="maintain_tag"/>
|
||||
<field name="maintain_total_start"/>
|
||||
<field name="maintain_total_duration" sum="Gesamtzeit"/>
|
||||
<field name="maintain_total_duration_money" sum="Gesamtkosten"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -182,7 +182,10 @@
|
|||
<field name="maintainname"/>
|
||||
<field name="maintaintyp"/>
|
||||
<field name="project"/>
|
||||
<field name="maintain_tag"/>
|
||||
<field name="maintain_total_start"/>
|
||||
<field name="maintain_total_duration_text"/>
|
||||
<field name="maintain_total_duration" sum="Gesamtzeit"/>
|
||||
<field name="maintain_total_duration_money" sum="Gesamtkosten"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
|
|
@ -201,7 +204,7 @@
|
|||
<field name="simstart_DVEmpty_3" widget="boolean_toggle"/>
|
||||
<field name="simstart_DVEmpty_3_lastdate"/>
|
||||
</group>
|
||||
</page>
|
||||
</page>
|
||||
<page name="trigger" string="Aktionen/Trigger">
|
||||
<group>
|
||||
<field name="run_trigger" string="Trigger aktiv ?" widget="Boolean_toggle"/>
|
||||
|
|
@ -210,6 +213,12 @@
|
|||
<field name="run_uni_sub_trigger" string="Allgemeine Vertrags - Trigger ausführen ?" widget="Boolean_toggle"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="Bemerkungen" string="Bemerkungen/Anweisungen/Notizen">
|
||||
<group>
|
||||
<field name="remarks"/>
|
||||
<field name="hotremarks"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="informations" string="Interne Informationen">
|
||||
<group>
|
||||
<field name="id" string="Iid" readonly="1"/>
|
||||
|
|
@ -256,6 +265,7 @@
|
|||
<field name="playername_2"/>
|
||||
<field name="playername_3"/>
|
||||
<field name="grundsystemicon_different"/>
|
||||
<field name="hotremarks"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<t t-set="colonr" t-value="aktstatus_color"/>
|
||||
|
|
@ -276,8 +286,8 @@
|
|||
</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 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">
|
||||
|
|
|
|||
|
|
@ -51,11 +51,22 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="dss_triggerconditions_trigger_condition_view" model="ir.ui.view">
|
||||
<field name="name">dss_triggerconditions_tree</field>
|
||||
<field name="model">dss.triggerconditions</field>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<trigger_condition_view string="Trigger Aktionen">
|
||||
<field name="triggerconditionname"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_dss_triggerconditions_view" model="ir.actions.act_window">
|
||||
<field name="name">DigitalSignage TriggerBedingungen</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">dss.triggerconditions</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,trigger_condition_view</field>
|
||||
<field name="context">{}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="'o_view_nocontent_smiling_face">
|
||||
|
|
|
|||
Loading…
Reference in New Issue