[FIX] website placeholder; website_hr_recruitment required for ie

bzr revid: chm@openerp.com-20140224142751-7bolxomy2nc717w0
This commit is contained in:
Christophe Matthieu
2014-02-24 15:27:51 +01:00
parent bff00ec6df
commit 60c75d38bf
3 changed files with 34 additions and 15 deletions
+2 -1
View File
@@ -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) {
@@ -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/<model("hr.department"):department>',
@@ -61,27 +60,45 @@ class website_hr_recruitment(http.Controller):
@http.route(['/jobs/apply/<model("hr.job"):job>'], 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,
}
@@ -161,34 +161,35 @@
<form class="form-horizontal mt32" action="/jobs/thankyou" method="post" enctype="multipart/form-data">
<input type="hidden" t-att-value="job and job.department_id.id or False" name="department_id"/>
<input type="hidden" t-att-value="job and job.id or False" name="job_id"/>
<div class="form-group">
<div t-attf-class="form-group #{error.get('partner_name') and 'has-error' or ''}">
<label class="col-md-3 col-sm-4 control-label" for="partner_name">Your Name</label>
<div class="col-md-7 col-sm-8">
<input type="text" class="form-control" name="partner_name" required="True" />
<input type="text" t-att-value="default.get('partner_name')" class="form-control" name="partner_name" required="True"/>
</div>
</div>
<div class="form-group">
<div t-attf-class="form-group #{error.get('email_from') and 'has-error' or ''}">
<label class="col-md-3 col-sm-4 control-label" for="email_from">Your Email</label>
<div class="col-md-7 col-sm-8">
<input type="email" class="form-control" name="email_from" required="True" />
<input type="email" t-att-value="default.get('email_from')" class="form-control" name="email_from" required="True"/>
</div>
</div>
<div class="form-group">
<div t-attf-class="form-group #{error.get('phone') and 'has-error' or ''}">
<label class="col-md-3 col-sm-4 control-label" for="phone">Your Phone</label>
<div class="col-md-7 col-sm-8">
<input type="text" class="form-control" name="phone" required="True" />
<input type="text" t-att-value="default.get('phone')" class="form-control" name="phone" required="True"/>
</div>
</div>
<div class="form-group">
<label class="col-md-3 col-sm-4 control-label" for="description">Short Introduction</label>
<div class="col-md-7 col-sm-8">
<textarea class="form-control" name="description" style="min-height: 120px"/>
<textarea class="form-control" t-esc="default.get('description')" name="description" style="min-height: 120px"/>
</div>
</div>
<div class="form-group">
<label class="col-md-3 col-sm-4 control-label" for="ufile">Resume</label>
<div class="col-md-7 col-sm-8">
<input class="input-file" id="fileInput" type="file" name="ufile"/>
<span t-if="error.get('ufile')">Please send again your resume.</span>
</div>
</div>
<div class="form-group">