Browse Source

Désactive l'upload selon les settings.

master
Klafyvel 8 years ago
parent
commit
34527049b0
  1. 18
      content/views.py
  2. 10
      templates/base.html

18
content/views.py

@ -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)

10
templates/base.html

@ -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/>

Loading…
Cancel
Save