Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
3 Antworten
12719 Ansichten
class ProjectExtension(http.Controller):
    @http.route('/project_extension/project_extension/', auth='public', website=True)    def index(self, **kw):
        Projects = http.request.env['project.project']        return http.request.render('project_extension.index', {            'projects': Projects.search([])        })
@http.route('/project_extension/a/', auth='public', website=True)def task(self, project):
    return http.request.render('project.project', {        "project" : project    })


 Hello

I'm trying to display some information on the website for a client.

I have a module, project_extension, which expend the Project module.

The first part of my code display a liste of project and the second part should display the tasks linked to this project, but at list I would like juse to have a page. Because actually I juste have a

404: Page not found!

error when clinking on a link.

I build the link like this :

<t t-foreach="projects" t-as="project">
    <p><a t-attf-href="/project_extension/{{ slug(project) }}">                               
        <t t-esc="project.name"/></a>                              
    </p>                       
</t>

I hope someone can help me.

I tried to follow the Building a website tutorial (and my little module is working, I can display a teacher and click on it to display his biography)


Thx for your help


Célia

Avatar
Verwerfen
Beste Antwort

You should give the read access to the public for your model using csv file.

access_your_model,access_your_model,model_your_model,,1,0,0,0

You can print model objects without using python code.  Like

<t t-foreach="request.env['your.model'].search([])" t-as="obj">
    <t t-esc="obj.name"/>
</t>


Avatar
Verwerfen

How to give read access to the public? the csv is same as mentioned above but records are not viewing

Beste Antwort

Hello,
please write code like below in controllers.py file

@http.route('/project_extension/project_extension', auth='public', website=True)    def index(self, **kw):
        # return "Hello World"        projects = http.request.env['<YOUR_MODEL_NAME>'].search([])        return http.request.render('<YOUR_MODEL_NAME>.<TEMPLATE_NAME>', {            'projects': projects,        })


write below code in <YOUR_MODEL>/views/file_name.xml


<odoo>    <data>        <template id="index">
                <t t-set="title">Academy</t>                 <div class="oe_structure">                    <div class="container">                        <t t-foreach="project" t-as="projects">                          <p><t t-esc="project.id"/> <t t-esc="project.name"/></p>                        </t>                    </div>                </div>
        </template>     </data></odoo>


After doing this please update your module. for that you need to go >apps> search your model> click on upgrade>

Please let me know if you are still facing issue with the same.


Thanks & Regards,

Siddharth Gajjar

Avatar
Verwerfen
Beste Antwort

like this,

@http.route( ["/user/payment_method/<model('res.partner'):partner>"], type='http', auth="user", methods=['GET'], website=True)

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
3
Juli 17
4038
2
Dez. 21
24375
3
Juli 21
21288
0
Jan. 21
2185
2
Juli 20
4256