コンテンツへスキップ
メニュー
この質問にフラグが付けられました
1 返信
4276 ビュー

I am developing a module in which I am defining a controller class (openerpweb.Controller).

I have defined a function with decorator (@ openerpweb.httprequest) because access to this function we do through a http request "httprequest". The problem is that from here I need to access to the some function model, and when I do get an error. class Json(openerpweb.Controller): _cp_path = "/df_document/json"

@openerpweb.httprequest
def load(self, req, id, do_not_eval=False):
    Model = req.session.model('document.directory')            
    directory_model = Model.search([('parent_id', '=', int(id))])

Error is raise AuthenticationError("Credentials not provided") AuthenticationError: Credentials not provided

アバター
破棄
最善の回答

Have you tried logging in and then changing the URL in your browser?

You need to have logged in already as a user before accessing any models. You should be able to do that through code since it looks like you are goining for json, however I have no experience with that.
How come you use @openerpweb.httprequest rather than @openerpweb.jsonrequest?
I am also creating a controller, could you share where you are pulling your information/sources from? It took help from a fellow coder to point out that the documentation in trunk only works for version 8, as it was recently changed, and my install is V7.

EDIT: For V7, I found out that you need to authenticate your request. So before you attempt to access a model you need to run:

req.session.authenticate('your-db-name', 'user-name', 'password')

Then you'll be able to access the models like you wanted to.

アバター
破棄
関連投稿 返信 ビュー 活動
1
12月 24
4009
0
11月 24
1642
2
7月 24
3365
0
4月 24
2170
3
3月 24
2208