diff --git a/ArticlesApp/models.py b/ArticlesApp/models.py
index cbc5cf7..9502cfe 100644
--- a/ArticlesApp/models.py
+++ b/ArticlesApp/models.py
@@ -19,7 +19,7 @@ from django.utils.translation import gettext_lazy as _
class UserPageModel(BaseModelViewPage):
# pub_DT = models.DateTimeField(verbose_name=u'Дата и время публикации', auto_created=True)
- text = RichTextUploadingField(verbose_name=u'Текст')
+ text = RichTextUploadingField(verbose_name=_('Текст'))
class Meta:
verbose_name=_("Пользовательская страница")
diff --git a/AuthApp/admin.py b/AuthApp/admin.py
index f83ba94..b4a262d 100644
--- a/AuthApp/admin.py
+++ b/AuthApp/admin.py
@@ -48,7 +48,7 @@ class Admin_ProfileInline(admin.StackedInline):
'comment', 'creator'
)
}),
- ('Дополнительно', {
+ (_('Дополнительно'), {
'classes': ['wide'],
'fields': (
('json_data',)
diff --git a/AuthApp/js_views.py b/AuthApp/js_views.py
index 5f2ebf7..8e96dcd 100644
--- a/AuthApp/js_views.py
+++ b/AuthApp/js_views.py
@@ -43,11 +43,11 @@ def request_offer_ajax(request):
sets = get_options_by_opt_types(['domain', 'project_name'], only_vals=True)
request_type = None
- subject = 'Получен запрос'
+ subject = _('Получен запрос')
if 'form_name' in data:
if data['form_name'] == 'msg_from_advertisement':
- subject = 'Получен запрос на рекламу'
- request_type = 'запрос на рекламу'
+ subject = _('Получен запрос на рекламу')
+ request_type = _('запрос на рекламу')
if request_type:
request_type_str = f'Тип запроса: {request_type}
'
@@ -58,11 +58,11 @@ def request_offer_ajax(request):
'logo': f'{request.scheme}://{sets["domain"]}/static/img/svg/LogoMobile.svg',
'project_name': sets['project_name'],
'message_title': subject,
- 'message_text': f'
ДАННЫЕ ЗАПРОСА
'
+ 'message_text': f'{_("ДАННЫЕ ЗАПРОСА")}
'
f''
f'{request_type_str}'
- f'Имя: {data["name"]}
'
- f'Телефон: {data["phone"]}'
+ f'{_("Имя")}: {data["name"]}
'
+ f'{_("Телефон")}: {data["phone"]}'
f'
'
}
diff --git a/BaseModels/admin_utils.py b/BaseModels/admin_utils.py
index dde9ac3..b283960 100644
--- a/BaseModels/admin_utils.py
+++ b/BaseModels/admin_utils.py
@@ -37,14 +37,14 @@ def get_base_fieldsets():
)
}],
- (u'Описание и текст', {
+ (_('Описание и текст'), {
'classes': ['wide', 'collapse'],
'fields': (
'description', 'text',
)
}),
- (u'Промо ФОН', {
+ (_('Промо ФОН'), {
'classes': ['wide', 'collapse'],
'fields': (
'background_promo_show', 'background_promo_inherits',
@@ -64,7 +64,7 @@ def get_base_fieldsets():
)
}),
- (u'Партнерские ссылки', {
+ (_('Партнерские ссылки'), {
'classes': ['wide', 'collapse'],
'fields': (
'link_left_promo_show',
diff --git a/GeneralApp/admin.py b/GeneralApp/admin.py
index 7399cfa..803ab44 100644
--- a/GeneralApp/admin.py
+++ b/GeneralApp/admin.py
@@ -1,6 +1,7 @@
from sets.admin import *
from .models import *
from django.contrib import admin
+from django.utils.translation import gettext as _
class Admin_StaticPage(Admin_Trans_BaseModelViewPage):
@@ -51,34 +52,35 @@ class Admin_StaticPage(Admin_Trans_BaseModelViewPage):
admin.site.register(StaticPage,Admin_StaticPage)
-class Admin_Block(Admin_BaseBlock):
+class Admin_Block(Admin_Trans_BaseModel):
+ pass
- def get_fieldsets(self, request, obj=None):
- fieldsets = super(type(self), self).get_fieldsets(request, obj)
- if not request.user.is_superuser and obj.name and obj.name in ('About US', 'machines', 'works'):
- fieldsets[0][1]['fields'].pop(0)
- fieldsets.insert(
- 1, ('Контент', {
- 'classes': ['wide'],
- 'fields': (
- 'title', 'description', 'text',
- 'picture',
- )
-
- })
- )
- return fieldsets
-
- def has_delete_permission(self, request, obj=None):
- if request.user.is_superuser:
- return True
-
- if obj.name in ('About US', 'machines', 'works'):
- return False
+ # def get_fieldsets(self, request, obj=None):
+ # fieldsets = super(type(self), self).get_fieldsets(request, obj)
+ # if not request.user.is_superuser and obj.name and obj.name in ('About US', 'machines', 'works'):
+ # fieldsets[0][1]['fields'].pop(0)
+ # fieldsets.insert(
+ # 1, (_('Контент'), {
+ # 'classes': ['wide'],
+ # 'fields': (
+ # 'title', 'description', 'text',
+ # 'picture',
+ # )
+ #
+ # })
+ # )
+ # return fieldsets
+ #
+ # def has_delete_permission(self, request, obj=None):
+ # if request.user.is_superuser:
+ # return True
+ #
+ # if obj.name in ('About US', 'machines', 'works'):
+ # return False
admin.site.register(Block,Admin_Block)
-class Admin_Option(Admin_BaseModel):
+class Admin_Option(Admin_Trans_BaseModel):
# def get_fieldsets(self, request, obj=None):
# fieldsets = super(type(self), self).get_fieldsets(request, obj)
@@ -95,7 +97,7 @@ class Admin_Option(Admin_BaseModel):
fieldsets = [
- ('Контент', {
+ (_('Контент'), {
'classes': ['wide'],
'fields': (
'name', 'opt_type', 'prefix', 'value', 'picture'
diff --git a/GeneralApp/init_options.py b/GeneralApp/init_options.py
index 5849f91..bc8ce1f 100644
--- a/GeneralApp/init_options.py
+++ b/GeneralApp/init_options.py
@@ -1,49 +1,50 @@
from .models import *
+from django.utils.translation import gettext as _
required_options_Dict = {
'Адрес почтового сервера': {
- 'name': 'Адрес почтового сервера',
+ 'name_ru': 'Адрес почтового сервера',
'opt_type': 'mail_server_url',
'value': '213.142.147.40',
},
'SMTP порт почтового сервера': {
- 'name': 'SMTP порт почтового сервера',
+ 'name_ru': 'SMTP порт почтового сервера',
'opt_type': 'mail_server_smtp_port',
'value': 587,
},
'login для отправки писем с сайта': {
- 'name': 'email для отправки писем с сайта',
+ 'name_ru': 'email для отправки писем с сайта',
'opt_type': 'sender_mail_login',
'value': 'admin@tripwb.com',
},
'email для отправки': {
- 'name': 'email для отправки',
+ 'name_ru': 'email для отправки',
'opt_type': 'sender_email',
'value': 'admin@tripwb.com',
},
'Пароль для отправки писем с сайта': {
- 'name': 'пароль для отправки писем с сайта',
+ 'name_ru': 'пароль для отправки писем с сайта',
'opt_type': 'sender_mail_password',
'value': 't5Fdcah^gdajY',
},
'Название проекта': {
- 'name': 'Название проекта',
+ 'name_ru': 'Название проекта',
'opt_type': 'project_name',
'value': 'TWB',
},
'Адрес сайта': {
- 'name': 'Адрес сайта',
+ 'name_ru': 'Адрес сайта',
'opt_type': 'domain',
'value': 'tripwb.com',
},
'email техподдержки': {
- 'name': 'email техподдержки',
+ 'name_ru': 'email техподдержки',
'opt_type': 'support_email',
'value': 'admin@tripwb.com',
},
'корпоративный email': {
- 'name': 'корпоративный email',
+ 'name_ru': 'корпоративный email',
'opt_type': 'corp_email',
'value': 'admin@tripwb.com',
},
diff --git a/GeneralApp/migrations/0005_option_name_en_option_name_ru_option_prefix_en_and_more.py b/GeneralApp/migrations/0005_option_name_en_option_name_ru_option_prefix_en_and_more.py
new file mode 100644
index 0000000..6e2ade0
--- /dev/null
+++ b/GeneralApp/migrations/0005_option_name_en_option_name_ru_option_prefix_en_and_more.py
@@ -0,0 +1,43 @@
+# Generated by Django 4.2.2 on 2023-11-30 13:42
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('GeneralApp', '0004_alter_block_description_alter_block_description_en_and_more'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='option',
+ name='name_en',
+ field=models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название'),
+ ),
+ migrations.AddField(
+ model_name='option',
+ name='name_ru',
+ field=models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название'),
+ ),
+ migrations.AddField(
+ model_name='option',
+ name='prefix_en',
+ field=models.CharField(blank=True, max_length=250, null=True, verbose_name='Префикс'),
+ ),
+ migrations.AddField(
+ model_name='option',
+ name='prefix_ru',
+ field=models.CharField(blank=True, max_length=250, null=True, verbose_name='Префикс'),
+ ),
+ migrations.AddField(
+ model_name='option',
+ name='value_en',
+ field=models.CharField(max_length=250, null=True, verbose_name='Значение'),
+ ),
+ migrations.AddField(
+ model_name='option',
+ name='value_ru',
+ field=models.CharField(max_length=250, null=True, verbose_name='Значение'),
+ ),
+ ]
diff --git a/GeneralApp/translation.py b/GeneralApp/translation.py
index 59a74b2..2427687 100644
--- a/GeneralApp/translation.py
+++ b/GeneralApp/translation.py
@@ -14,6 +14,12 @@ class Block_TranslationOptions(TranslationOptions):
)
translator.register(Block, Block_TranslationOptions)
+class Option_TranslationOptions(TranslationOptions):
+ fields = (
+ 'name', 'value', 'prefix'
+ )
+translator.register(Option, Option_TranslationOptions)
+
class FAQitem_TranslationOptions(TranslationOptions):
fields = (
diff --git a/RoutesApp/js_views.py b/RoutesApp/js_views.py
index 3e57579..0bf3520 100644
--- a/RoutesApp/js_views.py
+++ b/RoutesApp/js_views.py
@@ -240,6 +240,8 @@ def create_or_change_route_ajax(request, route_id=None):
obj.owner = request.user
obj.save()
+ route_id = obj.id
+
routes_Dict = get_routes_Dict(request.user)
if 'errors' in routes_Dict:
diff --git a/RoutesApp/models.py b/RoutesApp/models.py
index 69a7b06..6172981 100644
--- a/RoutesApp/models.py
+++ b/RoutesApp/models.py
@@ -75,14 +75,14 @@ class Route(BaseModel):
ordering = ('name',)
def from_country_n_city_str(self):
- res = 'Неизвестно'
+ res = _('Неизвестно')
if self.from_city:
res = self.from_city.get_country_n_city_str()
return res
def to_country_n_city_str(self):
- res = 'Неизвестно'
+ res = _('Неизвестно')
if self.to_city:
res = self.to_city.get_country_n_city_str()
diff --git a/SubscribesApp/migrations/0003_alter_subscribe_bg_color_alter_subscribe_text_color.py b/SubscribesApp/migrations/0003_alter_subscribe_bg_color_alter_subscribe_text_color.py
new file mode 100644
index 0000000..a7321de
--- /dev/null
+++ b/SubscribesApp/migrations/0003_alter_subscribe_bg_color_alter_subscribe_text_color.py
@@ -0,0 +1,24 @@
+# Generated by Django 4.2.2 on 2023-11-30 13:42
+
+import colorfield.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('SubscribesApp', '0002_alter_subscribeoption_options_subscribe_bg_color_and_more'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='subscribe',
+ name='bg_color',
+ field=colorfield.fields.ColorField(default='#FFFFFF', image_field=None, max_length=25, samples=None, verbose_name='Цвет фона'),
+ ),
+ migrations.AlterField(
+ model_name='subscribe',
+ name='text_color',
+ field=colorfield.fields.ColorField(default='#000000', image_field=None, max_length=25, samples=None, verbose_name='Цвет текста'),
+ ),
+ ]
diff --git a/templates/blocks/profile/b_profile.html b/templates/blocks/profile/b_profile.html
index 1c98c35..89cfcac 100644
--- a/templates/blocks/profile/b_profile.html
+++ b/templates/blocks/profile/b_profile.html
@@ -40,7 +40,7 @@
{% if profileForm.errors.tel %}{{ profileForm.errors.tel }}
{% endif %}
diff --git a/templates/blocks/profile/b_subscribe_variants.html b/templates/blocks/profile/b_subscribe_variants.html
index d2b7d97..ba3bbc8 100644
--- a/templates/blocks/profile/b_subscribe_variants.html
+++ b/templates/blocks/profile/b_subscribe_variants.html
@@ -8,7 +8,9 @@