extended photologue photo to add an owner field
This commit is contained in:
parent
e91e79ad85
commit
7c0ba18824
4 changed files with 86 additions and 16 deletions
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \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"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
@ -18,11 +18,7 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
|
|
||||||
#: accounts/forms.py:9
|
#: photo21/forms.py:12
|
||||||
msgid "Email address"
|
|
||||||
msgstr "Adresse email"
|
|
||||||
|
|
||||||
#: accounts/forms.py:13
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter a valid email address ending with `@crans.org` or `@ens-paris-"
|
"Please enter a valid email address ending with `@crans.org` or `@ens-paris-"
|
||||||
"saclay.fr`."
|
"saclay.fr`."
|
||||||
|
|
@ -30,23 +26,23 @@ msgstr ""
|
||||||
"Veuillez entrer une adresse email valide finissant par `@crans.org` ou `@ens-"
|
"Veuillez entrer une adresse email valide finissant par `@crans.org` ou `@ens-"
|
||||||
"paris-saclay.fr`."
|
"paris-saclay.fr`."
|
||||||
|
|
||||||
#: accounts/forms.py:25
|
#: photo21/forms.py:23
|
||||||
msgid "Must end with `@crans.org` or `@ens-paris-saclay.fr`."
|
msgid "Must end with `@crans.org` or `@ens-paris-saclay.fr`."
|
||||||
msgstr "Doit finir par `@crans.org` ou `@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"
|
msgid "German"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: photo21/settings.py:145
|
#: photo21/settings.py:144
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: photo21/settings.py:146
|
#: photo21/settings.py:145
|
||||||
msgid "Spanish"
|
msgid "Spanish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: photo21/settings.py:147
|
#: photo21/settings.py:146
|
||||||
msgid "French"
|
msgid "French"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -178,6 +174,10 @@ msgstr "Inscription"
|
||||||
msgid "Connected as"
|
msgid "Connected as"
|
||||||
msgstr "Connecté en tant que"
|
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:4
|
||||||
#: photologue_custom/templates/photologue/gallery_archive.html:9
|
#: photologue_custom/templates/photologue/gallery_archive.html:9
|
||||||
msgid "Latest photo galleries"
|
msgid "Latest photo galleries"
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from photologue.admin import GalleryAdmin as GalleryAdminDefault
|
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):
|
class GalleryExtendedInline(admin.StackedInline):
|
||||||
|
|
@ -18,5 +19,20 @@ class GalleryAdmin(GalleryAdminDefault):
|
||||||
inlines = [GalleryExtendedInline, ]
|
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(Gallery)
|
||||||
|
admin.site.unregister(Photo)
|
||||||
admin.site.register(Gallery, GalleryAdmin)
|
admin.site.register(Gallery, GalleryAdmin)
|
||||||
|
admin.site.register(Photo, PhotoAdmin)
|
||||||
|
|
|
||||||
29
photologue_custom/migrations/0002_photoextended.py
Normal file
29
photologue_custom/migrations/0002_photoextended.py
Normal 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',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.conf import settings
|
||||||
from taggit.managers import TaggableManager
|
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):
|
class GalleryExtended(models.Model):
|
||||||
|
|
@ -15,8 +17,31 @@ class GalleryExtended(models.Model):
|
||||||
tags = TaggableManager(blank=True)
|
tags = TaggableManager(blank=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = u'Extra fields'
|
verbose_name = 'Extra fields'
|
||||||
verbose_name_plural = u'Extra fields'
|
verbose_name_plural = 'Extra fields'
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.gallery.title
|
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)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue