Show submission view only for staff

master
Laurent 6 years ago
parent 216ea1a82c
commit 68407f986e
  1. BIN
      db.sqlite3
  2. BIN
      news/__pycache__/models.cpython-37.pyc
  3. BIN
      news/__pycache__/views.cpython-37.pyc
  4. 5
      news/models.py
  5. 2
      news/templates/base.html
  6. 7
      news/views.py

Binary file not shown.

@ -4,9 +4,10 @@ from enum import Enum
# Create your models here. # Create your models here.
class PostState(Enum): class PostState(Enum):
DRAFT = 0
PUBLISHED = 1 PUBLISHED = 1
DRAFT = 2 PROGRAMMED = 2
PROGRAMMED = 3 USER_SUBMITTED = 3
class Post(models.Model): class Post(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

@ -28,8 +28,10 @@
{% if user.is_authenticated %} {% if user.is_authenticated %}
<a href="{% url 'news:account' %}">[ {{ user.username }} ]</a> <a href="{% url 'news:account' %}">[ {{ user.username }} ]</a>
<br/> <br/>
{% if user.is_staff %}
<a href="{% url 'news:submission' %}">Submit</a> <a href="{% url 'news:submission' %}">Submit</a>
<br/> <br/>
{% endif %}
<a href="{% url 'news:logout_view' %}">Log out</a> <a href="{% url 'news:logout_view' %}">Log out</a>
{% else %} {% else %}
<a href="{% url 'news:signin' %}">Log in</a> <a href="{% url 'news:signin' %}">Log in</a>

@ -9,7 +9,7 @@ from django.contrib import messages
from django.contrib.auth import authenticate, login, logout, update_session_auth_hash from django.contrib.auth import authenticate, login, logout, update_session_auth_hash
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.contrib.auth.forms import PasswordChangeForm from django.contrib.auth.forms import PasswordChangeForm
from .models import Post, Comment from .models import Post, Comment, PostState
from .forms import PostForm, CustomUserCreationForm, SigninForm from .forms import PostForm, CustomUserCreationForm, SigninForm
from datetime import datetime from datetime import datetime
import logging import logging
@ -103,7 +103,10 @@ def submission(request):
handle_uploaded_file(filename, request.FILES['image']) handle_uploaded_file(filename, request.FILES['image'])
post.image_url = filename post.image_url = filename
post.state = 1 if request.user.is_staff:
post.state = PostState.PUBLISHED
else:
post.state = PostState.USER_SUBMITTED
post.save() post.save()
return HttpResponseRedirect(reverse('news:submitted')) return HttpResponseRedirect(reverse('news:submitted'))

Loading…
Cancel
Save