diff --git a/core/apps/common/admin.py b/core/apps/common/admin.py index 626d32e..7201bf3 100644 --- a/core/apps/common/admin.py +++ b/core/apps/common/admin.py @@ -81,11 +81,15 @@ class CountryAdmin(admin.ModelAdmin): @admin.register(models.Requisite) -class Requisite(TranslationAdmin): +class RequisiteAdmin(TranslationAdmin): list_display = ['company_name', 'legal_address', 'tin', 'okpo'] @admin.register(models.PrivacyPolicy) -class Requisite(TranslationAdmin): +class PrivacyPolicyAdmin(TranslationAdmin): list_display = ['title', 'text'] - \ No newline at end of file + + +@admin.register(models.UserTerms) +class UserTermsAdmin(TranslationAdmin): + list_display = ['text'] \ No newline at end of file diff --git a/core/apps/common/migrations/0006_userterms.py b/core/apps/common/migrations/0006_userterms.py new file mode 100644 index 0000000..4730d9e --- /dev/null +++ b/core/apps/common/migrations/0006_userterms.py @@ -0,0 +1,27 @@ +# Generated by Django 5.2 on 2025-09-04 16:59 + +import uuid +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('common', '0005_privacypolicy'), + ] + + operations = [ + migrations.CreateModel( + name='UserTerms', + fields=[ + ('id', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)), + ('created_at', models.DateField(auto_now_add=True)), + ('updated_at', models.DateField(auto_now=True)), + ('text', models.TextField()), + ], + options={ + 'verbose_name': 'Foydalanuvchi shartlari', + 'verbose_name_plural': 'Foydalanuvchi shartlari', + }, + ), + ] diff --git a/core/apps/common/migrations/0007_userterms_text_en_userterms_text_ru_and_more.py b/core/apps/common/migrations/0007_userterms_text_en_userterms_text_ru_and_more.py new file mode 100644 index 0000000..44fb5cf --- /dev/null +++ b/core/apps/common/migrations/0007_userterms_text_en_userterms_text_ru_and_more.py @@ -0,0 +1,28 @@ +# Generated by Django 5.2 on 2025-09-04 16:59 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('common', '0006_userterms'), + ] + + operations = [ + migrations.AddField( + model_name='userterms', + name='text_en', + field=models.TextField(null=True), + ), + migrations.AddField( + model_name='userterms', + name='text_ru', + field=models.TextField(null=True), + ), + migrations.AddField( + model_name='userterms', + name='text_uz', + field=models.TextField(null=True), + ), + ] diff --git a/core/apps/common/models.py b/core/apps/common/models.py index c9d3925..cf83a38 100644 --- a/core/apps/common/models.py +++ b/core/apps/common/models.py @@ -167,3 +167,14 @@ class PrivacyPolicy(BaseModel): class Meta: verbose_name = 'Maxfiylik siyosati' verbose_name_plural = 'Maxfiylik siyosati' + + +class UserTerms(BaseModel): + text = models.TextField() + + def __str__(self): + return self.text + + class Meta: + verbose_name = 'Foydalanuvchi shartlari' + verbose_name_plural = 'Foydalanuvchi shartlari' \ No newline at end of file diff --git a/core/apps/common/serializers.py b/core/apps/common/serializers.py index 3a55978..97a9a97 100644 --- a/core/apps/common/serializers.py +++ b/core/apps/common/serializers.py @@ -82,4 +82,12 @@ class PrivacyPolicySerializer(serializers.ModelSerializer): model = models.PrivacyPolicy fields = [ 'id', 'title', 'text' + ] + + +class UserTermsSerializer(serializers.ModelSerializer): + class Meta: + model = models.UserTerms + fields = [ + 'id', 'text' ] \ No newline at end of file diff --git a/core/apps/common/translation.py b/core/apps/common/translation.py index 9e3a741..1f49dec 100644 --- a/core/apps/common/translation.py +++ b/core/apps/common/translation.py @@ -50,3 +50,10 @@ class RequisiteTranslation(translator.TranslationOptions): fields = [ 'title', 'text' ] + + +@translator.register(models.UserTerms) +class UserTermsTranslation(translator.TranslationOptions): + fields = [ + 'text' + ] diff --git a/core/apps/common/urls.py b/core/apps/common/urls.py index 32b8e6f..d364026 100644 --- a/core/apps/common/urls.py +++ b/core/apps/common/urls.py @@ -11,4 +11,5 @@ urlpatterns = [ path('contact_us/', views.ContactUsApiView.as_view()), path('requisite/', views.RequisiteApiView.as_view()), path('privacy_policy/', views.PrivacyPolicyListApiView.as_view()), + path('user_terms/', views.UserTermsListApiView.as_view()), ] \ No newline at end of file diff --git a/core/apps/common/views.py b/core/apps/common/views.py index bb01500..dfcb677 100644 --- a/core/apps/common/views.py +++ b/core/apps/common/views.py @@ -58,4 +58,9 @@ class RequisiteApiView(generics.GenericAPIView): class PrivacyPolicyListApiView(generics.ListAPIView): queryset = models.PrivacyPolicy.objects.all() serializer_class = serializers.PrivacyPolicySerializer + + +class UserTermsListApiView(generics.ListAPIView): + queryset = models.UserTerms.objects.all() + serializer_class = serializers.UserTermsSerializer \ No newline at end of file