Skip to content

Commit

Permalink
Merge pull request #179 from yelizariev/10.0-fix-only-string-channels…
Browse files Browse the repository at this point in the history
…-are-allowed

🚑 polling error on database concurrency error
  • Loading branch information
Ivan Yelizariev authored Feb 16, 2019
2 parents 87505d6 + 07a9248 commit 56281d9
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 15 deletions.
2 changes: 1 addition & 1 deletion mail_base/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"summary": """Makes Mail extendable""",
"category": "Discuss",
"images": [],
"version": "1.0.4",
"version": "10.0.1.0.5",

"author": "IT-Projects LLC, Pavel Romanchenko",
"support": "[email protected]",
Expand Down
1 change: 1 addition & 0 deletions mail_base/controllers/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ class MailChatController(BusController):

def _poll(self, dbname, channels, last, options):
if request.session.uid:
channels = list(channels) # do not alter original list
channels.append((request.db, 'mail_base.mail_sent'))

return super(MailChatController, self)._poll(dbname, channels, last, options)
4 changes: 4 additions & 0 deletions mail_base/doc/changelog.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
`1.0.5`
-------
**FIX**: polling errors on heavy server load

`1.0.4`
-------
**FIX**: issue related to clear cache
Expand Down
2 changes: 1 addition & 1 deletion mail_move_message/__manifest__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
{
'name': 'Mail relocation',
'version': '1.0.5',
'version': '10.0.1.0.6',
'author': 'IT-Projects LLC, Ivan Yelizariev, Pavel Romanchenko',
'license': 'LGPL-3',
'category': 'Discuss',
Expand Down
1 change: 1 addition & 0 deletions mail_move_message/controllers/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ class MailChatController(BusController):

def _poll(self, dbname, channels, last, options):
if request.session.uid:
channels = list(channels) # do not alter original list
channels.append((request.db, 'mail_move_message'))
channels.append((request.db, 'mail_move_message.delete_message'))
return super(MailChatController, self)._poll(dbname, channels, last, options)
Expand Down
4 changes: 4 additions & 0 deletions mail_move_message/doc/changelog.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
`1.0.6`
-------
**FIX**: polling errors on heavy server load

`1.0.5`
-------

Expand Down
4 changes: 4 additions & 0 deletions mail_move_message/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
=================
Mail relocation
=================

21 changes: 8 additions & 13 deletions mail_move_message/mail_move_message_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ def default_get(self, fields_list):
parent_id = fields.Many2one('mail.message', string='Search by name', )
model = fields.Selection(_model_selection, string='Model')
res_id = fields.Integer(string='Record')
can_move = fields.Boolean('Can move', compute='get_can_move')
can_move = fields.Boolean('Can move', compute='_compute_can_move')
move_back = fields.Boolean('MOVE TO ORIGIN', help='Move message and submessages to original place')
partner_id = fields.Many2one('res.partner', string='Author')
filter_by_partner = fields.Boolean('Filter Records by partner')
Expand All @@ -88,15 +88,10 @@ def default_get(self, fields_list):

@api.depends('message_id')
@api.multi
def get_can_move(self):
def _compute_can_move(self):
for r in self:
r.get_can_move_one()

@api.multi
def get_can_move_one(self):
self.ensure_one()
# message was not moved before OR message is a top message of previous move
self.can_move = not self.message_id.moved_by_message_id or self.message_id.moved_by_message_id.id == self.message_id.id
# message was not moved before OR message is a top message of previous move
r.can_move = not r.message_id.moved_by_message_id or r.message_id.moved_by_message_id.id == r.message_id.id

@api.onchange('move_back')
def on_change_move_back(self):
Expand Down Expand Up @@ -269,15 +264,15 @@ class MailMessage(models.Model):
moved_from_parent_id = fields.Many2one('mail.message', 'Parent Message (Original)', ondelete='set null')
moved_by_message_id = fields.Many2one('mail.message', 'Moved by message', ondelete='set null', help='Top message, that initate moving this message')
moved_by_user_id = fields.Many2one('res.users', 'Moved by user', ondelete='set null')
all_child_ids = fields.One2many('mail.message', string='All childs', compute='_get_all_childs', help='all childs, including subchilds')
all_child_ids = fields.One2many('mail.message', string='All childs', compute='_compute_all_childs', help='all childs, including subchilds')

@api.multi
def _get_all_childs(self, include_myself=True):
def _compute_all_childs(self, include_myself=True):
for r in self:
r._get_all_childs_one(include_myself=include_myself)
r._compute_all_childs_one(include_myself=include_myself)

@api.multi
def _get_all_childs_one(self, include_myself=True):
def _compute_all_childs_one(self, include_myself=True):
self.ensure_one()
ids = []
if include_myself:
Expand Down

0 comments on commit 56281d9

Please sign in to comment.