Skip to content
This repository has been archived by the owner on Jan 15, 2019. It is now read-only.

Updating django-knowledge for Django 2.0.1 #72

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions knowledge/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ def QuestionForm(user, *args, **kwargs):
on the status of the passed in user.
"""

if user.is_anonymous():
if user.is_anonymous:
if not settings.ALLOW_ANONYMOUS:
return None
else:
Expand Down Expand Up @@ -81,7 +81,7 @@ def ResponseForm(user, question, *args, **kwargs):
(user.is_staff or question.user == user):
return None

if user.is_anonymous():
if user.is_anonymous:
if not settings.ALLOW_ANONYMOUS:
return None
else:
Expand Down
4 changes: 2 additions & 2 deletions knowledge/managers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class QuestionManager(models.Manager):
# return super(QuestionManager, self).get_query_set(*args, **kwargs)

def can_view(self, user):
qs = super(QuestionManager, self).get_query_set()\
qs = super(QuestionManager, self).get_queryset()\
.select_related('user')

if user.is_staff or user.is_superuser:
Expand All @@ -27,7 +27,7 @@ class ResponseManager(models.Manager):
# .select_related('question', 'user')

def can_view(self, user):
qs = super(ResponseManager, self).get_query_set()\
qs = super(ResponseManager, self).get_queryset()\
.select_related('question', 'user')

if user.is_staff or user.is_superuser:
Expand Down
2 changes: 1 addition & 1 deletion knowledge/templates/django_knowledge/ask.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{% extends 'django_knowledge/inner.html' %}

{% load i18n %}
{% load url from future %}
{% load static %}

{% block title %}{% trans "Ask a Question" %}{% endblock title %}

Expand Down
12 changes: 6 additions & 6 deletions knowledge/templates/django_knowledge/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@
<head>

<meta charset="utf-8">

{% load static %}
<title>{% block title %}{% endblock title %} | Support Center</title>
<link rel="stylesheet" href="{{ STATIC_URL }}knowledge/css/reset.css">
<link rel="stylesheet" href="{{ STATIC_URL }}knowledge/css/main.css">

<link rel="stylesheet" href="{% static 'knowledge/css/reset.css' %}">
<link rel="stylesheet" href="{% static 'knowledge/css/main.css' %}">

</head>

<body>

<div class="wrapper">

{% block knowledge_inner %}
{% endblock knowledge_inner %}

</div>

</body>
</html>
4 changes: 2 additions & 2 deletions knowledge/templates/django_knowledge/form.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% load i18n %}
{% load url from future %}
{% load static %}

<form {% if submit_url %}action="{{ submit_url }}"{% endif %} method="post" class="dk-form">
{% csrf_token %}
Expand All @@ -8,7 +8,7 @@
<div class="field-wrapper field-{{ field.html_name }}">
<div class="field-label">
<label for="id_{{ field.html_name }}">{{ field.label }}: {% if field.field.required %}<small><em class="quiet">({% trans "required" %})</em></small>{% endif %}</label>

{% if field.field.help_text %}
<br />
<small class="help-text">{{ field.field.help_text }}</small>
Expand Down
2 changes: 1 addition & 1 deletion knowledge/templates/django_knowledge/index.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{% extends 'django_knowledge/inner.html' %}

{% load i18n %}
{% load url from future %}
{% load static %}

{% block title %}{% trans "Support" %}{% endblock title %}

Expand Down
6 changes: 3 additions & 3 deletions knowledge/templates/django_knowledge/inner.html
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{% extends BASE_TEMPLATE|default:'django_knowledge/base.html' %}

{% load i18n %}
{% load url from future %}
{% load static %}

{% block knowledge_inner %}

<div class="dk-inner">

{% include "django_knowledge/welcome.html" %}

<div class="dk-search">
Expand All @@ -18,7 +18,7 @@

<div class="dk-content">
{% block knowledge_widgets %}

{% endblock knowledge_widgets %}
</div>

Expand Down
5 changes: 2 additions & 3 deletions knowledge/templates/django_knowledge/list.html
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{% extends 'django_knowledge/inner.html' %}

{% load i18n %}
{% load url from future %}

{% load static %}
{% load knowledge_tags %}

{% block title %}Showing {{ questions.paginator.count }} results{% if search %} for {{ search }}{% endif %}{% if category %} in {{ category.title }} category{% endif %}{% endblock title %}
Expand All @@ -20,7 +19,7 @@ <h3>Showing {{ counter }} results{% if search %} for <em>{{ search }}</em>{% end
{% if not questions.paginator.count %}
<p class="center"><em>{% trans "No results found." %}</em></p>
{% endif %}

<hr class="light"/>

<div class="center">
Expand Down
2 changes: 1 addition & 1 deletion knowledge/templates/django_knowledge/mod_bar.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{% load url from future %}
{% load static %}

{% if request.user.is_staff %}
<div class="dk-mod-bar">
Expand Down
2 changes: 1 addition & 1 deletion knowledge/templates/django_knowledge/question_list.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% load i18n %}
{% load url from future %}
{% load static %}

<ol class="question-list">
{% for question in questions %}
Expand Down
4 changes: 2 additions & 2 deletions knowledge/templates/django_knowledge/sidebar.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% load i18n %}
{% load url from future %}
{% load static %}

{% if my_questions %}

Expand All @@ -13,7 +13,7 @@ <h4>{% trans "My Questions" %}</h4>
</ul>

<br />

{% endif %}

<h4>{% trans "Categories" %}</h4>
Expand Down
10 changes: 5 additions & 5 deletions knowledge/templates/django_knowledge/thread.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{% load i18n %}
{% load markup %}
{% load knowledge_tags %}
{% load url from future %}
{% load static %}

{% block title %}{{ question.title }}{% endblock title %}

Expand All @@ -12,7 +12,7 @@
<div class="dk-widget">

<div class="dk-dialog">
<div class="the-author gravatar"><img src="{% get_gravatar question.get_email %}" alt="{{ question.get_name }} gravatar"></div>
<!--<div class="the-author gravatar"><img src="#" alt="{{ question.get_name }} gravatar"></div>-->
<div class="the-content gravatar">
<h2>{{ question.title }}</h2>
<h5>{{ question.get_name }} <span class="quiet">
Expand All @@ -36,7 +36,7 @@ <h5>{{ question.get_name }} <span class="quiet">

{% for response in responses %}
<div class="dk-dialog">
<div class="the-author gravatar smaller"><img src="{% get_gravatar response.get_email 40 %}" alt="{{ response.get_name }} gravatar"></div>
<!--<div class="the-author gravatar smaller"><img src="#" alt="{{ response.get_name }} gravatar"></div>-->
<div class="the-content gravatar">
<h5>{{ response.get_name }} <span class="quiet">
{% if response.accepted %}&nbsp;<span class="dk-label dk-label-warning">{% trans "accepted answer" %}</span>{% endif %}
Expand All @@ -58,9 +58,9 @@ <h5>{{ response.get_name }} <span class="quiet">
{% endfor %}


<br/>
<br/>
<hr class="light"/>
<br/>
<br/>


{% if form %}
Expand Down
2 changes: 1 addition & 1 deletion knowledge/templates/django_knowledge/welcome.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% load i18n %}
{% load url from future %}
{% load static %}

<div class="dk-roof">
<h2 class="primary"><a href="{% url "knowledge_index" %}">{% trans "Welcome to our Support Center." %}</a></h2>
Expand Down
26 changes: 13 additions & 13 deletions knowledge/templatetags/knowledge_tags.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
from hashlib import md5
from urllib import urlencode
from urllib.parse import urlencode

from django import template

register = template.Library()


@register.simple_tag
def get_gravatar(email, size=60, rating='g', default=None):
""" Return url for a Gravatar. From Zinnia blog. """
url = 'https://secure.gravatar.com/avatar/{0}.jpg'.format(
md5(email.strip().lower()).hexdigest()
)
options = {'s': size, 'r': rating}
if default:
options['d'] = default

url = '%s?%s' % (url, urlencode(options))
return url.replace('&', '&amp;')
# @register.simple_tag
# def get_gravatar(email, size=60, rating='g', default=None):
# """ Return url for a Gravatar. From Zinnia blog. """
# url = 'https://secure.gravatar.com/avatar/{0}.jpg'.format(
# md5(email.strip().lower()).hexdigest()
# )
# options = {'s': size, 'r': rating}
# if default:
# options['d'] = default
#
# url = '%s?%s' % (url, urlencode(options))
# return url.replace('&', '&amp;')


@register.simple_tag
Expand Down
22 changes: 12 additions & 10 deletions knowledge/urls.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
from django.conf.urls import patterns, url
from django.conf.urls import url
from knowledge.views import (knowledge_index, knowledge_list, knowledge_thread,
knowledge_moderate, knowledge_ask)

urlpatterns = patterns('knowledge.views',
url(r'^$', 'knowledge_index', name='knowledge_index'),
urlpatterns = [
url(r'^$', knowledge_index, name='knowledge_index'),

url(r'^questions/$', 'knowledge_list', name='knowledge_list'),
url(r'^questions/$', knowledge_list, name='knowledge_list'),

url(r'^questions/(?P<question_id>\d+)/$',
'knowledge_thread', name='knowledge_thread_no_slug'),
knowledge_thread, name='knowledge_thread_no_slug'),

url(r'^questions/(?P<category_slug>[a-z0-9-_]+)/$', 'knowledge_list',
url(r'^questions/(?P<category_slug>[a-z0-9-_]+)/$', knowledge_list,
name='knowledge_list_category'),

url(r'^questions/(?P<question_id>\d+)/(?P<slug>[a-z0-9-_]+)/$',
'knowledge_thread', name='knowledge_thread'),
knowledge_thread, name='knowledge_thread'),

url(r'^moderate/(?P<model>[a-z]+)/'
r'(?P<lookup_id>\d+)/(?P<mod>[a-zA-Z0-9_]+)/$',
'knowledge_moderate', name='knowledge_moderate'),
knowledge_moderate, name='knowledge_moderate'),

url(r'^ask/$', 'knowledge_ask', name='knowledge_ask'),
)
url(r'^ask/$', knowledge_ask, name='knowledge_ask'),
]
6 changes: 3 additions & 3 deletions knowledge/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@ def get_module(path):

slugify = get_module('django.template.defaultfilters.slugify')
"""
from django.utils.importlib import import_module
from importlib import import_module

