2016-10-29 5 views
1

私は誤ってNotification Emailテンプレートを削除しましたが、幸いにも復元するためのバックアップがあります。実際、私はEmail Template本体にいくつかの変更を加えたいと思っていました。しかし、この後、テンプレートレンダリング中に電子メールテンプレートのプレビューだけでなく、電子メールにも例外が表示されます。 私はまた、変更が問題の原因になっているかどうかを確認するために電子メールテンプレート本体の変更をすべて削除しようとしましたが、それでもエラーはあります。テンプレートがbutton_access属性を見つけることができないという例外として、それについてさらに研究すると、テンプレートの文脈に含まれる単なるdict値であることがわかりました。see hereキャッチUndefinedError: 'openerp.tools.misc.frozendictオブジェクト'に属性がありません 'button_access' odooで電子メールテンプレートのレンダリング中

2016-10-29 19:33:41,391 3804 INFO wtm_ent_imp openerp.addons.mail.models.mail_template: Failed to render template <Template memory:7f89923cc090> using values {'format_tz': <function <lambda> at 0x7f8979e8f9b0>, 'ctx': {u'lang': u'en_US', u'tz': u'Asia/Karachi', u'uid': 1, u'active_model': u'mail.template', 'safe': False, u'params': {u'action': 100}, u'search_disable_custom_filters': True, u'active_ids': [1], u'template_id': 1, u'active_id': 1}, 'user': res.users(1,), 'object': mail.message(8832,)} 
Traceback (most recent call last): 
    File "/home/odoo/odoo-server/addons/mail/models/mail_template.py", line 364, in render_template 
    render_result = template.render(variables) 
    File "/usr/local/lib/python2.7/dist-packages/jinja2/environment.py", line 969, in render 
    return self.environment.handle_exception(exc_info, True) 
    File "/usr/local/lib/python2.7/dist-packages/jinja2/environment.py", line 742, in handle_exception 
    reraise(exc_type, exc_value, tb) 
    File "<template>", line 1, in top-level template code 
    File "/usr/local/lib/python2.7/dist-packages/jinja2/sandbox.py", line 307, in getitem 
    return obj[argument] 
UndefinedError: 'openerp.tools.misc.frozendict object' has no attribute 'button_access' 

答えて

1

ここで私はこの問題をどのように解決しましたか。

実際、通知メールテンプレート(ベースクラスによって生成されるデフォルトのテンプレート)は、おそらくir_model_dataに格納されているいくつかの参照変数に依存しているようです。誤って削除してcsvバックアップから再作成したとき、データモデル、すなわちir_model_dataの変数を参照することもできなくなりました。これらの参照変数を再作成するには、まずサーバーを再起動するだけですが、悲しいことに成功していない場合は、参照モジュールを再作成するためにベースモジュールを再インストールしました。私はとodooサーバーを走っ行うには:これは何

$ odoo.py -c odoo.conf -u all 

すると、すべてのモジュールを更新するために、サーバーに指示しています。 注:カスタマイズしていない新鮮なodooインスタンスがあります。このコマンドは、他のケースではいくつかの不都合を引き起こす可能性があります。あなたは警告されています。

関連する問題