Désactive l'upload selon les settings.

This commit is contained in:
Klafyvel 2018-03-02 21:32:50 +01:00
parent 382247e2ce
commit 34527049b0
2 changed files with 19 additions and 9 deletions

View file

@ -1,9 +1,11 @@
from django.views import generic from django.views import generic
from django.urls import reverse, reverse_lazy from django.urls import reverse, reverse_lazy
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404, redirect
from django.contrib.auth.mixins import PermissionRequiredMixin, LoginRequiredMixin from django.contrib.auth.mixins import PermissionRequiredMixin, LoginRequiredMixin
from django.contrib import messages
from .models import Content, Category from .models import Content, Category
from settings.models import SiteSettings
class ContentCategoryList(generic.ListView): class ContentCategoryList(generic.ListView):
@ -83,6 +85,13 @@ class CreateContent(PermissionRequiredMixin, generic.CreateView):
r = super().form_valid(form) r = super().form_valid(form)
return r return r
def dispatch(self, request, *args, **kwargs):
settings,_ = SiteSettings.objects.get_or_create()
if not settings.allow_upload :
messages.error(request, "Le téléversement de contenu n'est pas autorisé actuellement.")
return redirect(reverse("home"))
return super().dispatch(request, *args, **kwargs)
class DeleteContent(PermissionRequiredMixin, generic.DeleteView): class DeleteContent(PermissionRequiredMixin, generic.DeleteView):
"""Suppression de contenu""" """Suppression de contenu"""
@ -118,3 +127,10 @@ class EditContent(PermissionRequiredMixin, generic.UpdateView):
def has_permission(self): def has_permission(self):
school = get_object_or_404(Content, pk=self.kwargs['pk']).school_owner school = get_object_or_404(Content, pk=self.kwargs['pk']).school_owner
return self.request.user.has_perm('users.manage_'+str(school.group.pk)) return self.request.user.has_perm('users.manage_'+str(school.group.pk))
def dispatch(self, request, *args, **kwargs):
settings,_ = SiteSettings.objects.get_or_create()
if not settings.allow_upload :
messages.error(request, "Le téléversement de contenu n'est pas autorisé actuellement.")
return redirect(reverse("home"))
return super().dispatch(request, *args, **kwargs)

View file

@ -1,4 +1,5 @@
{% load static %} {% load static %}
{% load bootstrap4 %}
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
@ -41,14 +42,7 @@ h1.site-title
<main role="main" class="container"> <main role="main" class="container">
<br/> <br/>
<br/> <br/>
{% for message in messages %} {% bootstrap_messages %}
<div class="alert alert-{{message.tags}} alert-dismissible fade show" role="alert">
{{message}}
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
{% endfor %}
{% block content %}{% endblock %} {% block content %}{% endblock %}
</main> </main>
<br/> <br/>