Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
3 Răspunsuri
2506 Vizualizări
Cel mai bun răspuns

Hi,

Try refer the blog below which helps you to write your own code in an existing controller method.

https://www.cybrosys.com/blog/web-controllers-in-odoo

Regards

Imagine profil
Abandonează
Autor

i did this and now it's working if u check my code..
but it create my record on the backend however after the POST action return the link defined with "undifined" and no redirection

Autor Cel mai bun răspuns
class CustomWebsiteHrRecruitment(WebsiteHrRecruitment):
    @http.route(['/jobs',
                '/jobs/country/',
                '/jobs/department/',
                '/jobs/country//department/',
                '/jobs/office/',
                '/jobs/country//office/',
                '/jobs/department//office/',
                '/jobs/country//department//office/',
            ], type='http', auth="public", website=True)
    def jobs(self, country=None, department=None, office_id=None, **kwargs):
        res = super(CustomWebsiteHrRecruitment, self).jobs(country=None,
                                                           department=None,
                                                           office_id=None,
                                                           **kwargs)
        dpts = request.env['hr.department'].sudo().search([])
        vals = {'dpts' : dpts,}
        res.qcontext.update(vals)
        _logger.info("=====>::: %s :::<======"%(res.qcontext))
        return res
    @http.route('/create/spontaneous_application/', type="http", auth="public", website=True)
    def create_spontaneous_application(self,self_id, **kw):
        vals = {'name' : 'Spontaneous Application\'s %s'%(kw.get('partner_name')),
                'department_id' : kw.get('dpt'),
                'description' : kw.get('description')}
        spontaneous_application = request.env['hr.job'].create(vals)
        _logger.info("======>Spontaneous Application : %s  created<========"%(spontaneous_application.name))
        return http.request.render('/', {})
Imagine profil
Abandonează
Autor

but in the second method in the controller my redirection on the home page doesn't work. can someone help me pls ?

Cel mai bun răspuns

You can redirect instead of render.


Like :- return http.request.redirect("/")

Imagine profil
Abandonează
Autor

it's not working too :(

my logs:

2021-10-25 13:58:10,944 1 INFO scin_db odoo.addons.custum.controllers.main: ======>Spontaneous Application : Spontaneous Application's Moustapha Ndiaye created<========

2021-10-25 13:58:10,944 1 INFO scin_db odoo.addons.custum.controllers.main: ======> Application of : Moustapha Ndiaye 's Application created<========

2021-10-25 13:58:10,947 1 INFO scin_db werkzeug: 41.83.44.156 - - [25/Oct/2021 13:58:10] "POST /create/spontaneous_application/undefined HTTP/1.1" 302 - 540 0.230 1.824

Can you please try with following return statment?

return http.request.redirect('/web')

Autor

Thank Yogesh Sakhreliya but not working until now.. I think it's about the website_form. i will check the documentation of this module

Related Posts Răspunsuri Vizualizări Activitate
2
iul. 24
4025
3
apr. 24
4624
0
sept. 22
803
0
sept. 21
1802
1
apr. 21
5749