diff --git a/addons/website_event/static/src/img/openerp_enterprise_of_the_year.png b/addons/website_event/static/src/img/openerp_enterprise_of_the_year.png new file mode 100644 index 00000000000..71d8f5b551e Binary files /dev/null and b/addons/website_event/static/src/img/openerp_enterprise_of_the_year.png differ diff --git a/addons/website_event/static/src/img/training.jpg b/addons/website_event/static/src/img/training.jpg new file mode 100644 index 00000000000..05ab108244b Binary files /dev/null and b/addons/website_event/static/src/img/training.jpg differ diff --git a/addons/website_event/views/website_event.xml b/addons/website_event/views/website_event.xml index 63b5f283a27..7a0fe19cafb 100644 --- a/addons/website_event/views/website_event.xml +++ b/addons/website_event/views/website_event.xml @@ -89,14 +89,14 @@
diff --git a/addons/website_hr_recruitment/controllers/main.py b/addons/website_hr_recruitment/controllers/main.py index 83836040c74..86c882c8952 100644 --- a/addons/website_hr_recruitment/controllers/main.py +++ b/addons/website_hr_recruitment/controllers/main.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- from openerp.addons.web import http +from openerp.tools.translate import _ from openerp.addons.web.http import request from openerp.addons.website.models import website from openerp.addons.website.controllers.main import Website as controllers @@ -10,45 +11,16 @@ import base64 class website_hr_recruitment(http.Controller): - @website.route(['/jobs', '/jobs/page//', '/department//', '/department//page//'], type='http', auth="public", multilang=True) - def jobs(self, id=0, page=1): - id = id and int(id) or 0 + @website.route(['/jobs', '/department/'], type='http', auth="public", multilang=True) + def jobs(self, department=None, page=0): hr_job_obj = request.registry['hr.job'] - hr_department_obj = request.registry['hr.department'] - - domain = [("state", 'in', ['recruit', 'open'])] - if id != 0: - domain += [('department_id','=', id)] - jobpost_ids = hr_job_obj.search(request.cr, request.uid, domain) - request.cr.execute("SELECT DISTINCT(hr_job.company_id) FROM hr_job WHERE hr_job.company_id IS NOT NULL") - ids = [] - for i in request.cr.fetchall(): - ids.append(i[0]) - companies = request.registry['res.company'].browse(request.cr, request.uid, ids) - - vals = {} - for rec in hr_job_obj.browse(request.cr, request.uid, jobpost_ids): - vals[rec.id] = {'count': int(rec.no_of_recruitment), 'date_recruitment': rec.write_date.split(' ')[0]} - - department_ids = [] - request.cr.execute("SELECT * FROM hr_department") - for i in request.cr.fetchall(): - department_ids.append(i[0]) - active = id - - step = 10 - pager = request.website.pager(url="/jobs/", total=len(jobpost_ids), page=page, step=step, scope=5) - jobpost_ids = hr_job_obj.search(request.cr, request.uid, domain, limit=step, offset=pager['offset']) - - values = { - 'active': active, - 'companies': companies, - 'res_job': hr_job_obj.browse(request.cr, request.uid, jobpost_ids), - 'departments': hr_department_obj.browse(request.cr, request.uid, department_ids), - 'vals': vals, - 'pager': pager - } - return request.website.render("website_hr_recruitment.index", values) + domain = [] + if department: + domain += [('department_id','=', department.id)] + jobpost_ids = hr_job_obj.search(request.cr, request.uid, domain, order="website_published,no_of_recruitment", context=request.context) + return request.website.render("website_hr_recruitment.index", { + 'jobs': hr_job_obj.browse(request.cr, request.uid, jobpost_ids, request.context), + }) @website.route(['/job/detail/'], type='http', auth="public", multilang=True) def detail(self, job): @@ -60,7 +32,24 @@ class website_hr_recruitment(http.Controller): @website.route(['/job/success'], type='http', auth="admin", multilang=True) def success(self, **post): - id = request.registry['hr.applicant'].create(request.cr, request.uid, post) + data = { + 'name': _('Online Form'), + 'phone': post.get('phone', False), + 'email_from': post.get('email_from', False), + 'partner_name': post.get('partner_name', False), + 'description': post.get('description', False), + 'department_id': post.get('department_id', False), + 'job_id': post.get('job_id', False) + } + + imd = request.registry['ir.model.data'] + try: + model, source_id = imd.get_object_reference(request.cr, request.uid, 'hr_recruitment', 'source_website_company') + data['source_id'] = source_id + except ValueError, e: + pass + + jobid = request.registry['hr.applicant'].create(request.cr, request.uid, data, context=request.context) if post['ufile']: attachment_values = { 'name': post['ufile'].filename, @@ -68,16 +57,13 @@ class website_hr_recruitment(http.Controller): 'datas_fname': post['ufile'].filename, 'res_model': 'hr.applicant', 'res_name': post['name'], - 'res_id': id + 'res_id': jobid } - request.registry['ir.attachment'].create(request.cr, request.uid, attachment_values) - values = { - 'jobid': post['job_id'] - } - return request.website.render("website_hr_recruitment.thankyou", values) + request.registry['ir.attachment'].create(request.cr, request.uid, attachment_values, context=request.context) + return request.website.render("website_hr_recruitment.thankyou", {}) - @website.route(['/apply/'], type='http', auth="public", multilang=True) - def applyjobpost(self, job): + @website.route(['/job/apply', '/job/apply/'], type='http', auth="public", multilang=True) + def applyjobpost(self, job=None): return request.website.render("website_hr_recruitment.applyjobpost", { 'job': job }) @website.route('/job/publish', type='json', auth="admin", multilang=True) @@ -97,4 +83,3 @@ class website_hr_recruitment(http.Controller): hr_job.write(request.cr, request.uid, [rec.id], vals, context=request.context) return res -# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/website_hr_recruitment/views/website_hr_recruitment.xml b/addons/website_hr_recruitment/views/website_hr_recruitment.xml index 0901fe0dd04..fb378078027 100644 --- a/addons/website_hr_recruitment/views/website_hr_recruitment.xml +++ b/addons/website_hr_recruitment/views/website_hr_recruitment.xml @@ -16,29 +16,61 @@ @@ -57,12 +100,6 @@
-
- - - - -
@@ -86,7 +123,7 @@
- Apply + Apply
@@ -103,28 +140,39 @@ Apply Job
-

Apply for

+

+ Job Application Form +

+

+ +

+
- - - + +
- +
- +
- + +
+ +
+
+
+