forked from Techsystech/web
[IMP] web_disable_export_group: black, isort, prettier
parent
c3e58222e0
commit
429fae3670
|
@ -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,
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -2,10 +2,11 @@
|
|||
<!-- 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>
|
||||
|
|
|
@ -12,7 +12,12 @@ odoo.define("web_disable_export_group", function(require) {
|
|||
Sidebar.include({
|
||||
_addItems: function(sectionCode, items) {
|
||||
var _items = items;
|
||||
if (!session.is_superuser && sectionCode === 'other' && items.length && !session.group_export_data) {
|
||||
if (
|
||||
!session.is_superuser &&
|
||||
sectionCode === "other" &&
|
||||
items.length &&
|
||||
!session.group_export_data
|
||||
) {
|
||||
_items = _.reject(_items, {label: _t("Export")});
|
||||
}
|
||||
this._super(sectionCode, _items);
|
||||
|
|
|
@ -2,10 +2,16 @@
|
|||
<!-- 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>
|
||||
|
|
|
@ -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"])
|
||||
|
|
Loading…
Reference in New Issue