diff --git a/addons/website_hr_recruitment/__openerp__.py b/addons/website_hr_recruitment/__openerp__.py index 2b204c8c181..98257e2eb19 100644 --- a/addons/website_hr_recruitment/__openerp__.py +++ b/addons/website_hr_recruitment/__openerp__.py @@ -8,7 +8,7 @@ OpenERP Contact Form """, 'author': 'OpenERP SA', - 'depends': ['website', 'hr', 'hr_recruitment', 'website_mail'], + 'depends': ['website', 'hr', 'hr_recruitment'], 'data': [ 'views/website_hr_recruitment.xml', 'security/website_hr_recruitment_security.xml', diff --git a/addons/website_hr_recruitment/controllers/main.py b/addons/website_hr_recruitment/controllers/main.py index cafd4a61dd7..6d7990e2799 100644 --- a/addons/website_hr_recruitment/controllers/main.py +++ b/addons/website_hr_recruitment/controllers/main.py @@ -64,23 +64,27 @@ class website_hr_recruitment(http.Controller): return website.render("website_hr_recruitment.thankyou", values) @http.route('/recruitment/message_get_subscribed', type='json', auth="admin") - def message_get_subscribed(self, email, id): + def message_get_subscribed(self, email, id, mail_group_id): id = int(id) - hr_job = request.registry['hr.job'] + mail_group_id = int(mail_group_id) + group_obj = request.registry['mail.group'] partner_obj = request.registry['res.partner'] partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", email)]) if not partner_ids: partner_ids = [partner_obj.create(request.cr, SUPERUSER_ID, {"email": email, "name": "Subscribe: %s" % email})] - hr_job.write(request.cr, request.uid, [id], {'message_follower_ids': partner_ids}) + group_obj.check_access_rule(request.cr, request.uid, [mail_group_id], 'read') + group_obj.message_subscribe(request.cr, SUPERUSER_ID, [mail_group_id], partner_ids) return 1 @http.route('/recruitment/message_get_unsubscribed', type='json', auth="admin") - def message_get_unsubscribed(self, email, id): - hr_job = request.registry['hr.job'] + def message_get_unsubscribed(self, email, id, mail_group_id): + mail_group_id = int(mail_group_id) id = int(id) partner_obj = request.registry['res.partner'] + group_obj = request.registry['mail.group'] partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", email)]) - hr_job.write(request.cr, request.uid, [id], {'message_follower_ids': [(3, pid) for pid in partner_ids]}) + group_obj.check_access_rule(request.cr, request.uid, [mail_group_id], 'read') + group_obj.message_unsubscribe(request.cr, SUPERUSER_ID, [mail_group_id], partner_ids) return 1 # vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/website_hr_recruitment/static/src/js/recruitment.js b/addons/website_hr_recruitment/static/src/js/recruitment.js index 3dc33416c70..f86808b55eb 100644 --- a/addons/website_hr_recruitment/static/src/js/recruitment.js +++ b/addons/website_hr_recruitment/static/src/js/recruitment.js @@ -2,12 +2,14 @@ $(function () { $(document).on('click', 'button[name=subscribe]', function (e) { div = $(this).parent(); parent = $(this).parent().parent(); + groupid = $(this).siblings('input[name=group_id]').val(); id = $(this).parent().parent().attr('id'); email = $(this).siblings('div').find('input[name=email]').val(); - openerp.jsonRpc('/recruitment/message_get_subscribed', 'call', {'email': email, 'id': id}).then(function (result) { + openerp.jsonRpc('/recruitment/message_get_subscribed', 'call', {'email': email, 'id': id, 'mail_group_id': groupid}).then(function (result) { if (result == 1) { div.hide(); - parent.find('.hidden').find('input[type=hidden]').val(email); + console.log(parent.find('.hidden')) + parent.find('.hidden').find('input[type=hidden][name=email]').val(email); parent.find('.hidden').removeClass('hidden'); } }); @@ -16,7 +18,8 @@ $(function () { div = $(this).parent(); parent = $(this).parent().parent(); id = $(this).parent().parent().attr('id'); - openerp.jsonRpc('/recruitment/message_get_unsubscribed', 'call', {'email': $(this).siblings('input[name=email]').val(), 'id': id}).then(function (result) { + groupid = $(this).siblings('input[name=group_id]').val(); + openerp.jsonRpc('/recruitment/message_get_unsubscribed', 'call', {'email': $(this).siblings('input[name=email]').val(), 'id': id, 'mail_group_id': groupid}).then(function (result) { if (result == 1) { parent.find('.subscribedetails').show(); div.addClass('hidden'); diff --git a/addons/website_hr_recruitment/views/website_hr_recruitment.xml b/addons/website_hr_recruitment/views/website_hr_recruitment.xml index 8c06a431907..1ed011800b3 100644 --- a/addons/website_hr_recruitment/views/website_hr_recruitment.xml +++ b/addons/website_hr_recruitment/views/website_hr_recruitment.xml @@ -1,6 +1,11 @@ + + Jobs + public + Job Posts on your website +