Beispiel #1
0
def get_or_create(group_name=None, display_name=None, place=None, level=None, user=None, 
                  group_type='interest', description='', permission_prototype='public', address='') :
    """get or create a group
    """
    # note : we can't use get_or_create for TgGroup, because the created date clause won't match on a different day
    # from the day the record was created.

    if not user:
        raise TypeError("We must have a user to create a group, since otherwise it will be inaccessible")
    if not place:
        place = get_or_create_root_location()

    xs = TgGroup.objects.filter(group_name=group_name)
    if len(xs) > 0 :
        group = xs[0]
        created = False
    else :
        created = True
        group = TgGroup(group_name=group_name, display_name=display_name, level=level, 
                        place=place, description=description, group_type=group_type, address=address)
        group.save()

        group_post_create(group, user, permission_prototype)

    return group, created
Beispiel #2
0
def get_or_create(group_name=None, display_name=None, place=None, level=None, user=None, 
                  group_type='interest', description='', permission_prototype='public') :
    """get or create a group
    """
    # note : we can't use get_or_create for TgGroup, because the created date clause won't match on a different day
    # from the day the record was created.
    
    if not user:
        raise TypeError("We must have a user to create a group, since otherwise it will be inaccessible")
    if not place:
        place = get_or_create_root_location()


    xs = TgGroup.objects.filter(group_name=group_name)
    if len(xs) > 0 :
        group = xs[0]
        created = False
    else :
        created = True
        group = TgGroup(group_name=group_name, display_name=display_name, level=level, 
                        place=place, description=description, group_type=group_type)
        group.save()

        if level == 'member':
            admin_group, created = TgGroup.objects.get_or_create(
                group_name=group_name + "_hosts", 
                display_name=display_name + " Hosts", 
                level='host',
                place=place,
                user=user, 
                description="Admin Group for %s" % display_name, 
                )

            setup_group_security(group, group, admin_group, user, permission_prototype)
        elif level == 'host':
            setup_group_security(group, group, group, user, 'private')

            if group.group_name != "all_members_hosts" :
                group.add_member(get_all_members_group().get_admin_group())

    return group, created
Beispiel #3
0
def get_or_create(group_name=None,
                  display_name=None,
                  place=None,
                  level=None,
                  user=None,
                  group_type='interest',
                  description='',
                  permission_prototype='public',
                  address=''):
    """get or create a group
    """
    # note : we can't use get_or_create for TgGroup, because the created date clause won't match on a different day
    # from the day the record was created.

    if not user:
        raise TypeError(
            "We must have a user to create a group, since otherwise it will be inaccessible"
        )
    if not place:
        place = get_or_create_root_location()

    xs = TgGroup.objects.filter(group_name=group_name)
    if len(xs) > 0:
        group = xs[0]
        created = False
    else:
        created = True
        group = TgGroup(group_name=group_name,
                        display_name=display_name,
                        level=level,
                        place=place,
                        description=description,
                        group_type=group_type,
                        address=address)
        group.save()

        group_post_create(group, user, permission_prototype)

    return group, created
Beispiel #4
0
    def testExtras(self) :
        l = Location(name='someplace')
        l.save()
        tg = TgGroup(place=l,created=datetime.date.today())
        tg.save()
        extras = GroupExtras(about='this is about my group')
        extras.tg_group = tg

        self.assertEquals(tg.groupextras,extras)

        extras.save()
        e2 = GroupExtras.objects.get(pk=extras.pk)

        self.field(extras,'path','abc')
        self.field(extras,'title','abc')
        self.field(extras,'description','abc')
        self.field(extras,'body','abc')
        self.field(extras,'rights','abc')
        self.field(extras,'psn_id','abc')
        self.field(extras,'path','abcd')

        self.field(extras,'psn_id','abc')

        self.assertEquals(e2.about,"this is about my group")
Beispiel #5
0
    def testExtras(self):
        l = Location(name='someplace')
        l.save()
        tg = TgGroup(place=l, created=datetime.date.today())
        tg.save()
        extras = GroupExtras(about='this is about my group')
        extras.tg_group = tg

        self.assertEquals(tg.groupextras, extras)

        extras.save()
        e2 = GroupExtras.objects.get(pk=extras.pk)

        self.field(extras, 'path', 'abc')
        self.field(extras, 'title', 'abc')
        self.field(extras, 'description', 'abc')
        self.field(extras, 'body', 'abc')
        self.field(extras, 'rights', 'abc')
        self.field(extras, 'psn_id', 'abc')
        self.field(extras, 'path', 'abcd')

        self.field(extras, 'psn_id', 'abc')

        self.assertEquals(e2.about, "this is about my group")