diff --git a/logs/tests/test_templates.py b/logs/tests/test_templates.py index 9c6b0e9..d953ff5 100644 --- a/logs/tests/test_templates.py +++ b/logs/tests/test_templates.py @@ -3,7 +3,6 @@ from django.test import TestCase from django.urls import reverse - from users.models import User """ diff --git a/logs/views.py b/logs/views.py index 4eac1a9..0b45c67 100644 --- a/logs/views.py +++ b/logs/views.py @@ -9,7 +9,6 @@ from django.db.models import Count from django.shortcuts import render from django.utils.translation import gettext_lazy as _ from reversion.models import Revision - from med.settings import PAGINATION_NUMBER from users.models import User diff --git a/med/settings.py b/med/settings.py index b9b08cd..0786c1b 100644 --- a/med/settings.py +++ b/med/settings.py @@ -45,6 +45,7 @@ INSTALLED_APPS = [ 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', + 'django_filters', # Med apps 'users', diff --git a/med/urls.py b/med/urls.py index 51e3f3d..32cee63 100644 --- a/med/urls.py +++ b/med/urls.py @@ -2,10 +2,9 @@ # Copyright (C) 2017-2019 by BDE ENS Paris-Saclay # SPDX-License-Identifier: GPL-3.0-or-later -from django.contrib.auth.decorators import login_required from django.contrib.auth.views import PasswordResetView from django.urls import include, path -from django.views.generic import RedirectView, TemplateView +from django.views.generic import RedirectView from rest_framework import routers import media.views @@ -15,7 +14,13 @@ from .admin import admin_site # API router router = routers.DefaultRouter() router.register(r'authors', media.views.AuteurViewSet) -router.register(r'media', media.views.MediaViewSet) +router.register(r'media/bd', media.views.BDViewSet) +router.register(r'media/manga', media.views.MangaViewSet) +router.register(r'media/cd', media.views.CDViewSet) +router.register(r'media/vinyle', media.views.VinyleViewSet) +router.register(r'media/roman', media.views.RomanViewSet) +router.register(r'media/revue', media.views.RevueViewSet) +router.register(r'media/future', media.views.FutureMediaViewSet) router.register(r'borrowed_items', media.views.EmpruntViewSet) router.register(r'games', media.views.JeuViewSet) router.register(r'users', users.views.UserViewSet) diff --git a/media/admin.py b/media/admin.py index 3ecbab2..0a832e3 100644 --- a/media/admin.py +++ b/media/admin.py @@ -6,8 +6,8 @@ from django.urls import reverse from django.utils.html import format_html from django.utils.translation import ugettext_lazy as _ from reversion.admin import VersionAdmin - from med.admin import admin_site + from .forms import MediaAdminForm from .models import Auteur, BD, CD, Emprunt, FutureMedia, Jeu, Manga,\ Revue, Roman, Vinyle diff --git a/media/management/commands/import_cds.py b/media/management/commands/import_cds.py index d783a12..3498958 100644 --- a/media/management/commands/import_cds.py +++ b/media/management/commands/import_cds.py @@ -2,7 +2,6 @@ from argparse import FileType from sys import stdin from django.core.management import BaseCommand - from media.models import Auteur, CD diff --git a/media/management/commands/import_future_media.py b/media/management/commands/import_future_media.py index 3e39022..d028b4e 100644 --- a/media/management/commands/import_future_media.py +++ b/media/management/commands/import_future_media.py @@ -2,7 +2,6 @@ from time import sleep from django.core.exceptions import ValidationError from django.core.management import BaseCommand - from media.forms import MediaAdminForm from media.models import BD, FutureMedia, Manga, Roman diff --git a/media/management/commands/import_isbn.py b/media/management/commands/import_isbn.py index 9db98cb..c7bd893 100644 --- a/media/management/commands/import_isbn.py +++ b/media/management/commands/import_isbn.py @@ -3,7 +3,6 @@ from sys import stdin from django.core.exceptions import ValidationError from django.core.management import BaseCommand - from media.models import BD, FutureMedia, Manga, Roman from media.validators import isbn_validator diff --git a/media/management/commands/import_no_isbn_roman.py b/media/management/commands/import_no_isbn_roman.py index 5e822fc..64d5811 100644 --- a/media/management/commands/import_no_isbn_roman.py +++ b/media/management/commands/import_no_isbn_roman.py @@ -4,7 +4,6 @@ from argparse import FileType from sys import stdin from django.core.management import BaseCommand - from media.models import Auteur, Roman diff --git a/media/management/commands/import_vinyles.py b/media/management/commands/import_vinyles.py index dc64372..029fbff 100644 --- a/media/management/commands/import_vinyles.py +++ b/media/management/commands/import_vinyles.py @@ -2,7 +2,6 @@ from argparse import FileType from sys import stdin from django.core.management import BaseCommand - from media.models import Auteur, Vinyle diff --git a/media/management/commands/split_media_types.py b/media/management/commands/split_media_types.py index 823009a..fe7fd7d 100644 --- a/media/management/commands/split_media_types.py +++ b/media/management/commands/split_media_types.py @@ -1,7 +1,6 @@ from time import sleep from django.core.management import BaseCommand - from media.forms import MediaAdminForm from media.models import BD, Manga diff --git a/media/scraper.py b/media/scraper.py index 84de5a8..0026d61 100644 --- a/media/scraper.py +++ b/media/scraper.py @@ -4,7 +4,6 @@ import re import requests - from media.models import Auteur diff --git a/media/serializers.py b/media/serializers.py index bbdce2e..53cb0ea 100644 --- a/media/serializers.py +++ b/media/serializers.py @@ -1,20 +1,54 @@ from rest_framework import serializers -from .models import Auteur, BD, Emprunt, Jeu +from .models import Auteur, BD, CD, FutureMedia, Manga, Emprunt, Jeu, Revue, Roman, Vinyle -class AuteurSerializer(serializers.HyperlinkedModelSerializer): +class AuteurSerializer(serializers.ModelSerializer): class Meta: model = Auteur fields = ['url', 'name'] -class MediaSerializer(serializers.HyperlinkedModelSerializer): +class BDSerializer(serializers.ModelSerializer): class Meta: model = BD - fields = ['url', 'isbn', 'title', 'subtitle', 'external_url', - 'side_identifier', 'authors', 'number_of_pages', - 'publish_date'] + fields = '__all__' + + +class MangaSerializer(serializers.ModelSerializer): + class Meta: + model = Manga + fields = '__all__' + + +class CDSerializer(serializers.ModelSerializer): + class Meta: + model = CD + fields = '__all__' + + +class VinyleSerializer(serializers.ModelSerializer): + class Meta: + model = Vinyle + fields = '__all__' + + +class RomanSerializer(serializers.ModelSerializer): + class Meta: + model = Roman + fields = '__all__' + + +class RevueSerializer(serializers.ModelSerializer): + class Meta: + model = Revue + fields = '__all__' + + +class FutureMediaSerializer(serializers.ModelSerializer): + class Meta: + model = FutureMedia + fields = '__all__' class EmpruntSerializer(serializers.HyperlinkedModelSerializer): diff --git a/media/templates/media/find_medium.html b/media/templates/media/find_medium.html new file mode 100644 index 0000000..0e406d4 --- /dev/null +++ b/media/templates/media/find_medium.html @@ -0,0 +1,92 @@ +{% extends "base.html" %} + +{% block content %} +
+