Skip to content

Commit

Permalink
fix: publication media collections
Browse files Browse the repository at this point in the history
  • Loading branch information
francesco-filicetti committed May 31, 2021
1 parent 03e83ec commit c53abbd
Show file tree
Hide file tree
Showing 7 changed files with 71 additions and 26 deletions.
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_requirements(fname='requirements.txt'):

setup(
name="unicms",
version='0.18.0',
version='0.18.1',
description="uniCMS is a Django Web Content Management System",
author='Giuseppe De Marco, Francesco Filicetti',
author_email='giuseppe.demarco@unical.it, francesco.filicetti@unical.it',
Expand Down
8 changes: 4 additions & 4 deletions src/cms/api/tests/test_publication_gallery.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def test_publication(self):
collection = MediaUnitTest.create_media_collection()

# pulication list
url = reverse('unicms_api:editorial-board-publication-galleries',
url = reverse('unicms_api:editorial-board-publication-media-collections',
kwargs={'publication_id': pub.pk})

# accessible to staff users only
Expand Down Expand Up @@ -66,14 +66,14 @@ def test_publication(self):
assert(pub_gallery)

# GET LOGS
url = reverse('unicms_api:editorial-board-publication-gallery-logs',
url = reverse('unicms_api:editorial-board-publication-media-collection-logs',
kwargs={'publication_id': pub.pk,
'pk': pub_gallery.pk})
res = req.get(url, content_type='application/json',)
assert isinstance(res.json(), dict)

# GET, patch, put, delete
url = reverse('unicms_api:editorial-board-publication-gallery',
url = reverse('unicms_api:editorial-board-publication-media-collection',
kwargs={'publication_id': pub.pk,
'pk': pub_gallery.pk})

Expand Down Expand Up @@ -134,7 +134,7 @@ def test_publication(self):
assert True

# form
url = reverse('unicms_api:editorial-board-publication-gallery-form',
url = reverse('unicms_api:editorial-board-publication-media-collection-form',
kwargs={'publication_id': pub.pk})
res = req.get(url)
assert isinstance(res.json(), list)
12 changes: 6 additions & 6 deletions src/cms/api/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -280,14 +280,14 @@
name='editorial-board-publication-link-logs'),
urlpatterns += path(f'{puli_prefix}/form/', publication_link.PublicationLinkFormView.as_view(), name='editorial-board-publication-link-form'),

# publication galleries
pug_prefix = f'{pu_prefix}/<int:publication_id>/galleries'
urlpatterns += path(f'{pug_prefix}/', publication_gallery.PublicationGalleryList.as_view(), name='editorial-board-publication-galleries'),
urlpatterns += path(f'{pug_prefix}/<int:pk>/', publication_gallery.PublicationGalleryView.as_view(), name='editorial-board-publication-gallery'),
# publication media collections
pug_prefix = f'{pu_prefix}/<int:publication_id>/media-collections/'
urlpatterns += path(f'{pug_prefix}/', publication_gallery.PublicationGalleryList.as_view(), name='editorial-board-publication-media-collections'),
urlpatterns += path(f'{pug_prefix}/<int:pk>/', publication_gallery.PublicationGalleryView.as_view(), name='editorial-board-publication-media-collection'),
urlpatterns += path(f'{pug_prefix}/<int:pk>/logs/', publication_gallery.PublicationGalleryLogsView.as_view(),
name='editorial-board-publication-gallery-logs'),
name='editorial-board-publication-media-collection-logs'),
urlpatterns += path(f'{pug_prefix}/form/', publication_gallery.PublicationGalleryFormView.as_view(),
name='editorial-board-publication-gallery-form'),
name='editorial-board-publication-media-collection-form'),

# publication localizations
pulo_prefix = f'{pu_prefix}/<int:publication_id>/localizations'
Expand Down
20 changes: 20 additions & 0 deletions src/cms/medias/migrations/0008_alter_media_file.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Generated by Django 3.2.3 on 2021-05-31 10:13

import cms.medias.models
import cms.medias.validators
from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('cmsmedias', '0007_auto_20210507_2312'),
]

operations = [
migrations.AlterField(
model_name='media',
name='file',
field=models.FileField(upload_to=cms.medias.models.context_media_path, validators=[cms.medias.validators.validate_file_extension, cms.medias.validators.validate_file_size, cms.medias.validators.validate_image_size_ratio]),
),
]
29 changes: 29 additions & 0 deletions src/cms/publications/migrations/0015_auto_20210531_1013.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Generated by Django 3.2.3 on 2021-05-31 10:13

import cms.medias.validators
import cms.publications.models
from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('cmspublications', '0014_auto_20210507_1618'),
]

operations = [
migrations.AlterModelOptions(
name='publicationgallery',
options={'verbose_name_plural': 'Publication Media Collection'},
),
migrations.AlterField(
model_name='category',
name='image',
field=models.ImageField(blank=True, max_length=512, null=True, upload_to='images/categories', validators=[cms.medias.validators.validate_image_file_extension, cms.medias.validators.validate_file_size]),
),
migrations.AlterField(
model_name='publicationattachment',
name='file',
field=models.FileField(upload_to=cms.publications.models.publication_attachment_path, validators=[cms.medias.validators.validate_file_extension, cms.medias.validators.validate_file_size]),
),
]
22 changes: 9 additions & 13 deletions src/cms/publications/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,18 +166,14 @@ def related_links(self):
return self.publicationlink_set.all()

@property
def related_galleries(self):
if getattr(self, '_related_galleries', None): # pragma: no cover
return self._related_galleries
pub_galleries = PublicationGallery.objects.filter(publication=self,
is_active=True,
collection__is_active=True)
# galleries = []
# for pub_gallery in pub_galleries:
# if pub_gallery.collection.get_items():
# galleries.append(pub_gallery)
self._related_galleries = pub_galleries
return self._related_galleries
def related_media_collections(self):
if getattr(self, '_related_media_collections', None): # pragma: no cover
return self._related_media_collections
pub_collections = PublicationGallery.objects.filter(publication=self,
is_active=True,
collection__is_active=True)
self._related_media_collections = pub_collections
return self._related_media_collections

def translate_as(self, lang):
"""
Expand Down Expand Up @@ -441,7 +437,7 @@ class PublicationGallery(TimeStampedModel, ActivableModel, SortableModel,
on_delete=models.PROTECT)

class Meta:
verbose_name_plural = _("Publication Image Gallery")
verbose_name_plural = _("Publication Media Collection")

def __str__(self):
return '{} {}'.format(self.publication, self.collection)
Expand Down
4 changes: 2 additions & 2 deletions src/cms/publications/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,14 +118,14 @@ def enrich_pub(cls, **kwargs):
publink.__str__()
pub.related_links

# pub gallery
# pub media collection
media_col = MediaUnitTest.create_media_collection()

pubga = PublicationGallery.objects.create(publication = pub,
collection = media_col,
is_active=1)
pubga.__str__()
pub.related_galleries
pub.related_media_collections

# pub loc
pub.translate_as(lang='en')
Expand Down

0 comments on commit c53abbd

Please sign in to comment.