Compare commits
12 Commits
32d3bea234
...
certificat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
190480b6f7 | ||
| 1a985ffa4b | |||
|
|
3b62c5a7bf | ||
|
|
07f8d55966 | ||
| b0b4ccfeee | |||
|
|
ccefe9c119 | ||
|
|
6456283f72 | ||
|
|
6eed2d998e | ||
| 2c82691166 | |||
|
|
7a88e39b96 | ||
|
|
dc622ce305 | ||
|
|
6e0718c5db |
@@ -13,7 +13,7 @@ from config.env import env
|
|||||||
|
|
||||||
|
|
||||||
def home(request):
|
def home(request):
|
||||||
return HttpResponse("OK: #2a08ad9662f957a3a0b75b8c8440d49b0b4e9ae4")
|
return HttpResponse("OK: #1a985ffa4b785b63a71b9e0cdd78042c3fcda239")
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
|
|||||||
15
core/apps/evaluation/migrations/0033_merge_20260423_1622.py
Normal file
15
core/apps/evaluation/migrations/0033_merge_20260423_1622.py
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# Generated by Django 6.0.4 on 2026-04-23 11:22
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('evaluation', '0032_certificatemodel'),
|
||||||
|
('evaluation', '0032_evaluationrequestmodel_is_archive'),
|
||||||
|
('evaluation', '0032_quickevaluationmodel_is_archive'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
]
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# Generated by Django 6.0.4 on 2026-04-23 13:42
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('evaluation', '0033_merge_20260423_1622'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='certificatemodel',
|
||||||
|
name='file_url',
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='certificatemodel',
|
||||||
|
name='file',
|
||||||
|
field=models.FileField(blank=True, null=True, upload_to='certificates/', verbose_name='file'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -1,11 +1,21 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
from django_core.models import AbstractBaseModel
|
from django_core.models import AbstractBaseModel
|
||||||
from model_bakery import baker
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
from model_bakery import baker
|
||||||
|
|
||||||
|
|
||||||
class CertificateModel(AbstractBaseModel):
|
class CertificateModel(AbstractBaseModel):
|
||||||
title = models.CharField(verbose_name=_("title"), max_length=255, blank=False, null=False)
|
title = models.CharField(
|
||||||
file_url = models.URLField(verbose_name=_("file url"), max_length=255, blank=False, null=False)
|
verbose_name=_("title"),
|
||||||
|
max_length=255
|
||||||
|
)
|
||||||
|
|
||||||
|
file = models.FileField(
|
||||||
|
verbose_name=_("file"),
|
||||||
|
upload_to="certificates/",
|
||||||
|
blank=True,
|
||||||
|
null=True
|
||||||
|
)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.title
|
return self.title
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from core.apps.evaluation.models import CertificateModel
|
from core.apps.evaluation.models import CertificateModel
|
||||||
|
|
||||||
|
|
||||||
class BaseCertificateSerializer(serializers.ModelSerializer):
|
class BaseCertificateSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@@ -8,5 +9,5 @@ class BaseCertificateSerializer(serializers.ModelSerializer):
|
|||||||
fields = [
|
fields = [
|
||||||
"id",
|
"id",
|
||||||
"title",
|
"title",
|
||||||
"file_url"
|
"file",
|
||||||
]
|
]
|
||||||
@@ -78,6 +78,6 @@ urlpatterns = [
|
|||||||
),
|
),
|
||||||
path("evaluation-request/<int:pk>/change-status/", EvaluationStatusChange.as_view(),
|
path("evaluation-request/<int:pk>/change-status/", EvaluationStatusChange.as_view(),
|
||||||
name="evaluation-change-status"),
|
name="evaluation-change-status"),
|
||||||
path("quick-evaluation/archive/", ArchiveQuickEvaluationView.as_view(), name="quick-evaluation-archive"),
|
path("archive/quick-evaluation/", ArchiveQuickEvaluationView.as_view(), name="quick-evaluation-archive"),
|
||||||
path("evaluation-request/archive/", ArchiveEvaluationrequestView.as_view(), name="evaluation-request-archive"),
|
path("archive/evaluation-request/", ArchiveEvaluationrequestView.as_view(), name="evaluation-request-archive"),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -5,13 +5,16 @@ from rest_framework.viewsets import ModelViewSet
|
|||||||
from core.apps.evaluation.models import CertificateModel
|
from core.apps.evaluation.models import CertificateModel
|
||||||
from core.apps.evaluation.serializers.certificate import BaseCertificateSerializer
|
from core.apps.evaluation.serializers.certificate import BaseCertificateSerializer
|
||||||
from rest_framework.filters import SearchFilter
|
from rest_framework.filters import SearchFilter
|
||||||
|
from rest_framework.parsers import MultiPartParser, FormParser
|
||||||
|
|
||||||
@extend_schema(tags=["Certificate"])
|
@extend_schema(tags=["Certificate"],request=BaseCertificateSerializer)
|
||||||
class CertificateView(BaseViewSetMixin, ModelViewSet):
|
class CertificateView(BaseViewSetMixin, ModelViewSet):
|
||||||
queryset = CertificateModel.objects.all()
|
queryset = CertificateModel.objects.all()
|
||||||
serializer_class = BaseCertificateSerializer
|
serializer_class = BaseCertificateSerializer
|
||||||
permission_classes = [IsAuthenticated]
|
permission_classes = [IsAuthenticated]
|
||||||
|
|
||||||
|
parser_classes = [MultiPartParser, FormParser]
|
||||||
|
|
||||||
filter_backends = [SearchFilter]
|
filter_backends = [SearchFilter]
|
||||||
search_fields = ["title"]
|
search_fields = ["title"]
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ services:
|
|||||||
max-file: "5"
|
max-file: "5"
|
||||||
|
|
||||||
web:
|
web:
|
||||||
image: husanjon/sifatbaho:108
|
image: husanjon/sifatbaho:114
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
@@ -129,7 +129,7 @@ services:
|
|||||||
max-file: "5"
|
max-file: "5"
|
||||||
|
|
||||||
celery:
|
celery:
|
||||||
image: husanjon/sifatbaho:108
|
image: husanjon/sifatbaho:114
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
Reference in New Issue
Block a user