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 %}
- + {% if profileForm.errors.email %}
{{ profileForm.errors.email }}
{% 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 @@
- {% translate "У вас" %} {% translate "не оформлена подписка" %} + {% blocktranslate %} + У вас не оформлена подписка + {% endblocktranslate %}