Эх сурвалжийг харах

correct url scheme idea implemented

ShariX Developer 23 цаг өмнө
parent
commit
7a9d1fb4cb

+ 1 - 0
.gitignore

@@ -4,6 +4,7 @@
 # venv
 # venv
 venv
 venv
 .venv
 .venv
+*~
 
 
 # Python
 # Python
 __pycache__/
 __pycache__/

+ 3 - 3
admin/__init__.py

@@ -1,3 +1,3 @@
-from .favoritecontacts import FavoritecontactsAdmin
-from .frequentaddress import FrequentaddressAdmin
-from .preferreddrivers import PreferreddriversAdmin
+from .favoritecontacts import FavoriteContactsAdmin
+from .frequentaddress import FrequentAddressAdmin
+from .preferredproviders import PreferredProvidersAdmin

+ 3 - 3
admin/favoritecontacts.py

@@ -1,10 +1,10 @@
 from django.contrib import admin
 from django.contrib import admin
 
 
-from webservice_running.models import Favoritecontacts
+from webservice_running.models import FavoriteContacts
 
 
 
 
-@admin.register(Favoritecontacts)
-class FavoritecontactsAdmin(admin.ModelAdmin):
+@admin.register(FavoriteContacts)
+class FavoriteContactsAdmin(admin.ModelAdmin):
     list_display = (
     list_display = (
         'id',
         'id',
         'client',
         'client',

+ 3 - 3
admin/frequentaddress.py

@@ -1,10 +1,10 @@
 from django.contrib import admin
 from django.contrib import admin
 
 
-from webservice_running.models import Frequentaddress
+from webservice_running.models import FrequentAddress
 
 
 
 
-@admin.register(Frequentaddress)
-class FrequentaddressAdmin(admin.ModelAdmin):
+@admin.register(FrequentAddress)
+class FrequentAddressAdmin(admin.ModelAdmin):
     list_display = (
     list_display = (
         'client',
         'client',
         'address',
         'address',

+ 3 - 3
admin/preferreddrivers.py → admin/preferredproviders.py

@@ -1,10 +1,10 @@
 from django.contrib import admin
 from django.contrib import admin
 
 
-from webservice_running.models import Preferreddrivers
+from webservice_running.models import PreferredProviders
 
 
 
 
-@admin.register(Preferreddrivers)
-class PreferreddriversAdmin(admin.ModelAdmin):
+@admin.register(PreferredProviders)
+class PreferredProvidersAdmin(admin.ModelAdmin):
     list_display = (
     list_display = (
         'id',
         'id',
         'client',
         'client',

+ 3 - 3
apiviews/__init__.py

@@ -1,5 +1,5 @@
-from .favoritecontacts import FavoritecontactsMVS
-from .frequentaddress import FrequentaddressMVS
+from .favoritecontacts import FavoriteContactsMVS
+from .frequentaddress import FrequentAddressMVS
 from .orders_local import OrdersLocalMVS
 from .orders_local import OrdersLocalMVS
 from .personinfo import PersonInfoMVS
 from .personinfo import PersonInfoMVS
-from .preferreddrivers import PreferreddriversMVS
+from .preferredproviders import PreferredProvidersMVS

+ 7 - 7
apiviews/favoritecontacts.py

@@ -3,20 +3,20 @@ from django.db.models.functions import Cast
 from rest_framework import viewsets, permissions
 from rest_framework import viewsets, permissions
 from rest_framework.response import Response
 from rest_framework.response import Response
 
 
-from webservice_running.models import Favoritecontacts
-from webservice_running.serializer import FavoritecontactsSerializer
+from webservice_running.models import FavoriteContacts
+from webservice_running.serializer import FavoriteContactsSerializer
 
 
 
 
-class FavoritecontactsMVS(viewsets.ModelViewSet):
-    queryset = Favoritecontacts.objects.all()
-    serializer_class = FavoritecontactsSerializer
+class FavoriteContactsMVS(viewsets.ModelViewSet):
+    queryset = FavoriteContacts.objects.all()
+    serializer_class = FavoriteContactsSerializer
     permission_classes = [
     permission_classes = [
         permissions.IsAuthenticated
         permissions.IsAuthenticated
     ]
     ]
 
 
     def list(self, request, *args, **kwargs):
     def list(self, request, *args, **kwargs):
         client = self.request.query_params.get('client')
         client = self.request.query_params.get('client')
-        queryset = Favoritecontacts.objects.all()
+        queryset = FavoriteContacts.objects.all()
         if client is not None:
         if client is not None:
             queryset = queryset \
             queryset = queryset \
                 .annotate(client_int=Cast('client', output_field=CharField())) \
                 .annotate(client_int=Cast('client', output_field=CharField())) \
@@ -26,7 +26,7 @@ class FavoritecontactsMVS(viewsets.ModelViewSet):
 
 
     def delete(self, request, *args, **kwargs):
     def delete(self, request, *args, **kwargs):
         client = self.request.query_params.get('client')
         client = self.request.query_params.get('client')
-        queryset = Favoritecontacts.objects.all()
+        queryset = FavoriteContacts.objects.all()
         if not client:
         if not client:
             return Response(
             return Response(
                 {'error': 'client parameter is required'},
                 {'error': 'client parameter is required'},

+ 7 - 7
apiviews/frequentaddress.py

@@ -3,20 +3,20 @@ from django.db.models.functions import Cast
 from rest_framework import viewsets, permissions
 from rest_framework import viewsets, permissions
 from rest_framework.response import Response
 from rest_framework.response import Response
 
 
-from webservice_running.models import Frequentaddress
-from webservice_running.serializer import FrequentaddressSerializer
+from webservice_running.models import FrequentAddress
+from webservice_running.serializer import FrequentAddressSerializer
 
 
 
 
-class FrequentaddressMVS(viewsets.ModelViewSet):
-    queryset = Frequentaddress.objects.all()
-    serializer_class = FrequentaddressSerializer
+class FrequentAddressMVS(viewsets.ModelViewSet):
+    queryset = FrequentAddress.objects.all()
+    serializer_class = FrequentAddressSerializer
     permission_classes = [
     permission_classes = [
         permissions.IsAuthenticated
         permissions.IsAuthenticated
     ]
     ]
 
 
     def list(self, request, *args, **kwargs):
     def list(self, request, *args, **kwargs):
         client = self.request.query_params.get('client')
         client = self.request.query_params.get('client')
-        queryset = Frequentaddress.objects.all()
+        queryset = FrequentAddress.objects.all()
         if client is not None:
         if client is not None:
             queryset = queryset \
             queryset = queryset \
                 .annotate(client_int=Cast('client', output_field=CharField())) \
                 .annotate(client_int=Cast('client', output_field=CharField())) \
@@ -26,7 +26,7 @@ class FrequentaddressMVS(viewsets.ModelViewSet):
 
 
     def delete(self, request, *args, **kwargs):
     def delete(self, request, *args, **kwargs):
         client = self.request.query_params.get('client')
         client = self.request.query_params.get('client')
-        queryset = Frequentaddress.objects.all()
+        queryset = FrequentAddress.objects.all()
         if not client:
         if not client:
             return Response(
             return Response(
                 {'error': 'client parameter is required'},
                 {'error': 'client parameter is required'},

+ 7 - 7
apiviews/preferreddrivers.py → apiviews/preferredproviders.py

@@ -3,20 +3,20 @@ from django.db.models.functions import Cast
 from rest_framework import viewsets, permissions
 from rest_framework import viewsets, permissions
 from rest_framework.response import Response
 from rest_framework.response import Response
 
 
-from webservice_running.models import Preferreddrivers
-from webservice_running.serializer import PreferreddriversSerializer
+from webservice_running.models import PreferredProviders
+from webservice_running.serializer import PreferredProvidersSerializer
 
 
 
 
-class PreferreddriversMVS(viewsets.ModelViewSet):
-    queryset = Preferreddrivers.objects.all()
-    serializer_class = PreferreddriversSerializer
+class PreferredProvidersMVS(viewsets.ModelViewSet):
+    queryset = PreferredProviders.objects.all()
+    serializer_class = PreferredProvidersSerializer
     permission_classes = [
     permission_classes = [
         permissions.IsAuthenticated
         permissions.IsAuthenticated
     ]
     ]
 
 
     def list(self, request, *args, **kwargs):
     def list(self, request, *args, **kwargs):
         client = self.request.query_params.get('client')
         client = self.request.query_params.get('client')
-        queryset = Preferreddrivers.objects.all()
+        queryset = PreferredProviders.objects.all()
         if client is not None:
         if client is not None:
             queryset = queryset \
             queryset = queryset \
                 .annotate(client_int=Cast('client', output_field=CharField())) \
                 .annotate(client_int=Cast('client', output_field=CharField())) \
@@ -26,7 +26,7 @@ class PreferreddriversMVS(viewsets.ModelViewSet):
 
 
     def delete(self, request, *args, **kwargs):
     def delete(self, request, *args, **kwargs):
         client = self.request.query_params.get('client')
         client = self.request.query_params.get('client')
-        queryset = Preferreddrivers.objects.all()
+        queryset = PreferredProviders.objects.all()
         if not client:
         if not client:
             return Response(
             return Response(
                 {'error': 'client parameter is required'},
                 {'error': 'client parameter is required'},

+ 2 - 1
forms.py

@@ -1,11 +1,12 @@
 from django import forms
 from django import forms
 
 
 from webservice_running.models import OrdersLocal
 from webservice_running.models import OrdersLocal
+from dbsynce.models import Orders
 
 
 
 
 class OrderRegForm(forms.ModelForm):
 class OrderRegForm(forms.ModelForm):
     class Meta:
     class Meta:
-        model = OrdersLocal
+        model = Orders
         fields = '__all__'
         fields = '__all__'
 
 
     def __init__(self, *args, **kwargs):
     def __init__(self, *args, **kwargs):

+ 3 - 3
models/__init__.py

@@ -1,4 +1,4 @@
-from .favoritecontacts import Favoritecontacts
-from .frequentaddress import Frequentaddress
-from .preferreddrivers import Preferreddrivers
+from .favoritecontacts import FavoriteContacts
+from .frequentaddress import FrequentAddress
+from .preferredproviders import PreferredProviders
 from .webservice_running import OrdersLocal
 from .webservice_running import OrdersLocal

+ 2 - 2
models/favoritecontacts.py

@@ -1,7 +1,7 @@
 from django.db import models
 from django.db import models
 
 
 
 
-class Favoritecontacts(models.Model):
+class FavoriteContacts(models.Model):
     client = models.IntegerField(
     client = models.IntegerField(
         help_text="id"
         help_text="id"
     )
     )
@@ -15,6 +15,6 @@ class Favoritecontacts(models.Model):
     )
     )
 
 
     class Meta:
     class Meta:
-        db_table = "favoritecontacts"
+        db_table = "favorite_contacts"
         verbose_name = "Избранные контакты"
         verbose_name = "Избранные контакты"
         verbose_name_plural = "Избранные контакты"
         verbose_name_plural = "Избранные контакты"

+ 2 - 2
models/frequentaddress.py

@@ -1,7 +1,7 @@
 from django.db import models
 from django.db import models
 
 
 
 
-class Frequentaddress(models.Model):
+class FrequentAddress(models.Model):
     client = models.IntegerField(
     client = models.IntegerField(
         help_text="id клиента"
         help_text="id клиента"
     )
     )
@@ -15,6 +15,6 @@ class Frequentaddress(models.Model):
     )
     )
 
 
     class Meta:
     class Meta:
-        db_table = "frequentaddress"
+        db_table = "frequent_address"
         verbose_name = "Частые адреса"
         verbose_name = "Частые адреса"
         verbose_name_plural = "Частые адреса"
         verbose_name_plural = "Частые адреса"

+ 4 - 4
models/preferreddrivers.py → models/preferredproviders.py

@@ -1,7 +1,7 @@
 from django.db import models
 from django.db import models
 
 
 
 
-class Preferreddrivers(models.Model):
+class PreferredProviders(models.Model):
     client = models.IntegerField(
     client = models.IntegerField(
         help_text="Client id"
         help_text="Client id"
     )
     )
@@ -10,6 +10,6 @@ class Preferreddrivers(models.Model):
     )
     )
 
 
     class Meta:
     class Meta:
-        db_table = "Prefereddrivers"
-        verbose_name = "Предпочтительные водители"
-        verbose_name_plural = "Предпочтительные водители"
+        db_table = "prefered_providers"
+        verbose_name = "Предпочтительные исполнители"
+        verbose_name_plural = "Предпочтительные исполнители"

+ 3 - 3
serializer/__init__.py

@@ -1,5 +1,5 @@
-from .favoritecontacts import FavoritecontactsSerializer
-from .frequentaddress import FrequentaddressSerializer
+from .favoritecontacts import FavoriteContactsSerializer
+from .frequentaddress import FrequentAddressSerializer
 from .orders_local import OrdersLocalSerializer
 from .orders_local import OrdersLocalSerializer
 from .personinfo import PersonInfoSerializer
 from .personinfo import PersonInfoSerializer
-from .preferreddrivers import PreferreddriversSerializer
+from .preferredproviders import PreferredProvidersSerializer

+ 3 - 3
serializer/favoritecontacts.py

@@ -1,11 +1,11 @@
 from rest_framework import serializers
 from rest_framework import serializers
 
 
-from webservice_running.models import Favoritecontacts
+from webservice_running.models import FavoriteContacts
 
 
 
 
-class FavoritecontactsSerializer(serializers.ModelSerializer):
+class FavoriteContactsSerializer(serializers.ModelSerializer):
     class Meta:
     class Meta:
-        model = Favoritecontacts
+        model = FavoriteContacts
         fields = [
         fields = [
             'full_name',
             'full_name',
             'phone_number',
             'phone_number',

+ 3 - 3
serializer/frequentaddress.py

@@ -1,11 +1,11 @@
 from rest_framework import serializers
 from rest_framework import serializers
 
 
-from webservice_running.models import Frequentaddress
+from webservice_running.models import FrequentAddress
 
 
 
 
-class FrequentaddressSerializer(serializers.ModelSerializer):
+class FrequentAddressSerializer(serializers.ModelSerializer):
     class Meta:
     class Meta:
-        model = Frequentaddress
+        model = FrequentAddress
         exclude = [
         exclude = [
             "id",
             "id",
             "client"
             "client"

+ 0 - 13
serializer/preferreddrivers.py

@@ -1,13 +0,0 @@
-from rest_framework import serializers
-
-from webservice_running.models import Preferreddrivers
-
-
-class PreferreddriversSerializer(serializers.ModelSerializer):
-    class Meta:
-        model = Preferreddrivers
-        fields = [
-            'provider_id',
-            'client',
-            'id'
-        ]

+ 13 - 0
serializer/preferredproviders.py

@@ -0,0 +1,13 @@
+from rest_framework import serializers
+
+from webservice_running.models import PreferredProviders
+
+
+class PreferredProvidersSerializer(serializers.ModelSerializer):
+    class Meta:
+        model = PreferredProviders
+        fields = [
+            'provider_id',
+            'client',
+            'id'
+        ]

+ 8 - 0
templates/webservice_running/metaservice_menu.html

@@ -0,0 +1,8 @@
+<li class="nav-item">
+        <a href="{% url 'webservice_running:preferred_providers' %}" class="nav-link {% if current_page == "preferred_providers" %}active rounded{% endif %}">
+          <div class="link d-flex align-items-center">
+            <span class="menu-bar-label">Предпочтительные исполнители</span>
+          </div>
+        </a>
+      </li>
+      

+ 3 - 2
templates/webservice_running/order_reg.html

@@ -1,4 +1,5 @@
-{% extends 'sharix_admin/index.html' %}
+{% extends 'sharix_admin/base_admin.html' %}
+
 {% block contenthome %}
 {% block contenthome %}
 <div class="container" style="padding: 2px;">
 <div class="container" style="padding: 2px;">
   <div class="row justify-content-center fs-6">
   <div class="row justify-content-center fs-6">
@@ -11,4 +12,4 @@
     </div>
     </div>
   </div>
   </div>
 </div>
 </div>
-{% endblock %}
+{% endblock %}

+ 52 - 4
urls.py

@@ -4,16 +4,64 @@ from rest_framework import routers
 from webservice_running import views
 from webservice_running import views
 from webservice_running.apiviews import *
 from webservice_running.apiviews import *
 
 
+from sharix_admin.apiviews import *
+from sharix_admin.views import *
+
 app_name = 'webservice_running'
 app_name = 'webservice_running'
 
 
 router = routers.DefaultRouter()
 router = routers.DefaultRouter()
 router.register(r'webservice', OrdersLocalMVS)
 router.register(r'webservice', OrdersLocalMVS)
 router.register(r'personinfo', PersonInfoMVS)
 router.register(r'personinfo', PersonInfoMVS)
-router.register(r'frequentaddress', FrequentaddressMVS)
-router.register(r'favoritecontacts', FavoritecontactsMVS)
-router.register(r'preferreddrivers', PreferreddriversMVS)
+router.register(r'frequentaddress', FrequentAddressMVS)
+router.register(r'favoritecontacts', FavoriteContactsMVS)
+router.register(r'preferredproviders', PreferredProvidersMVS)
+
+urlpatterns_webadmin_local = [
+    
+    #TODO - make local pages based on Open with Local data. Now it points on Open Views, make your own to change
+
+    #Order model SHOULD HAVE at least LIST, ADD, DETAIL, EDIT if that corresponds service idea, othervice Open models and pages might be enough
+#    path('orders_local/', login_required(OrdersListView.as_view()), name='orders_local'),
+#    path('order_local/<int:pk>', login_required(OrdersDetailView.as_view()), name='order_local_detail'),
+    #todo - move from views.order_reg to this one
+#    path('order_local/add/', login_required(OrdersCreate.as_view()), name='order_local/add/'),
+#    path('order_local/edit/<int:pk>', login_required(OrdersEditView.as_view()), name='order_local/edit'),
+
+    #Resource model SHOULD HAVE at least LIST, ADD, DETAIL, EDIT if that corresponds service idea, othervice Open models and pages might be enough
+#    path('resources_local/', login_required(ResourcesListView.as_view()), name='resources_local'),
+#    path('resource_local/<int:pk>', login_required(ResourceDetailView.as_view()), name='resource_local_detail'),
+#    path('resource_local/add/', login_required(ResourceCreate.as_view()), name='resource_local/add/'),
+#    path('resource_local/edit/<int:pk>', login_required(ResourceEditView.as_view()), name='resource_local/edit'),
+    
+    #Provider model SHOULD HAVE at least LIST, DETAIL, EDIT if that corresponds service idea, othervice Open models and pages might be enough
+    path('providers_local/', login_required(ProvidersListView.as_view()), name='providers_local'),
+#    path('provider_local/<str:pk>', login_required(ProviderDetailView.as_view()), name='provider_local_detail'),
+#    path('provider_local/edit/<int:pk>', login_required(ProviderEditView.as_view()), name='provider_local_/edit'),
+
+    #Client model SHOULD HAVE at least DETAIL, EDIT if that corresponds service idea, othervice Open models and pages might be enough
+#    path('client_local/<int:pk>', login_required(ClientDetailView.as_view()), name="client_local"),
+#    path('client_local/edit/<int:pk>', login_required(ClientEditView.as_view()), name='client_local/edit')
+
+    #Service tariff SHOULD HAVE at least LIST, ADD, DETAIL, EDIT if that corresponds service idea, othervice Open models and pages might be enough
+    path('service_tariffs_local/', login_required(ServiceTariffsListView.as_view()), name='service_tariffs_local'),
+    #path('service_tariff_local/<int:pk>', login_required(ServiceTariffDetailView.as_view()), name='service_tariff_local_detail'),
+    path('service_tariff_local/add/', login_required(ServiceTariffCreate.as_view()), name='service_tariff_local/add/'),
+    path('service_tariff_local/edit/<int:pk>', login_required(ServiceTariffUpdateView.as_view()),
+         name='service_tariff_local/edit/'),
+
+    #Local Service Features
+    path('frequent_address', views.order_reg, name="frequent_address"),
+    path('favorite_contacts', views.order_reg, name="favorite_contacts"),
+    path('preferred_providers', views.order_reg, name="preferred_providers"),
+]
+
+urlpatterns_api_local = [
+#    path('map/providers/', get_nearest_providers, name='nearest_providers'),
+]
+
 
 
 urlpatterns = [
 urlpatterns = [
-    path('order_reg/', views.order_reg, name="order_reg"),
+    path('/', include(urlpatterns_webadmin_local)),
     path('api/', include(router.urls), name="webservice_running_api"),
     path('api/', include(router.urls), name="webservice_running_api"),
+    path('local/api/v1/', include(urlpatterns_api_local)),
 ]
 ]