Browse Source

Merge pull request #508 from StefanRijnhart/9.0-database_cleanup_fix_tests_access_denied

[RFR] Explicit access rights so that tests can run
pull/505/merge
Alexandre Fayolle 8 years ago
committed by GitHub
parent
commit
d04280870b
  1. 7
      .travis.yml
  2. 3
      database_cleanup/README.rst
  3. 8
      database_cleanup/models/purge_wizard.py
  4. 1
      database_cleanup/views/menu.xml

7
.travis.yml

@ -21,9 +21,10 @@ env:
matrix: matrix:
- LINT_CHECK="1" - LINT_CHECK="1"
- TRANSIFEX="1" - TRANSIFEX="1"
- TESTS="1" ODOO_REPO="odoo/odoo"
- TESTS="1" ODOO_REPO="OCA/OCB"
- UNIT_TEST="1"
- TESTS="1" ODOO_REPO="odoo/odoo" EXCLUDE=database_cleanup
- TESTS="1" ODOO_REPO="OCA/OCB" EXCLUDE=database_cleanup
- TESTS="1" ODOO_REPO="odoo/odoo" INCLUDE=database_cleanup
- TESTS="1" ODOO_REPO="OCA/OCB" INCLUDE=database_cleanup
virtualenv: virtualenv:
system_site_packages: true system_site_packages: true

3
database_cleanup/README.rst

@ -20,7 +20,8 @@ Usage
===== =====
After installation of this module, go to the Settings menu -> Technical -> After installation of this module, go to the Settings menu -> Technical ->
Database cleanup. Go through the modules, models, columns and tables
Database cleanup. This menu is only available to members of the *Access Rights*
group. Go through the modules, models, columns and tables
entries under this menu (in that order) and find out if there is orphaned data entries under this menu (in that order) and find out if there is orphaned data
in your database. You can either delete entries by line, or sweep all entries in your database. You can either delete entries by line, or sweep all entries
in one big step (if you are *really* confident). in one big step (if you are *really* confident).

8
database_cleanup/models/purge_wizard.py

@ -24,8 +24,8 @@ class CleanupPurgeLine(models.AbstractModel):
@api.model @api.model
def create(self, values): def create(self, values):
# make sure the user trying this is actually supposed to do it # make sure the user trying this is actually supposed to do it
if not self.env.ref('database_cleanup.menu_database_cleanup')\
.parent_id._filter_visible_menus():
if self.env.ref(
'base.group_erp_manager') not in self.env.user.groups_id:
raise AccessDenied raise AccessDenied
return super(CleanupPurgeLine, self).create(values) return super(CleanupPurgeLine, self).create(values)
@ -86,8 +86,8 @@ class PurgeWizard(models.AbstractModel):
@api.model @api.model
def create(self, values): def create(self, values):
# make sure the user trying this is actually supposed to do it # make sure the user trying this is actually supposed to do it
if not self.env.ref('database_cleanup.menu_database_cleanup')\
.parent_id._filter_visible_menus():
if self.env.ref(
'base.group_erp_manager') not in self.env.user.groups_id:
raise AccessDenied raise AccessDenied
return super(PurgeWizard, self).create(values) return super(PurgeWizard, self).create(values)

1
database_cleanup/views/menu.xml

@ -7,6 +7,7 @@
<field name="sequence" eval="10" /> <field name="sequence" eval="10" />
<!-- attach to Settings -> Technical --> <!-- attach to Settings -> Technical -->
<field name="parent_id" ref="base.menu_custom"/> <field name="parent_id" ref="base.menu_custom"/>
<field name="groups_id" eval="[(6,0, [ref('base.group_erp_manager')])]"/>
</record> </record>
<record model="ir.ui.menu" id="menu_purge_modules"> <record model="ir.ui.menu" id="menu_purge_modules">

Loading…
Cancel
Save