Skip to Content
Menu
This question has been flagged
3 Replies
1573 Views
Best Answer

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

Avatar
Discard
Author

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

Author Best Answer
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('/', {})
Avatar
Discard
Author

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

Best Answer

You can redirect instead of render.


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

Avatar
Discard
Author

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')

Author

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 Replies Views Activity
2
Jul 24
2936
3
Apr 24
2527
0
Sep 22
803
0
Sep 21
895
1
Apr 21
4441