Merge branch 'photograph' into 'master'

extended photologue photo to add an owner field

See merge request bde/photo21!7
This commit is contained in:
erdnaxe 2021-10-11 20:45:47 +02:00
commit 59d60ccf70
4 changed files with 86 additions and 16 deletions

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-11 11:48+0000\n"
"POT-Creation-Date: 2021-10-11 18:38+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,11 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: accounts/forms.py:9
msgid "Email address"
msgstr "Adresse email"
#: accounts/forms.py:13
#: photo21/forms.py:12
msgid ""
"Please enter a valid email address ending with `@crans.org` or `@ens-paris-"
"saclay.fr`."
@ -30,23 +26,23 @@ msgstr ""
"Veuillez entrer une adresse email valide finissant par `@crans.org` ou `@ens-"
"paris-saclay.fr`."
#: accounts/forms.py:25
#: photo21/forms.py:23
msgid "Must end with `@crans.org` or `@ens-paris-saclay.fr`."
msgstr "Doit finir par `@crans.org` ou `@ens-paris-saclay.fr`."
#: photo21/settings.py:144
#: photo21/settings.py:143
msgid "German"
msgstr ""
#: photo21/settings.py:145
#: photo21/settings.py:144
msgid "English"
msgstr ""
#: photo21/settings.py:146
#: photo21/settings.py:145
msgid "Spanish"
msgstr ""
#: photo21/settings.py:147
#: photo21/settings.py:146
msgid "French"
msgstr ""
@ -178,6 +174,10 @@ msgstr "Inscription"
msgid "Connected as"
msgstr "Connecté en tant que"
#: photologue_custom/models.py:39
msgid "owner"
msgstr "propriétaire"
#: photologue_custom/templates/photologue/gallery_archive.html:4
#: photologue_custom/templates/photologue/gallery_archive.html:9
msgid "Latest photo galleries"

View file

@ -1,8 +1,9 @@
from django.contrib import admin
from photologue.admin import GalleryAdmin as GalleryAdminDefault
from photologue.models import Gallery
from photologue.admin import PhotoAdmin as PhotoAdminDefault
from photologue.models import Gallery, Photo
from .models import GalleryExtended
from .models import GalleryExtended, PhotoExtended
class GalleryExtendedInline(admin.StackedInline):
@ -18,5 +19,20 @@ class GalleryAdmin(GalleryAdminDefault):
inlines = [GalleryExtendedInline, ]
class PhotoExtendedInline(admin.StackedInline):
model = PhotoExtended
can_delete = True
class PhotoAdmin(PhotoAdminDefault):
"""
Define our new one-to-one model as an inline of Photologue's Photo
model.
"""
inlines = [PhotoExtendedInline, ]
admin.site.unregister(Gallery)
admin.site.unregister(Photo)
admin.site.register(Gallery, GalleryAdmin)
admin.site.register(Photo, PhotoAdmin)

View file

@ -0,0 +1,29 @@
# Generated by Django 2.2.24 on 2021-10-11 18:40
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('photologue', '0011_auto_20190223_2138'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('photologue_custom', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='PhotoExtended',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='owner')),
('photo', models.OneToOneField(on_delete='cascade', related_name='extented', to='photologue.Photo')),
],
options={
'verbose_name': 'Extra fields',
'verbose_name_plural': 'Extra fields',
},
),
]

View file

@ -1,6 +1,8 @@
from django.db import models
from django.conf import settings
from taggit.managers import TaggableManager
from photologue.models import Gallery
from photologue.models import Gallery, Photo
from django.utils.translation import gettext_lazy as _
class GalleryExtended(models.Model):
@ -15,8 +17,31 @@ class GalleryExtended(models.Model):
tags = TaggableManager(blank=True)
class Meta:
verbose_name = u'Extra fields'
verbose_name_plural = u'Extra fields'
verbose_name = 'Extra fields'
verbose_name_plural = 'Extra fields'
def __str__(self):
return self.gallery.title
class PhotoExtended(models.Model):
# Extend Photologue Photo model.
photo = models.OneToOneField(
Photo,
related_name='extented',
on_delete='cascade'
)
# Add a owner field to PhotoExtended
owner = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
verbose_name=_("owner"),
)
class Meta:
verbose_name = 'Extra fields'
verbose_name_plural = 'Extra fields'
def __str__(self):
return str(self.photo)