![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Access Rights Manipulation Topic Summary: Created On: 11-Sep-2006 13:34 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() Answer: I end up creating a Skip list with all users but the 2 groups. So the code become: for ar in nm do { arName = username(ar) if(arName != "" and arName != valAdmins and arName != valTeam) >> set(nm, read, arName) << put(sList, i, arName) << i++ } then: for arName in sList do set(nm, read, arName I think this is a bug in DOORS, but I am happy I got it to work... | |
![]() |
|
Hi,
I would like to single out 2 groups to have Read Modify rights only to 2 attributes in the entire module and have RMD to the Module itself, so they can delete the module but not add/delete any objects. The code that I came up with is attached. This code fails half the time and crashes the entire DOORS application. This module should allow only these 2 groups to only modify 2 attributes in it, because it is acually a copy of a baseline. So this way only these 2 attributes can be changed, but the actual module cannot be changed (modifications to Object Text/Heading, deletes/inserts on objects). Any ideeas of how to achieve the same thing. Thank you. |
|
![]() |
|
![]() |
|
Are you running this script as Administrator?
If not you may come unstuck changing acess rights in a loop, because the current user will have his access rights changed within the loop. ------------------------- Tony Goodman http://www.smartdxl.com |
|
![]() |
|
![]() |
|
This is the error from DXL runner:
-R-E- DXL:
|
|
![]() |
|
![]() |
|
I am running it as a member of both groups valAdmin and valTeam, neither of which changes rights where the failure occurs. Also, this script should modify access to the administrators as well, we don't want anybody to change the contents of this module, only delete the entire module if needed.
|
|
![]() |
|
![]() |
|
I tested your code and confirmed my suspicions.
You are setting specific access frights to read-only for yourself - this overwrites the access rights inherited from group membership. If you are going to change access rights in this way do the following: First, give yourself (the current user) full access rights (specific, not inherited) Then change the access rights for groups. When you have finished set your own specific access right back. ------------------------- Tony Goodman http://www.smartdxl.com |
|
![]() |
|
![]() |
|
Thank you for taking the time to paly with the code.
So you are saying that wher iterating over the access rights (for ar in module) not only the groups are ther but the current user too? - this is odd...??? This was part of the copyBaseline script that I am trying to create. So I will try the following: 1. I will save the access records (ar) ar for the Parent Folder first in a Skip list (hopefully this will only have the groups excluding the two that I am interested in) 2. Copy the baseline 3. specific set to the new module 4 set access from the skip list to Read at the module level - so it will go down to everithing) 5 then deal with the 2 groups that I am part of. This way I will avoid setting any access in a loop of type: "for ar in module". Thanks a lot, Octavian |
|
![]() |
|
![]() |
|
I end up creating a Skip list with all users but the 2 groups.
So the code become:
for ar in nm do {
arName = username(ar)
if(arName != "" and arName != valAdmins and arName != valTeam)
>> set(nm, read, arName)
<< put(sList, i, arName)
<< i++
}
then:
for arName in sList do
set(nm, read, arName
I think this is a bug in DOORS, but I am happy I got it to work...
|
|
![]() |
Telelogic DOORS
» DXL Exchange
»
Access Rights Manipulation
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.