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