django-camomilla-cms 6.1.0__tar.gz → 6.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. {django_camomilla_cms-6.1.0/django_camomilla_cms.egg-info → django_camomilla_cms-6.1.2}/PKG-INFO +1 -1
  2. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/__init__.py +1 -1
  3. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/models/menu.py +1 -1
  4. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/models/page.py +1 -1
  5. django_camomilla_cms-6.1.2/camomilla/theme/__init__.py +1 -0
  6. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/mixins/optimize.py +7 -1
  7. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/mixins/pagination.py +5 -1
  8. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2/django_camomilla_cms.egg-info}/PKG-INFO +1 -1
  9. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/setup.py +1 -1
  10. django_camomilla_cms-6.1.0/camomilla/theme/__init__.py +0 -1
  11. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/LICENSE +0 -0
  12. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/MANIFEST.in +0 -0
  13. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/README.md +0 -0
  14. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/apps.py +0 -0
  15. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/authentication.py +0 -0
  16. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/context_processors.py +0 -0
  17. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/contrib/__init__.py +0 -0
  18. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/contrib/modeltranslation/__init__.py +0 -0
  19. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/contrib/modeltranslation/hvad_migration.py +0 -0
  20. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/defaults.py +0 -0
  21. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/dynamic_pages_urls.py +0 -0
  22. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/exceptions.py +0 -0
  23. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/fields/__init__.py +0 -0
  24. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/fields/json.py +0 -0
  25. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/management/__init__.py +0 -0
  26. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/management/commands/__init__.py +0 -0
  27. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/management/commands/regenerate_thumbnails.py +0 -0
  28. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/managers/__init__.py +0 -0
  29. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/managers/pages.py +0 -0
  30. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/model_api.py +0 -0
  31. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/models/__init__.py +0 -0
  32. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/models/article.py +0 -0
  33. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/models/content.py +0 -0
  34. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/models/media.py +0 -0
  35. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/models/mixins/__init__.py +0 -0
  36. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/openapi/__init__.py +0 -0
  37. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/openapi/schema.py +0 -0
  38. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/parsers.py +0 -0
  39. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/permissions.py +0 -0
  40. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/redirects.py +0 -0
  41. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/__init__.py +0 -0
  42. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/article.py +0 -0
  43. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/base/__init__.py +0 -0
  44. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/content_type.py +0 -0
  45. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/fields/__init__.py +0 -0
  46. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/fields/file.py +0 -0
  47. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/fields/related.py +0 -0
  48. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/media.py +0 -0
  49. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/menu.py +0 -0
  50. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/mixins/__init__.py +0 -0
  51. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/mixins/fields.py +0 -0
  52. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/mixins/filter_fields.py +0 -0
  53. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/mixins/json.py +0 -0
  54. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/mixins/language.py +0 -0
  55. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/mixins/nesting.py +0 -0
  56. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/mixins/optimize.py +0 -0
  57. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/mixins/ordering.py +0 -0
  58. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/mixins/page.py +0 -0
  59. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/mixins/translation.py +0 -0
  60. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/page.py +0 -0
  61. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/user.py +0 -0
  62. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/utils.py +0 -0
  63. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/serializers/validators.py +0 -0
  64. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/settings.py +0 -0
  65. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/sitemap.py +0 -0
  66. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/storages/__init__.py +0 -0
  67. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/storages/default.py +0 -0
  68. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/storages/optimize.py +0 -0
  69. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/storages/overwrite.py +0 -0
  70. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templates/admin/camomilla/page/change_form.html +0 -0
  71. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templates/defaults/articles/default.html +0 -0
  72. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templates/defaults/base.html +0 -0
  73. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templates/defaults/pages/default.html +0 -0
  74. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templates/defaults/parts/langswitch.html +0 -0
  75. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templates/defaults/parts/menu.html +0 -0
  76. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templates/defaults/widgets/media_select_multiple.html +0 -0
  77. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templates_context/__init__.py +0 -0
  78. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templates_context/autodiscover.py +0 -0
  79. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templates_context/rendering.py +0 -0
  80. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templatetags/__init__.py +0 -0
  81. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templatetags/camomilla_filters.py +0 -0
  82. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templatetags/menus.py +0 -0
  83. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/templatetags/model_extras.py +0 -0
  84. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/theme/admin/__init__.py +0 -0
  85. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/theme/admin/pages.py +0 -0
  86. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/theme/admin/translations.py +0 -0
  87. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/theme/apps.py +0 -0
  88. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/theme/static/admin/css/responsive.css +0 -0
  89. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/theme/static/admin/img/favicon.ico +0 -0
  90. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/theme/static/admin/img/logo.svg +0 -0
  91. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/theme/templates/admin/base.html +0 -0
  92. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/theme/templates/rosetta/base.html +0 -0
  93. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/translation.py +0 -0
  94. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/urls.py +0 -0
  95. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/utils/__init__.py +0 -0
  96. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/utils/getters.py +0 -0
  97. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/utils/normalization.py +0 -0
  98. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/utils/query_parser.py +0 -0
  99. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/utils/seo.py +0 -0
  100. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/utils/setters.py +0 -0
  101. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/utils/templates.py +0 -0
  102. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/utils/translation.py +0 -0
  103. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/__init__.py +0 -0
  104. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/articles.py +0 -0
  105. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/base/__init__.py +0 -0
  106. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/contents.py +0 -0
  107. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/decorators.py +0 -0
  108. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/languages.py +0 -0
  109. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/medias.py +0 -0
  110. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/menus.py +0 -0
  111. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/mixins/__init__.py +0 -0
  112. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/mixins/bulk_actions.py +0 -0
  113. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/mixins/language.py +0 -0
  114. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/mixins/ordering.py +0 -0
  115. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/mixins/permissions.py +0 -0
  116. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/pages.py +0 -0
  117. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/tags.py +0 -0
  118. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/camomilla/views/users.py +0 -0
  119. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/django_camomilla_cms.egg-info/SOURCES.txt +0 -0
  120. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/django_camomilla_cms.egg-info/dependency_links.txt +0 -0
  121. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/django_camomilla_cms.egg-info/requires.txt +0 -0
  122. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/django_camomilla_cms.egg-info/top_level.txt +0 -0
  123. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/pyproject.toml +0 -0
  124. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/setup.cfg +0 -0
  125. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/__init__.py +0 -0
  126. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/fixtures/__init__.py +0 -0
  127. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_admin_page_form.py +0 -0
  128. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_api.py +0 -0
  129. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_camomilla_filters.py +0 -0
  130. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_media.py +0 -0
  131. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_menu.py +0 -0
  132. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_model_api.py +0 -0
  133. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_model_api_permissions.py +0 -0
  134. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_model_api_register.py +0 -0
  135. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_models.py +0 -0
  136. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_page_meta.py +0 -0
  137. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_page_relation_api.py +0 -0
  138. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_pages.py +0 -0
  139. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_query_parser.py +0 -0
  140. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_templates_context.py +0 -0
  141. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/test_utils.py +0 -0
  142. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/utils/__init__.py +0 -0
  143. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/utils/api.py +0 -0
  144. {django_camomilla_cms-6.1.0 → django_camomilla_cms-6.1.2}/tests/utils/media.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-camomilla-cms
