Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚑 polling error on database concurrency error #179

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Someone has to test it

`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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Someone has to test it

`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