Opened 9 years ago

Closed 9 years ago

#6020 closed (wontfix)

Allow group comparing with basestring

Reported by: italomaia <italo.maia@…> Owned by: nobody
Component: Contrib apps Version: master
Severity: Keywords: auth, group, improvement
Cc: Triage Stage: Design decision needed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

Sometimes, i have to check is a user is in a particular group(from auth), and i have to load the group
i'm checking against, before i can use the "in" operator. Something like this:

MyGroupName="badass_people"
group=Group.objects.get(name=MyGroupName) 
if group in user.groups:
    ...
else:
    ...

I would like to suggest the overwrite of the method cmp, so that something like this:

group="badass_people"
if group in user.groups:
    ...
else:
    ...

I believe the code to do so is something like this:

class Group(models.Model):
    #stuff stuff ...
    def __cmp__(self, group):
        if isinstance(group, basestring):
            return cmp(self.name,group)
    #more stuff...

Change History (2)

comment:1 Changed 9 years ago by Simon G <dev@…>

Keywords: improvement added; improviment removed
Summary: Group comparing with basestringAllow group comparing with basestring
Triage Stage: UnreviewedDesign decision needed

comment:2 Changed 9 years ago by Jacob

Resolution: wontfix
Status: newclosed

I'm really not a fan of this. Though it looks nice for the if 'group' in user.groups case, I don't think that "group" == some_group_object should be true. Strings and groups are very different beasts.

Note: See TracTickets for help on using tickets.
Back to Top