3
- Version: 6.1.0
3
+ Version: 6.1.2
4
4
  Summary: Django powered cms
5
5
  Author-email: Lotrèk <dimmitutto@lotrek.it>
6
6
  License: MIT
@@ -1,4 +1,4 @@
1
- __version__ = "6.1.0"
1
+ __version__ = "6.1.2"
2
2
 
3
3
 
4
4
  def get_core_apps():
@@ -74,7 +74,7 @@ class MenuNode(BaseModel):
74
74
 
75
75
 
76
76
  class Menu(models.Model):
77
- key = models.CharField(max_length=200, unique=True, editable=False)
77
+ key = models.CharField(max_length=200, unique=True, editable=True, default=uuid4)
78
78
  available_classes = models.JSONField(default=dict, editable=False)
79
79
  enabled = models.BooleanField(default=True)
80
80
  nodes = StructuredJSONField(default=list, schema=MenuNode)
@@ -343,7 +343,7 @@ class AbstractPage(SeoMixin, MetaMixin, models.Model, metaclass=PageBase):
343
343
  def childs(self) -> models.Manager:
344
344
  if hasattr(self._page_meta, "child_page_field"):
345
345
  return getattr(self, self._page_meta.child_page_field)
346
- return getattr(self, PAGE_CHILD_RELATED_NAME % self.model_info)
346
+ return getattr(self, PAGE_CHILD_RELATED_NAME % self.model_info, self.objects.none())
347
347
 
348
348
  @property
349
349
  def parent(self) -> models.Model:
@@ -0,0 +1 @@
1
+ __version__ = "6.1.2"
@@ -1,8 +1,14 @@
1
+ from django.utils.module_loading import import_string
2
+
3
+
1
4
  class OptimViewMixin:
2
5
  def get_serializer_class(self):
3
6
  if hasattr(self, "action_serializers"):
4
7
  if self.action in self.action_serializers:
5
- return self.action_serializers[self.action]
8
+ serializer = self.action_serializers[self.action]
9
+ if isinstance(serializer, str):
10
+ serializer = import_string(serializer)
11
+ return serializer
6
12
  return super().get_serializer_class()
7
13
 
8
14
  def get_serializer_context(self):
@@ -4,6 +4,7 @@ from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
4
4
  from django.contrib.postgres.search import SearchVector, SearchQuery, TrigramSimilarity
5
5
  from camomilla.utils.query_parser import ConditionParser
6
6
  from django.conf import settings
7
+ from django.utils.module_loading import import_string
7
8
 
8
9
 
9
10
  class TrigramSearchMixin:
@@ -106,7 +107,10 @@ class PaginateStackMixin:
106
107
  )
107
108
 
108
109
  def format_output(self, paginator, elements, SerializerClass=None):
109
- SerializerClass = SerializerClass or self.get_serializer_class()
110
+ if isinstance(SerializerClass, str):
111
+ SerializerClass = import_string(SerializerClass)
112
+ else:
113
+ SerializerClass = SerializerClass or self.get_serializer_class()
110
114
  return {
111
115
  "items": SerializerClass(
112
116
  elements, many=True, context=self.get_serializer_context()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-camomilla-cms
3
- Version: 6.1.0
3
+ Version: 6.1.2
4
4
  Summary: Django powered cms
5
5
  Author-email: Lotrèk <dimmitutto@lotrek.it>
6
6
  License: MIT
@@ -1,5 +1,5 @@
1
1
  from setuptools import setup
2
2
 
3
- __version__ = "6.1.0"
3
+ __version__ = "6.1.2"
4
4
 
5
5
  setup(version=__version__)
@@ -1 +0,0 @@
1
- __version__ = "6.1.0"