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
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")