From 2cf0fea232a5ab2841fe31bad5ee922556be7b3f Mon Sep 17 00:00:00 2001 From: Mathias Markl Date: Mon, 14 May 2018 03:09:52 +0200 Subject: [PATCH] . --- muk_web_client_refresh/models/refresh_rule.py | 133 ------------------ .../security/ir.model.access.csv | 3 - .../static/description/demo.mp4 | Bin 6385546 -> 0 bytes muk_web_client_refresh/tests/__init__.py | 23 --- muk_web_client_refresh/tests/test_refresh.py | 76 ---------- muk_web_client_refresh/views/refresh_menu.xml | 27 ---- .../views/refresh_rule_view.xml | 65 --------- muk_web_preview_mail/tests/test_mail_parse.py | 2 +- muk_web_preview_rst/tests/test_rst.py | 2 +- 9 files changed, 2 insertions(+), 329 deletions(-) delete mode 100644 muk_web_client_refresh/models/refresh_rule.py delete mode 100644 muk_web_client_refresh/security/ir.model.access.csv delete mode 100644 muk_web_client_refresh/static/description/demo.mp4 delete mode 100644 muk_web_client_refresh/tests/__init__.py delete mode 100644 muk_web_client_refresh/tests/test_refresh.py delete mode 100644 muk_web_client_refresh/views/refresh_menu.xml delete mode 100644 muk_web_client_refresh/views/refresh_rule_view.xml diff --git a/muk_web_client_refresh/models/refresh_rule.py b/muk_web_client_refresh/models/refresh_rule.py deleted file mode 100644 index bfb2567..0000000 --- a/muk_web_client_refresh/models/refresh_rule.py +++ /dev/null @@ -1,133 +0,0 @@ -# -*- coding: utf-8 -*- - -################################################################################### -# -# Copyright (C) 2017 MuK IT GmbH -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import _ -from odoo import models, modules, api, fields -from odoo.exceptions import ValidationError, AccessError - -_logger = logging.getLogger(__name__) - -class RefreshRule(models.Model): - _name = 'muk_web_client_refresh.rule' - _description = "Auto Refresh Rule" - - name = fields.Char( - string="Name", - required=True) - - model = fields.Many2one( - 'ir.model', - string="Model", - required=True, - help="Select model for which you want to refresh the corresponding views.") - - refresh_create = fields.Boolean( - string="Refresh on Create", - default=True) - - refresh_write = fields.Boolean( - string="Refresh on Writes", - default=True) - - refresh_unlink = fields.Boolean( - string="Refresh on Unlink", - default=True) - - _sql_constraints = [ - ('model_uniq', 'unique(model)', - ("There is already a rule defined on this model.")) - ] - - def _register_hook(self): - super(RefreshRule, self)._register_hook() - return self._patch_methods() - - @api.multi - def _patch_methods(self): - for rule in self: - model = self.env[rule.model.model] - if rule.refresh_create: - model._patch_method('create', rule._make_create()) - if rule.refresh_write: - model._patch_method('write', rule._make_write()) - if rule.refresh_unlink: - model._patch_method('unlink', rule._make_unlink()) - - @api.multi - def _revert_methods(self): - for rule in self: - model = self.env[rule.model.model] - for method in ['create', 'write', 'unlink']: - if getattr(rule, 'refresh_%s' % method) and hasattr(getattr(model, method), 'origin'): - model._revert_method(method) - - @api.model - def create(self, vals): - record = super(RefreshRule, self).create(vals) - record._register_hook() - modules.registry.Registry(self.env.cr.dbname).signal_changes() - return record - - @api.multi - def write(self, vals): - self._revert_methods() - result = super(RefreshRule, self).write(vals) - self._patch_methods() - modules.registry.Registry(self.env.cr.dbname).signal_changes() - return result - - @api.multi - def unlink(self): - self._revert_methods() - modules.registry.Registry(self.env.cr.dbname).signal_changes() - return super(RefreshRule, self).unlink() - - @api.multi - def _make_create(self): - @api.model - @api.returns('self', lambda value: value.id) - def create_refresh(self, vals, **kwargs): - result = create_refresh.origin(self, vals, **kwargs) - self.env['bus.bus'].sendone('refresh', [self.env.cr.dbname, self._name, self._uid]) - - - return result - return create_refresh - - @api.multi - def _make_write(self): - @api.multi - def write_refresh(self, vals, **kwargs): - result = write_refresh.origin(self, vals, **kwargs) - self.env['bus.bus'].sendone('refresh', [self.env.cr.dbname, self._name, self._uid]) - return result - return write_refresh - - @api.multi - def _make_unlink(self): - @api.multi - def unlink_refresh(self, **kwargs): - result = unlink_refresh.origin(self, **kwargs) - self.env['bus.bus'].sendone('refresh', [self.env.cr.dbname, self._name, self._uid]) - return result - return unlink_refresh \ No newline at end of file diff --git a/muk_web_client_refresh/security/ir.model.access.csv b/muk_web_client_refresh/security/ir.model.access.csv deleted file mode 100644 index 0829074..0000000 --- a/muk_web_client_refresh/security/ir.model.access.csv +++ /dev/null @@ -1,3 +0,0 @@ -id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink - -access_refresh_rule_manager,refresh_rule_manager,model_muk_web_client_refresh_rule,base.group_erp_manager,1,1,1,1 diff --git a/muk_web_client_refresh/static/description/demo.mp4 b/muk_web_client_refresh/static/description/demo.mp4 deleted file mode 100644 index fa0d9dfc2d619622fc2d7caa5099f89be12832e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6385546 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