Exemple #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
Exemple #2
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")