Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -90,6 +90,7 @@ class Admin_StackedInline_Block(Admin_Trans_GenericBaseIconStackedInline, SuperI
|
||||
|
||||
# class Admin_StaticPage(NestedModelAdmin, Admin_Trans_BaseModelViewPage):
|
||||
class Admin_StaticPage(SuperModelAdmin, Admin_Trans_BaseModelViewPage):
|
||||
from ServicesApp.admin import Admin_StackedInline_BlockPluginPresentation
|
||||
|
||||
|
||||
fieldsets = [
|
||||
@@ -120,20 +121,24 @@ class Admin_StaticPage(SuperModelAdmin, Admin_Trans_BaseModelViewPage):
|
||||
'order', 'modifiedDT', 'createDT'
|
||||
]
|
||||
|
||||
list_display_links = ['id']
|
||||
list_display_links = ['id', 'image_thumb', 'name']
|
||||
list_editable = ['order']
|
||||
|
||||
list_filter = ['modifiedDT', 'createDT']
|
||||
search_fields = ['name', 'title']
|
||||
# filter_horizontal = ['options']
|
||||
|
||||
inlines = [Admin_StackedInline_Block]
|
||||
inlines = [
|
||||
Admin_StackedInline_BlockPluginPresentation,
|
||||
Admin_StackedInline_Block,
|
||||
AdminStacked_FAQitem,
|
||||
]
|
||||
|
||||
def has_delete_permission(self, request, obj=None):
|
||||
if request.user.is_superuser:
|
||||
return True
|
||||
|
||||
if obj.url in ('main', 'spec_technics', 'works'):
|
||||
if obj.url in ('main', 'contacts'):
|
||||
return False
|
||||
|
||||
admin.site.register(StaticPage,Admin_StaticPage)
|
||||
@@ -249,9 +254,10 @@ class Admin_Office(Admin_Trans_BaseModelViewPage):
|
||||
# 'main_office',
|
||||
'city',
|
||||
'address',
|
||||
'picture',
|
||||
(
|
||||
'work_time_from', 'work_time_to',
|
||||
# 'workTime',
|
||||
'workTime',
|
||||
),
|
||||
# ('legal_name', 'unp', 'legal_address', 'urInfo'),
|
||||
# 'fullContactInfo',
|
||||
@@ -268,7 +274,7 @@ class Admin_Office(Admin_Trans_BaseModelViewPage):
|
||||
save_on_top = True
|
||||
# prepopulated_fields = {"url": ("name",)}
|
||||
list_display = [
|
||||
'id', 'enable', 'order', 'city', 'address', 'work_time_from', 'work_time_to',
|
||||
'image_thumb', 'id', 'enable', 'order', 'city', 'address', 'work_time_from', 'work_time_to',
|
||||
# 'main_office',
|
||||
'modifiedDT', 'createDT'
|
||||
]
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
# Generated by Django 4.2.7 on 2023-12-09 21:19
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('GeneralApp', '0020_alter_office_options_office_work_time_from_en_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='office',
|
||||
name='workTime',
|
||||
field=models.CharField(blank=True, max_length=220, null=True, verbose_name='Комментарий к времени работы'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='office',
|
||||
name='workTime_en',
|
||||
field=models.CharField(blank=True, max_length=220, null=True, verbose_name='Комментарий к времени работы'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='office',
|
||||
name='workTime_ru',
|
||||
field=models.CharField(blank=True, max_length=220, null=True, verbose_name='Комментарий к времени работы'),
|
||||
),
|
||||
]
|
||||
@@ -171,7 +171,7 @@ class Office(BaseModelViewPage):
|
||||
city = models.CharField(max_length=250, verbose_name=_(u'Город'))
|
||||
address = models.CharField(max_length=250, verbose_name=_(u'Адрес'), null=True, blank=True)
|
||||
workTime = models.CharField(
|
||||
max_length=220, verbose_name=_(u'Комментарий к времени работы'),
|
||||
max_length=220, verbose_name=_(u'Комментарий к времени работы'), null=True, blank=True
|
||||
# help_text='добавляется справа от времени работы'
|
||||
)
|
||||
work_time_from = models.TimeField(verbose_name=_('Время работы с'), default=work_time_default_from())
|
||||
|
||||
@@ -6,6 +6,7 @@ from .views import *
|
||||
|
||||
urlpatterns = [
|
||||
path('', MainPage, name='main'),
|
||||
path('contacts/', contacts_view, name='contacts'),
|
||||
path('page/<str:url>/', StaticPageView, name='static_page'),
|
||||
path('test_code', test_code, name='test_code'),
|
||||
]
|
||||
@@ -29,6 +29,14 @@ def MainPage(request):
|
||||
name_ru = _('Главная')
|
||||
)
|
||||
|
||||
try:
|
||||
page = StaticPage.objects.get(url='contacts')
|
||||
except StaticPage.DoesNotExist:
|
||||
page = StaticPage.objects.create(
|
||||
url='contacts',
|
||||
name_ru = _('Контакты')
|
||||
)
|
||||
|
||||
# from ArticlesApp.models import ArticleModel
|
||||
# arts = ArticleModel.objects.filter(enable=True).order_by('-createDT')[:4]
|
||||
|
||||
@@ -56,18 +64,7 @@ def StaticPageView(request, url):
|
||||
|
||||
if url == '':
|
||||
return MainPage(request)
|
||||
elif url == 'for_movers':
|
||||
Dict.update({
|
||||
# 'route_form': RouteForm(),
|
||||
'owner_type': 'customer',
|
||||
})
|
||||
elif url == 'for_customers':
|
||||
Dict.update({
|
||||
# 'route_form': RouteForm(),
|
||||
'owner_type': 'mover'
|
||||
})
|
||||
# elif url == 'works':
|
||||
# return WorksPage(request)
|
||||
|
||||
elif url in ['main']:
|
||||
raise Http404
|
||||
|
||||
@@ -92,3 +89,22 @@ def StaticPageView(request, url):
|
||||
# return HttpResponse(t.render(Dict, request))
|
||||
|
||||
|
||||
def contacts_view(request):
|
||||
# from RoutesApp.forms import RouteForm
|
||||
# from SubscribesApp.funcs import get_subsribes_w_options
|
||||
try:
|
||||
page = StaticPage.objects.get(url='contacts')
|
||||
except Exception as e:
|
||||
page = StaticPage.objects.create(
|
||||
url='contacts',
|
||||
name_ru=_('Контакты')
|
||||
)
|
||||
|
||||
Dict = {
|
||||
'page': page,
|
||||
'offices': Office.objects.filter(enable=True)
|
||||
}
|
||||
|
||||
t = loader.get_template('pages/p_contacts.html')
|
||||
return get_inter_http_respose(t, Dict, request)
|
||||
# return HttpResponse(t.render(Dict, request))
|
||||
|
||||
29
templates/pages/p_contacts.html
Normal file
29
templates/pages/p_contacts.html
Normal file
@@ -0,0 +1,29 @@
|
||||
{% extends 'tb_base.html' %}
|
||||
{% block CONTENT %}
|
||||
|
||||
<div>
|
||||
Контакты
|
||||
<div>
|
||||
{% for office in offices %}
|
||||
<div>
|
||||
{% if office.picture %}
|
||||
<img src="{{ MEDIA_URL }}{{ office.picture }}" alt="{{ office.city }}" />
|
||||
{% endif %}
|
||||
<div>{{ office.city }}</div>
|
||||
<div>{{ office.address }}</div>
|
||||
Часы работы:
|
||||
<div>{{ office.work_time_from }} - {{ office.work_time_to }}</div>
|
||||
<div>{{ office.work_time }}</div>
|
||||
<div>
|
||||
{% for contact in office.contacts %}
|
||||
<div>
|
||||
{% if contact.contact_label %}{{ contact.contact_label }}: {% endif %}{{ contact.get_prefix_w_data }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user