try:
mod_name, func_name = path.rsplit('.', 1)
mod = import_module(mod_name)
except ImportError, e:
except ImportError:
raise ImportError(
'Error importing alert function {0}: "{1}"'.format(mod_name, e))
'Error importing alert function {0}: "{1}"'.format(mod_name))

try:
func = getattr(mod, func_name)
Expand Down
24 changes: 12 additions & 12 deletions knowledge/views.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import settings
from knowledge import settings

from django.http import Http404, HttpResponseRedirect
from django.shortcuts import render, redirect, get_object_or_404
from django.core.urlresolvers import reverse, NoReverseMatch
from django.urls import reverse, NoReverseMatch
from django.db.models import Q

from knowledge.models import Question, Response, Category
Expand All @@ -26,10 +26,10 @@

def get_my_questions(request):

if settings.LOGIN_REQUIRED and not request.user.is_authenticated():
if settings.LOGIN_REQUIRED and not request.user.is_authenticated:
return HttpResponseRedirect(settings.LOGIN_URL+"?next=%s" % request.path)

if request.user.is_anonymous():
if request.user.is_anonymous:
return None
else:
return Question.objects.can_view(request.user)\
Expand All @@ -39,7 +39,7 @@ def get_my_questions(request):
def knowledge_index(request,
template='django_knowledge/index.html'):

