Public bug reported:

If you change a module's ir.model.access.csv file by removing the
group_id from one of the records, it won't actually update the field to
null on that record.

I found the problem while upgrading from 5.0 to 6.1, because the base
module's security record for ir.module.category removed the group id.
When I upgraded my database, regular users could no longer change their
own password.

Steps to reproduce the problem:
1. Launch the server with version 6.1 (I have revision 4224 of the 6.1 server 
branch). Include the web project and the addons project.
2. Create a new database with sample data. Don't bother to add any extra 
modules.
3. Click the preferences button (gear icon in the top-right corner). Change the 
user interface from Simplified to Extended.
4. Log out and log in as the demo user. The password defaults to "demo".
5. Click the preferences button. The dialog box appears successfully.
6. Click the Cancel button, and log out. Log in as the admin user.
7. From the Settings menu, choose Security: Access Controls List.
8. In the Object field, type "ir.module.category", and click the Search button. 
You should see one record, and the Group field should be empty.
9. Click on the Group field, and change it to Administration / Access Rights. 
Click on the Save button at the right-hand side.
10. Log out and log in as the demo user.
11. Click the preferences button. You get an access error for 
ir.module.category, as expected.
12. Click OK on the error message, and click Cancel in the Preferences dialog 
box.
13. Log out and log in as the admin user.
14. From the Settings menu, choose Modules:  Update Modules List. Go through 
the wizard.
15. When you get to the list of modules, type "base" in the Name field, and 
click the Search button.
16. Open the base module, and click the Upgrade button. Go through the wizard.
17. Log out and log in as the demo user.
18. Click on the preferences button.

Expected behaviour: upgrading the base module should have reset the
access rights and let the demo user successfully open the preferences
dialog.

Actual behaviour: the demo user still gets the acess error.

Analysis:
The bug appears to be in BaseModel.import_data(). If any of the imported fields 
are blank, they are not updated in the database. I'll create a merge proposal 
that checks for the group_id field and explicitly sets it to null if it's 
missing.

** Affects: openobject-server
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of OpenERP
Indian Team, which is subscribed to OpenERP Server.
https://bugs.launchpad.net/bugs/1034565

Title:
  Access rights data files can't update group_id field to null

Status in OpenERP Server:
  New

Bug description:
  If you change a module's ir.model.access.csv file by removing the
  group_id from one of the records, it won't actually update the field
  to null on that record.

  I found the problem while upgrading from 5.0 to 6.1, because the base
  module's security record for ir.module.category removed the group id.
  When I upgraded my database, regular users could no longer change
  their own password.

  Steps to reproduce the problem:
  1. Launch the server with version 6.1 (I have revision 4224 of the 6.1 server 
branch). Include the web project and the addons project.
  2. Create a new database with sample data. Don't bother to add any extra 
modules.
  3. Click the preferences button (gear icon in the top-right corner). Change 
the user interface from Simplified to Extended.
  4. Log out and log in as the demo user. The password defaults to "demo".
  5. Click the preferences button. The dialog box appears successfully.
  6. Click the Cancel button, and log out. Log in as the admin user.
  7. From the Settings menu, choose Security: Access Controls List.
  8. In the Object field, type "ir.module.category", and click the Search 
button. You should see one record, and the Group field should be empty.
  9. Click on the Group field, and change it to Administration / Access Rights. 
Click on the Save button at the right-hand side.
  10. Log out and log in as the demo user.
  11. Click the preferences button. You get an access error for 
ir.module.category, as expected.
  12. Click OK on the error message, and click Cancel in the Preferences dialog 
box.
  13. Log out and log in as the admin user.
  14. From the Settings menu, choose Modules:  Update Modules List. Go through 
the wizard.
  15. When you get to the list of modules, type "base" in the Name field, and 
click the Search button.
  16. Open the base module, and click the Upgrade button. Go through the wizard.
  17. Log out and log in as the demo user.
  18. Click on the preferences button.

  Expected behaviour: upgrading the base module should have reset the
  access rights and let the demo user successfully open the preferences
  dialog.

  Actual behaviour: the demo user still gets the acess error.

  Analysis:
  The bug appears to be in BaseModel.import_data(). If any of the imported 
fields are blank, they are not updated in the database. I'll create a merge 
proposal that checks for the group_id field and explicitly sets it to null if 
it's missing.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-server/+bug/1034565/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~openerp-india
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-india
More help   : https://help.launchpad.net/ListHelp

Reply via email to