Skip to content

Commit

Permalink
Cleaning a little bit the code, taken away some unused imports and ap…
Browse files Browse the repository at this point in the history
…plying a really nice PEPs8 to the package.
  • Loading branch information
sebastian-code committed Jan 8, 2017
1 parent a0453ff commit 7b94206
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 19 deletions.
2 changes: 1 addition & 1 deletion qa/forms.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from qa.models import UserQAProfile, Question
from qa.models import Question
from django.conf import settings
from django import forms

Expand Down
48 changes: 30 additions & 18 deletions qa/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
from django.db.models import Count
from django.conf import settings
from django.utils.translation import ugettext as _
from django.views.generic import (CreateView, View, ListView, DetailView,
UpdateView)
from django.views.generic import (CreateView, View, ListView, UpdateView)
from django.shortcuts import render, redirect, get_object_or_404
from django.contrib.auth import get_user_model
from django.core.exceptions import ValidationError
Expand Down Expand Up @@ -54,8 +53,6 @@ def post(self, request, answer_id):
raise ValidationError(
"Sorry, you're not allowed to close this question.")
else:
# answer.question.closed = True
# answer.question.save()
answer.question.answer_set.update(answer=False)
answer.answer = True
answer.save()
Expand Down Expand Up @@ -83,11 +80,10 @@ def post(self, request, question_id):
else:
if not question.closed:
question.closed = True

else:
question.closed = False
question.save()
# answer.answer = True
# answer.save()

next_url = request.POST.get('next', None)
if next_url is not None:
Expand Down Expand Up @@ -124,10 +120,13 @@ def get_context_data(self, *args, **kwargs):
tabs else context['active_tab']
try:
noans = paginator.page(page)

except PageNotAnInteger:
noans = paginator.page(1)

except EmptyPage:
noans = paginator.page(paginator.num_pages)

context['totalnoans'] = paginator.count
context['noans'] = noans
context['reward'] = Question.objects.order_by('-reward').filter(
Expand Down Expand Up @@ -227,8 +226,8 @@ def form_valid(self, form):

def get_success_url(self):
if qa_messages:
messages.success(
self.request, self.message)
messages.success(self.request, self.message)

return reverse('qa_index')


Expand Down Expand Up @@ -266,8 +265,8 @@ def form_valid(self, form):

def get_success_url(self):
if qa_messages:
messages.success(
self.request, self.message)
messages.success(self.request, self.message)

return reverse('qa_detail', kwargs={'pk': self.kwargs['question_id']})


Expand Down Expand Up @@ -305,8 +304,8 @@ def form_valid(self, form):

def get_success_url(self):
if qa_messages:
messages.success(
self.request, self.message)
messages.success(self.request, self.message)

question_pk = Answer.objects.get(
id=self.kwargs['answer_id']).question.pk
return reverse('qa_detail', kwargs={'pk': question_pk})
Expand All @@ -332,8 +331,8 @@ def form_valid(self, form):

def get_success_url(self):
if qa_messages:
messages.success(
self.request, self.message)
messages.success(self.request, self.message)

return reverse('qa_detail', kwargs={'pk': self.kwargs['question_id']})


Expand All @@ -349,8 +348,8 @@ class UpdateQuestionCommentView(LoginRequired,

def get_success_url(self):
question_comment = self.get_object()
return reverse(
'qa_detail', kwargs={'pk': question_comment.question.pk})
return reverse('qa_detail',
kwargs={'pk': question_comment.question.pk})


class UpdateAnswerCommentView(UpdateQuestionCommentView):
Expand All @@ -361,8 +360,8 @@ class UpdateAnswerCommentView(UpdateQuestionCommentView):

def get_success_url(self):
answer_comment = self.get_object()
return reverse(
'qa_detail', kwargs={'pk': answer_comment.answer.question.pk})
return reverse('qa_detail',
kwargs={'pk': answer_comment.answer.question.pk})


class QuestionDetailView(HitCountDetailView):
Expand Down Expand Up @@ -392,6 +391,7 @@ def get(self, request, **kwargs):
if slug != my_object.slug:
kwargs['slug'] = my_object.slug
return redirect(reverse('qa_detail', kwargs=kwargs))

else:
return super(QuestionDetailView, self).get(request, **kwargs)

Expand All @@ -416,10 +416,13 @@ def get_vote_kwargs(self, user, vote_target):
object_kwargs = {'user': user}
if self.model == Question:
target_key = 'question'

elif self.model == Answer:
target_key = 'answer'

else:
raise ValidationError('Not a valid model for votes')

object_kwargs[target_key] = vote_target
return object_kwargs

Expand All @@ -428,6 +431,7 @@ def post(self, request, object_id):
if vote_target.user == request.user:
raise ValidationError(
'Sorry, voting for your own answer is not possible.')

else:
upvote = request.POST.get('upvote', None) is not None
object_kwargs = self.get_vote_kwargs(request.user, vote_target)
Expand All @@ -438,39 +442,47 @@ def post(self, request, object_id):
vote_target.user.userqaprofile.points += 1 if upvote else -1
if upvote:
vote_target.positive_votes += 1

else:
vote_target.negative_votes += 1

else:
if vote.value == upvote:
vote.delete()
vote_target.user.userqaprofile.points += -1 if upvote else 1
if upvote:
vote_target.positive_votes -= 1

else:
vote_target.negative_votes -= 1

else:
vote_target.user.userqaprofile.points += 2 if upvote else -2
vote.value = upvote
vote.save()
if upvote:
vote_target.positive_votes += 1
vote_target.negative_votes -= 1

else:
vote_target.negative_votes += 1
vote_target.positive_votes -= 1

vote_target.user.userqaprofile.save()
if self.model == Question:
vote_target.reward = question_score(vote_target)

if self.model == Answer:
vote_target.question.reward = question_score(
vote_target.question)
vote_target.question.save()

vote_target.save()

next_url = request.POST.get('next', None)
if next_url is not None:
return redirect(next_url)

else:
return redirect(reverse('qa_index'))

Expand Down

0 comments on commit 7b94206

Please sign in to comment.