İçereği Atla
Menü
Bu soru işaretlendi
3 Cevaplar
2616 Görünümler
En İyi Yanıt

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
Vazgeç
Üretici

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

Üretici En İyi Yanıt
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
Vazgeç
Üretici

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

En İyi Yanıt

You can redirect instead of render.


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

Avatar
Vazgeç
Üretici

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

Üretici

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

İlgili Gönderiler Cevaplar Görünümler Aktivite
2
Tem 25
6074
2
Tem 24
4164
3
Nis 24
4832
0
Eyl 22
803
0
Eyl 21
1930