0.5.5
find route limit slice
This commit is contained in:
@@ -154,7 +154,11 @@ def find_routes_ajax(request):
|
||||
|
||||
try:
|
||||
|
||||
|
||||
data = request.POST.dict()
|
||||
if not data and request.body:
|
||||
data = json.loads(request.body)
|
||||
|
||||
data['owner_type'] = 'mover'
|
||||
routes_Dict = get_routes_Dict(data=data)
|
||||
if 'errors' in routes_Dict:
|
||||
|
||||
0
SubscribesApp/__init__.py
Normal file
0
SubscribesApp/__init__.py
Normal file
3
SubscribesApp/admin.py
Normal file
3
SubscribesApp/admin.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
||||
6
SubscribesApp/apps.py
Normal file
6
SubscribesApp/apps.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class SubscribesappConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'SubscribesApp'
|
||||
89
SubscribesApp/migrations/0001_initial.py
Normal file
89
SubscribesApp/migrations/0001_initial.py
Normal file
@@ -0,0 +1,89 @@
|
||||
# Generated by Django 4.2.2 on 2023-08-29 16:04
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Subscribe',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название')),
|
||||
('name_ru', models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название')),
|
||||
('name_en', models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название')),
|
||||
('name_plural', models.TextField(blank=True, null=True, verbose_name='Название (множественное число)')),
|
||||
('order', models.IntegerField(blank=True, null=True, verbose_name='Очередность отображения')),
|
||||
('createDT', models.DateTimeField(auto_now_add=True, verbose_name='Дата и время создания')),
|
||||
('modifiedDT', models.DateTimeField(blank=True, null=True, verbose_name='Дата и время последнего изменения')),
|
||||
('enable', models.BooleanField(db_index=True, default=True, verbose_name='Включено')),
|
||||
('json_data', models.JSONField(blank=True, default=dict, verbose_name='Дополнительные данные')),
|
||||
('price', models.FloatField(default=0, verbose_name='Стоимость')),
|
||||
('period_name', models.CharField(max_length=250, verbose_name='Название периода')),
|
||||
('period_name_ru', models.CharField(max_length=250, null=True, verbose_name='Название периода')),
|
||||
('period_name_en', models.CharField(max_length=250, null=True, verbose_name='Название периода')),
|
||||
('period', models.IntegerField(default=0, verbose_name='Длительность подписки в часах')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Подписка',
|
||||
'verbose_name_plural': 'Подписки',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='SubscribeOption',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название')),
|
||||
('name_ru', models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название')),
|
||||
('name_en', models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название')),
|
||||
('name_plural', models.TextField(blank=True, null=True, verbose_name='Название (множественное число)')),
|
||||
('order', models.IntegerField(blank=True, null=True, verbose_name='Очередность отображения')),
|
||||
('createDT', models.DateTimeField(auto_now_add=True, verbose_name='Дата и время создания')),
|
||||
('modifiedDT', models.DateTimeField(blank=True, null=True, verbose_name='Дата и время последнего изменения')),
|
||||
('enable', models.BooleanField(db_index=True, default=True, verbose_name='Включено')),
|
||||
('json_data', models.JSONField(blank=True, default=dict, verbose_name='Дополнительные данные')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Опция подписки',
|
||||
'verbose_name_plural': 'Опции подписки',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='SubscribeForUser',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название')),
|
||||
('name_plural', models.TextField(blank=True, null=True, verbose_name='Название (множественное число)')),
|
||||
('order', models.IntegerField(blank=True, null=True, verbose_name='Очередность отображения')),
|
||||
('createDT', models.DateTimeField(auto_now_add=True, verbose_name='Дата и время создания')),
|
||||
('modifiedDT', models.DateTimeField(blank=True, null=True, verbose_name='Дата и время последнего изменения')),
|
||||
('enable', models.BooleanField(db_index=True, default=True, verbose_name='Включено')),
|
||||
('json_data', models.JSONField(blank=True, default=dict, verbose_name='Дополнительные данные')),
|
||||
('last_paid_DT', models.DateTimeField(blank=True, null=True, verbose_name='Последняя дата оплаты')),
|
||||
('paid_period_from_DT', models.DateTimeField(blank=True, null=True, verbose_name='Оплаченный период с')),
|
||||
('paid_period_to_DT', models.DateTimeField(blank=True, null=True, verbose_name='Оплаченный период до')),
|
||||
('auto_continue', models.BooleanField(default=False, verbose_name='Автопродление')),
|
||||
('receive_finish_subscribe_msg', models.BooleanField(default=False, verbose_name='Получать сообщения о окончании периода')),
|
||||
('subscribe', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rel_userSubscribes_for_subscribe', to='SubscribesApp.subscribe', verbose_name='Подписка')),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rel_userSubscribes_for_user', to=settings.AUTH_USER_MODEL, verbose_name='Пользователь')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Пользовательская подписка',
|
||||
'verbose_name_plural': 'Пользовательские подписки',
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='subscribe',
|
||||
name='options',
|
||||
field=models.ManyToManyField(blank=True, related_name='rel_subscribes_for_option', to='SubscribesApp.subscribeoption', verbose_name='Подключенные опции'),
|
||||
),
|
||||
]
|
||||
0
SubscribesApp/migrations/__init__.py
Normal file
0
SubscribesApp/migrations/__init__.py
Normal file
47
SubscribesApp/models.py
Normal file
47
SubscribesApp/models.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from django.db import models
|
||||
from BaseModels.base_models import BaseModel
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
class SubscribeOption(BaseModel):
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Опция подписки')
|
||||
verbose_name_plural = _('Опции подписки')
|
||||
|
||||
|
||||
|
||||
class Subscribe(BaseModel):
|
||||
|
||||
price = models.FloatField(verbose_name='Стоимость', default=0)
|
||||
options = models.ManyToManyField(
|
||||
SubscribeOption, verbose_name=_('Подключенные опции'), blank=True, related_name='rel_subscribes_for_option'
|
||||
)
|
||||
period_name = models.CharField(max_length=250, verbose_name=_('Название периода'))
|
||||
period = models.IntegerField(default=0, verbose_name=_('Длительность подписки в часах'))
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Подписка')
|
||||
verbose_name_plural = _('Подписки')
|
||||
|
||||
|
||||
class SubscribeForUser(BaseModel):
|
||||
from AuthApp.models import User
|
||||
|
||||
user = models.ForeignKey(
|
||||
User, verbose_name=_('Пользователь'), related_name='rel_userSubscribes_for_user', on_delete=models.CASCADE)
|
||||
subscribe = models.ForeignKey(
|
||||
Subscribe, verbose_name=_('Подписка'), null=True, blank=True, related_name='rel_userSubscribes_for_subscribe',
|
||||
on_delete=models.SET_NULL
|
||||
)
|
||||
last_paid_DT = models.DateTimeField(verbose_name=_('Последняя дата оплаты'), blank=True, null=True)
|
||||
paid_period_from_DT = models.DateTimeField(verbose_name=_('Оплаченный период с'), blank=True, null=True)
|
||||
paid_period_to_DT = models.DateTimeField(verbose_name=_('Оплаченный период до'), blank=True, null=True)
|
||||
|
||||
auto_continue = models.BooleanField(default=False, verbose_name=_('Автопродление'))
|
||||
|
||||
receive_finish_subscribe_msg = models.BooleanField(
|
||||
default=False, verbose_name=_('Получать сообщения о окончании периода'))
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Пользовательская подписка')
|
||||
verbose_name_plural = _('Пользовательские подписки')
|
||||
3
SubscribesApp/tests.py
Normal file
3
SubscribesApp/tests.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
21
SubscribesApp/translation.py
Normal file
21
SubscribesApp/translation.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from modeltranslation.translator import translator, TranslationOptions
|
||||
from .models import *
|
||||
|
||||
|
||||
class Subscribe_TranslationOptions(TranslationOptions):
|
||||
fields = (
|
||||
'name', 'period_name'
|
||||
)
|
||||
translator.register(Subscribe, Subscribe_TranslationOptions)
|
||||
|
||||
class SubscribeOption_TranslationOptions(TranslationOptions):
|
||||
fields = (
|
||||
'name',
|
||||
)
|
||||
translator.register(SubscribeOption, SubscribeOption_TranslationOptions)
|
||||
|
||||
|
||||
class SubscribeForUser_TranslationOptions(TranslationOptions):
|
||||
fields = (
|
||||
)
|
||||
translator.register(SubscribeForUser, SubscribeForUser_TranslationOptions)
|
||||
3
SubscribesApp/views.py
Normal file
3
SubscribesApp/views.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
||||
@@ -54,7 +54,7 @@ INSTALLED_APPS = [
|
||||
'RoutesApp',
|
||||
'ReferenceDataApp',
|
||||
'ArticlesApp',
|
||||
|
||||
'SubscribesApp',
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
|
||||
Reference in New Issue
Block a user