utg-base 1.21.1__py3-none-any.whl → 1.21.2__py3-none-any.whl

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.
@@ -7,7 +7,7 @@ from utg_base.celery.serializers import TaskResultSerializer
7
7
 
8
8
 
9
9
  class CrontabScheduleSerializer(serializers.ModelSerializer):
10
- timezone = serializers.SerializerMethodField()
10
+ timezone = serializers.SerializerMethodField(read_only=True)
11
11
 
12
12
  class Meta:
13
13
  model = CrontabSchedule
@@ -18,7 +18,7 @@ class CrontabScheduleSerializer(serializers.ModelSerializer):
18
18
 
19
19
 
20
20
  class PeriodicTaskSerializer(serializers.ModelSerializer):
21
- crontab = CrontabScheduleSerializer(read_only=True)
21
+ crontab = CrontabScheduleSerializer()
22
22
  task_result = serializers.SerializerMethodField(read_only=True)
23
23
 
24
24
  class Meta:
@@ -1,7 +1,7 @@
1
1
  import json
2
2
 
3
3
  from celery import current_app
4
- from django_celery_beat.models import PeriodicTask
4
+ from django_celery_beat.models import PeriodicTask, CrontabSchedule
5
5
  from drf_spectacular.utils import extend_schema
6
6
  from rest_framework import viewsets, filters
7
7
  from rest_framework.exceptions import NotFound, ValidationError
@@ -23,6 +23,20 @@ class PeriodicTaskViewSet(viewsets.ModelViewSet):
23
23
  filter_backends = [filters.SearchFilter]
24
24
  search_fields = ['name']
25
25
 
26
+ @extend_schema(request={'application/json': PeriodicTaskSerializer()})
27
+ def partial_update(self, request, *args, **kwargs):
28
+ crontab = request.data.pop('crontab')
29
+ response = super().partial_update(request, *args, **kwargs)
30
+
31
+ if crontab:
32
+ instance = self.get_object()
33
+ crontab, _ = CrontabSchedule.objects.get_or_create(**crontab)
34
+
35
+ instance.crontab = crontab
36
+ instance.save()
37
+
38
+ return Response(self.serializer_class(instance).data)
39
+
26
40
 
27
41
  @extend_schema(tags=['admin/periodic-tasks'])
28
42
  class PeriodicTaskRunNowView(APIView):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: utg-base
3
- Version: 1.21.1
3
+ Version: 1.21.2
4
4
  Summary: UTG Base Package
5
5
  Author: Olimboy
6
6
  Author-email: shavkatov.olimboy@mail.ru
@@ -17,11 +17,11 @@ utg_base/celery/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
17
17
  utg_base/celery/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  utg_base/celery/management/commands/migrate_tasks.py,sha256=TAvPmYAmMkODdPAucbQDya2dd-BkVFCvWJrolqFdz6w,1667
19
19
  utg_base/celery/serializers/__init__.py,sha256=NjQ4dcnyoX9p5ljUBCjDegTKt7icia48GkVSmFCK9Ao,96
20
- utg_base/celery/serializers/periodic_task.py,sha256=lQShBqUQUOvk6-VQocyGfATZHAAVrng-w6_VjD3_WH4,1298
20
+ utg_base/celery/serializers/periodic_task.py,sha256=XrBSwmb15HqrfQgRHn1_rOHTvQZXPoR_Mo0wmj5gMeU,1298
21
21
  utg_base/celery/serializers/task_result.py,sha256=pt6BRjjvqU1Ah8IUSyL67AZJ1Z5iXAelYe6z-Pv1Nco,220
22
22
  utg_base/celery/urls.py,sha256=ww-ZwAzK0CnOZxqh4gaEYGuRoCgkrolB3jvKsLZEknI,524
23
23
  utg_base/celery/views/__init__.py,sha256=WPNtK_40JCSYGWkDgtpTdOWJ_GOp_dBKs9eK4VNq5Xs,114
24
- utg_base/celery/views/periodic_task.py,sha256=OyRJh_-KCicUZD84hksRoOXLHGk7mLF7QlsjncqvQac,1945
24
+ utg_base/celery/views/periodic_task.py,sha256=UWYew868jmw937uBCaaqarwsfSYhxbCZ9BnjPf-6CtA,2475
25
25
  utg_base/celery/views/task_result.py,sha256=c9HIcohrToRfz1jfZRRZ1ri15FOasjKgMYnzKcA2X8M,726
26
26
  utg_base/constants/__init__.py,sha256=Bpyeki5V2djF1p6XnhybBnmDiiYpNQwIBvCYI0tlQ68,102
27
27
  utg_base/constants/accessibility_type.py,sha256=dJBoA1E7NAGpHzifD_NDL_GPhRY3c6Fabez-34ghLl0,265
@@ -69,6 +69,6 @@ utg_base/utils/sql.py,sha256=rqIWcSjdjIMszdRnsnhV5TTYB8W17RPOujIQA9rKC_Y,762
69
69
  utg_base/utils/string.py,sha256=ATwIo9uLa00p85h_NjRYLcjRs8o3KSGF7s2yhTg5GiA,1073
70
70
  utg_base/utils/thread.py,sha256=4RqRnwtyHymY-dNcuPrMSTamE2V7wCMVfzzyIb0P4TI,2191
71
71
  utg_base/utils/translation.py,sha256=GxJHUt0iar_0E7RWBPbeLFQ4DhgXBjffHCmxfKyjFtk,463
72
- utg_base-1.21.1.dist-info/METADATA,sha256=zunw_Sp5QKKQa8ysvtB0XFie011Bndjd90kxjXsRZMk,960
73
- utg_base-1.21.1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
74
- utg_base-1.21.1.dist-info/RECORD,,
72
+ utg_base-1.21.2.dist-info/METADATA,sha256=oQwLuMnXCCgvxmNbbjH4ViGena4y8uq1kmr_USSpFTM,960
73
+ utg_base-1.21.2.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
74
+ utg_base-1.21.2.dist-info/RECORD,,