2016-07-28 6 views
0
  • フォームビューのような新しいビュータイプを作成しました。フォームビューから新しいものを作成してカスタムビューに切り替えると、全体を更新するまで更新が見られませんサイト。カスタムビューをクリックするたびにデータを取得できるように、このカスタムビューを再ロードする方法を知りたい。
  • 私はJavaスクリプトのビューを作成しましたが、ビューをクリックするたびにデータをリロードする以外はすべて正常に機能します。

    リロード毎回クリック時のカスタムビュータイプ

    def reload_controller(self, cr, uid, view_type, context = None): 
    model_obj = self.pool.get('ir.model.data') 
    print model_obj 
    data_id = model_obj._get_id(cr, uid, 'zoser_book', 'zoser_book_views') 
    print data_id 
    view_id = model_obj.browse(cr, uid, data_id).res_id 
    print view_id 
    return { 
        'type': 'ir.actions.act_window', 
        'name': _('String'), 
        'res_model': 'zoser.book', 
        'view_type': 'bookview', 
        'view_mode': 'bookview', 
        'view_id': view_id, 
        'target': 'current', 
        'nodestroy': True, 
    } 
    
  • 私はその後、pythonで、私はこれをしなかった

    var zoser_book = new openerp.Model('zoser.book');  
    zoser_book.call('reload_controller'[view_type]).then(function(reload_ok){ 
    console.log(reload_ok); 
    }); 
    
  • コアWebモジュールから継承し、このコードを発見し、私はviews.js内の関数と呼ばれていますフォームビューから新しいブックを追加して、サイト全体を最新表示するまで私のカスタムビューに更新しないと、更新は表示されません。

答えて

0

すべてのビューをリロードするには、XML上のレコードタグ内ですべての作業を行う必要があります。これは、Odooが自動的にリロードできるようにするためです。

0

試してみてください。この

return { 
'type': 'ir.actions.client', 
'tag': 'reload', 
'target':'inline', 
} 

が、これはあなたを助けることを願っています。

+0

あなたのコードをどこに置くことができますか?ユーザーがビューのボタンを押すと、私はカスタムビューの選択条件を入れています。そこでJavaスクリプトやPythonをどこに置くことができますか?そして、JavaスクリプトからPythonに関数をコールするかどうかを返します私はそれをJavaスクリプトで作るだろう、Pythonから 私のポイントがあなたに届くことを願っています – Mostafa

関連する問題