[IMP] mail_follower: unique field widget, sub-types on click
bzr revid: chm@openerp.com-20120924095616-keuji387bvy6pmcs
This commit is contained in:
parent
267fdcff2f
commit
f47111449c
|
@ -278,11 +278,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -441,11 +437,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -108,11 +108,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -239,11 +239,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -412,11 +408,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -146,11 +146,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -305,11 +301,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -53,11 +53,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -229,11 +229,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -223,11 +223,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -529,11 +525,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -149,11 +149,7 @@
|
|||
<field name="description" placeholder="Description..."/>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -181,11 +181,7 @@
|
|||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -99,11 +99,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -197,11 +197,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -483,11 +479,7 @@
|
|||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -139,11 +139,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -121,11 +121,7 @@
|
|||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -162,11 +158,7 @@
|
|||
<field name="notes" nolabel="1" colspan="4" placeholder="Add a reason..."/>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -183,11 +183,7 @@
|
|||
<field name="description" placeholder="Feedback of interviews..."/>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -77,11 +77,7 @@
|
|||
<field name="description"/>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -15,12 +15,10 @@
|
|||
<field name="priority" eval="10"/>
|
||||
<field name="arch" type="xml">
|
||||
<kanban>
|
||||
<field name="message_is_follower"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids"/>
|
||||
<field name="message_is_follower"/>
|
||||
<field name="message_summary"/>
|
||||
<field name="description"/>
|
||||
<templates>
|
||||
<t t-name="kanban-description">
|
||||
<div class="oe_group_description" t-if="record.description.raw_value">
|
||||
|
@ -84,12 +82,8 @@
|
|||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"
|
||||
options='{"thread_level": 1}'/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -169,6 +169,7 @@ class mail_thread(osv.AbstractModel):
|
|||
for subtype in fol.subtype_ids:
|
||||
thread_subtype_dict[subtype.name]['followed'] = True
|
||||
res[fol.res_id]['message_subtype_data'] = thread_subtype_dict
|
||||
|
||||
return res
|
||||
|
||||
def _search_unread(self, cr, uid, obj=None, name=None, domain=None, context=None):
|
||||
|
@ -679,6 +680,11 @@ class mail_thread(osv.AbstractModel):
|
|||
partner_ids = [user.partner_id.id for user in self.pool.get('res.users').browse(cr, uid, user_ids, context=context)]
|
||||
return self.message_subscribe(cr, uid, ids, partner_ids, subtype_ids=subtype_ids, context=context)
|
||||
|
||||
def get_message_subtypes(self, cr, uid, ids, context=None):
|
||||
""" message_subtype_data: data about document subtypes: which are
|
||||
available, which are followed if any """
|
||||
return self._get_subscription_data(cr, uid, ids, None, None, context=context)
|
||||
|
||||
def message_subscribe(self, cr, uid, ids, partner_ids, subtype_ids=None, context=None):
|
||||
""" Add partners to the records followers. """
|
||||
self.write(cr, uid, ids, {'message_follower_ids': [(4, pid) for pid in partner_ids]}, context=context)
|
||||
|
|
|
@ -9,12 +9,8 @@
|
|||
<field name="arch" type="xml">
|
||||
<xpath expr="//sheet" position="after">
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"
|
||||
options='{"thread_level": 1}'/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</xpath>
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
/* Wall
|
||||
/* ------------------------------------------------------------ */
|
||||
|
@ -37,6 +36,29 @@
|
|||
list-style-type: none;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
/* Followers
|
||||
/* ------------------------------------------------------------ */
|
||||
|
||||
.openerp div.oe_mail_recthread_aside h4 {
|
||||
display: inline-block;
|
||||
}
|
||||
.openerp div.oe_mail_recthread_aside button {
|
||||
position: relative;
|
||||
}
|
||||
.openerp div.oe_mail_recthread_aside label,
|
||||
.openerp div.oe_mail_recthread_aside input {
|
||||
cursor:pointer;
|
||||
}
|
||||
.openerp div.oe_mail_recthread_subtypes {
|
||||
display:none;
|
||||
}
|
||||
.openerp div.oe_mail_recthread_aside button span {
|
||||
position: absolute;
|
||||
top:-7px;
|
||||
right:5px;
|
||||
}
|
||||
|
||||
/* Specific display of threads in the wall */
|
||||
/* ------------------------------------------------------------ */
|
||||
|
||||
|
@ -113,15 +135,6 @@
|
|||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
/* Followers
|
||||
/* ------------------------------------------------------------ */
|
||||
|
||||
.openerp div.oe_mail_recthread_aside h4 {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
/* Thread
|
||||
/* ------------------------------------------------------------ */
|
||||
|
|
|
@ -27,9 +27,9 @@ openerp_mail_followers = function(session, mail) {
|
|||
this.options.image = this.node.attrs.image || 'image_small';
|
||||
this.options.title = this.node.attrs.title || 'Followers';
|
||||
this.ds_model = new session.web.DataSetSearch(this, this.view.model);
|
||||
this.sub_model = new session.web.DataSetSearch(this,'mail.message.subtype')
|
||||
this.sub_model = new session.web.DataSetSearch(this,'mail.message.subtype');
|
||||
this.ds_follow = new session.web.DataSetSearch(this, this.field.relation);
|
||||
this.follower_model = new session.web.DataSetSearch(this,'mail.followers')
|
||||
this.follower_model = new session.web.DataSetSearch(this,'mail.followers');
|
||||
},
|
||||
|
||||
start: function() {
|
||||
|
@ -51,11 +51,12 @@ openerp_mail_followers = function(session, mail) {
|
|||
|
||||
bind_events: function() {
|
||||
var self = this;
|
||||
this.$el.find('button.oe_mail_button_unfollow').on('click', function () { self.do_unfollow(); })
|
||||
.mouseover(function () { $(this).html('Unfollow').removeClass('oe_mail_button_mouseout').addClass('oe_mail_button_mouseover'); })
|
||||
.mouseleave(function () { $(this).html('Following').removeClass('oe_mail_button_mouseover').addClass('oe_mail_button_mouseout'); });
|
||||
this.$el.on('click', 'button.oe_mail_button_follow', function () { self.do_follow(); });
|
||||
this.$el.on('click', 'ul.oe_mail_subtypes', function () {self.do_update_subscription(); })
|
||||
this.$el.find('button.oe_mail_button_unfollow').on('click', function () { self.do_unfollow(); self.clear_subtypes(); })
|
||||
.mouseover(function () { $(this).removeClass('oe_mail_button_mouseout').addClass('oe_mail_button_mouseover').find('p').html('Unfollow');})
|
||||
.mouseleave(function () { $(this).removeClass('oe_mail_button_mouseover').addClass('oe_mail_button_mouseout').find('p').html('Following'); });
|
||||
|
||||
this.$el.on('click', 'button.oe_mail_button_follow', function () { self.do_follow(); self.clear_subtypes(); });
|
||||
this.$el.on('click', 'ul.oe_mail_subtypes input', function () {self.do_update_subscription(); })
|
||||
this.$el.on('click', 'button.oe_mail_button_invite', function(event) {
|
||||
action = {
|
||||
type: 'ir.actions.act_window',
|
||||
|
@ -71,37 +72,34 @@ openerp_mail_followers = function(session, mail) {
|
|||
}
|
||||
self.do_action(action, function() { self.read_value(); });
|
||||
});
|
||||
|
||||
this.$el.find('button span')
|
||||
.click(function (e) { self.display_subtypes(); e.stopPropagation(); })
|
||||
},
|
||||
|
||||
read_value: function() {
|
||||
var self = this;
|
||||
return this.ds_model.read_ids([this.view.datarecord.id], ['message_follower_ids', 'message_is_follower', 'message_subtype_data']).pipe(function (results) {
|
||||
self.set_value(results[0].message_follower_ids, results[0].message_is_follower, results[0].message_subtype_data);
|
||||
return this.ds_model.read_ids([this.view.datarecord.id], ['message_follower_ids']).pipe(function (results) {
|
||||
self.set_value(results[0].message_follower_ids);
|
||||
});
|
||||
},
|
||||
|
||||
get_or_set: function(field_name, value) {
|
||||
if (this.view.fields[field_name]) {
|
||||
if (value !== undefined) {
|
||||
this.view.fields[field_name].set_value(value);
|
||||
}
|
||||
return this.view.fields[field_name].get_value();
|
||||
}
|
||||
else {
|
||||
return value;
|
||||
}
|
||||
set_value: function(value_) {
|
||||
console.log("set_value", value_);
|
||||
this.reinit();
|
||||
return this.fetch_followers(value_ || this.get_value());
|
||||
},
|
||||
|
||||
set_value: function(value_, message_is_follower_value_, message_subtype_data_value_) {
|
||||
this.reinit();
|
||||
if (! this.view.datarecord.id ||
|
||||
session.web.BufferedDataSet.virtual_id_regex.test(this.view.datarecord.id)) {
|
||||
this.$el.find('div.oe_mail_recthread_aside').hide();
|
||||
return;
|
||||
set_is_follower: function(value_) {
|
||||
for(var i in value_){
|
||||
if(value_[i]['user_ids'][0]==this.session.uid)
|
||||
this.message_is_follower=true;
|
||||
this.display_buttons();
|
||||
return true;
|
||||
}
|
||||
this.message_is_follower_value_ = this.get_or_set('message_is_follower', message_is_follower_value_) || false;
|
||||
this.message_subtype_data_value_ = this.get_or_set('message_subtype_data', message_subtype_data_value_) || {};
|
||||
return this.fetch_followers(value_ || this.get_value());
|
||||
this.message_is_follower=false;
|
||||
this.display_buttons();
|
||||
return false;
|
||||
},
|
||||
|
||||
fetch_followers: function (value_, message_is_follower) {
|
||||
|
@ -136,12 +134,11 @@ openerp_mail_followers = function(session, mail) {
|
|||
record.avatar_url = mail.ChatterUtils.get_image(self.session, 'res.partner', 'image_small', record.id);
|
||||
$(session.web.qweb.render('mail.followers.partner', {'record': record})).appendTo(node_user_list);
|
||||
});
|
||||
this.display_buttons();
|
||||
return this.display_subtypes(this.message_subtype_data_value_);
|
||||
self.set_is_follower(records);
|
||||
},
|
||||
|
||||
display_buttons: function () {
|
||||
if (this.message_is_follower_value_) {
|
||||
if (this.message_is_follower) {
|
||||
this.$el.find('button.oe_mail_button_follow').hide();
|
||||
this.$el.find('button.oe_mail_button_unfollow').show();
|
||||
}
|
||||
|
@ -156,24 +153,48 @@ openerp_mail_followers = function(session, mail) {
|
|||
this.$el.find('span.oe_mail_invite_wrapper').show();
|
||||
},
|
||||
|
||||
/** Display subtypes: {'name': default, followed} */
|
||||
display_subtypes: function (records) {
|
||||
var subtype_list = this.$el.find('ul.oe_mail_subtypes').empty();
|
||||
if (! this.message_is_follower_value_) {
|
||||
return;
|
||||
}
|
||||
set_subtypes:function(data){
|
||||
var self = this;
|
||||
var records = data[this.view.datarecord.id].message_subtype_data;
|
||||
_(records).each(function (record, record_name) {
|
||||
record.name = record_name;
|
||||
record.followed = record.followed || undefined;
|
||||
$(session.web.qweb.render('mail.followers.subtype', {'record': record})).appendTo(subtype_list);
|
||||
$(session.web.qweb.render('mail.followers.subtype', {'record': record})).appendTo( self.$el.find('ul.oe_mail_subtypes') );
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/** Display subtypes: {'name': default, followed} */
|
||||
display_subtypes: function () {
|
||||
var self = this;
|
||||
var recthread_subtypes = self.$el.find('.oe_mail_recthread_subtypes');
|
||||
subtype_list_ul = self.$el.find('ul.oe_mail_subtypes');
|
||||
|
||||
if(recthread_subtypes.is(":visible")) {
|
||||
self.hidden_subtypes();
|
||||
} else {
|
||||
if(subtype_list_ul.is(":empty")) {
|
||||
var context = new session.web.CompoundContext(this.build_context(), {});
|
||||
this.ds_model.call('get_message_subtypes',[[self.view.datarecord.id], context]).pipe(this.proxy('set_subtypes'));
|
||||
}
|
||||
|
||||
recthread_subtypes.show();
|
||||
}
|
||||
},
|
||||
|
||||
clear_subtypes: function(){
|
||||
this.$el.find('ul.oe_mail_subtypes').empty();
|
||||
this.hidden_subtypes();
|
||||
},
|
||||
|
||||
hidden_subtypes: function (){
|
||||
this.$el.find('.oe_mail_recthread_subtypes').hide();
|
||||
},
|
||||
|
||||
do_follow: function () {
|
||||
var context = new session.web.CompoundContext(this.build_context(), {});
|
||||
return this.ds_model.call('message_subscribe_users', [[this.view.datarecord.id], undefined, undefined, context]).pipe(this.proxy('read_value'));
|
||||
},
|
||||
|
||||
|
||||
do_unfollow: function () {
|
||||
var context = new session.web.CompoundContext(this.build_context(), {});
|
||||
return this.ds_model.call('message_unsubscribe_users', [[this.view.datarecord.id], undefined, context]).pipe(this.proxy('read_value'));
|
||||
|
@ -182,13 +203,15 @@ openerp_mail_followers = function(session, mail) {
|
|||
do_update_subscription: function () {
|
||||
var context = new session.web.CompoundContext(this.build_context(), {});
|
||||
var self = this;
|
||||
|
||||
var checklist = new Array();
|
||||
_(this.$el.find('.oe_msg_subtype_check')).each(function(record){
|
||||
if($(record).is(':checked')) {
|
||||
checklist.push(parseInt($(record).attr('id')))}
|
||||
checklist.push(parseInt($(record).data('id')))}
|
||||
});
|
||||
|
||||
return this.ds_model.call('message_subscribe_users',[[self.view.datarecord.id], undefined, checklist, context]).pipe(this.proxy('read_value'));
|
||||
},
|
||||
|
||||
});
|
||||
};
|
||||
};
|
|
@ -7,9 +7,9 @@
|
|||
-->
|
||||
<div t-name="mail.followers" class="oe_mail_recthread_aside oe_semantic_html_override">
|
||||
<div class="oe_mail_recthread_actions">
|
||||
<button type="button" class="oe_mail_button_follow">Follow</button>
|
||||
<button type="button" class="oe_mail_button_unfollow oe_mail_button_mouseout">Following</button>
|
||||
<button type="button" class="oe_mail_button_invite">Invite</button>
|
||||
<button type="button" class="oe_mail_button_follow"><p>Follow</p><span class="oe_e">S</span></button>
|
||||
<button type="button" class="oe_mail_button_unfollow oe_mail_button_mouseout"><p>Following</p><span class="oe_e">S</span></button>
|
||||
<button type="button" class="oe_mail_button_invite"><p>Invite</p></button>
|
||||
<div class="oe_mail_recthread_subtypes">
|
||||
<h4>Message types to follow</h4>
|
||||
<ul class="oe_mail_subtypes"></ul>
|
||||
|
@ -39,8 +39,8 @@
|
|||
<li t-name="mail.followers.subtype">
|
||||
<table width="50%">
|
||||
<tr>
|
||||
<td><t t-raw="record.name"/></td>
|
||||
<td width="10%"><input type="checkbox" t-att-checked="record.followed" t-att-id="record.id" t-att-name="record.name" class="oe_msg_subtype_check"/></td>
|
||||
<td><label t-att-for="'input_mail_followers_subtype_'+record.id"><t t-raw="record.name"/></label></td>
|
||||
<td width="10%"><input type="checkbox" t-att-checked="record.followed" t-att-id="'input_mail_followers_subtype_'+record.id" t-att-data-id="record.id" t-att-name="record.name" class="oe_msg_subtype_check"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
|
|
|
@ -410,9 +410,6 @@
|
|||
</notebook>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -790,11 +787,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -107,11 +107,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -189,11 +189,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
<field name="memo"/>
|
||||
<field name="date_done"/>
|
||||
<field name="current_partner_id"/>
|
||||
<field name="message_is_follower"/>
|
||||
<field name="message_follower_ids"/>
|
||||
<field name="tag_ids"/>
|
||||
<templates>
|
||||
|
@ -119,9 +118,6 @@
|
|||
</header>
|
||||
<field name="memo" widget="html"/><!-- editor_width="100%%" editor_height="60%%" -->
|
||||
<div class="oe_chatter">
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
<field class="oe_chatter" name="message_ids" widget="mail_thread"/>
|
||||
</div>
|
||||
|
|
|
@ -103,11 +103,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -203,11 +203,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -152,11 +152,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -482,11 +478,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -161,11 +161,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -285,11 +285,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -103,9 +103,6 @@
|
|||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -351,11 +351,7 @@
|
|||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -917,11 +917,7 @@
|
|||
</xpath>
|
||||
<xpath expr="/form/sheet" position="after">
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</xpath>
|
||||
|
@ -1047,11 +1043,7 @@
|
|||
</xpath>
|
||||
<xpath expr="/form/sheet" position="after">
|
||||
<div class="oe_chatter">
|
||||
<field name="message_is_follower" invisible="1"/>
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
<!-- Invisible fields used in chatter widgets -->
|
||||
<field name="message_subtype_data" invisible="True"/>
|
||||
<field name="message_is_follower" invisible="True"/>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
</div>
|
||||
</xpath>
|
||||
|
|
Loading…
Reference in New Issue