Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
4279 Lượt xem

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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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.

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 12 24
4034
0
thg 11 24
1652
2
thg 7 24
3378
0
thg 4 24
2181
3
thg 3 24
2266