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