def obj_create(self, bundle, **kwargs): self.is_valid(bundle) if bundle.errors: raise ImmediateHttpResponse(response=self.error_response( bundle.request, bundle.errors)) pretty_name = bundle.data['pretty_name'] short_description = bundle.data['short_description'] is_vote_secret = bundle.data['is_vote_secret'] agora = Agora(pretty_name=pretty_name, short_description=short_description, is_vote_secret=is_vote_secret) agora.create_name(bundle.request.user) agora.creator = bundle.request.user agora.url = bundle.request.build_absolute_uri(agora.get_link()) # we need to save before add members agora.save() agora.members.add(bundle.request.user) agora.admins.add(bundle.request.user) bundle = self.build_bundle(obj=agora, request=bundle.request) bundle = self.full_dehydrate(bundle) return bundle
def create_agora(agoraname, pretty, img=None, creator=None): if not creator: creator = User.objects.filter(is_superuser=True)[0] a = Agora(creator=creator, name=agoraname, pretty_name=pretty, image_url=img) a.membership_policy = "JOINING_REQUIRES_ADMINS_APPROVAL" a.comments_policy = "NO_COMMENTS" a.delegation_policy = "DISALLOW_DELEGATION" domain = Site.objects.get(pk=1).domain a.url = "http://" + domain + reverse('agora-view', kwargs=dict(username=creator.username, agoraname=a.name)) a.save() a.members.add(creator) a.admins.add(creator)