コード例 #1
0
ファイル: views.py プロジェクト: caminus/caminus
def reply(request, topicID=None):
    parentPost = models.Post.objects.get(id__exact=topicID)
    if request.method == "POST":
        form = forms.ReplyForm(request.POST)
    else:
        form = forms.ReplyForm()
    if form.is_valid():
        reply = models.Post()
        reply.parent = parentPost
        reply.body = form.cleaned_data["body"]
        reply.user = request.user
        reply.save()
        if reply.parent.user != request.user:
            notification.send(
                [reply.parent.user],
                "forum_reply",
                {
                    "reply": reply,
                    "notice_url": reverse("forums.views.post", kwargs={"id": reply.id}),
                    "notice_description": reply.topic().title,
                },
            )
        messages.info(request, "Reply successful")
        user_message(reply.parent.user, "%s replied to your post in '%s'", request.user, reply.topic().title)
        return HttpResponseRedirect(reverse("forums.views.post", kwargs={"id": reply.id}))
    return render_to_response(
        "forums/reply.html", {"parent": parentPost, "form": form}, context_instance=RequestContext(request)
    )
コード例 #2
0
ファイル: views.py プロジェクト: caminus/caminus
def register(request):
    invite = request.session['profile-invite']
    if request.method == 'POST':
        userForm = forms.UserForm(request.POST, prefix='user')
        profileForm = ProfileForm(request.POST, prefix='profile')
    else:
        userForm = forms.UserForm(prefix='user')
        profileForm = ProfileForm(prefix='profile')
    if userForm.is_valid() and profileForm.is_valid():
        oldUser = None
        try:
            oldUser = User.objects.get(username__exact=userForm.cleaned_data['username'])
        except ObjectDoesNotExist, e:
            pass
        if not oldUser:
            user = User.objects.create_user(userForm.cleaned_data['username'], userForm.cleaned_data['email'], userForm.cleaned_data['password'])
            user.save()
            invite.claimer = user
            invite.save()
            profile = user.minecraftprofile
            profile.mc_username = profileForm.cleaned_data['mc_username']
            profile.save()
            user = authenticate(username=userForm.cleaned_data['username'], password=userForm.cleaned_data['password'])
            notification.send_now([invite.creator], "invite_accepted", {"new_user": user})
            user_message(invite.creator, "%s has accepted your invite."%(user.username))
            login(request, user)
            del request.session['profile-invite']
            return HttpResponseRedirect(reverse('welcome'))
コード例 #3
0
ファイル: views.py プロジェクト: caminus/caminus
def create(request):
    if request.method == 'POST':
        form = forms.PetitionForm(request.POST)
    else:
        form = forms.PetitionForm()
    if form.is_valid():
        petition = models.Petition()
        petition.author = request.user
        petition.body = form.cleaned_data['body']
        petition.save()
        adminUsers = User.objects.filter(is_staff=True)
        notification.send(adminUsers, "petition_opened", {"petition": petition, 'notice_url': reverse('petition.views.view', kwargs={'id':petition.id}),'notice_description': petition.id})
        for user in adminUsers:
            user_message(user, "%s has opened a petition."%(request.user))
        messages.info(request, "Petition created.")
        return HttpResponseRedirect(reverse('petition.views.view', kwargs={"id":petition.id}))
    return render_to_response('petition/create.html', {'form':form}, context_instance = RequestContext(request))
コード例 #4
0
ファイル: views.py プロジェクト: caminus/caminus
def comment(request, id):
    if request.method == 'POST':
        form = forms.CommentForm(request.POST)
    else:
        form = forms.CommentForm()
    if form.is_valid():
        petition = models.Petition.objects.get(id__exact=id)
        comment = models.Comment()
        comment.author = request.user
        comment.body = form.cleaned_data['body']
        comment.petition = petition
        comment.save()
        adminUsers = User.objects.filter(is_staff=True)
        for user in adminUsers:
            user_message(user, "%s has opened a petition."%(request.user))
        notification.send(adminUsers, "petition_commented", {"petition": petition, 'notice_url': reverse('petition.views.view', kwargs={'id':petition.id}),'notice_description': petition.id, 'comment': comment})
        if comment.author != petition.author:
            notification.send([petition.author], "petition_commented", {"petition": petition, 'notice_url': reverse('petition.views.view', kwargs={'id':petition.id}),'notice_description': petition.id, 'comment': comment})
        messages.info(request, "Comment added.")
        return HttpResponseRedirect(reverse('petition.views.view', kwargs={"id":petition.id})+"#c"+str(comment.id))