mirror of
https://gitlab.crans.org/mediatek/med.git
synced 2024-11-30 06:53:03 +00:00
Add paginator et model pour les jeux
This commit is contained in:
parent
760e309afb
commit
2b8ae80b4d
30
media/migrations/0006_jeu.py
Normal file
30
media/migrations/0006_jeu.py
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.2 on 2017-07-03 14:23
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
('media', '0005_auto_20170630_1551'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Jeu',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('nom', models.CharField(max_length=255)),
|
||||||
|
('duree', models.CharField(choices=[('LONG', 'LONG'), ('MOYEN', 'MOYEN'), ('COURT', 'COURT')], max_length=255)),
|
||||||
|
('nombre_joueurs_min', models.IntegerField()),
|
||||||
|
('nombre_joueurs_max', models.IntegerField()),
|
||||||
|
('comment', models.CharField(blank=True, help_text='Commentaire', max_length=255, null=True)),
|
||||||
|
('proprietaire', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
]
|
@ -13,7 +13,7 @@ class Media(models.Model):
|
|||||||
# type = TODO
|
# type = TODO
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self.titre) + ' - ' + str(self.auteur)
|
return str(self.titre) + ' - ' + str(self.auteur.all().first())
|
||||||
|
|
||||||
class Emprunt(models.Model):
|
class Emprunt(models.Model):
|
||||||
media = models.ForeignKey('Media', on_delete=models.PROTECT)
|
media = models.ForeignKey('Media', on_delete=models.PROTECT)
|
||||||
@ -24,6 +24,19 @@ class Emprunt(models.Model):
|
|||||||
permanencier_rendu = models.ForeignKey('users.User', on_delete=models.PROTECT, related_name='user_permanencier_rendu', blank=True, null=True)
|
permanencier_rendu = models.ForeignKey('users.User', on_delete=models.PROTECT, related_name='user_permanencier_rendu', blank=True, null=True)
|
||||||
|
|
||||||
|
|
||||||
|
class Jeu(models.Model):
|
||||||
|
DUREE = (
|
||||||
|
('LONG', 'LONG'),
|
||||||
|
('MOYEN', 'MOYEN'),
|
||||||
|
('COURT', 'COURT'),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
nom = models.CharField(max_length=255)
|
||||||
|
proprietaire = models.ForeignKey('users.User', on_delete=models.PROTECT)
|
||||||
|
duree = models.CharField(choices=DUREE, max_length=255)
|
||||||
|
nombre_joueurs_min = models.IntegerField()
|
||||||
|
nombre_joueurs_max = models.IntegerField()
|
||||||
|
comment = models.CharField(help_text="Commentaire", max_length=255, blank=True, null=True)
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,6 +22,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
|
|
||||||
|
{% if emprunts_list.paginator %}
|
||||||
|
{% include "pagination.html" with list=emprunts_list %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<table class="table table-striped">
|
<table class="table table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -38,7 +38,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
{% for media in medias_list %}
|
{% for media in medias_list %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ media.titre }}</td>
|
<td>{{ media.titre }}</td>
|
||||||
<td>{{ media.auteur }}</td>
|
<td>{% for aut in media.auteur.all %}{{ aut }}, {% endfor %}</td>
|
||||||
<td>{{ media.cote }}</td>
|
<td>{{ media.cote }}</td>
|
||||||
<td>{% include 'buttons/edit.html' with href='media:edit-media' id=media.id %}
|
<td>{% include 'buttons/edit.html' with href='media:edit-media' id=media.id %}
|
||||||
{% include 'buttons/suppr.html' with href='media:del-media' id=media.id %}
|
{% include 'buttons/suppr.html' with href='media:del-media' id=media.id %}
|
||||||
|
@ -234,6 +234,16 @@ def index(request):
|
|||||||
emprunts_list = Emprunt.objects.all()
|
emprunts_list = Emprunt.objects.all()
|
||||||
else:
|
else:
|
||||||
emprunts_list = Emprunt.objects.filter(user=request.user)
|
emprunts_list = Emprunt.objects.filter(user=request.user)
|
||||||
|
paginator = Paginator(emprunts_list.order_by('date_emprunt').reverse(), PAGINATION_NUMBER)
|
||||||
|
page = request.GET.get('page')
|
||||||
|
try:
|
||||||
|
emprunts_list = paginator.page(page)
|
||||||
|
except PageNotAnInteger:
|
||||||
|
# If page is not an integer, deliver first page.
|
||||||
|
emprunts_list = paginator.page(1)
|
||||||
|
except EmptyPage:
|
||||||
|
# If page is out of range (e.g. 9999), deliver last page of results.
|
||||||
|
emprunts_list = paginator.page(paginator.num_pages)
|
||||||
return render(request, 'media/index_emprunts.html', {'emprunts_list':emprunts_list})
|
return render(request, 'media/index_emprunts.html', {'emprunts_list':emprunts_list})
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user