Skip to Content
Menú
This question has been flagged
1 Respondre
4988 Vistes

I'm creating a page using the website module that would require login before a user can view. how do i create such page on Odoo 10? Thanks 

Avatar
Descartar
Best Answer

Hi,

If you are creating the page via code then  you can do it like this,

Suppose you have created a new menu in the website like this,

<record id="test_menu" model="website.menu">
<field name="name">Test</field>
<field name="url">/page/test</field>
<field name="parent_id" ref="website.main_menu"/>
<field name="sequence" type="int">80</field>
<field name="website_id" ref="website.default_website"/>
</record>

Then on clicking the menu the system will search for the route /page/test

Then in the controller,

@http.route('/page/test', type='http', auth="user", website=True)
def test_test(self, **post):
return request.render('module_name.template_id')

Here if the auth="public",
then when the public user come and click on the newly created menu, he can view the page.

If the auth="user", when the public user come and clicking on the menu, he will be redirected to login page and ask to login, if he entered the login credentials properly he will directed to the page.


Then the template has to be defined,

<template id="template_id" name="Test Menu" page="True">
<t t-call="website.layout">
<div class="container">
<form>
</form>
</div>
</t>
</template>

Thanks

Avatar
Descartar
Related Posts Respostes Vistes Activitat
2
d’ag. 25
598
5
d’ag. 25
10080
2
de jul. 25
1091
4
de juny 25
1257
1
de juny 25
1581