diff --git a/media/admin.py b/media/admin.py
index b895baf..b329a6e 100644
--- a/media/admin.py
+++ b/media/admin.py
@@ -13,19 +13,20 @@ class AuteurAdmin(VersionAdmin):
class MediaAdmin(VersionAdmin):
- list_display = ('titre', 'cote')
+ list_display = ('titre', 'authors', 'cote')
+
+ def authors(self, obj):
+ return ", ".join([a.nom for a in obj.auteur.all()])
class EmpruntAdmin(VersionAdmin):
- list_display = (
- 'media', 'user', 'date_emprunt', 'date_rendu', 'permanencier_emprunt',
- 'permanencier_rendu')
+ list_display = ('media', 'user', 'date_emprunt', 'date_rendu',
+ 'permanencier_emprunt', 'permanencier_rendu')
class JeuAdmin(VersionAdmin):
- list_display = (
- 'nom', 'proprietaire', 'duree', 'nombre_joueurs_min', 'nombre_joueurs_max',
- 'comment')
+ list_display = ('nom', 'proprietaire', 'duree', 'nombre_joueurs_min',
+ 'nombre_joueurs_max', 'comment')
admin.site.register(Auteur, AuteurAdmin)
diff --git a/media/forms.py b/media/forms.py
index 7c07b40..2c2b7bb 100644
--- a/media/forms.py
+++ b/media/forms.py
@@ -5,23 +5,7 @@
from django import forms
from django.forms import ModelForm
-from .models import Auteur, Media, Jeu, Emprunt
-
-
-class AuteurForm(ModelForm):
- class Meta:
- model = Auteur
- fields = '__all__'
-
-
-class MediaForm(ModelForm):
- auteur = forms.ModelMultipleChoiceField(Auteur.objects.all(),
- widget=forms.CheckboxSelectMultiple,
- required=False)
-
- class Meta:
- model = Media
- fields = '__all__'
+from .models import Jeu, Emprunt
class JeuForm(ModelForm):
@@ -30,10 +14,10 @@ class JeuForm(ModelForm):
fields = '__all__'
def clean_nombre_joueurs_max(self):
- if self.cleaned_data['nombre_joueurs_max'] < self.cleaned_data[
- 'nombre_joueurs_min']:
+ max_player = self.cleaned_data['nombre_joueurs_max']
+ if max_player < self.cleaned_data['nombre_joueurs_min']:
raise forms.ValidationError("Max ne peut être inférieur à min")
- return self.cleaned_data['nombre_joueurs_max']
+ return max_player
class EmpruntForm(ModelForm):
diff --git a/media/templates/media/aff_auteurs.html b/media/templates/media/aff_auteurs.html
index d81c5d1..e7b7762 100644
--- a/media/templates/media/aff_auteurs.html
+++ b/media/templates/media/aff_auteurs.html
@@ -10,24 +10,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
Nom |
- |
{% for auteur in auteurs_list %}
{{ auteur.nom }} |
-
- {% if perms.media.change_auteur %}
-
- Éditer
-
- {% endif %}
- {% if perms.media.delete_auteur %}
-
- Supprimer
-
- {% endif %}
- |
{% endfor %}
diff --git a/media/templates/media/aff_emprunts.html b/media/templates/media/aff_emprunts.html
index ee227c6..ab72aa2 100644
--- a/media/templates/media/aff_emprunts.html
+++ b/media/templates/media/aff_emprunts.html
@@ -21,9 +21,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
{% for emprunt in emprunts_list %}
{{ emprunt.media }} |
-
- {{ emprunt.user }}
- |
+ {{ emprunt.user }} |
{{ emprunt.date_emprunt }} |
{{ emprunt.permanencier_emprunt }} |
@@ -40,9 +38,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
{% if perms.media.change_emprunt %}
Editer
{% endif %}
- {% if perms.media.delete_emprunt %}
- Supprimer
- {% endif %}
|
{% endfor %}
diff --git a/media/templates/media/aff_jeux.html b/media/templates/media/aff_jeux.html
index 6cc3a9a..6669de1 100644
--- a/media/templates/media/aff_jeux.html
+++ b/media/templates/media/aff_jeux.html
@@ -15,7 +15,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
Joueurs min |
Joueurs max |
Comment |
- |
{% for jeu in jeux_list %}
@@ -26,18 +25,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
{{ jeu.nombre_joueurs_min }} |
{{ jeu.nombre_joueurs_max }} |
{{ jeu.comment }} |
-
- {% if perms.media.change_jeu %}
-
- Éditer
-
- {% endif %}
- {% if perms.media.delete_jeu %}
-
- Supprimer
-
- {% endif %}
- |
{% endfor %}
diff --git a/media/templates/media/aff_medias.html b/media/templates/media/aff_medias.html
index bca63da..331fccf 100644
--- a/media/templates/media/aff_medias.html
+++ b/media/templates/media/aff_medias.html
@@ -12,7 +12,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
Titre |
Auteur |
Cote |
- |
{% for media in medias_list %}
@@ -20,18 +19,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
{{ media.titre }} |
{% for aut in media.auteur.all %}{{ aut }}, {% endfor %} |
{{ media.cote }} |
-
- {% if perms.media.change_media %}
-
- Éditer
-
- {% endif %}
- {% if perms.media.delete_media %}
-
- Supprimer
-
- {% endif %}
- |
{% endfor %}
diff --git a/media/templates/media/delete.html b/media/templates/media/delete.html
deleted file mode 100644
index da24ea7..0000000
--- a/media/templates/media/delete.html
+++ /dev/null
@@ -1,16 +0,0 @@
-{% extends "media/sidebar.html" %}
-{% comment %}
-SPDX-License-Identifier: GPL-3.0-or-later
-{% endcomment %}
-
-{% load bootstrap3 %}
-
-{% block title %}Création et modification de media{% endblock %}
-
-{% block content %}
-
-{% endblock %}
diff --git a/media/templates/media/index_auteurs.html b/media/templates/media/index_auteurs.html
index a051707..0d5a2d4 100644
--- a/media/templates/media/index_auteurs.html
+++ b/media/templates/media/index_auteurs.html
@@ -3,12 +3,14 @@
SPDX-License-Identifier: GPL-3.0-or-later
{% endcomment %}
+{% load i18n %}
+
{% block title %}Auteurs{% endblock %}
{% block content %}
Liste des auteurs
- {% if perms.media.add_auteur %}
- Ajouter un auteur
+ {% if user.is_staff %}
+ {% trans 'Go to admin' %}
{% endif %}
{% include "media/aff_auteurs.html" with auteurs_list=auteurs_list %}
{% endblock %}
diff --git a/media/templates/media/index_emprunts.html b/media/templates/media/index_emprunts.html
index 39254af..a06d84d 100644
--- a/media/templates/media/index_emprunts.html
+++ b/media/templates/media/index_emprunts.html
@@ -3,9 +3,14 @@
SPDX-License-Identifier: GPL-3.0-or-later
{% endcomment %}
+{% load i18n %}
+
{% block title %}Emprunts{% endblock %}
{% block content %}
- Liste des emprunts
- {% include "media/aff_emprunts.html" with emprunts_list=emprunts_list %}
+ Liste des emprunts
+ {% if user.is_staff %}
+ {% trans 'Go to admin' %}
+ {% endif %}
+ {% include "media/aff_emprunts.html" with emprunts_list=emprunts_list %}
{% endblock %}
diff --git a/media/templates/media/index_jeux.html b/media/templates/media/index_jeux.html
index 9aa09ce..22d65ff 100644
--- a/media/templates/media/index_jeux.html
+++ b/media/templates/media/index_jeux.html
@@ -3,12 +3,14 @@
SPDX-License-Identifier: GPL-3.0-or-later
{% endcomment %}
+{% load i18n %}
+
{% block title %}Jeux{% endblock %}
{% block content %}
Liste des jeux
- {% if perms.media.add_jeu %}
- Ajouter un jeu
+ {% if user.is_staff %}
+ {% trans 'Go to admin' %}
{% endif %}
{% include "media/aff_jeux.html" with jeux_list=jeux_list %}
{% endblock %}
diff --git a/media/templates/media/index_medias.html b/media/templates/media/index_medias.html
index 2b681fe..a5e6e99 100644
--- a/media/templates/media/index_medias.html
+++ b/media/templates/media/index_medias.html
@@ -3,12 +3,14 @@
SPDX-License-Identifier: GPL-3.0-or-later
{% endcomment %}
+{% load i18n %}
+
{% block title %}Media{% endblock %}
{% block content %}
Liste des medias
- {% if perms.media.add_media %}
- Ajouter un media
+ {% if user.is_staff %}
+ {% trans 'Go to admin' %}
{% endif %}
{% include "media/aff_medias.html" with medias_list=medias_list %}
{% endblock %}
diff --git a/media/urls.py b/media/urls.py
index 600fb3e..c0d9fdf 100644
--- a/media/urls.py
+++ b/media/urls.py
@@ -7,20 +7,8 @@ from django.conf.urls import url
from . import views
urlpatterns = [
- url(r'^add_auteur/$', views.add_auteur, name='add-auteur'),
- url(r'^edit_auteur/(?P[0-9]+)$', views.edit_auteur,
- name='edit-auteur'),
- url(r'^del_auteur/(?P[0-9]+)$', views.del_auteur,
- name='del-auteur'),
url(r'^index_auteurs/$', views.index_auteurs, name='index-auteurs'),
- url(r'^add_jeu/$', views.add_jeu, name='add-jeu'),
- url(r'^edit_jeu/(?P[0-9]+)$', views.edit_jeu, name='edit-jeu'),
- url(r'^del_jeu/(?P[0-9]+)$', views.del_jeu, name='del-jeu'),
url(r'^index_jeux/$', views.index_jeux, name='index-jeux'),
- url(r'^add_media/$', views.add_media, name='add-media'),
- url(r'^edit_media/(?P[0-9]+)$', views.edit_media,
- name='edit-media'),
- url(r'^del_media/(?P[0-9]+)$', views.del_media, name='del-media'),
url(r'^index_medias/$', views.index_medias, name='index-medias'),
url(r'^add_emprunt/(?P[0-9]+)$', views.add_emprunt,
name='add-emprunt'),
@@ -28,7 +16,5 @@ urlpatterns = [
name='retour-emprunt'),
url(r'^edit_emprunt/(?P[0-9]+)$', views.edit_emprunt,
name='edit-emprunt'),
- url(r'^del_emprunt/(?P[0-9]+)$', views.del_emprunt,
- name='del-emprunt'),
url(r'^index_emprunts/$', views.index_emprunt, name='index'),
]
diff --git a/media/views.py b/media/views.py
index f7a8927..e08901d 100644
--- a/media/views.py
+++ b/media/views.py
@@ -13,7 +13,7 @@ from reversion import revisions as reversion
from med.settings import PAGINATION_NUMBER
from users.models import User
-from .forms import AuteurForm, MediaForm, JeuForm, EmpruntForm, EditEmpruntForm
+from .forms import EmpruntForm, EditEmpruntForm
from .models import Auteur, Media, Jeu, Emprunt
@@ -23,162 +23,6 @@ def form(ctx, template, request):
return render(request, template, c)
-@login_required
-@permission_required('media.add_auteur')
-def add_auteur(request):
- auteur = AuteurForm(request.POST or None)
- if auteur.is_valid():
- with transaction.atomic(), reversion.create_revision():
- auteur.save()
- reversion.set_user(request.user)
- reversion.set_comment("Création")
- messages.success(request, "L'auteur a été ajouté")
- return redirect("/media/index_auteurs/")
- return form({'mediaform': auteur}, 'media/media.html', request)
-
-
-@login_required
-@permission_required('media.change_auteur')
-def edit_auteur(request, auteurid):
- try:
- auteur_instance = Auteur.objects.get(pk=auteurid)
- except Auteur.DoesNotExist:
- messages.error(request, u"Entrée inexistante")
- return redirect("/media/index_auteurs/")
- auteur = AuteurForm(request.POST or None, instance=auteur_instance)
- if auteur.is_valid():
- with transaction.atomic(), reversion.create_revision():
- auteur.save()
- reversion.set_user(request.user)
- reversion.set_comment("Champs modifié(s) : %s" % ', '.join(
- field for field in auteur.changed_data))
- messages.success(request, "Auteur modifié")
- return redirect("/media/index_auteurs/")
- return form({'mediaform': auteur}, 'media/media.html', request)
-
-
-@login_required
-@permission_required('media.delete_auteur')
-def del_auteur(request, auteurid):
- try:
- auteur_instance = Auteur.objects.get(pk=auteurid)
- except Auteur.DoesNotExist:
- messages.error(request, u"Entrée inexistante")
- return redirect("/media/index_auteurs/")
- if request.method == "POST":
- with transaction.atomic(), reversion.create_revision():
- auteur_instance.delete()
- reversion.set_user(request.user)
- messages.success(request, "L'auteur a été détruit")
- return redirect("/media/index_auteurs")
- return form({'objet': auteur_instance, 'objet_name': 'auteur'},
- 'media/delete.html', request)
-
-
-@login_required
-@permission_required('media.add_media')
-def add_media(request):
- media = MediaForm(request.POST or None)
- if media.is_valid():
- with transaction.atomic(), reversion.create_revision():
- media.save()
- reversion.set_user(request.user)
- reversion.set_comment("Création")
- messages.success(request, "Le media a été ajouté")
- return redirect("/media/index_medias/")
- return form({'mediaform': media}, 'media/media.html', request)
-
-
-@login_required
-@permission_required('media.change_media')
-def edit_media(request, mediaid):
- try:
- media_instance = Media.objects.get(pk=mediaid)
- except Media.DoesNotExist:
- messages.error(request, u"Entrée inexistante")
- return redirect("/media/index_medias/")
- media = MediaForm(request.POST or None, instance=media_instance)
- if media.is_valid():
- with transaction.atomic(), reversion.create_revision():
- media.save()
- reversion.set_user(request.user)
- reversion.set_comment("Champs modifié(s) : %s" % ', '.join(
- field for field in media.changed_data))
- messages.success(request, "Media modifié")
- return redirect("/media/index_medias/")
- return form({'mediaform': media}, 'media/media.html', request)
-
-
-@login_required
-@permission_required('media.delete_media')
-def del_media(request, mediaid):
- try:
- media_instance = Media.objects.get(pk=mediaid)
- except Media.DoesNotExist:
- messages.error(request, u"Entrée inexistante")
- return redirect("/media/index_medias/")
- if request.method == "POST":
- with transaction.atomic(), reversion.create_revision():
- media_instance.delete()
- reversion.set_user(request.user)
- messages.success(request, "Le media a été détruit")
- return redirect("/media/index_medias")
- return form({'objet': media_instance, 'objet_name': 'media'},
- 'media/delete.html', request)
-
-
-@login_required
-@permission_required('media.add_jeu')
-def add_jeu(request):
- jeu = JeuForm(request.POST or None)
- if jeu.is_valid():
- with transaction.atomic(), reversion.create_revision():
- jeu.save()
- reversion.set_user(request.user)
- reversion.set_comment("Création")
- messages.success(request, "Le jeu a été ajouté")
- return redirect("/media/index_jeux/")
- return form({'mediaform': jeu}, 'media/media.html', request)
-
-
-@login_required
-@permission_required('media.change_jeu')
-def edit_jeu(request, jeuid):
- try:
- jeu_instance = Jeu.objects.get(pk=jeuid)
- except Jeu.DoesNotExist:
- messages.error(request, u"Entrée inexistante")
- return redirect("/media/index_jeux/")
- jeu = JeuForm(request.POST or None, instance=jeu_instance)
- if jeu.is_valid():
- with transaction.atomic(), reversion.create_revision():
- jeu.save()
- reversion.set_user(request.user)
- reversion.set_comment("Champs modifié(s) : %s" % ', '.join(
- field for field in jeu.changed_data))
- messages.success(request, "Media modifié")
- return redirect("/media/index_jeux/")
- return form({'mediaform': jeu}, 'media/media.html', request)
-
-
-@login_required
-@permission_required('media.delete_jeu')
-def del_jeu(request, jeuid):
- try:
- jeu_instance = Jeu.objects.get(pk=jeuid)
- except Jeu.DoesNotExist:
- messages.error(request, u"Entrée inexistante")
- return redirect("/media/index_jeux/")
- if request.method == "POST":
- with transaction.atomic(), reversion.create_revision():
- jeu_instance.delete()
- reversion.set_user(request.user)
- messages.success(request, "Le jeu a été détruit")
- return redirect("/media/index_jeux")
- return form({'objet': jeu_instance, 'objet_name': 'jeu'},
- 'media/delete.html', request)
-
-
@login_required
@permission_required('media.add_emprunt')
def add_emprunt(request, userid):
@@ -245,24 +89,6 @@ def retour_emprunt(request, empruntid):
return redirect("/media/index_emprunts/")
-@login_required
-@permission_required('media.delete_emprunt')
-def del_emprunt(request, empruntid):
- try:
- emprunt_instance = Emprunt.objects.get(pk=empruntid)
- except Emprunt.DoesNotExist:
- messages.error(request, u"Entrée inexistante")
- return redirect("/media/index_emprunts/")
- if request.method == "POST":
- with transaction.atomic(), reversion.create_revision():
- emprunt_instance.delete()
- reversion.set_user(request.user)
- messages.success(request, "L'emprunt a été détruit")
- return redirect("/media/index_emprunts")
- return form({'objet': emprunt_instance, 'objet_name': 'emprunt'},
- 'media/delete.html', request)
-
-
@login_required
def index_jeux(request):
jeux_list = Jeu.objects.all()
diff --git a/theme/locale/fr/LC_MESSAGES/django.po b/theme/locale/fr/LC_MESSAGES/django.po
index 2f733c4..141cdbf 100644
--- a/theme/locale/fr/LC_MESSAGES/django.po
+++ b/theme/locale/fr/LC_MESSAGES/django.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-03 13:24+0200\n"
+"POT-Creation-Date: 2019-08-08 20:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -18,22 +18,22 @@ msgid "Welcome,"
msgstr ""
#: templates/admin/base_site.html:29
-msgid "My profile"
-msgstr "Mon profil"
+msgid "Library"
+msgstr "Explorer la médiatèque"
-#: templates/admin/base_site.html:41 templates/admin/base_site.html:60
+#: templates/admin/base_site.html:42 templates/admin/base_site.html:61
msgid "View admin"
msgstr "Administration"
-#: templates/admin/base_site.html:53
+#: templates/admin/base_site.html:54
msgid "Documentation"
msgstr ""
-#: templates/admin/base_site.html:62
+#: templates/admin/base_site.html:63
msgid "Log out"
msgstr ""
-#: templates/admin/base_site.html:64 templates/registration/login.html:8
+#: templates/admin/base_site.html:65 templates/registration/login.html:8
msgid "Log in"
msgstr ""
diff --git a/theme/templates/admin/base_site.html b/theme/templates/admin/base_site.html
index f8ee871..c111140 100644
--- a/theme/templates/admin/base_site.html
+++ b/theme/templates/admin/base_site.html
@@ -26,7 +26,15 @@ SPDX-License-Identifier: GPL-3.0-or-later
{% endblock %}
{% block userlinks %}
{# Link to our apps outside of admin #}
- {% trans 'Library' %} /
+
+ {% trans 'Library' %}
+
+ Emprunts
+ Auteurs
+ Medias
+ Jeux
+
+ /
{% if user.is_authenticated %}
{% if perms.users.add_user %}