Salve a tutti,
Sto provando a creare un modulo ex novo per la gestione degli alert. Gli alert funzionano se imposto i valori a mano sul codice python, ma nel momento in cui voglio creare una GUI le cose non vanno più bene.
Il problema è questo:
Ho creato questo modulo:
from odoo import models, fields, apifrom datetime import datetime
DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S.%f"
ONLYDATE_FORMAT = "%Y-%m-%d"
class x_Alert(models.Model):
_name = "account.x_alert"
_description = "modulo per gestire l'alert"
name=fields.Char(string="Nome",default="Panoramica Alert")
x_alert01 = fields.Integer(string="Giorni")
x_alert02 = fields.Integer(string="Giorni")
x_alert03 = fields.Integer(string="Giorni")
x_alert04 = fields.Integer(string="Giorni")
x_alert05 = fields.Integer(string="Giorni")
x_alert01_check = fields.Boolean(string="Attiva", default=True)
x_alert02_check = fields.Boolean(string="Attiva", default=True)
x_alert03_check = fields.Boolean(string="Attiva", default=True)
x_alert04_check = fields.Boolean(string="Attiva", default=True)
x_alert05_check = fields.Boolean(string="Attiva", default=True)
@api.model
def create(self, values):
"""Override default Odoo create function and extend."""
# Do your custom logic here
print(values)
return super(x_Alert, self).create(values)
@api.model
def write(self, values):
"""Override default Odoo create function and extend."""
# Do your custom logic here
print(values)
return super(x_Alert, self).write(values)
@api.model
def x_check_alert(self):
lang = self.env.context.get('lang') #da qui capisci quale formato data usare
#en_US è america
#it_IT è italia
datadioggi = str(fields.datetime.now())
#il codice continua ma è molto lungo
invece queste sono le viste:
<odoo>
<data>
<record model="ir.ui.view" id="view_form_alert">
<field name="name">Panoramica Alert</field>
<field name="model">account.x_alert</field>
<field name="arch" type="xml">
<form name="x_alert_form">
<header>
<field name="name" invisible="1"></field>
</header>
<group>
<label for="x_scadenza" string="Giorni dalla scadenza"></label>
<group>
<field name="x_alert01"></field>
<field name="x_alert02"></field>
<field name="x_alert03"></field>
<field name="x_alert04"></field>
<field name="x_alert05"></field>
</group>
<group>
<field name="x_alert01_check"></field>
<field name="x_alert02_check"></field>
<field name="x_alert03_check"></field>
<field name="x_alert04_check"></field>
<field name="x_alert05_check"></field>
</group>
</group>
</form>
</field>
</record>
<record id="action_show_alert" model="ir.actions.act_window">
<field name="name">Mostra Alert</field>
<field name="res_model">account.x_alert</field>
<field name="view_type">form</field>
<field name="target">current</field>
<field name="view_mode">form</field>
<field name="view_id" ref="view_form_alert"/>
</record>
<menuitem id="alert_menu"
name="Mostra Alert"
action="action_show_alert"
groups="base.group_user"
/>
</data>
</odoo>
Appare nel mainmenu l'azione Mostra Alert, ci clicco ed esce la panoramica dell'alert con tutti i campi definiti. A questo punto imposto i giorni di scadenza dell'alert, salvo e si crea un nuovo record. Quando esco dalla pagina e ci rientro, mi appare la schermata "new" dove devo reinserire di nuovo tutti i campi e se salvo comunque si crea un nuovo record e quello precedente è semplicemente sparito.
Cioè il mio problema è di avere una pagina di informazioni in cui modificare i giorni di scadenza dell'alert, una pagina statica dove è possibile solo modificare i campi, senza creare nuovi record o quant'altro. Non so come fare.
Grazie mille per chi mi risponderà