Merge remote-tracking branch 'origin/master' into master
# Conflicts: # media/admin.py # users/admin.py # users/views.py
This commit is contained in:
commit
a06ae5c9b9
|
@ -1,22 +1,37 @@
|
||||||
image: python:3.8
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- test
|
- test
|
||||||
|
- quality-assurance
|
||||||
|
|
||||||
before_script:
|
py37-django22:
|
||||||
- pip install tox
|
|
||||||
|
|
||||||
python37:
|
|
||||||
image: python:3.7
|
|
||||||
stage: test
|
stage: test
|
||||||
|
image: debian:buster-backports
|
||||||
|
before_script:
|
||||||
|
- >
|
||||||
|
apt-get update &&
|
||||||
|
apt-get install --no-install-recommends -t buster-backports -y
|
||||||
|
python3-django python3-django-casclient python3-django-reversion python3-djangorestframework
|
||||||
|
python3-docutils python3-pil python3-tz python3-six python3-sqlparse python3-stdnum python3-yaml python3-coreapi tox
|
||||||
script: tox -e py37
|
script: tox -e py37
|
||||||
|
|
||||||
python38:
|
py38-django22:
|
||||||
image: python:3.8
|
|
||||||
stage: test
|
stage: test
|
||||||
script: tox -e py37
|
image: ubuntu:20.04
|
||||||
|
before_script:
|
||||||
|
# Fix tzdata prompt
|
||||||
|
- ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime && echo Europe/Paris > /etc/timezone
|
||||||
|
- >
|
||||||
|
apt-get update &&
|
||||||
|
apt-get install --no-install-recommends -y
|
||||||
|
python3-django python3-django-casclient python3-django-reversion python3-djangorestframework
|
||||||
|
python3-docutils python3-pil python3-tz python3-six python3-sqlparse python3-stdnum python3-yaml python3-coreapi tox
|
||||||
|
script: tox -e py38
|
||||||
|
|
||||||
linters:
|
linters:
|
||||||
stage: test
|
stage: quality-assurance
|
||||||
|
image: debian:buster-backports
|
||||||
|
before_script:
|
||||||
|
- apt-get update && apt-get install -y tox
|
||||||
script: tox -e linters
|
script: tox -e linters
|
||||||
|
|
||||||
|
# Be nice to new contributors, but please use `tox`
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
|
@ -45,6 +45,8 @@ chmod go-rwx -R django-med
|
||||||
python3 -m venv venv --system-site-packages
|
python3 -m venv venv --system-site-packages
|
||||||
. venv/bin/activate
|
. venv/bin/activate
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
|
pip install mysqlclient~=1.4.0 # si base MySQL
|
||||||
|
pip install uwsgi~=2.0.18 # si production
|
||||||
./entrypoint.sh # lance en shell
|
./entrypoint.sh # lance en shell
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@ from django.urls import reverse
|
||||||
from django.utils.html import format_html
|
from django.utils.html import format_html
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from reversion.admin import VersionAdmin
|
from reversion.admin import VersionAdmin
|
||||||
|
|
||||||
from med.admin import admin_site
|
from med.admin import admin_site
|
||||||
|
|
||||||
from .forms import MediaAdminForm
|
from .forms import MediaAdminForm
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
# Generated by Django 2.2.12 on 2020-09-23 18:30
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('media', '0037_revue_double'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='bd',
|
||||||
|
name='external_url',
|
||||||
|
field=models.URLField(blank=True, default='', verbose_name='external URL'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='bd',
|
||||||
|
name='subtitle',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=255, verbose_name='subtitle'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='jeu',
|
||||||
|
name='comment',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=255, verbose_name='comment'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='manga',
|
||||||
|
name='external_url',
|
||||||
|
field=models.URLField(blank=True, default='', verbose_name='external URL'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='manga',
|
||||||
|
name='subtitle',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=255, verbose_name='subtitle'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='roman',
|
||||||
|
name='external_url',
|
||||||
|
field=models.URLField(blank=True, default='', verbose_name='external URL'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='roman',
|
||||||
|
name='subtitle',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=255, verbose_name='subtitle'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
]
|
|
@ -48,13 +48,11 @@ class BD(models.Model):
|
||||||
verbose_name=_('subtitle'),
|
verbose_name=_('subtitle'),
|
||||||
max_length=255,
|
max_length=255,
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
external_url = models.URLField(
|
external_url = models.URLField(
|
||||||
verbose_name=_('external URL'),
|
verbose_name=_('external URL'),
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
side_identifier = models.CharField(
|
side_identifier = models.CharField(
|
||||||
|
@ -109,13 +107,11 @@ class Manga(models.Model):
|
||||||
verbose_name=_('subtitle'),
|
verbose_name=_('subtitle'),
|
||||||
max_length=255,
|
max_length=255,
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
external_url = models.URLField(
|
external_url = models.URLField(
|
||||||
verbose_name=_('external URL'),
|
verbose_name=_('external URL'),
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
side_identifier = models.CharField(
|
side_identifier = models.CharField(
|
||||||
|
@ -167,13 +163,11 @@ class Roman(models.Model):
|
||||||
verbose_name=_('subtitle'),
|
verbose_name=_('subtitle'),
|
||||||
max_length=255,
|
max_length=255,
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
external_url = models.URLField(
|
external_url = models.URLField(
|
||||||
verbose_name=_('external URL'),
|
verbose_name=_('external URL'),
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
side_identifier = models.CharField(
|
side_identifier = models.CharField(
|
||||||
|
@ -415,7 +409,6 @@ class Jeu(models.Model):
|
||||||
comment = models.CharField(
|
comment = models.CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
|
||||||
verbose_name=_('comment'),
|
verbose_name=_('comment'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Django~=2.2.10
|
Django~=2.2.10
|
||||||
docutils~=0.14
|
docutils~=0.14
|
||||||
Pillow~=5.4.1
|
Pillow>=5.4.1
|
||||||
pytz~=2019.1
|
pytz~=2019.1
|
||||||
six~=1.12.0
|
six~=1.12.0
|
||||||
sqlparse~=0.2.4
|
sqlparse~=0.2.4
|
||||||
|
@ -10,5 +10,3 @@ python-stdnum~=1.10
|
||||||
djangorestframework~=3.9.0
|
djangorestframework~=3.9.0
|
||||||
pyyaml~=3.13
|
pyyaml~=3.13
|
||||||
coreapi~=2.3.3
|
coreapi~=2.3.3
|
||||||
uwsgi~=2.0.18
|
|
||||||
mysqlclient~=1.4.0
|
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Generated by Django 2.2.12 on 2020-09-23 18:30
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('users', '0040_delete_clef'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='user',
|
||||||
|
name='address',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=255, verbose_name='address'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='user',
|
||||||
|
name='telephone',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=15, verbose_name='phone number'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
]
|
|
@ -13,13 +13,11 @@ class User(AbstractUser):
|
||||||
telephone = models.CharField(
|
telephone = models.CharField(
|
||||||
verbose_name=_('phone number'),
|
verbose_name=_('phone number'),
|
||||||
max_length=15,
|
max_length=15,
|
||||||
null=True,
|
|
||||||
blank=True,
|
blank=True,
|
||||||
)
|
)
|
||||||
address = models.CharField(
|
address = models.CharField(
|
||||||
verbose_name=_('address'),
|
verbose_name=_('address'),
|
||||||
max_length=255,
|
max_length=255,
|
||||||
null=True,
|
|
||||||
blank=True,
|
blank=True,
|
||||||
)
|
)
|
||||||
maxemprunt = models.IntegerField(
|
maxemprunt = models.IntegerField(
|
||||||
|
@ -69,3 +67,6 @@ class Adhesion(models.Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _('membership year')
|
verbose_name = _('membership year')
|
||||||
verbose_name_plural = _('membership years')
|
verbose_name_plural = _('membership years')
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f"{self.starting_in} - {self.ending_in}"
|
||||||
|
|
Loading…
Reference in New Issue