def add_discussion(request): group = Group.objects.get(id=request.POST.get('group')) group_profile = GroupProfile.objects.filter(group=group)[0] if group_profile.is_private and not group_profile.is_user_in_group(request.user): return HttpResponse("The group is private. You're not allowed to create discussion.") if request.POST: discussion_form = DiscussionForm(request.POST) if discussion_form.is_valid(): discussion = Discussion() discussion.group = group discussion.type = DiscussionType.objects.get(id=request.POST.get('type')) discussion.name = discussion_form.cleaned_data['name'] if is_heb(discussion.name): encoded_discussion_name = discussion.name.__repr__().encode("ascii")[2:-1] encoded_group_name = group.name.__repr__().encode("ascii")[2:-1] discussion.slug = slugify("%s_%s" % (encoded_group_name,encoded_discussion_name)) else: discussion.slug = slugify("%s_%s" % (group.name,discussion.name)) discussion.description = discussion_form.cleaned_data['description'] discussion.created_by = request.user discussion.x = request.POST.get('x', None) discussion.y = request.POST.get('y', None) discussion.is_private = 'is_private' in request.POST discussion.save() return HttpResponse('reload') else: return HttpResponse(discussion_form.errors.as_text(), status=400) else: return HttpResponse('Wrong usage: HTTP POST expected')
def create_discussion_via_im(request): im_address = request.POST.get("im_address", "") name = request.POST.get("name", _("Untitled")) description = request.POST.get("description", "") group = int(request.POST.get("group", 0)) user_profile = get_object_or_404(UserProfile, im_address=im_address) user = user_profile.user group = get_object_or_404(Group, pk=group) discussion = Discussion() discussion.group = group discussion.type = DiscussionType.objects.get(name=settings.DEFAULT_DISCUSSION_TYPE) discussion.name = name if is_heb(discussion.name): encoded_discussion_name = discussion.name.__repr__().encode("ascii")[2:-1] encoded_group_name = group.name.__repr__().encode("ascii")[2:-1] discussion.slug = slugify("%s_%s" % (encoded_group_name,encoded_discussion_name)) else: discussion.slug = slugify("%s_%s" % (group.name,discussion.name)) discussion.description = description discussion.created_by = user discussion.x = 0 discussion.y = 0 discussion.is_private = 'is_private' in request.POST discussion.save() discussion_details = {"id": discussion.id, "link": discussion.get_absolute_url(), "name": discussion.name} return HttpResponse(simplejson.dumps(discussion_details))
def add_base_story(request): #saving new story if request.POST: discussion = get_object_or_404(Discussion, pk=request.POST["discussion"]) story_type = request.POST["story-class"] title = request.POST["title"] if is_heb(title): encoded_title = title.__repr__().encode("ascii")[2:-1] slug = slugify(encoded_title) else: slug = slugify(title) user = request.user speech_act = get_object_or_404(SpeechAct, pk=int(request.POST["speech_act"])) result = { '1': add_story, '2': add_opinion, '3': add_relation, }[story_type](request, discussion, user, title, slug, speech_act) else: result = HttpResponse(_("Wrong usage: HTTP POST expected")) return result