[IMP]Improved code for add group and subscribe using mail group.

bzr revid: bth@tinyerp.com-20130904132628-hcubl7wo85euxni9
This commit is contained in:
bth-openerp 2013-09-04 18:56:28 +05:30
parent d22223df14
commit fdb48df20f
4 changed files with 24 additions and 10 deletions

View File

@ -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',

View File

@ -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:

View File

@ -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');

View File

@ -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>