Jelajahi Sumber

commit inicial

Rodney Enciso Arias 7 tahun lalu
melakukan
6065327a09
6 mengubah file dengan 125 tambahan dan 0 penghapusan
  1. 22 0
      __init__.py
  2. TEMPAT SAMPAH
      __init__.pyc
  3. 35 0
      __openerp__.py
  4. 45 0
      groups.py
  5. TEMPAT SAMPAH
      groups.pyc
  6. 23 0
      views/groups.xml

+ 22 - 0
__init__.py

@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from . import groups

TEMPAT SAMPAH
__init__.pyc


+ 35 - 0
__openerp__.py

@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+
+{
+    'name': 'Group Menu No Access',
+    'version': '0.1',
+    "category": "Access",
+    'description': """
+        Group Menu No Access
+    """,
+    'author': 'Cesar Lage',
+    'depends': ['base'],
+    'data': [
+        'views/groups.xml'
+    ],
+}

+ 45 - 0
groups.py

@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Business Applications
+#    Copyright (c) 2012 OpenERP S.A. <http://openerp.com>
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+from openerp import models, fields, api, SUPERUSER_ID
+
+
+class ResGroups(models.Model):
+    _inherit = 'res.groups'
+
+    menu_no_access = fields.Many2many('ir.ui.menu', 'ir_ui_menu_no_group_rel',
+                                      'group_id', 'menu_id', 'No Access Menu')
+
+
+class IrUiMenu(models.Model):
+    _inherit = 'ir.ui.menu'
+
+    no_groups = fields.Many2many('res.groups', 'ir_ui_menu_no_group_rel',
+                                 'menu_id', 'group_id', 'No Groups')
+
+    @api.multi
+    @api.returns('self')
+    def _filter_visible_menus(self):
+        menus = super(IrUiMenu, self)._filter_visible_menus()
+
+        if self.env.user.id != SUPERUSER_ID:
+            groups = self.env.user.groups_id
+            menus = menus.filtered(lambda menu: not(menu.no_groups & groups))
+        return menus

TEMPAT SAMPAH
groups.pyc


+ 23 - 0
views/groups.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<openerp>
+    <data>
+        
+        <record id="no_access_menu_view_groups_form" model="ir.ui.view" >
+            <field name="name">no.access.menu.view.groups.form</field>
+            <field name="model">res.groups</field>
+            <field name="inherit_id" ref="base.view_groups_form"/>
+            <field name="arch" type="xml">
+                
+                <field name="menu_access" position="before" >
+                    <separator string="Allow Access"/>
+                </field>
+                <field name="menu_access" position="after" >
+                    <separator string="Deny Access"/>
+                    <field name="menu_no_access" />
+                </field>
+                
+            </field>
+        </record>
+
+    </data>
+</openerp>