This question has been flagged
1 Reply
3461 Views

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

Avatar
Discard
Best Answer

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.

Avatar
Discard