Re: msg permissions issue

Chuck Cunningham <[email protected]>
Newsgroups gmane.comp.bug-tracking.roundup.user
Message-ID <CAH-413_GA6VCiLgE-sUJi_oj02gFgeRJqSYnp-rn+So+ZzwJYw@mail.gmail.com>
PS - I checked /usr/bin/python3 and it's python 3.7.3

thanks for any advice.  perhaps I should migrate to the newest roundup
for enhanced permission control?

On Thu, Oct 5, 2023 at 8:58 PM Chuck Cunningham
<[email protected]> wrote:
>
> Thanks John,
>
> It's Roundup 2.0.0 and it seems /usr/bin/python3 is being called in
> roundup-server etc.
>
> On Thu, Oct 5, 2023 at 8:04 PM John P. Rouillard <[email protected]> wrote:
> >
> > Hi Chuck:
> >
> > What version of Roundup are you running? What version of Python?
> >
> > In message
> > <CAH-41398iTPhze7D_pZB8tqTBHF=q6HYonbcG++YN-ioDssXBw@mail.gmail.com>,
> > Chuck Cunningham writes:
> > >I have my tracker set up so that users only see issues they create or
> > >assigned to them by doing this:
> > >
> > >def user_issue(db, userid, itemid):
> > >    return userid == db.issue.get(itemid, 'assignedto') or userid ==
> > >db.issue.get(itemid, 'creator')
> >
> > I don't think you need this check. It should be a subset of the nosy
> > list permission check. The creator and assignedto people should be on
> > the nosy list. Also depending on the ticket, you might want to exclude
> > the creator. In a tracker I built, I use the nosy list (and a
> > 'verynosy') as ACL's for access to the files and msg as well as the
> > issue.  (See:
> > https://rouilj.dynamic-dns.net/fossil/roundup_sysadmin/file?name=schema.py&ci=tip
> > for the (messy) schema.)
> >
> > >p = db.security.addPermission(name='View', klass='issue',
> > >    check=user_issue,description="User is allowed to access this")
> > >db.security.addPermissionToRole('User', p)
> > >p = db.security.addPermission(name='Edit', klass='issue',
> > >    check=user_issue,description="User is allowed to edit this")
> > >db.security.addPermissionToRole('User', p)
> > >db.security.addPermissionToRole('User', 'Create', 'issue')
> > >
> > >for cl in 'file', 'msg':
> > >    db.security.addPermissionToRole('User', 'View', cl)
> > >    db.security.addPermissionToRole('User', 'Edit', cl)
> > >    db.security.addPermissionToRole('User', 'Create', cl)
> >
> > This should allow every person with the User role to create/edit/view
> > any msg or file. Note that this set of permissions doesn't restrict
> > access to an individual msg or file.
> >
> > >I then wanted to make it so that users also see issues for which they
> > >are on the nosy list:
> > >
> > >def user_nosy_issue(db, userid, itemid):
> > >    nosy = db.issue.get(itemid, 'nosy')
> > >    # check if userid is in the list and return 1 if yes, 0 otherwise
> > >    return nosy.count(userid)
> >
> > Although 'return userid in nosy' is more idiomatic, this should
> > work. Using count() is less efficient though. Count has to visit each
> > value in the nosy array to count all matching values. It doesn't stop
> > once it finds a match.
> >
> > I'm trying to remember if the nosy value is a list of strings or
> > integers. I think userid and the items in the nosy list are both
> > strings. So your code should work as expected.
> >
> > I raise this because:
> >
> >     nosy = ['1', '2', '3']
> >     c = nosy.count(1)
> >
> > c will be 0.
> >
> >     c = nosy.count('1')
> >
> > c will be 1. Also vice versa.
> >
> > ># add permission for issue view and edit for people on nosy list
> > >p = db.security.addPermission(name='View', klass='issue',
> > >    check=user_nosy_issue, description="User is allowed to access this")
> > >db.security.addPermissionToRole('User', p)
> > >p = db.security.addPermission(name='Edit', klass='issue',
> > >    check=user_nosy_issue,description="User is allowed to edit this")
> > >db.security.addPermissionToRole('User', p)
> >
> > I suggest changing your descriptions to include nosy somehow. E.G.
> >
> >   description="User is allowed to access this (on nosy list)"
> >
> > >This works great except people on the nosy list can't reply (and
> > >create a 'msg')..I know there is something I need to do to the
> > >permissions for messages, but can't figure it out.  Any pointers much
> > >appreciated.
> >
> > Your msg permissions look like you are allowing Create, so I am also
> > bewildered.
> >
> > What does running:
> >
> >    roundup-admin -i <tracker/home/dir> security user
> >
> > report? (note: internally role names are all lowercase hence 'user'
> > not 'User'., This is also a bug and will be fixed to lowercase the
> > role string.)
> >
> > Have a great day.
> > --
> >                                 -- rouilj
> > John Rouillard
> > ===========================================================================
> > My employers don't acknowledge my existence much less my opinions.


_______________________________________________
Roundup-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/roundup-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.