diff --git a/addons/website_hr_recruitment/controllers/main.py b/addons/website_hr_recruitment/controllers/main.py index 28b960c6c91..64fda74368f 100644 --- a/addons/website_hr_recruitment/controllers/main.py +++ b/addons/website_hr_recruitment/controllers/main.py @@ -10,9 +10,10 @@ class website_hr_recruitment(http.Controller): @http.route([ '/jobs', '/jobs/department/', - '/jobs/office/' + '/jobs/office/', + '/jobs/country/' ], type='http', auth="public", website=True) - def jobs(self, department=None, office=None): + def jobs(self, department=None, office=None, country=None): context=dict(request.context, show_address=True, no_tag_br=True) cr, uid = request.cr, request.uid @@ -31,10 +32,12 @@ class website_hr_recruitment(http.Controller): # Deduce departments and offices of those jobs departments = set(j.department_id for j in jobs if j.department_id) offices = set(j.address_id for j in jobs if j.address_id) + countries = set(o.country_id for o in offices if o.country_id) # Filter the matching one jobs = [j for j in jobs if department==None or j.department_id and j.department_id.id == department.id] jobs = [j for j in jobs if office==None or j.address_id and j.address_id.id == office_id] + jobs = [j for j in jobs if country==None or j.address_id and j.address_id.country_id and j.address_id.country_id.id == country.id] # Render page return request.website.render("website_hr_recruitment.index", { @@ -43,6 +46,7 @@ class website_hr_recruitment(http.Controller): 'offices': offices, 'department_id': department and department.id, 'office_id': office_id, + 'countries': countries }) @http.route('/jobs/add', type='http', auth="user", methods=['POST'], website=True) diff --git a/addons/website_hr_recruitment/views/templates.xml b/addons/website_hr_recruitment/views/templates.xml index 95f85dfe2ef..0928bdab313 100644 --- a/addons/website_hr_recruitment/views/templates.xml +++ b/addons/website_hr_recruitment/views/templates.xml @@ -253,15 +253,17 @@