From 68407f986e3fec0e72ec5bfda5670c178469654d Mon Sep 17 00:00:00 2001 From: Laurent Date: Fri, 13 Sep 2019 15:27:20 +0200 Subject: [PATCH] Show submission view only for staff --- db.sqlite3 | Bin 180224 -> 180224 bytes news/__pycache__/models.cpython-37.pyc | Bin 2367 -> 2394 bytes news/__pycache__/views.cpython-37.pyc | Bin 4288 -> 4369 bytes news/models.py | 5 +++-- news/templates/base.html | 2 ++ news/views.py | 7 +++++-- 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/db.sqlite3 b/db.sqlite3 index 5ac2eab4cd4472a247de3bbb2de6be0de075ea1f..153ca4912da9364770e46344a26fe946d8311541 100644 GIT binary patch delta 327 zcmZo@;BIK(o*>QGHc`fzv2A0*vVOMJ4E#ZSt2Zku%;)21RAJ&}Xw-C^e0E-#l#zj< zrLKXcuA#Alp|O>bsg;Sbo{5p6iMeI7^8D?}^BI@l4=YSdE-J0GEJ-mcEh$J#H7m?F zFv_w_Ny*Jg$|=n&H1Q30%kmF#%Jp>#%k~QiHSl%!%8WE}%k`^DH}%Vn%JK_$EsxCg z%JvQSHHZukHHiv$%Z&_~u29b;$yho4Pc2hXh-Z~=NT8vANNBlVh^Miii>tA3E{Gjy z92t@WG|1IBGS}6}-z6$H(#S8%w<@s0&)w6|Gta;l<^dyfWDi)Fm>X_uV0yr>K*;gi SCNO=J=ST88Nb9lQGG*QNxv1wz%vVOLs4E#ZSM>i`f?BwHZfS} zV)BJ~md(oZw=2(QTz+36ImI}qpr|Z4wIng8q9U`Tj#0XUV5==0GSj<4ePm_JJ0;8%nt4olhTSydVK&X?CXRwE> zOB7c?kiUD7qpvTJ%@-Q%8WbNK>g4Mg5;8e~(V3kCsF#D0W%CL~Cq_om$*-AO7$qhb zFh6AE*&M`T%gCrSc>?PaM(N3>Y*!eyCUdbDF{)0kW#7kWIN63Hi&1a#a*m1YY(o4( HTtb`x9mh0H delta 205 zcmca5v|otViI^Ikgfu;6jdE5LX1JUf3(*2!8|bjYZ{VNAt}$@4eZ1^WK~JrFc?` zH{)?#f-m#r)4PA4#M5N+r1s;`&RIDkQG+J>dAnd0?4nh)OI8VF5`Cp#w#!yo@MOPY zRX~>PSFI|2l}Ex+w|PrsC9 z5}t)~u`K^axlStlxw4d>1Hn1yUJ^heIy4QML3BARvpHT2eNVFd_fRIh0D4yA|Aba& z=7E|9%b_HVkVVMzTWWo!h*SnJRaQb?Mi?&!7KDzyE@KrG3aIk$)Mc{BpR3zRVLz$5 z9L|wC-woe3&#LfOk#?u!9y|VJn0UCQB(nzpBh10$dy&uggqyLkn^T}=Cc@ZPWCa8~ zH!~1kcpj+Wq03BVd;t8-c9#2;$^z9C$@1V%yhLHn@hw0)Pc6_{J<1BkvC zL^`hHcR%)DI`y~F0=dF}j`qd+AcCg*J<6`(ZW9~f6lEVk_d);?B!^w&dwRO^E6fJc zkwnRTnf>4s;4*Y&BtIep@-*~JVn6XG`rZZzwWAdK+CP6ZJ&^Zj91YkkvVr_G{Y)Z~ zpYgLaG9n|=lAN$lM$#kV&kZE1(ddBm$Vh2PrhXf0rx9!LyRq7ii0=G2x-;O22yCF< zT;E)4u{;V=2(JSK;STFU4UVIjL5b?SwEYRYfF{=wng}=epRqTGf!6c(J->Z$z^2hQ zy0z2XTyNc4TV=~QPwceT-rsNSG~Zj_-UeX-mxd8E1gr!zG?6O@icS(llcyor&}4%ofkB2%yh+ko=E$Ulqc>Y|Qb&U_FR&iQ_q4sabF zO(JZU{}%5}y$zhb17H$%6?v22Oyq{5$T7z3T?7R|WI|MysD2Ua0xDia?f+tb3#3@E z;`uo1|A(L)Lifb`DEv1dC=BK1ij|~CZRhl_M2QT?iBk_;W_wIjhj@9!VAQz; zR}R@atY!ELu|V U3@v4-M#xBNx)w6#HC0po1DyUZX8-^I delta 1439 zcmZux&2Jk;6rb5Iuh;9;q)r?=t-tfJag(N%_)rKf4W+cD1tgOqt%@q+*#r~sZkb&R zN?qmPswXbdT;PJ58wltn{{UyMh|3C2z4ywchrTyfB{yPM^P4ws-n@D9-f!lh{zoml zmCafNzKc8eKfiU5Ez+w8OTX_^!fZCxFZ&g@;#b|OUvq1qBkV-K?$_PAlym)t+W=jz z-*lVoH8%Z_xC`tg%R|5D71<1%eMm;sT>`nl=A^s~a*>s!?67%u3T#){X;y~51#=Zv zg}Hg^o?$gs2jwbjuqO0tY=JF8fA)w|o92{6`y`CwB=uhC`(6+q{irC^D8NB@NgS$| zXhS?z*DCX%I0-Gv0T61zZ^Ca=OEDBaFV?kRX-WK}m5c?L=ZoUGcDZm0M91c*Q8R~7 zLMV&R^wzm5iVA?E^BT%^gz;jK5^WH9oHtM@p(&2^v(yn!^-pusesbyqqfA%CVRlsr zqvjl+Mt7-Bw;K+E_$?SjxGhn5OZ;mHi2Cc)quVmn%sA9(nB~g|<9Jc3AmG`#jZj5E zH;E2WhTKudhd?*urIX>c&GU3sJTjlXE<-zq>(X~SyS<YHVKTFj>rQV&kYGn zGiykDbfmV4llcg^@^R*j&XFSGer9P~=Ce4?=PW2?Dii(6wHxoZc^MUXg!2H2(dAwz z_QrWDqDGHH*15-*(Bxf&O9)%yzswukd<|t;4+A9=K@v%ur~#%SF?V`>FX;H*u_Pr{ zH2A{rMNuydTriBv;y1f!8Prs!RG{-s@t6Jm)(v!wtaLNXi()Jm*e81T%R#Vr%p<=J zb}_obmmOk@B`EO!f9JfQDZLa43HpWjyA?FY z+Q7m)G|@VIH-d{bgVU0zm^FR{K}C?cmF$oVmf3qXV=oE&4wxh9>{bw_fU<^&{uRGTl$~osjzxmsOVUhP>*sj;VgQ3oPH|SJ4~3A>2V&L1-bY zB5WYYaBrf7x#VpG+7&a_O; JE}6Qiz5vlz9gP40 diff --git a/news/models.py b/news/models.py index f86e19f..185946d 100644 --- a/news/models.py +++ b/news/models.py @@ -4,9 +4,10 @@ from enum import Enum # Create your models here. class PostState(Enum): + DRAFT = 0 PUBLISHED = 1 - DRAFT = 2 - PROGRAMMED = 3 + PROGRAMMED = 2 + USER_SUBMITTED = 3 class Post(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) diff --git a/news/templates/base.html b/news/templates/base.html index c1d82d0..4ed97a0 100644 --- a/news/templates/base.html +++ b/news/templates/base.html @@ -28,8 +28,10 @@ {% if user.is_authenticated %} [ {{ user.username }} ]
+ {% if user.is_staff %} Submit
+ {% endif %} Log out {% else %} Log in diff --git a/news/views.py b/news/views.py index 3dac6a5..3aca033 100644 --- a/news/views.py +++ b/news/views.py @@ -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.decorators import login_required 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 datetime import datetime import logging @@ -103,7 +103,10 @@ def submission(request): handle_uploaded_file(filename, request.FILES['image']) post.image_url = filename - post.state = 1 + if request.user.is_staff: + post.state = PostState.PUBLISHED + else: + post.state = PostState.USER_SUBMITTED post.save() return HttpResponseRedirect(reverse('news:submitted'))