Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami

ARGOMENTO: Installare moduli via XML-RPC

Installare moduli via XML-RPC 6 Anni 11 Mesi fa #6463

  • Luca404
  • Avatar di Luca404
  • Offline
  • Senior Boarder
  • Messaggi: 41
  • Ringraziamenti ricevuti 1
  • Karma: 0
Mi sto facendo uno script in python che mi aiuti nei miei smanettamenti con OpenERP: in parole povere si attacca via XML-RPC al server, DROPpa il database, lo ricrea, installa i moduli, configura l'azienda e gli utenti, infine inserisce i dati leggendoli dai DBF del gestionale attuale (no comment sul dbf per favore :P )

Questo mi consente di testare e spippolare con OpenERP, con dentro i miei dati (al momento importo anagrafiche clienti e prodotti), e con la possibilità di ripartire sempre da una situazione "pulita"... decisamente comodo. Ogni volta che faccio un passo avanti con il client web e decido che mi sta bene, lo replico nello script python.

Ora la questione è l'installazione dei moduli:
for modulo in MODULI:
        ids = erp('ir.module.module', 'search', [('name', '=', modulo)])
        assert len(ids) == 1
        logger.info('installo modulo %s' % modulo)
        response = erp('ir.module.module', 'button_immediate_install', ids)
        logger.debug(response)

fin tanto che non ritornano niente di particolare (es. modulo edi) oppure una semplice indicazione di refresh per il client web (es. moduli product ed email_template) io non ho niente da fare ed è facile.
Il problema giunge quando i moduli richiedono delle azioni, solitamente di configurazione, tipo il l10n_it_minimal_chart.

L'esempio in questione mi ritorna un dict fatto così:
       groups_id []
          domain False
            help False
       res_model account.installer
       nodestroy False
  search_view_id False
              id 148
           views [[284, 'form']]
       src_model False
display_menu_tip False
           usage False
            type ir.actions.act_window
       view_type form
         view_id [284, 'account.installer.form']
    auto_refresh 0
       view_mode form
        view_ids []
            name Install your Chart of Accounts
           multi False
          target new
     auto_search True
     search_view {.... un botto de roba ....}
          filter False
           limit 80
         context {'disable_log': True}

So cosa gli devo rispondere e/o come ricavarlo dalla search_view, ma come faccio a rispondergli?
Luca Lesinigo
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Installare moduli via XML-RPC 6 Anni 11 Mesi fa #6469

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
Anche se fa meglio scrivere un po' di codice per "entrare nel meccanismo", per il tuo obiettivo basta fare il backup dell'installazione (anche ad ogni piccolo step), se c'è qualche problema fai un restore + update all dell'ulima versione funzionante.
Per il tuo attuale problema invece non l'ho mai affrontato.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Installare moduli via XML-RPC 6 Anni 11 Mesi fa #6495

  • Luca404
  • Avatar di Luca404
  • Offline
  • Senior Boarder
  • Messaggi: 41
  • Ringraziamenti ricevuti 1
  • Karma: 0
A parte la questione di apprendistato, lo script mi serve per forza per fare le importazioni in automatico dall'altro software attualmente in uso. Quindi una volta scritto eseguirlo una tantum o ad ogni iterazione di test-smanetta-ripulisci mi cambia ben poco, anzi credo sia più comodo così che smanettare coi dump del db. Senza dimenticare che la parte pre-importazione è di pochissime righe, e l'esecuzione di tutto lo script (compreso DROP e CREATE del db iniziali) impiega circa 20 secondi.

Comunque, oggi mi si è accesa una lampadina e mi sono ricordato del post su XML-RPC di enlightx ed ho seguito quel metodo.

Ovvero, finora ho lavorato col client web, invece ho avviato il client GTK con la debug_rpc e mi sono studiato quello che faceva.
Premesso che, rispetto al client web della 6.1, il client GTK è brutto e lento (da remoto) :laugh: , credo di aver trovato il bandolo della matassa.

Fa un po' di richieste read e similari per ottenere le info per popolare i vari campi, ma poi il vero lavoro è costituito da una chiamata a wizard.multi.charts.accounts con azione create, in cui gli passa tutti i parametri vari. Nei prossimi giorni mi ci metto e la ripeto nel mio script python... dovrebbe funzionare, vi farò sapere.
Luca Lesinigo
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.139 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam