[FIX] website placeholder; website_hr_recruitment required for ie
bzr revid: chm@openerp.com-20140224142751-7bolxomy2nc717w0
This commit is contained in:
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user