3
0
Fork 0

[IMP] web_disable_export_group: black, isort, prettier

16.0
João Marques 2020-10-20 08:53:33 +01:00 committed by David
parent c3e58222e0
commit 429fae3670
6 changed files with 56 additions and 53 deletions

View File

@ -2,20 +2,13 @@
# Copyright 2018 Tecnativa - David Vidal
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
'name': 'Web Disable Export Group',
'version': '12.0.1.0.0',
'license': 'AGPL-3',
'author': 'Onestein, '
'Tecnativa, '
'Odoo Community Association (OCA)',
'website': 'https://github.com/OCA/web',
'category': 'Web',
'depends': [
'web',
],
'data': [
'security/groups.xml',
'templates/assets.xml',
],
'installable': True,
"name": "Web Disable Export Group",
"version": "12.0.1.0.0",
"license": "AGPL-3",
"author": "Onestein, " "Tecnativa, " "Odoo Community Association (OCA)",
"website": "https://github.com/OCA/web",
"category": "Web",
"depends": ["web",],
"data": ["security/groups.xml", "templates/assets.xml",],
"installable": True,
}

View File

@ -6,13 +6,15 @@ from odoo.http import request
class Http(models.AbstractModel):
_inherit = 'ir.http'
_inherit = "ir.http"
def session_info(self):
res = super(Http, self).session_info()
user = request.env.user
res.update({
'group_export_data': user and user.has_group(
'web_disable_export_group.group_export_data'),
})
res.update(
{
"group_export_data": user
and user.has_group("web_disable_export_group.group_export_data"),
}
)
return res

View File

@ -1,11 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 Onestein
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).-->
<odoo>
<record id="group_export_data" model="res.groups">
<field name="name">Export Data</field>
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
<field
name="users"
eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"
/>
</record>
</odoo>

View File

@ -2,7 +2,7 @@
Copyright 2018 Tecnativa - David Vidal
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */
odoo.define("web_disable_export_group", function(require) {
"use strict";
"use strict";
var core = require("web.core");
var Sidebar = require("web.Sidebar");
@ -10,10 +10,15 @@ odoo.define("web_disable_export_group", function(require) {
var _t = core._t;
Sidebar.include({
_addItems: function (sectionCode, items) {
_addItems: function(sectionCode, items) {
var _items = items;
if (!session.is_superuser && sectionCode === 'other' && items.length && !session.group_export_data) {
_items = _.reject(_items, {label:_t("Export")});
if (
!session.is_superuser &&
sectionCode === "other" &&
items.length &&
!session.group_export_data
) {
_items = _.reject(_items, {label: _t("Export")});
}
this._super(sectionCode, _items);
},

View File

@ -1,11 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 Onestein
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).-->
<odoo>
<template id="assets_backend" name="web_disable_export_group assets" inherit_id="web.assets_backend">
<template
id="assets_backend"
name="web_disable_export_group assets"
inherit_id="web.assets_backend"
>
<xpath expr="." position="inside">
<script type="text/javascript" src="/web_disable_export_group/static/src/js/disable_export_group.js"></script>
<script
type="text/javascript"
src="/web_disable_export_group/static/src/js/disable_export_group.js"
/>
</xpath>
</template>
</odoo>

View File

@ -2,38 +2,34 @@
# Copyright 2019 Alexandre Díaz - <dev@redneboa.es>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from mock import patch
from odoo.api import Environment
from odoo.tests.common import SavepointCase
from mock import patch
class TestDisableExportGroup(SavepointCase):
@patch('odoo.addons.base_setup.models.ir_http.request')
@patch('odoo.addons.web_disable_export_group.models.ir_http.request')
@patch('odoo.addons.web.models.ir_http.request')
@patch('odoo.addons.web_tour.models.ir_http.request')
@patch("odoo.addons.base_setup.models.ir_http.request")
@patch("odoo.addons.web_disable_export_group.models.ir_http.request")
@patch("odoo.addons.web.models.ir_http.request")
@patch("odoo.addons.web_tour.models.ir_http.request")
def test_session_info(self, request, request1, request2, request3):
request.env = self.env
request1.env = self.env
request2.env = self.env
request3.env = self.env
session_info = self.env['ir.http'].session_info()
self.assertTrue(session_info['group_export_data'])
session_info = self.env["ir.http"].session_info()
self.assertTrue(session_info["group_export_data"])
@patch('odoo.addons.base_setup.models.ir_http.request')
@patch('odoo.addons.web_disable_export_group.models.ir_http.request')
@patch('odoo.addons.web.models.ir_http.request')
@patch('odoo.addons.web_tour.models.ir_http.request')
def test_session_info_not_allowed(self, request, request1, request2,
request3):
demo_env = Environment(
self.env.cr,
self.env.ref('base.default_user').id,
{}
)
@patch("odoo.addons.base_setup.models.ir_http.request")
@patch("odoo.addons.web_disable_export_group.models.ir_http.request")
@patch("odoo.addons.web.models.ir_http.request")
@patch("odoo.addons.web_tour.models.ir_http.request")
def test_session_info_not_allowed(self, request, request1, request2, request3):
demo_env = Environment(self.env.cr, self.env.ref("base.default_user").id, {})
request.env = demo_env
request1.env = demo_env
request2.env = demo_env
request3.env = demo_env
session_info = demo_env['ir.http'].session_info()
self.assertFalse(session_info['group_export_data'])
session_info = demo_env["ir.http"].session_info()
self.assertFalse(session_info["group_export_data"])