if settings.LOGIN_REQUIRED and not request.user.is_authenticated():
if settings.LOGIN_REQUIRED and not request.user.is_authenticated:
return HttpResponseRedirect(settings.LOGIN_URL+"?next=%s" % request.path)

questions = Question.objects.can_view(request.user)\
Expand All @@ -61,7 +61,7 @@ def knowledge_list(request,
template='django_knowledge/list.html',
Form=QuestionForm):

if settings.LOGIN_REQUIRED and not request.user.is_authenticated():
if settings.LOGIN_REQUIRED and not request.user.is_authenticated:
return HttpResponseRedirect(settings.LOGIN_URL+"?next=%s" % request.path)

search = request.GET.get('title', None)
Expand Down Expand Up @@ -102,9 +102,9 @@ def knowledge_thread(request,
template='django_knowledge/thread.html',
Form=ResponseForm):

if settings.LOGIN_REQUIRED and not request.user.is_authenticated():
if settings.LOGIN_REQUIRED and not request.user.is_authenticated:
return HttpResponseRedirect(settings.LOGIN_URL+"?next=%s" % request.path)

try:
question = Question.objects.can_view(request.user)\
.get(id=question_id)
Expand All @@ -123,7 +123,7 @@ def knowledge_thread(request,
if request.method == 'POST':
form = Form(request.user, question, request.POST)
if form and form.is_valid():
if request.user.is_authenticated() or not form.cleaned_data['phone_number']:
if request.user.is_authenticated or not form.cleaned_data['phone_number']:
form.save()
return redirect(question.get_absolute_url())
else:
Expand Down Expand Up @@ -161,7 +161,7 @@ def knowledge_moderate(

"""

if settings.LOGIN_REQUIRED and not request.user.is_authenticated():
if settings.LOGIN_REQUIRED and not request.user.is_authenticated:
return HttpResponseRedirect(settings.LOGIN_URL+"?next=%s" % request.path)

if request.method != 'POST':
Expand Down Expand Up @@ -201,13 +201,13 @@ def knowledge_ask(request,
template='django_knowledge/ask.html',
Form=QuestionForm):

if settings.LOGIN_REQUIRED and not request.user.is_authenticated():
if settings.LOGIN_REQUIRED and not request.user.is_authenticated:
return HttpResponseRedirect(settings.LOGIN_URL+"?next=%s" % request.path)

if request.method == 'POST':
form = Form(request.user, request.POST)
if form and form.is_valid():
if request.user.is_authenticated() or not form.cleaned_data['phone_number']:
if request.user.is_authenticated or not form.cleaned_data['phone_number']:
question = form.save()
return redirect(question.get_absolute_url())
else:
Expand Down