Salve a tutti,
ho un problema tra vecchie e nuove API.
Ho il seguente codice:
from openerp import fields, models, api
class users_office(models.Model):
_name = 'users.office'
name = fields.Char(required=True)
email = fields.Char(required=True)
class customers_data(models.Model):
_name = 'customers_data'
office = fields.Many2one('users.office', default=_write_office)
customers = fields.Char(default=_write_customers)
@api.cr_uid
def check_customers_data(self, cr, uid, context=None):
ids = self.pool.get('sale.order').search(cr,uid,[('ricevuta_mano', '=', False)])
sales = self.pool.get('sale.order').browse(cr,uid,ids,context=context)
dictionary = {}
for sale_order in sales:
if sale_order.partner_id.fiscal_code == False and sale_order.partner_id.vat == False:
dictionary.update({sale_order.partner_id.office.id: dictionary.get(sale_order.partner_id.office.id, "") + ', ' + sale_order.partner_id.name})
for key, value in dictionary.items():
self.office = self.pool.get('users.office').browse(cr,uid,key,context=context)
self.customers = value[2:]
Il metodo check_customers_data deve essere invocato ogni giorno dallo scheduler di Odoo (e funziona), il problema è che non riesco a scrivere i campi "office" e "customers", ricevo questo errore:
AttributeError: 'customers_data' object has no attribute 'env'
Ovviamente è dovuto al passaggio delle vecchie API.
Qualcuno sa suggerirmi come risolvere?
P.S.
Il mio obbiettivo è avere un controllo quotidiano sui dati dei clienti.
Se viene emessa una vendita senza ricevuta a mano e il cliente non ha codice fiscale e partita iva valorizzati, deve essere generata un'email verso l'indirizzo della relativa sede (users_office.email).
Ho pensato di scrivere una riga con i dati e inserire un'azione automatica che invia l'email. Se avete altre soluzioni (più pratiche) sono bene accette.
Grazie.