Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

[ODOO 12] Errore nella creazione di un record di un modello nuovo

Avatar
Davide Ercole

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, api
from 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à  

Avatar
Abbandona