diff --git a/service/admin.py b/service/admin.py index 3e6118b..4a99cc5 100644 --- a/service/admin.py +++ b/service/admin.py @@ -6,11 +6,11 @@ from django.contrib.auth.models import User from service.models import AO from service.models import PlacementPoint -from service.models import PointDist from service.models import Rayon from service.models import Post_and_pvz, Post_and_pvzCategory, Post_and_pvzGroup, OtherObjects, OtherObjectsGroup, \ OtherObjectsCategory from service.models import PlacementPointPVZDistance, TaskStatus +from postamates.settings import DEBUG class MyAdminSite(AdminSite): @@ -21,30 +21,39 @@ class MyAdminSite(AdminSite): return super(MyAdminSite, self).index(request, extra_context) -my_admin_site = MyAdminSite(name='myadmin') +my_admin_site = MyAdminSite(name='POSTNET') +if DEBUG: + my_admin_site.register(AO) + my_admin_site.register(Rayon) + my_admin_site.register(PlacementPointPVZDistance) + -my_admin_site.register(AO) -my_admin_site.register(Rayon) my_admin_site.register(Post_and_pvz) -my_admin_site.register(Post_and_pvzCategory) -my_admin_site.register(Post_and_pvzGroup) my_admin_site.register(OtherObjects) -my_admin_site.register(OtherObjectsGroup) -my_admin_site.register(OtherObjectsCategory) -my_admin_site.register(PlacementPointPVZDistance) class TaskStatusAdmin(admin.ModelAdmin): list_display = ('task_name', 'status') -my_admin_site.register(TaskStatus, TaskStatusAdmin) +class CategoryAdmin(admin.ModelAdmin): + list_display = ('name', 'visible') + + +class GroupAdmin(admin.ModelAdmin): + list_display = ('name', 'category', 'visible') class PlacementPointAdmin(admin.ModelAdmin): pass + +my_admin_site.register(TaskStatus, TaskStatusAdmin) +my_admin_site.register(Post_and_pvzGroup, GroupAdmin) +my_admin_site.register(OtherObjectsGroup, GroupAdmin) +my_admin_site.register(Post_and_pvzCategory, CategoryAdmin) +my_admin_site.register(OtherObjectsCategory, CategoryAdmin) my_admin_site.register(PlacementPoint, PlacementPointAdmin) diff --git a/service/models.py b/service/models.py index b7c01a1..874aff4 100644 --- a/service/models.py +++ b/service/models.py @@ -133,15 +133,6 @@ class OtherObjects(models.Model): visible = models.BooleanField(default=True) -class PointDist(models.Model): - class Meta: - verbose_name_plural = 'Расстояния между точками' - - id1 = models.ForeignKey('PlacementPoint', on_delete=models.CASCADE, null=False, related_name='placement_point_id1') - id2 = models.ForeignKey('PlacementPoint', on_delete=models.CASCADE, null=False, related_name='placement_point_id2') - distance = models.FloatField(null=False) - - class Post_and_pvzCategory(models.Model): class Meta: verbose_name = 'категория постаматов и ПВЗ' diff --git a/service/urls.py b/service/urls.py index ca49b2f..5385596 100644 --- a/service/urls.py +++ b/service/urls.py @@ -12,11 +12,11 @@ urlpatterns = router.urls urlpatterns += [ url(r'load_csv/', views.refresh_placement_points.as_view(), name='upload_placement_points'), - url(r'upload_ao_and_rayons/', views.load_ao_and_rayons.as_view(), name='upload_ao_and_rayons'), url(r'upload_post_and_pvz/', views.upload_post_and_pvz, name='upload_post_and_pvz'), url(r'upload_other_objects/', views.upload_other_objects, name='upload_other_objects'), - url(r'upload_dist/', views.upload_dist, name='upload_dist'), url(r'me/', views.get_current_user, name='me'), + url('download_pvz_template/', views.download_pvz_template, name='download_pvz_template'), + url('download_other_template/', views.download_other_template, name='download_other_template'), ] USE_X_FORWARDED_HOST = True SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') diff --git a/service/views.py b/service/views.py index 711ac52..ed2bf20 100644 --- a/service/views.py +++ b/service/views.py @@ -29,6 +29,7 @@ from django.contrib import messages from django_filters.rest_framework import DjangoFilterBackend from rest_framework import filters from service.utils import CustomReadOnlyModelViewSet +import os class AOViewSet(CustomReadOnlyModelViewSet): @@ -380,3 +381,17 @@ def get_current_user(request): return JsonResponse( {'groups': [gr.name for gr in request.user.groups.all()]}, ) + + +def download_pvz_template(self): + image_buffer = open('Постоматы и ПВЗ.xlsx', "rb").read() + response = HttpResponse(image_buffer, content_type='xlsx') + response['Content-Disposition'] = 'attachment; filename="%s"' % os.path.basename('pvz_and_postomats.xlsx') + return response + + +def download_other_template(self): + image_buffer = open('Другие объекты.xlsx', "rb").read() + response = HttpResponse(image_buffer, content_type='xlsx') + response['Content-Disposition'] = 'attachment; filename="%s"' % os.path.basename('other.xlsx') + return response diff --git a/templates/admin/index.html b/templates/admin/index.html index ecae4a9..5e8721b 100644 --- a/templates/admin/index.html +++ b/templates/admin/index.html @@ -50,45 +50,20 @@