[IMP]Improved code for add group and subscribe using mail group.
bzr revid: bth@tinyerp.com-20130904132628-hcubl7wo85euxni9
This commit is contained in:
parent
d22223df14
commit
fdb48df20f
|
@ -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',
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="website_mail_jobs" model="mail.group">
|
||||
<field name="name">Jobs</field>
|
||||
<field name="public">public</field>
|
||||
<field name="description">Job Posts on your website</field>
|
||||
</record>
|
||||
<template id="job_footer_custom" inherit_id="website.layout" name="Custom Footer Job">
|
||||
<xpath expr="//body/footer//a[@href='/page/website.aboutus']" position="after">
|
||||
<li><a href="/jobs">Jobs</a></li>
|
||||
|
@ -66,6 +71,7 @@
|
|||
</div>
|
||||
<button class="btn btn-primary" name="subscribe">Subscribe</button>
|
||||
<input type="hidden" name="recid" t-att-value="job.id"/>
|
||||
<input type="hidden" name="group_id" t-att-value="%(website_hr_recruitment.website_mail_jobs)d"/>
|
||||
</div>
|
||||
<div class="hidden">
|
||||
<div class="alert alert-dismissable alert-success">
|
||||
|
@ -73,6 +79,7 @@
|
|||
<strong>Oh great!</strong> You are successfully subscribed email notifications for a <a t-att-href="'/job/detail/%%s' %% job.id" class="alert-link"><t t-esc="job.name"/></a> job.
|
||||
</div>
|
||||
<input type="hidden" name="email"/>
|
||||
<input type="hidden" name="group_id" t-att-value="%(website_hr_recruitment.website_mail_jobs)d"/>
|
||||
<button type="submit" class="btn" name="unsubscribe">Unsubscribe</button>
|
||||
</div>
|
||||
</t>
|
||||
|
|
Loading…
Reference in New Issue