Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0032626
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Openbravo ERP] A. Platformmajorhave not tried2016-04-08 12:132016-06-17 19:36
ReporteralostaleView Statuspublic 
Assigned Tocaristu 
PrioritynormalResolutionfixedFixed in Version3.0PR16Q3
StatusclosedFix in branchFixed in SCM revision5068c169fe15
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned Toalostale
Web browser
ModulesCore
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0032626: cannot propagate privileges if a template role has been used in a session

DescriptionWhen a standard role that has been used in sessions, is marked as template and tried to be set as parent for another role, privileges propagation fails and the parent-child relationship cannot be saved.
Steps To Reproduce1. Create a new role:
  * name: bt
  * level: client+org
  * manual: yes
  * template: no
    * org access: EspaƱa Norte
    * user: assignment: Openbravo
    * window access: Sales Order
2. Login with Openbravo user using that role
3. Open Sales Order window
4. Edit that role to set template=yes
5. Create a new manual role with client+org access level
6. In Role Inheritance tab add a new record inherit from: bt
  -> ERROR in UI: Saving failed. With your current role this action is not allowed.
     In logs: 3475468 [http-8080-2] ERROR org.openbravo.base.exception.OBSecurityException - Client (0) of object (ADPreference(ECFEC09198D847CAB8C2881B86D438EF) (property: UINAVBA_MenuRecentList)) is not present in ClientList 23C59575B9CF467C9620760EB255B389
org.openbravo.base.exception.OBSecurityException: Client (0) of object (ADPreference(ECFEC09198D847CAB8C2881B86D438EF) (property: UINAVBA_MenuRecentList)) is not present in ClientList 23C59575B9CF467C9620760EB255B389
    at org.openbravo.dal.security.SecurityChecker.checkWriteAccess(SecurityChecker.java:171)
    at org.openbravo.dal.core.OBInterceptor.doEvent(OBInterceptor.java:343)
    at org.openbravo.dal.core.OBInterceptor.onSave(OBInterceptor.java:225)
    at org.hibernate.event.def.AbstractSaveEventListener.substituteValuesIfNecessary(AbstractSaveEventListener.java:413)
    at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:292)
    at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
    at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:143)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
    at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
    at org.openbravo.dal.core.SessionHandler.save(SessionHandler.java:176)
    at org.openbravo.dal.service.OBDal.save(OBDal.java:249)
    at org.openbravo.role.inheritance.RoleInheritanceManager.copyRoleAccess(RoleInheritanceManager.java:124)
    at org.openbravo.role.inheritance.RoleInheritanceManager.handleAccess(RoleInheritanceManager.java:587)
    at org.openbravo.role.inheritance.RoleInheritanceManager.calculateAccesses(RoleInheritanceManager.java:539)
    at org.openbravo.role.inheritance.RoleInheritanceManager.calculateAccesses(RoleInheritanceManager.java:509)
    at org.openbravo.role.inheritance.RoleInheritanceManager.applyNewInheritance(RoleInheritanceManager.java:200)
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
related to feature request 00309313.0PR16Q1 closedcaristu Add ability to inherit role permissions 
depends on backport 00326283.0PR16Q2 closedcaristu cannot propagate privileges if a template role has been used in a session 
depends on backport 00326293.0PR16Q1.1 closedcaristu cannot propagate privileges if a template role has been used in a session 
related to defect 0032627 closedcaristu template role cannot be used as session role 

-  Notes
(0085532)
hgbot (developer)
2016-04-08 14:08

Repository: erp/devel/pi
Changeset: 5068c169fe15d1f2db8ca7021ffe623b59d0ee82
Author: Carlos Aristu <carlos.aristu <at> openbravo.com>
Date: Fri Apr 08 14:07:14 2016 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/5068c169fe15d1f2db8ca7021ffe623b59d0ee82 [^]

fixes issue 32626: cannot propagate privileges if a template role has been used
Now the client/org check is skipped when propagating changes (create, remove, update) privileges. This is done by using the OBContext.setAdminMode(false).
Besides, the UINAVBA_MenuRecentList preference has been included into the preference black list, which is a list that prevents the propagation of all the preferences included within it.

---
M src/org/openbravo/role/inheritance/RoleInheritanceManager.java
M src/org/openbravo/role/inheritance/access/PreferenceAccessInjector.java
---
(0085643)
alostale (manager)
2016-04-14 17:12

code reviewed and tested
(0087435)
hudsonbot (developer)
2016-06-17 19:36

A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/0dc7be081b1c [^]
Maturity status: Test

- Issue History
Date Modified Username Field Change
2016-04-08 12:13 alostale New Issue
2016-04-08 12:13 alostale Assigned To => platform
2016-04-08 12:13 alostale Modules => Core
2016-04-08 12:13 alostale Triggers an Emergency Pack => No
2016-04-08 12:22 alostale Relationship added related to 0032627
2016-04-08 12:24 alostale Relationship added related to 0030931
2016-04-08 12:24 alostale Status new => scheduled
2016-04-08 14:01 caristu Assigned To platform => caristu
2016-04-08 14:08 hgbot Checkin
2016-04-08 14:08 hgbot Note Added: 0085532
2016-04-08 14:08 hgbot Status scheduled => resolved
2016-04-08 14:08 hgbot Resolution open => fixed
2016-04-08 14:08 hgbot Fixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/5068c169fe15d1f2db8ca7021ffe623b59d0ee82 [^]
2016-04-14 17:12 alostale Review Assigned To => alostale
2016-04-14 17:12 alostale Note Added: 0085643
2016-04-14 17:12 alostale Status resolved => closed
2016-04-14 17:12 alostale Fixed in Version => 3.0PR16Q3
2016-06-17 19:36 hudsonbot Checkin
2016-06-17 19:36 hudsonbot Note Added: 0087435


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker