From 60c75d38bfc948ed723cde3a00b1c3871ff89148 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Mon, 24 Feb 2014 15:27:51 +0100 Subject: [PATCH] [FIX] website placeholder; website_hr_recruitment required for ie bzr revid: chm@openerp.com-20140224142751-7bolxomy2nc717w0 --- addons/website/static/src/js/website.js | 3 +- .../controllers/main.py | 31 ++++++++++++++----- .../views/templates.xml | 15 ++++----- 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js index 3be70b9b404..54ee4689814 100644 --- a/addons/website/static/src/js/website.js +++ b/addons/website/static/src/js/website.js @@ -69,7 +69,8 @@ website.is_editable = website.is_editable || $('html').data('editable'); website.is_editable_button= website.is_editable_button || $('html').data('editable'); dom_ready.resolve(); - $('input, textarea').placeholder(); + // fix for ie + if($.fn.placeholder) $('input, textarea').placeholder(); }); website.init_kanban = function ($kanban) { diff --git a/addons/website_hr_recruitment/controllers/main.py b/addons/website_hr_recruitment/controllers/main.py index c50bc6a0428..a3cbbe3cbc4 100644 --- a/addons/website_hr_recruitment/controllers/main.py +++ b/addons/website_hr_recruitment/controllers/main.py @@ -7,7 +7,6 @@ from openerp.tools.translate import _ from openerp.addons.web.http import request class website_hr_recruitment(http.Controller): - @http.route([ '/jobs', '/jobs/department/', @@ -61,27 +60,45 @@ class website_hr_recruitment(http.Controller): @http.route(['/jobs/apply/'], type='http', auth="public", website=True, multilang=True) def jobs_apply(self, job): - return request.website.render("website_hr_recruitment.apply", { 'job': job }) + error = {} + default = {} + if 'website_hr_recruitment_error' in request.session: + error = request.session.pop('website_hr_recruitment_error') + default = request.session.pop('website_hr_recruitment_default') + return request.website.render("website_hr_recruitment.apply", { 'job': job, 'error': error, 'default': default}) @http.route(['/jobs/thankyou'], methods=['POST'], type='http', auth="public", website=True, multilang=True) def jobs_thankyou(self, **post): cr, uid, context = request.cr, request.uid, request.context imd = request.registry['ir.model.data'] + + error = {} + for field_name in ["partner_name", "phone", "email_from"]: + if not post.get(field_name): + error[field_name] = 'missing' + if error: + request.session['website_hr_recruitment_error'] = error + ufile = post.pop('ufile') + if ufile: + error['ufile'] = 'reset' + request.session['website_hr_recruitment_default'] = post + return request.redirect('/jobs/apply/%s' % post.get("job_id")) + value = { - 'name': _('Online Form'), - 'user_id': False, 'source_id' : imd.xmlid_to_res_id(cr, SUPERUSER_ID, 'hr_recruitment.source_website_company'), } - for f in ['phone', 'email_from', 'partner_name', 'description', 'department_id', 'job_id']: + for f in ['phone', 'email_from', 'partner_name', 'description']: value[f] = post.get(f) + for f in ['department_id', 'job_id']: + value[f] = int(post.get(f) or 0) - job_id = request.registry['hr.applicant'].create(cr, SUPERUSER_ID, value, context=context) + applicant_id = request.registry['hr.applicant'].create(cr, SUPERUSER_ID, value, context=context) if post['ufile']: attachment_value = { 'name': post['ufile'].filename, 'res_name': value['partner_name'], 'res_model': 'hr.applicant', - 'res_id': job_id, + 'res_id': applicant_id, 'datas': base64.encodestring(post['ufile'].read()), 'datas_fname': post['ufile'].filename, } diff --git a/addons/website_hr_recruitment/views/templates.xml b/addons/website_hr_recruitment/views/templates.xml index 3e057d249f2..9dab6c6accc 100644 --- a/addons/website_hr_recruitment/views/templates.xml +++ b/addons/website_hr_recruitment/views/templates.xml @@ -161,34 +161,35 @@
-
+
- +
-
+
- +
-
+
- +
-