csu 2.6.0__tar.gz → 2.6.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.
- {csu-2.6.0 → csu-2.6.2}/.bumpversion.cfg +1 -1
- {csu-2.6.0 → csu-2.6.2}/.cookiecutterrc +1 -1
- {csu-2.6.0 → csu-2.6.2}/PKG-INFO +3 -3
- {csu-2.6.0 → csu-2.6.2}/README.rst +2 -2
- {csu-2.6.0 → csu-2.6.2}/pyproject.toml +1 -1
- {csu-2.6.0 → csu-2.6.2}/src/csu/__init__.py +1 -1
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/serializers.py +10 -5
- {csu-2.6.0 → csu-2.6.2}/src/csu/models.py +1 -5
- {csu-2.6.0 → csu-2.6.2}/src/csu.egg-info/PKG-INFO +3 -3
- {csu-2.6.0 → csu-2.6.2}/.coveragerc +0 -0
- {csu-2.6.0 → csu-2.6.2}/.editorconfig +0 -0
- {csu-2.6.0 → csu-2.6.2}/.github/workflows/github-actions.yml +0 -0
- {csu-2.6.0 → csu-2.6.2}/.pre-commit-config.yaml +0 -0
- {csu-2.6.0 → csu-2.6.2}/.tombi.toml +0 -0
- {csu-2.6.0 → csu-2.6.2}/AUTHORS.rst +0 -0
- {csu-2.6.0 → csu-2.6.2}/CHANGELOG.rst +0 -0
- {csu-2.6.0 → csu-2.6.2}/CONTRIBUTING.rst +0 -0
- {csu-2.6.0 → csu-2.6.2}/LICENSE +0 -0
- {csu-2.6.0 → csu-2.6.2}/MANIFEST.in +0 -0
- {csu-2.6.0 → csu-2.6.2}/ci/bootstrap.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/ci/requirements.txt +0 -0
- {csu-2.6.0 → csu-2.6.2}/ci/templates/.github/workflows/github-actions.yml +0 -0
- {csu-2.6.0 → csu-2.6.2}/pytest.ini +0 -0
- {csu-2.6.0 → csu-2.6.2}/setup.cfg +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/admin.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/conf.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/consts.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/__init__.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/auth.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/fields.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/forms.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/perms.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/phonenumber.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/test_auth.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/test_fields.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/test_forms.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/test_phonenumber.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/test_serializers.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/drf/views.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/enums.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/env.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/exceptions.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/export.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/fixups.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/forms/__init__.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/forms/crispy.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/forms/fields.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/gettext.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/gettext_lazy.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/locale/ro/LC_MESSAGES/django.mo +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/locale/ro/LC_MESSAGES/django.po +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/logging.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/management.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/query.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/routers.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/service.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/templates/api_exception.html +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/templates/forms/widgets/opaquewidget.html +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/test_consts.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/test_env.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/test_exceptions.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/test_management.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/test_service.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/test_timezones.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/test_utils.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/test_xml.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/timezones.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/utils.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/views.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/worker/__init__.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/worker/admin.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/worker/asgi.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/worker/engine.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/worker/enums.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/worker/job.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/worker/models.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/worker/registry.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/wsgi.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu/xml.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu.egg-info/SOURCES.txt +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu.egg-info/dependency_links.txt +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu.egg-info/requires.txt +0 -0
- {csu-2.6.0 → csu-2.6.2}/src/csu.egg-info/top_level.txt +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/cassettes/test_service/test_custom_context.yaml +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/cassettes/test_service/test_custom_context_0_retries.yaml +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/cassettes/test_service/test_decoding.yaml +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/cassettes/test_service/test_error.yaml +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/cassettes/test_service/test_logging.yaml +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/cassettes/test_service/test_redirects.yaml +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/cassettes/test_service_auth/test_async.yaml +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/cassettes/test_service_auth/test_async_auth.yaml +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/cassettes/test_service_auth/test_sync.yaml +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/cassettes/test_service_auth/test_sync_auth.yaml +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/conftest.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/exampleworker.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/test_exampleworker.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/test_logging.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/test_models.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/test_service.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/test_service_auth.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/test_views.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/test_worker.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/testproject/__init__.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/testproject/fixtures/testuser.json +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/testproject/models.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/testproject/settings.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tests/testproject/urls.py +0 -0
- {csu-2.6.0 → csu-2.6.2}/tox.ini +0 -0
{csu-2.6.0 → csu-2.6.2}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: csu
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.2
|
|
4
4
|
Summary: Clean Slate Utils - bunch of utility code, mostly Django/DRF specific.
|
|
5
5
|
Author-email: Ionel Cristian Mărieș <contact@ionelmc.ro>
|
|
6
6
|
License-Expression: BSD-2-Clause
|
|
@@ -69,9 +69,9 @@ Overview
|
|
|
69
69
|
.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/csu.svg
|
|
70
70
|
:alt: Supported implementations
|
|
71
71
|
:target: https://pypi.org/project/csu
|
|
72
|
-
.. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.6.
|
|
72
|
+
.. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.6.2.svg
|
|
73
73
|
:alt: Commits since latest release
|
|
74
|
-
:target: https://github.com/ionelmc/python-csu/compare/v2.6.
|
|
74
|
+
:target: https://github.com/ionelmc/python-csu/compare/v2.6.2...main
|
|
75
75
|
.. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/ionelmc/python-csu/main.svg
|
|
76
76
|
:alt: Scrutinizer Status
|
|
77
77
|
:target: https://scrutinizer-ci.com/g/ionelmc/python-csu/
|
|
@@ -34,9 +34,9 @@ Overview
|
|
|
34
34
|
.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/csu.svg
|
|
35
35
|
:alt: Supported implementations
|
|
36
36
|
:target: https://pypi.org/project/csu
|
|
37
|
-
.. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.6.
|
|
37
|
+
.. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.6.2.svg
|
|
38
38
|
:alt: Commits since latest release
|
|
39
|
-
:target: https://github.com/ionelmc/python-csu/compare/v2.6.
|
|
39
|
+
:target: https://github.com/ionelmc/python-csu/compare/v2.6.2...main
|
|
40
40
|
.. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/ionelmc/python-csu/main.svg
|
|
41
41
|
:alt: Scrutinizer Status
|
|
42
42
|
:target: https://scrutinizer-ci.com/g/ionelmc/python-csu/
|
|
@@ -88,10 +88,15 @@ class ConfirmSerializer(Serializer):
|
|
|
88
88
|
raise ValidationError(_("Must have a true value."))
|
|
89
89
|
return value
|
|
90
90
|
|
|
91
|
-
def validate(self,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
def validate(self, attrs):
|
|
92
|
+
instance = self.instance
|
|
93
|
+
if instance.is_pending:
|
|
94
|
+
if instance.can_confirm():
|
|
95
|
+
return super().validate(attrs)
|
|
96
|
+
else:
|
|
97
|
+
raise ValidationError({"confirm": _("Confirm time limit expired.")})
|
|
98
|
+
else:
|
|
99
|
+
raise ValidationError({"confirm": _("Cannot confirm when status is {status}.").format(status=type(instance).status_enum_class(instance.status))})
|
|
95
100
|
|
|
96
101
|
|
|
97
102
|
class CancelSerializer(Serializer):
|
|
@@ -116,6 +121,6 @@ class CancelSerializer(Serializer):
|
|
|
116
121
|
|
|
117
122
|
def validate(self, data):
|
|
118
123
|
if not self.instance.can_cancel():
|
|
119
|
-
raise ValidationError(self.cancel_error)
|
|
124
|
+
raise ValidationError({"cancel": self.cancel_error})
|
|
120
125
|
|
|
121
126
|
return super().validate(data)
|
|
@@ -92,17 +92,13 @@ class BaseStatusModel(BaseModel):
|
|
|
92
92
|
return not self.is_confirmed
|
|
93
93
|
|
|
94
94
|
def can_confirm(self):
|
|
95
|
-
if self.
|
|
96
|
-
return False
|
|
97
|
-
elif self.is_pending:
|
|
95
|
+
if self.is_pending:
|
|
98
96
|
current_dt = now()
|
|
99
97
|
created_at = cleanup_dt(self.created_at)
|
|
100
98
|
if current_dt.day != created_at.day:
|
|
101
99
|
return False
|
|
102
100
|
diff = (current_dt - created_at).total_seconds()
|
|
103
101
|
return diff <= type(self).status_confirm_time_limit_seconds
|
|
104
|
-
else:
|
|
105
|
-
return True
|
|
106
102
|
|
|
107
103
|
|
|
108
104
|
class BasePriceModel(models.Model):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: csu
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.2
|
|
4
4
|
Summary: Clean Slate Utils - bunch of utility code, mostly Django/DRF specific.
|
|
5
5
|
Author-email: Ionel Cristian Mărieș <contact@ionelmc.ro>
|
|
6
6
|
License-Expression: BSD-2-Clause
|
|
@@ -69,9 +69,9 @@ Overview
|
|
|
69
69
|
.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/csu.svg
|
|
70
70
|
:alt: Supported implementations
|
|
71
71
|
:target: https://pypi.org/project/csu
|
|
72
|
-
.. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.6.
|
|
72
|
+
.. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.6.2.svg
|
|
73
73
|
:alt: Commits since latest release
|
|
74
|
-
:target: https://github.com/ionelmc/python-csu/compare/v2.6.
|
|
74
|
+
:target: https://github.com/ionelmc/python-csu/compare/v2.6.2...main
|
|
75
75
|
.. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/ionelmc/python-csu/main.svg
|
|
76
76
|
:alt: Scrutinizer Status
|
|
77
77
|
:target: https://scrutinizer-ci.com/g/ionelmc/python-csu/
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csu-2.6.0 → csu-2.6.2}/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{csu-2.6.0 → csu-2.6.2}/tox.ini
RENAMED
|
File without changes
|