后端代码架构整理
|
@ -45,9 +45,9 @@ INSTALLED_APPS = [
|
|||
'corsheaders',
|
||||
'captcha',
|
||||
# 自定义app
|
||||
'apps.permission',
|
||||
'apps.op_drf',
|
||||
'apps.system',
|
||||
'apps.vadmin.permission',
|
||||
'apps.vadmin.op_drf',
|
||||
'apps.vadmin.system',
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
|
@ -131,7 +131,8 @@ STATIC_URL = '/static/'
|
|||
# STATIC_ROOT=os.path.join(BASE_DIR,'static')
|
||||
# # 设置django的静态文件目录
|
||||
STATICFILES_DIRS = [
|
||||
os.path.join(BASE_DIR, "static")
|
||||
os.path.join(BASE_DIR, "static"),
|
||||
os.path.join(BASE_DIR, "apps", "vadmin", "static")
|
||||
]
|
||||
# 访问上传文件的url地址前缀
|
||||
MEDIA_URL = "/media/"
|
||||
|
@ -250,9 +251,9 @@ JWT_AUTH = {
|
|||
'JWT_AUTH_HEADER_PREFIX': 'Bearer', # JWT的Header认证头以'JWT '开始
|
||||
'JWT_AUTH_COOKIE': 'AUTH_JWT',
|
||||
'JWT_VERIFY_EXPIRATION': True,
|
||||
'JWT_PAYLOAD_HANDLER': 'utils.jwt_util.jwt_payload_handler',
|
||||
'JWT_GET_USER_SECRET_KEY': 'utils.jwt_util.jwt_get_user_secret_key',
|
||||
'JWT_RESPONSE_PAYLOAD_HANDLER': 'utils.jwt_util.jwt_response_payload_handler',
|
||||
'JWT_PAYLOAD_HANDLER': 'apps.vadmin.utils.jwt_util.jwt_payload_handler',
|
||||
'JWT_GET_USER_SECRET_KEY': 'apps.vadmin.utils.jwt_util.jwt_get_user_secret_key',
|
||||
'JWT_RESPONSE_PAYLOAD_HANDLER': 'apps.vadmin.utils.jwt_util.jwt_response_payload_handler',
|
||||
}
|
||||
|
||||
# ================================================= #
|
||||
|
@ -264,7 +265,7 @@ REST_FRAMEWORK = {
|
|||
),
|
||||
|
||||
'DEFAULT_AUTHENTICATION_CLASSES': (
|
||||
'utils.authentication.RedisOpAuthJwtAuthentication',
|
||||
'apps.vadmin.utils.authentication.RedisOpAuthJwtAuthentication',
|
||||
# 'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
|
||||
'rest_framework.authentication.BasicAuthentication',
|
||||
'rest_framework.authentication.SessionAuthentication',
|
||||
|
@ -274,14 +275,14 @@ REST_FRAMEWORK = {
|
|||
'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.AutoSchema',
|
||||
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
|
||||
'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',),
|
||||
'EXCEPTION_HANDLER': 'utils.exceptions.op_exception_handler',
|
||||
'EXCEPTION_HANDLER': 'apps.vadmin.utils.exceptions.op_exception_handler',
|
||||
}
|
||||
# ================================================= #
|
||||
# ************** 登录方式配置 ************** #
|
||||
# ================================================= #
|
||||
AUTHENTICATION_BACKENDS = (
|
||||
'utils.backends.CustomBackend',
|
||||
'utils.backends.SessionAuthentication',
|
||||
'apps.vadmin.utils.backends.CustomBackend',
|
||||
'apps.vadmin.utils.backends.SessionAuthentication',
|
||||
)
|
||||
AUTH_USER_MODEL = 'permission.UserProfile'
|
||||
# username_field
|
||||
|
|
|
@ -18,16 +18,11 @@ from captcha.conf import settings as ca_settings
|
|||
from captcha.helpers import captcha_image_url, captcha_audio_url
|
||||
from captcha.models import CaptchaStore
|
||||
from django.conf import settings
|
||||
from django.conf.urls import url
|
||||
from django.contrib import admin
|
||||
from django.urls import re_path, include
|
||||
from django.views.static import serve
|
||||
from rest_framework.documentation import include_docs_urls
|
||||
from rest_framework.views import APIView
|
||||
|
||||
from apps.permission.views import GetUserProfileView, GetRouters
|
||||
from apps.op_drf.response import SuccessResponse
|
||||
from utils.login import LoginView, LogoutView
|
||||
from apps.vadmin.op_drf.response import SuccessResponse
|
||||
|
||||
|
||||
class CaptchaRefresh(APIView):
|
||||
|
@ -45,18 +40,6 @@ class CaptchaRefresh(APIView):
|
|||
|
||||
|
||||
urlpatterns = [
|
||||
re_path('api-token-auth/', LoginView.as_view(), name='api_token_auth'),
|
||||
re_path(r'^admin/', admin.site.urls),
|
||||
url(r'docs/', include_docs_urls(title='接口文档')),
|
||||
re_path(r'^permission/', include('apps.permission.urls')),
|
||||
re_path(r'^system/', include('apps.system.urls')),
|
||||
re_path(r'media/(?P<path>.*)', serve, {"document_root": settings.MEDIA_ROOT}),
|
||||
re_path(r'^login/$', LoginView.as_view()),
|
||||
re_path(r'^logout/$', LogoutView.as_view()),
|
||||
re_path(r'^getInfo/$', GetUserProfileView.as_view()),
|
||||
re_path(r'^getRouters/$', GetRouters.as_view()),
|
||||
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
|
||||
url(r"captcha/refresh/$", CaptchaRefresh.as_view(), name="captcha-refresh"), # 刷新验证码
|
||||
re_path('captcha/', include('captcha.urls')), # 图片验证码 路由
|
||||
|
||||
re_path(r'^admin/', include('apps.vadmin.urls')),
|
||||
]
|
||||
|
|
|
@ -6,7 +6,7 @@ logger = logging.getLogger(__name__)
|
|||
|
||||
|
||||
class OpDrfConfig(AppConfig):
|
||||
name = 'op_drf'
|
||||
name = 'vadmin.op_drf'
|
||||
verbose_name = "OP DRF"
|
||||
|
||||
def ready(self):
|
|
@ -2,7 +2,7 @@ from django.contrib.auth import get_user_model
|
|||
from django.db import models
|
||||
from django.db.models import SET_NULL
|
||||
|
||||
from utils.string_util import uuid_8, uuid_16, uuid_32, uuid_36
|
||||
from ...vadmin.utils.string_util import uuid_8, uuid_16, uuid_32, uuid_36
|
||||
|
||||
|
||||
class IdField(models.CharField):
|
|
@ -11,7 +11,7 @@ from django.utils import six
|
|||
from mongoengine.queryset import visitor
|
||||
from rest_framework.filters import BaseFilterBackend, SearchFilter, OrderingFilter
|
||||
|
||||
from apps.permission.models import Dept
|
||||
from ..permission.models import Dept
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
|
@ -7,8 +7,8 @@ from rest_framework.settings import api_settings
|
|||
from . import mixins
|
||||
from .pagination import Pagination, JsonPagination
|
||||
from .response import SuccessResponse
|
||||
from utils.jsonpath_util import get_jsonpath, filter_json, search_json
|
||||
from utils.sort_util import sortList
|
||||
from ..utils.jsonpath_util import get_jsonpath, filter_json, search_json
|
||||
from ..utils.sort_util import sortList
|
||||
from .views import CustomAPIView
|
||||
|
||||
|
|
@ -8,8 +8,8 @@ from django.utils.deprecation import MiddlewareMixin
|
|||
from mongoengine import DynamicDocument, StringField, IntField, DictField, DateTimeField
|
||||
from rest_framework_mongoengine.serializers import DocumentSerializer
|
||||
import logging
|
||||
from utils.decorators import exceptionHandler
|
||||
from utils.request_util import get_request_ip, get_request_data, get_request_path
|
||||
from ..utils.decorators import exceptionHandler
|
||||
from ..utils.request_util import get_request_ip, get_request_data, get_request_path
|
||||
from .viewsets import CustomMongoModelViewSet
|
||||
from django.conf import settings
|
||||
logger = logging.getLogger(__name__)
|
|
@ -6,8 +6,8 @@ from rest_framework.exceptions import APIException as DRFAPIException
|
|||
from rest_framework.request import Request
|
||||
from rest_framework.views import APIView
|
||||
|
||||
from utils import exceptions
|
||||
from utils.model_util import ModelRelateUtils
|
||||
from ..utils import exceptions
|
||||
from ..utils.model_util import ModelRelateUtils
|
||||
from .logging.view_logger import CustomerRelationshipViewLogger
|
||||
from .response import SuccessResponse, ErrorResponse
|
||||
from .serializers import CustomModelSerializer
|
|
@ -11,7 +11,7 @@ from rest_framework.request import Request
|
|||
from rest_framework.settings import api_settings
|
||||
from rest_framework.viewsets import ViewSetMixin
|
||||
|
||||
from utils.exceptions import APIException
|
||||
from ..utils.exceptions import APIException
|
||||
from . import mixins
|
||||
from .filters import MongoSearchFilter, MongoOrderingFilter, AdvancedSearchFilter, MongoAdvancedSearchFilter
|
||||
from .generics import GenericAPIView
|
|
@ -2,5 +2,5 @@ from django.apps import AppConfig
|
|||
|
||||
|
||||
class PermissionConfig(AppConfig):
|
||||
name = 'permission'
|
||||
name = 'vadmin.permission'
|
||||
verbose_name = "权限管理"
|
|
@ -1,6 +1,6 @@
|
|||
import django_filters
|
||||
|
||||
from apps.permission.models import Menu, Dept, Post, Role, UserProfile
|
||||
from ..permission.models import Menu, Dept, Post, Role, UserProfile
|
||||
|
||||
|
||||
class MenuFilter(django_filters.rest_framework.FilterSet):
|
|
@ -4,7 +4,7 @@ import os
|
|||
from django.core.management.base import BaseCommand
|
||||
from django.db import connection
|
||||
|
||||
from scripts import getSql
|
||||
from ....scripts import getSql
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
# Generated by Django 2.2.16 on 2021-03-13 07:50
|
||||
|
||||
import apps.vadmin.op_drf.fields
|
||||
from django.conf import settings
|
||||
import django.contrib.auth.models
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('auth', '0011_update_proxy_permissions'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='UserProfile',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('password', models.CharField(max_length=128, verbose_name='password')),
|
||||
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
|
||||
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
|
||||
('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')),
|
||||
('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
|
||||
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
|
||||
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
|
||||
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
|
||||
('username', models.CharField(db_index=True, max_length=150, unique=True, verbose_name='用户账号')),
|
||||
('secret', models.CharField(default=uuid.uuid4, max_length=255, verbose_name='加密秘钥')),
|
||||
('email', models.CharField(blank=True, max_length=255, null=True, verbose_name='邮箱')),
|
||||
('mobile', models.CharField(blank=True, max_length=255, null=True, verbose_name='电话')),
|
||||
('avatar', models.TextField(blank=True, null=True, verbose_name='头像')),
|
||||
('name', models.CharField(max_length=40, verbose_name='姓名')),
|
||||
('gender', models.CharField(blank=True, max_length=8, null=True, verbose_name='性别')),
|
||||
('remark', models.TextField(null=True, verbose_name='备注')),
|
||||
('user_type', models.IntegerField(default=0, verbose_name='用户类型')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '用户管理',
|
||||
'verbose_name_plural': '用户管理',
|
||||
},
|
||||
managers=[
|
||||
('objects', django.contrib.auth.models.UserManager()),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Dept',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('description', apps.vadmin.op_drf.fields.DescriptionField(blank=True, default='', help_text='描述', null=True, verbose_name='描述')),
|
||||
('modifier', apps.vadmin.op_drf.fields.ModifierCharField(blank=True, help_text='该记录最后修改者', max_length=255, null=True, verbose_name='修改者')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('deptName', models.CharField(max_length=64, verbose_name='部门名称')),
|
||||
('orderNum', models.IntegerField(verbose_name='显示排序')),
|
||||
('owner', models.CharField(blank=True, max_length=32, null=True, verbose_name='负责人')),
|
||||
('phone', models.CharField(blank=True, max_length=32, null=True, verbose_name='联系电话')),
|
||||
('email', models.CharField(blank=True, max_length=32, null=True, verbose_name='邮箱')),
|
||||
('status', models.CharField(blank=True, max_length=8, null=True, verbose_name='部门状态')),
|
||||
('creator', models.ForeignKey(db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
|
||||
('parentId', models.ForeignKey(blank=True, db_constraint=False, default=False, null=True, on_delete=django.db.models.deletion.CASCADE, to='permission.Dept', verbose_name='上级部门')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '部门管理',
|
||||
'verbose_name_plural': '部门管理',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Menu',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('description', apps.vadmin.op_drf.fields.DescriptionField(blank=True, default='', help_text='描述', null=True, verbose_name='描述')),
|
||||
('modifier', apps.vadmin.op_drf.fields.ModifierCharField(blank=True, help_text='该记录最后修改者', max_length=255, null=True, verbose_name='修改者')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('menuType', models.CharField(max_length=8, verbose_name='菜单类型')),
|
||||
('icon', models.CharField(blank=True, max_length=64, null=True, verbose_name='菜单图标')),
|
||||
('name', models.CharField(max_length=64, verbose_name='菜单名称')),
|
||||
('orderNum', models.IntegerField(verbose_name='显示排序')),
|
||||
('isFrame', models.CharField(max_length=8, verbose_name='是否外链')),
|
||||
('web_path', models.CharField(blank=True, max_length=128, null=True, verbose_name='前端路由地址')),
|
||||
('component_path', models.CharField(blank=True, max_length=128, null=True, verbose_name='前端组件路径')),
|
||||
('interface_path', models.CharField(blank=True, max_length=256, null=True, verbose_name='后端接口路径')),
|
||||
('interface_method', models.CharField(default='GET', max_length=16, verbose_name='接口请求方式')),
|
||||
('perms', models.CharField(blank=True, max_length=256, null=True, verbose_name='权限标识')),
|
||||
('status', models.CharField(max_length=8, verbose_name='菜单状态')),
|
||||
('visible', models.CharField(max_length=8, verbose_name='显示状态')),
|
||||
('isCache', models.CharField(max_length=8, verbose_name='是否缓存')),
|
||||
('creator', models.ForeignKey(db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
|
||||
('parentId', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.CASCADE, to='permission.Menu', verbose_name='上级菜单')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '菜单管理',
|
||||
'verbose_name_plural': '菜单管理',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Role',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('description', apps.vadmin.op_drf.fields.DescriptionField(blank=True, default='', help_text='描述', null=True, verbose_name='描述')),
|
||||
('modifier', apps.vadmin.op_drf.fields.ModifierCharField(blank=True, help_text='该记录最后修改者', max_length=255, null=True, verbose_name='修改者')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('roleName', models.CharField(max_length=64, verbose_name='角色名称')),
|
||||
('roleKey', models.CharField(max_length=64, verbose_name='权限字符')),
|
||||
('roleSort', models.IntegerField(verbose_name='角色顺序')),
|
||||
('status', models.CharField(max_length=8, verbose_name='角色状态')),
|
||||
('admin', models.BooleanField(default=False, verbose_name='是否为admin')),
|
||||
('dataScope', models.CharField(choices=[('1', '全部数据权限'), ('2', '自定数据权限'), ('3', '本部门数据权限'), ('4', '本部门及以下数据权限'), ('5', '仅本人数据权限')], default='1', max_length=8, verbose_name='权限范围')),
|
||||
('remark', models.TextField(blank=True, help_text='备注', null=True, verbose_name='备注')),
|
||||
('creator', models.ForeignKey(db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
|
||||
('dept', models.ManyToManyField(db_constraint=False, to='permission.Dept', verbose_name='数据权限-关联部门')),
|
||||
('menu', models.ManyToManyField(db_constraint=False, to='permission.Menu', verbose_name='关联菜单权限')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '角色管理',
|
||||
'verbose_name_plural': '角色管理',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Post',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('description', apps.vadmin.op_drf.fields.DescriptionField(blank=True, default='', help_text='描述', null=True, verbose_name='描述')),
|
||||
('modifier', apps.vadmin.op_drf.fields.ModifierCharField(blank=True, help_text='该记录最后修改者', max_length=255, null=True, verbose_name='修改者')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('postName', models.CharField(max_length=64, verbose_name='岗位名称')),
|
||||
('postCode', models.CharField(max_length=32, verbose_name='岗位编码')),
|
||||
('postSort', models.IntegerField(verbose_name='岗位顺序')),
|
||||
('status', models.CharField(max_length=8, verbose_name='岗位状态')),
|
||||
('remark', models.TextField(blank=True, help_text='备注', null=True, verbose_name='备注')),
|
||||
('creator', models.ForeignKey(db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '岗位管理',
|
||||
'verbose_name_plural': '岗位管理',
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='userprofile',
|
||||
name='dept',
|
||||
field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.CASCADE, to='permission.Dept', verbose_name='归属部门'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='userprofile',
|
||||
name='groups',
|
||||
field=models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='userprofile',
|
||||
name='post',
|
||||
field=models.ManyToManyField(db_constraint=False, to='permission.Post', verbose_name='关联岗位'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='userprofile',
|
||||
name='role',
|
||||
field=models.ManyToManyField(db_constraint=False, to='permission.Role', verbose_name='关联角色'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='userprofile',
|
||||
name='user_permissions',
|
||||
field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions'),
|
||||
),
|
||||
]
|
|
@ -1,7 +1,7 @@
|
|||
from django.db.models import CASCADE
|
||||
from django.db.models import CharField, IntegerField, ForeignKey
|
||||
|
||||
from apps.op_drf.models import CoreModel
|
||||
from ...op_drf.models import CoreModel
|
||||
|
||||
|
||||
class Dept(CoreModel):
|
|
@ -1,6 +1,6 @@
|
|||
from django.db.models import IntegerField, ForeignKey, CharField, CASCADE
|
||||
|
||||
from apps.op_drf.models import CoreModel
|
||||
from ...op_drf.models import CoreModel
|
||||
|
||||
|
||||
class Menu(CoreModel):
|
|
@ -1,6 +1,6 @@
|
|||
from django.db.models import IntegerField, BooleanField, CharField, TextField
|
||||
|
||||
from apps.op_drf.models import CoreModel
|
||||
from ...op_drf.models import CoreModel
|
||||
|
||||
|
||||
class Post(CoreModel):
|
|
@ -1,6 +1,6 @@
|
|||
from django.db.models import IntegerField, BooleanField, CharField, TextField, ManyToManyField
|
||||
|
||||
from apps.op_drf.models import CoreModel
|
||||
from ...op_drf.models import CoreModel
|
||||
|
||||
|
||||
class Role(CoreModel):
|
|
@ -3,7 +3,7 @@ from uuid import uuid4
|
|||
from django.contrib.auth.models import UserManager, AbstractUser
|
||||
from django.db.models import IntegerField, ForeignKey, CharField, TextField, ManyToManyField, CASCADE
|
||||
|
||||
from apps.op_drf.fields import CreateDateTimeField, UpdateDateTimeField
|
||||
from ...op_drf.fields import CreateDateTimeField, UpdateDateTimeField
|
||||
|
||||
|
||||
class UserProfile(AbstractUser):
|
|
@ -1,9 +1,9 @@
|
|||
from rest_framework import serializers
|
||||
from rest_framework.validators import UniqueValidator
|
||||
|
||||
from apps.op_drf.serializers import CustomModelSerializer
|
||||
from apps.permission.models import Menu, Dept, Post, Role, UserProfile
|
||||
from apps.system.models import MessagePush
|
||||
from ..op_drf.serializers import CustomModelSerializer
|
||||
from ..permission.models import Menu, Dept, Post, Role, UserProfile
|
||||
from ..system.models import MessagePush
|
||||
|
||||
|
||||
# ================================================= #
|
|
@ -1,7 +1,7 @@
|
|||
from django.urls import re_path
|
||||
from rest_framework.routers import DefaultRouter
|
||||
|
||||
from apps.permission.views import MenuModelViewSet, DeptModelViewSet, PostModelViewSet, RoleModelViewSet, \
|
||||
from ..permission.views import MenuModelViewSet, DeptModelViewSet, PostModelViewSet, RoleModelViewSet, \
|
||||
UserProfileModelViewSet
|
||||
|
||||
router = DefaultRouter()
|
|
@ -2,16 +2,16 @@ from django.contrib.auth import authenticate
|
|||
from rest_framework.request import Request
|
||||
from rest_framework.views import APIView
|
||||
|
||||
from apps.op_drf.viewsets import CustomModelViewSet
|
||||
from apps.permission.filters import MenuFilter, DeptFilter, PostFilter, RoleFilter, UserProfileFilter
|
||||
from apps.permission.models import Role, Menu, Dept, Post, UserProfile
|
||||
from apps.permission.serializers import UserProfileSerializer, MenuSerializer, RoleSerializer, \
|
||||
from ..op_drf.viewsets import CustomModelViewSet
|
||||
from ..permission.filters import MenuFilter, DeptFilter, PostFilter, RoleFilter, UserProfileFilter
|
||||
from ..permission.models import Role, Menu, Dept, Post, UserProfile
|
||||
from ..permission.serializers import UserProfileSerializer, MenuSerializer, RoleSerializer, \
|
||||
MenuCreateUpdateSerializer, DeptSerializer, DeptCreateUpdateSerializer, PostSerializer, PostCreateUpdateSerializer, \
|
||||
RoleCreateUpdateSerializer, DeptTreeSerializer, MenuTreeSerializer, UserProfileCreateUpdateSerializer, \
|
||||
PostSimpleSerializer, RoleSimpleSerializer, ExportUserProfileSerializer, ExportRoleSerializer, ExportPostSerializer
|
||||
from apps.op_drf.filters import DataLevelPermissionsFilter
|
||||
from utils.export_excel import export_excel_save_model
|
||||
from utils.response import SuccessResponse, ErrorResponse
|
||||
from ..op_drf.filters import DataLevelPermissionsFilter
|
||||
from ..utils.export_excel import export_excel_save_model
|
||||
from ..utils.response import SuccessResponse, ErrorResponse
|
||||
|
||||
|
||||
class GetUserProfileView(APIView):
|
|
@ -7,7 +7,8 @@ def getSql(filename):
|
|||
:param filename: 例如:os.path.join('permission','permission_dept.sql')
|
||||
:return:
|
||||
"""
|
||||
pwd = os.path.join(os.getcwd(), 'scripts', filename)
|
||||
abspath = os.path.abspath(os.path.join(os.path.abspath(os.path.dirname(__file__)), ".."))
|
||||
pwd = os.path.join(abspath, 'scripts', filename)
|
||||
with open(pwd,'rb') as fp:
|
||||
content = fp.read().decode('utf8')
|
||||
return [ele for ele in content.split('\n') if not ele.startswith('--') and ele.strip(' ')]
|
|
@ -34,60 +34,60 @@
|
|||
-- ----------------------------
|
||||
INSERT INTO `permission_menu` VALUES (1, '', 'admin', '2021-02-27 07:50:00.410101', '2021-02-27 07:41:28.660364', '0', 'system', '系统管理', 1, '1', '/system', '', '', 'GET', NULL, '1', '1', '1', 1, NULL);
|
||||
INSERT INTO `permission_menu` VALUES (2, '', 'admin', '2021-02-27 07:51:14.500722', '2021-02-27 07:51:14.500768', '0', 'peoples', '权限管理', 2, '1', '/permission', '', '', 'GET', NULL, '1', '1', '1', 1, NULL);
|
||||
INSERT INTO `permission_menu` VALUES (3, '', 'admin', '2021-02-27 08:20:40.164651', '2021-02-27 07:54:38.630670', '1', 'dict', '字典管理', 1, '1', '/system/dict', 'system/dict/index', 'system/dict/type', 'GET', 'system:dict:type:get', '1', '1', '1', 1, 1);
|
||||
INSERT INTO `permission_menu` VALUES (4, '', 'admin', '2021-02-27 08:24:03.776515', '2021-02-27 08:06:51.019173', '1', 'edit', '参数管理', 2, '1', '/system/config', 'system/config/index', 'system/config/', 'GET', 'system:config:get', '1', '1', '1', 1, 1);
|
||||
INSERT INTO `permission_menu` VALUES (5, '', 'admin', '2021-02-27 08:26:56.407590', '2021-02-27 08:25:37.339270', '1', 'post', '岗位管理', 1, '1', '/permission/post', 'permission/post/index', 'permission/post', 'GET', 'permission:post:get', '1', '1', '1', 1, 2);
|
||||
INSERT INTO `permission_menu` VALUES (6, '', 'admin', '2021-02-27 08:26:48.454509', '2021-02-27 08:26:48.454553', '1', 'tree', '部门管理', 2, '1', '/permission/dept', 'permission/dept/index', 'permission/dept', 'GET', 'permission:dept:get', '1', '1', '1', 1, 2);
|
||||
INSERT INTO `permission_menu` VALUES (7, '', 'admin', '2021-02-27 08:28:20.411115', '2021-02-27 08:28:20.411164', '1', 'tree-table', '菜单管理', 3, '1', '/permission/menu', 'permission/menu/index', 'permission/menus', 'GET', 'permission:menus:get', '1', '1', '1', 1, 2);
|
||||
INSERT INTO `permission_menu` VALUES (8, '', 'admin', '2021-02-27 08:29:30.153322', '2021-02-27 08:29:30.153361', '1', 'peoples', '角色管理', 4, '1', '/permission/role', 'permission/role/index', 'permission/role', 'GET', 'permission:role:get', '1', '1', '1', 1, 2);
|
||||
INSERT INTO `permission_menu` VALUES (9, '', 'admin', '2021-02-27 08:30:14.030845', '2021-02-27 08:30:14.030888', '1', 'user', '用户管理', 5, '1', '/permission/user', 'permission/user/index', 'permission/user', 'GET', 'permission:user:get', '1', '1', '1', 1, 2);
|
||||
INSERT INTO `permission_menu` VALUES (3, '', 'admin', '2021-02-27 08:20:40.164651', '2021-02-27 07:54:38.630670', '1', 'dict', '字典管理', 1, '1', '/system/dict', 'system/dict/index', '/admin/system/dict/type', 'GET', 'system:dict:type:get', '1', '1', '1', 1, 1);
|
||||
INSERT INTO `permission_menu` VALUES (4, '', 'admin', '2021-02-27 08:24:03.776515', '2021-02-27 08:06:51.019173', '1', 'edit', '参数管理', 2, '1', '/system/config', 'system/config/index', '/admin/system/config/', 'GET', 'system:config:get', '1', '1', '1', 1, 1);
|
||||
INSERT INTO `permission_menu` VALUES (5, '', 'admin', '2021-02-27 08:26:56.407590', '2021-02-27 08:25:37.339270', '1', 'post', '岗位管理', 1, '1', '/permission/post', 'permission/post/index', '/admin/permission/post', 'GET', 'permission:post:get', '1', '1', '1', 1, 2);
|
||||
INSERT INTO `permission_menu` VALUES (6, '', 'admin', '2021-02-27 08:26:48.454509', '2021-02-27 08:26:48.454553', '1', 'tree', '部门管理', 2, '1', '/permission/dept', 'permission/dept/index', '/admin/permission/dept', 'GET', 'permission:dept:get', '1', '1', '1', 1, 2);
|
||||
INSERT INTO `permission_menu` VALUES (7, '', 'admin', '2021-02-27 08:28:20.411115', '2021-02-27 08:28:20.411164', '1', 'tree-table', '菜单管理', 3, '1', '/permission/menu', 'permission/menu/index', '/admin/permission/menus', 'GET', 'permission:menus:get', '1', '1', '1', 1, 2);
|
||||
INSERT INTO `permission_menu` VALUES (8, '', 'admin', '2021-02-27 08:29:30.153322', '2021-02-27 08:29:30.153361', '1', 'peoples', '角色管理', 4, '1', '/permission/role', 'permission/role/index', '/admin/permission/role', 'GET', 'permission:role:get', '1', '1', '1', 1, 2);
|
||||
INSERT INTO `permission_menu` VALUES (9, '', 'admin', '2021-02-27 08:30:14.030845', '2021-02-27 08:30:14.030888', '1', 'user', '用户管理', 5, '1', '/permission/user', 'permission/user/index', '/admin/permission/user', 'GET', 'permission:user:get', '1', '1', '1', 1, 2);
|
||||
INSERT INTO `permission_menu` VALUES (10, '', 'admin', '2021-02-27 08:37:24.948235', '2021-02-27 08:36:04.824117', '0', 'guide', 'dvAdmin官网', 9, '0', 'https://django-vue-admin.com', '', NULL, 'GET', NULL, '1', '1', '1', 1, NULL);
|
||||
INSERT INTO `permission_menu` VALUES (11, '', 'admin', '2021-02-27 16:19:21.529666', '2021-02-27 16:17:36.685174', '1', 'job', '文件管理', 3, '1', '/system/savefile', 'system/savefile/index', '/system/savefile', 'GET', 'system:savefile:get', '1', '1', '1', 1, 1);
|
||||
INSERT INTO `permission_menu` VALUES (13, '', 'admin', '2021-03-03 14:41:08.227821', '2021-03-03 14:18:52.530449', '2', NULL, '用户新增', 1, '1', NULL, NULL, '/permission/user/', 'POST', 'permission:user:post', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (14, '', 'admin', '2021-03-03 14:43:34.207938', '2021-03-03 14:43:34.208093', '2', NULL, '用户修改', 2, '1', NULL, NULL, '/permission/user/{id}/', 'PUT', 'permission:user:{id}:put', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (15, '', 'admin', '2021-03-03 14:44:58.006289', '2021-03-03 14:44:58.006338', '2', NULL, '用户删除', 3, '1', '', NULL, '/permission/user/{id}/', 'DELETE', 'permission:user:{id}:delete', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (16, '', 'admin', '2021-03-03 14:45:50.575443', '2021-03-03 14:45:50.575507', '2', NULL, '用户导出', 4, '1', NULL, NULL, '/permission/user/export/', 'GET', 'permission:user:export:get', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (17, '', 'admin', '2021-03-03 14:51:14.157310', '2021-03-03 14:51:14.157447', '2', NULL, '用户导入', 5, '1', NULL, NULL, '/permission/user/import/', 'POST', 'permission:user:import:post', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (18, '', 'admin', '2021-03-03 14:51:51.220886', '2021-03-03 14:51:51.220933', '2', NULL, '重置密码', 6, '1', NULL, NULL, '/permission/user/resetPwd/', 'PUT', 'permission:user:resetpwd:put', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (19, '', 'admin', '2021-03-03 14:53:47.877063', '2021-03-03 14:53:47.877116', '2', NULL, '角色新增', 1, '1', NULL, NULL, '/permission/role/', 'POST', 'permission:role:post', '1', '1', '1', 1, 8);
|
||||
INSERT INTO `permission_menu` VALUES (20, '', 'admin', '2021-03-03 14:54:28.794968', '2021-03-03 14:54:28.795015', '2', NULL, '角色修改', 2, '1', NULL, NULL, '/permission/role/{id}/', 'PUT', 'permission:role:{id}:put', '1', '1', '1', 1, 8);
|
||||
INSERT INTO `permission_menu` VALUES (21, '', 'admin', '2021-03-03 14:58:00.798718', '2021-03-03 14:58:00.798813', '2', NULL, '删除角色', 3, '1', NULL, NULL, '/permission/role/{id}/', 'DELETE', 'permission:role:{id}:delete', '1', '1', '1', 1, 8);
|
||||
INSERT INTO `permission_menu` VALUES (22, '', 'admin', '2021-03-03 14:58:28.940577', '2021-03-03 14:58:28.940625', '2', NULL, '角色导出', 4, '1', NULL, NULL, '/permission/role/export/', 'GET', 'permission:role:export:get', '1', '1', '1', 1, 8);
|
||||
INSERT INTO `permission_menu` VALUES (23, '', 'admin', '2021-03-03 15:00:41.081771', '2021-03-03 15:00:41.081832', '2', NULL, '菜单新增', 1, '1', NULL, NULL, '/permission/menus/', 'POST', 'permission:menus:post', '1', '1', '1', 1, 7);
|
||||
INSERT INTO `permission_menu` VALUES (24, '', 'admin', '2021-03-03 15:01:03.178824', '2021-03-03 15:01:03.178874', '2', NULL, '菜单修改', 2, '1', NULL, NULL, '/permission/menus/{id}/', 'PUT', 'permission:menus:{id}:put', '1', '1', '1', 1, 7);
|
||||
INSERT INTO `permission_menu` VALUES (25, '', 'admin', '2021-03-03 15:02:56.123525', '2021-03-03 15:02:56.123571', '2', NULL, '菜单删除', 3, '1', NULL, NULL, '/permission/menus/{id}/', 'DELETE', 'permission:menus:{id}:delete', '1', '1', '1', 1, 7);
|
||||
INSERT INTO `permission_menu` VALUES (26, '', 'admin', '2021-03-03 15:04:35.191774', '2021-03-03 15:04:35.191856', '2', NULL, '部门新增', 1, '1', NULL, NULL, '/permission/dept/', 'POST', 'permission:dept:post', '1', '1', '1', 1, 6);
|
||||
INSERT INTO `permission_menu` VALUES (27, '', 'admin', '2021-03-03 15:04:56.963168', '2021-03-03 15:04:56.963214', '2', NULL, '部门修改', 2, '1', NULL, NULL, '/permission/dept/{id}/', 'PUT', 'permission:dept:{id}:put', '1', '1', '1', 1, 6);
|
||||
INSERT INTO `permission_menu` VALUES (28, '', 'admin', '2021-03-03 15:05:39.602577', '2021-03-03 15:05:39.602622', '2', NULL, '部门删除', 3, '1', NULL, NULL, '/permission/dept/{id}/', 'DELETE', 'permission:dept:{id}:delete', '1', '1', '1', 1, 6);
|
||||
INSERT INTO `permission_menu` VALUES (29, '', 'admin', '2021-03-03 15:06:50.095341', '2021-03-03 15:06:50.095388', '2', NULL, '岗位新增', 1, '1', NULL, NULL, '/permission/post/', 'POST', 'permission:post:post', '1', '1', '1', 1, 5);
|
||||
INSERT INTO `permission_menu` VALUES (30, '', 'admin', '2021-03-03 15:07:36.013313', '2021-03-03 15:07:36.013358', '2', NULL, '岗位修改', 2, '1', NULL, NULL, '/permission/post/{id}/', 'PUT', 'permission:post:{id}:put', '1', '1', '1', 1, 5);
|
||||
INSERT INTO `permission_menu` VALUES (31, '', 'admin', '2021-03-03 15:08:10.371530', '2021-03-03 15:08:10.371575', '2', NULL, '岗位删除', 3, '1', NULL, NULL, '/permission/post/{id}/', 'DELETE', 'permission:post:{id}:delete', '1', '1', '1', 1, 5);
|
||||
INSERT INTO `permission_menu` VALUES (32, '', 'admin', '2021-03-03 15:09:02.213084', '2021-03-03 15:09:02.213131', '2', NULL, '岗位导出', 4, '1', NULL, NULL, '/permission/post/export/', 'GET', 'permission:post:export:get', '1', '1', '1', 1, 5);
|
||||
INSERT INTO `permission_menu` VALUES (33, '', 'admin', '2021-03-03 15:11:37.616329', '2021-03-03 15:11:37.616415', '2', NULL, '字典新增', 1, '1', NULL, NULL, '/system/dict/type/', 'POST', 'system:dict:type:post', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (34, '', 'admin', '2021-03-03 15:12:47.237658', '2021-03-03 15:12:47.237713', '2', NULL, '字典修改', 2, '1', NULL, NULL, '/system/dict/type/{id}/', 'PUT', 'system:dict:type:{id}:put', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (35, '', 'admin', '2021-03-03 15:13:40.185174', '2021-03-03 15:13:40.185230', '2', NULL, '字典删除', 3, '1', NULL, NULL, '/system/dict/type/{id}/', 'DELETE', 'system:dict:type:{id}:delete', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (36, '', 'admin', '2021-03-03 15:15:12.950584', '2021-03-03 15:15:12.950684', '2', NULL, '字典导出', 4, '1', NULL, NULL, '/system/dict/type/export/', 'GET', 'system:dict:type:export:get', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (37, '', 'admin', '2021-03-03 15:16:54.709780', '2021-03-03 15:16:20.868146', '2', NULL, '清理缓存', 5, '1', NULL, NULL, '/system/dict/type/clearCache/', 'DELETE', 'system:dict:type:clearcache:delete', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (38, '', 'admin', '2021-03-03 15:17:54.232085', '2021-03-03 15:17:54.232166', '2', NULL, '参数新增', 1, '1', NULL, NULL, '/system/config/', 'POST', 'system:config:post', '1', '1', '1', 1, 4);
|
||||
INSERT INTO `permission_menu` VALUES (39, '', 'admin', '2021-03-03 15:18:37.088187', '2021-03-03 15:18:37.088237', '2', NULL, '参数修改', 2, '1', NULL, NULL, '/system/config/{id}/', 'PUT', 'system:config:{id}:put', '1', '1', '1', 1, 4);
|
||||
INSERT INTO `permission_menu` VALUES (40, '', 'admin', '2021-03-03 15:19:05.532556', '2021-03-03 15:19:05.532616', '2', NULL, '参数删除', 3, '1', NULL, NULL, '/system/config/{id}/', 'DELETE', 'system:config:{id}:delete', '1', '1', '1', 1, 4);
|
||||
INSERT INTO `permission_menu` VALUES (41, '', 'admin', '2021-03-03 15:19:49.576174', '2021-03-03 15:19:49.576221', '2', NULL, '参数导出', 4, '1', NULL, NULL, '/system/config/export/', 'GET', 'system:config:export:get', '1', '1', '1', 1, 4);
|
||||
INSERT INTO `permission_menu` VALUES (42, '', 'admin', '2021-03-03 15:21:20.098250', '2021-03-03 15:21:20.098345', '2', NULL, '清理缓存', 5, '1', NULL, NULL, '/system/config/clearCache/', 'DELETE', 'system:config:clearcache:delete', '1', '1', '1', 1,4);
|
||||
INSERT INTO `permission_menu` VALUES (43, '', 'admin', '2021-03-03 15:22:48.492613', '2021-03-03 15:22:48.492666', '2', NULL, '文件上传', 1, '1', NULL, NULL, '/system/savefile/', 'POST', 'system:savefile:post', '1', '1', '1', 1, 11);
|
||||
INSERT INTO `permission_menu` VALUES (44, '', 'admin', '2021-03-03 15:23:58.219105', '2021-03-03 15:23:58.219155', '2', NULL, '文件删除', 2, '1', NULL, NULL, '/system/savefile/{id}/', 'DELETE', 'system:savefile:{id}:delete', '1', '1', '1', 1, 11);
|
||||
INSERT INTO `permission_menu` VALUES (45, '', 'admin', '2021-03-03 15:25:15.224971', '2021-03-03 15:25:15.225018', '2', NULL, '清理废弃文件', 3, '1', NULL, NULL, '/system/clearsavefile/', 'POST', 'system:clearsavefile:post', '1', '1', '1', 1, 11);
|
||||
INSERT INTO `permission_menu` VALUES (11, '', 'admin', '2021-02-27 16:19:21.529666', '2021-02-27 16:17:36.685174', '1', 'job', '文件管理', 3, '1', '/system/savefile', 'system/savefile/index', '/admin/system/savefile', 'GET', 'system:savefile:get', '1', '1', '1', 1, 1);
|
||||
INSERT INTO `permission_menu` VALUES (13, '', 'admin', '2021-03-03 14:41:08.227821', '2021-03-03 14:18:52.530449', '2', NULL, '用户新增', 1, '1', NULL, NULL, '/admin/permission/user/', 'POST', 'permission:user:post', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (14, '', 'admin', '2021-03-03 14:43:34.207938', '2021-03-03 14:43:34.208093', '2', NULL, '用户修改', 2, '1', NULL, NULL, '/admin/permission/user/{id}/', 'PUT', 'permission:user:{id}:put', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (15, '', 'admin', '2021-03-03 14:44:58.006289', '2021-03-03 14:44:58.006338', '2', NULL, '用户删除', 3, '1', '', NULL, '/admin/permission/user/{id}/', 'DELETE', 'permission:user:{id}:delete', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (16, '', 'admin', '2021-03-03 14:45:50.575443', '2021-03-03 14:45:50.575507', '2', NULL, '用户导出', 4, '1', NULL, NULL, '/admin/permission/user/export/', 'GET', 'permission:user:export:get', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (17, '', 'admin', '2021-03-03 14:51:14.157310', '2021-03-03 14:51:14.157447', '2', NULL, '用户导入', 5, '1', NULL, NULL, '/admin/permission/user/import/', 'POST', 'permission:user:import:post', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (18, '', 'admin', '2021-03-03 14:51:51.220886', '2021-03-03 14:51:51.220933', '2', NULL, '重置密码', 6, '1', NULL, NULL, '/admin/permission/user/resetPwd/', 'PUT', 'permission:user:resetpwd:put', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (19, '', 'admin', '2021-03-03 14:53:47.877063', '2021-03-03 14:53:47.877116', '2', NULL, '角色新增', 1, '1', NULL, NULL, '/admin/permission/role/', 'POST', 'permission:role:post', '1', '1', '1', 1, 8);
|
||||
INSERT INTO `permission_menu` VALUES (20, '', 'admin', '2021-03-03 14:54:28.794968', '2021-03-03 14:54:28.795015', '2', NULL, '角色修改', 2, '1', NULL, NULL, '/admin/permission/role/{id}/', 'PUT', 'permission:role:{id}:put', '1', '1', '1', 1, 8);
|
||||
INSERT INTO `permission_menu` VALUES (21, '', 'admin', '2021-03-03 14:58:00.798718', '2021-03-03 14:58:00.798813', '2', NULL, '删除角色', 3, '1', NULL, NULL, '/admin/permission/role/{id}/', 'DELETE', 'permission:role:{id}:delete', '1', '1', '1', 1, 8);
|
||||
INSERT INTO `permission_menu` VALUES (22, '', 'admin', '2021-03-03 14:58:28.940577', '2021-03-03 14:58:28.940625', '2', NULL, '角色导出', 4, '1', NULL, NULL, '/admin/permission/role/export/', 'GET', 'permission:role:export:get', '1', '1', '1', 1, 8);
|
||||
INSERT INTO `permission_menu` VALUES (23, '', 'admin', '2021-03-03 15:00:41.081771', '2021-03-03 15:00:41.081832', '2', NULL, '菜单新增', 1, '1', NULL, NULL, '/admin/permission/menus/', 'POST', 'permission:menus:post', '1', '1', '1', 1, 7);
|
||||
INSERT INTO `permission_menu` VALUES (24, '', 'admin', '2021-03-03 15:01:03.178824', '2021-03-03 15:01:03.178874', '2', NULL, '菜单修改', 2, '1', NULL, NULL, '/admin/permission/menus/{id}/', 'PUT', 'permission:menus:{id}:put', '1', '1', '1', 1, 7);
|
||||
INSERT INTO `permission_menu` VALUES (25, '', 'admin', '2021-03-03 15:02:56.123525', '2021-03-03 15:02:56.123571', '2', NULL, '菜单删除', 3, '1', NULL, NULL, '/admin/permission/menus/{id}/', 'DELETE', 'permission:menus:{id}:delete', '1', '1', '1', 1, 7);
|
||||
INSERT INTO `permission_menu` VALUES (26, '', 'admin', '2021-03-03 15:04:35.191774', '2021-03-03 15:04:35.191856', '2', NULL, '部门新增', 1, '1', NULL, NULL, '/admin/permission/dept/', 'POST', 'permission:dept:post', '1', '1', '1', 1, 6);
|
||||
INSERT INTO `permission_menu` VALUES (27, '', 'admin', '2021-03-03 15:04:56.963168', '2021-03-03 15:04:56.963214', '2', NULL, '部门修改', 2, '1', NULL, NULL, '/admin/permission/dept/{id}/', 'PUT', 'permission:dept:{id}:put', '1', '1', '1', 1, 6);
|
||||
INSERT INTO `permission_menu` VALUES (28, '', 'admin', '2021-03-03 15:05:39.602577', '2021-03-03 15:05:39.602622', '2', NULL, '部门删除', 3, '1', NULL, NULL, '/admin/permission/dept/{id}/', 'DELETE', 'permission:dept:{id}:delete', '1', '1', '1', 1, 6);
|
||||
INSERT INTO `permission_menu` VALUES (29, '', 'admin', '2021-03-03 15:06:50.095341', '2021-03-03 15:06:50.095388', '2', NULL, '岗位新增', 1, '1', NULL, NULL, '/admin/permission/post/', 'POST', 'permission:post:post', '1', '1', '1', 1, 5);
|
||||
INSERT INTO `permission_menu` VALUES (30, '', 'admin', '2021-03-03 15:07:36.013313', '2021-03-03 15:07:36.013358', '2', NULL, '岗位修改', 2, '1', NULL, NULL, '/admin/permission/post/{id}/', 'PUT', 'permission:post:{id}:put', '1', '1', '1', 1, 5);
|
||||
INSERT INTO `permission_menu` VALUES (31, '', 'admin', '2021-03-03 15:08:10.371530', '2021-03-03 15:08:10.371575', '2', NULL, '岗位删除', 3, '1', NULL, NULL, '/admin/permission/post/{id}/', 'DELETE', 'permission:post:{id}:delete', '1', '1', '1', 1, 5);
|
||||
INSERT INTO `permission_menu` VALUES (32, '', 'admin', '2021-03-03 15:09:02.213084', '2021-03-03 15:09:02.213131', '2', NULL, '岗位导出', 4, '1', NULL, NULL, '/admin/permission/post/export/', 'GET', 'permission:post:export:get', '1', '1', '1', 1, 5);
|
||||
INSERT INTO `permission_menu` VALUES (33, '', 'admin', '2021-03-03 15:11:37.616329', '2021-03-03 15:11:37.616415', '2', NULL, '字典新增', 1, '1', NULL, NULL, '/admin/system/dict/type/', 'POST', 'system:dict:type:post', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (34, '', 'admin', '2021-03-03 15:12:47.237658', '2021-03-03 15:12:47.237713', '2', NULL, '字典修改', 2, '1', NULL, NULL, '/admin/system/dict/type/{id}/', 'PUT', 'system:dict:type:{id}:put', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (35, '', 'admin', '2021-03-03 15:13:40.185174', '2021-03-03 15:13:40.185230', '2', NULL, '字典删除', 3, '1', NULL, NULL, '/admin/system/dict/type/{id}/', 'DELETE', 'system:dict:type:{id}:delete', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (36, '', 'admin', '2021-03-03 15:15:12.950584', '2021-03-03 15:15:12.950684', '2', NULL, '字典导出', 4, '1', NULL, NULL, '/admin/system/dict/type/export/', 'GET', 'system:dict:type:export:get', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (37, '', 'admin', '2021-03-03 15:16:54.709780', '2021-03-03 15:16:20.868146', '2', NULL, '清理缓存', 5, '1', NULL, NULL, '/admin/system/dict/type/clearCache/', 'DELETE', 'system:dict:type:clearcache:delete', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (38, '', 'admin', '2021-03-03 15:17:54.232085', '2021-03-03 15:17:54.232166', '2', NULL, '参数新增', 1, '1', NULL, NULL, '/admin/system/config/', 'POST', 'system:config:post', '1', '1', '1', 1, 4);
|
||||
INSERT INTO `permission_menu` VALUES (39, '', 'admin', '2021-03-03 15:18:37.088187', '2021-03-03 15:18:37.088237', '2', NULL, '参数修改', 2, '1', NULL, NULL, '/admin/system/config/{id}/', 'PUT', 'system:config:{id}:put', '1', '1', '1', 1, 4);
|
||||
INSERT INTO `permission_menu` VALUES (40, '', 'admin', '2021-03-03 15:19:05.532556', '2021-03-03 15:19:05.532616', '2', NULL, '参数删除', 3, '1', NULL, NULL, '/admin/system/config/{id}/', 'DELETE', 'system:config:{id}:delete', '1', '1', '1', 1, 4);
|
||||
INSERT INTO `permission_menu` VALUES (41, '', 'admin', '2021-03-03 15:19:49.576174', '2021-03-03 15:19:49.576221', '2', NULL, '参数导出', 4, '1', NULL, NULL, '/admin/system/config/export/', 'GET', 'system:config:export:get', '1', '1', '1', 1, 4);
|
||||
INSERT INTO `permission_menu` VALUES (42, '', 'admin', '2021-03-03 15:21:20.098250', '2021-03-03 15:21:20.098345', '2', NULL, '清理缓存', 5, '1', NULL, NULL, '/admin/system/config/clearCache/', 'DELETE', 'system:config:clearcache:delete', '1', '1', '1', 1,4);
|
||||
INSERT INTO `permission_menu` VALUES (43, '', 'admin', '2021-03-03 15:22:48.492613', '2021-03-03 15:22:48.492666', '2', NULL, '文件上传', 1, '1', NULL, NULL, '/admin/system/savefile/', 'POST', 'system:savefile:post', '1', '1', '1', 1, 11);
|
||||
INSERT INTO `permission_menu` VALUES (44, '', 'admin', '2021-03-03 15:23:58.219105', '2021-03-03 15:23:58.219155', '2', NULL, '文件删除', 2, '1', NULL, NULL, '/admin/system/savefile/{id}/', 'DELETE', 'system:savefile:{id}:delete', '1', '1', '1', 1, 11);
|
||||
INSERT INTO `permission_menu` VALUES (45, '', 'admin', '2021-03-03 15:25:15.224971', '2021-03-03 15:25:15.225018', '2', NULL, '清理废弃文件', 3, '1', NULL, NULL, '/admin/system/clearsavefile/', 'POST', 'system:clearsavefile:post', '1', '1', '1', 1, 11);
|
||||
INSERT INTO `permission_menu` VALUES (46, '', 'admin', '2021-03-03 15:28:30.061632', '2021-03-03 15:27:19.945663', '2', NULL, '文件下载', 4, '1', NULL, NULL, NULL, 'GET', 'system:clearsavefile:download:post', '1', '1', '1', 1, 11);
|
||||
INSERT INTO `permission_menu` VALUES (47, '', 'admin', '2021-03-07 14:35:34.237127', '2021-03-07 14:32:06.754815', '1', 'message', '通知公告', 4, '1', 'system/message', 'system/message/index', '/system/message/', 'GET', 'system:message:get', '1', '1', '1', 1, 1);
|
||||
INSERT INTO `permission_menu` VALUES (48, '', 'admin', '2021-03-07 14:35:06.718432', '2021-03-07 14:35:06.718463', '2', NULL, '发布公告', 1, '1', NULL, NULL, '/system/message/', 'POST', 'system:message:post', '1', '1', '1', 1, 47);
|
||||
INSERT INTO `permission_menu` VALUES (49, '', 'admin', '2021-03-08 13:04:32.158707', '2021-03-07 14:36:47.675837', '2', NULL, '修改公告', 2, '1', NULL, NULL, '/system/message/{id}/', 'PUT', 'system:message:{id}:put', '1', '1', '1', 1, 47);
|
||||
INSERT INTO `permission_menu` VALUES (50, '', 'admin', '2021-03-08 13:04:58.206693', '2021-03-07 14:37:52.130567', '2', NULL, '删除公告', 3, '1', NULL, NULL, '/permission/menu/{id}/', 'DELETE', 'permission:menu:{id}:delete', '1', '1', '1', 1, 47);
|
||||
INSERT INTO `permission_menu` VALUES (51, '', 'admin', '2021-03-07 14:42:37.410336', '2021-03-07 14:42:37.410366', '2', NULL, '公告导出', 4, '1', NULL, NULL, '/system/message/export/', 'GET', 'system:message:export:get', '1', '1', '1', 1, 47);
|
||||
INSERT INTO `permission_menu` VALUES (52, '', 'admin', '2021-03-09 17:19:13.828166', '2021-03-09 17:18:14.976783', '2', NULL, '字典查询', 0, '1', NULL, NULL, '/system/dict/type/', 'GET', 'system:dict:type:get', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (53, '', 'admin', '2021-03-09 17:19:46.963317', '2021-03-09 17:19:33.953559', '2', NULL, '参数查询', 0, '1', NULL, NULL, '/system/config/', 'GET', 'system:config:get', '1', '1', '1', 1, 4);
|
||||
INSERT INTO `permission_menu` VALUES (54, '', 'admin', '2021-03-09 17:20:14.749627', '2021-03-09 17:20:02.783389', '2', NULL, '文件查询', 0, '1', NULL, NULL, '/system/savefile/', 'GET', 'system:savefile:get', '1', '1', '1', 1, 11);
|
||||
INSERT INTO `permission_menu` VALUES (55, '', 'admin', '2021-03-09 17:20:44.604824', '2021-03-09 17:20:36.025364', '2', NULL, '公告查询', 0, '1', NULL, NULL, '/system/message/', 'GET', 'system:message:get', '1', '1', '1', 1, 47);
|
||||
INSERT INTO `permission_menu` VALUES (56, '', 'admin', '2021-03-09 17:21:06.429585', '2021-03-09 17:21:06.429629', '2', NULL, '岗位查询', 0, '1', NULL, NULL, '/permission/post/', 'GET', 'permission:post:get', '1', '1', '1', 1, 5);
|
||||
INSERT INTO `permission_menu` VALUES (57, '', 'admin', '2021-03-09 17:21:29.013165', '2021-03-09 17:21:29.013210', '2', NULL, '部门查询', 0, '1', NULL, NULL, '/permission/dept/', 'GET', 'permission:dept:get', '1', '1', '1', 1, 6);
|
||||
INSERT INTO `permission_menu` VALUES (58, '', 'admin', '2021-03-09 17:21:56.243957', '2021-03-09 17:21:47.358360', '2', NULL, '菜单查询', 0, '1', NULL, NULL, '/permission/menus/', 'GET', 'permission:menus:get', '1', '1', '1', 1, 7);
|
||||
INSERT INTO `permission_menu` VALUES (59, '', 'admin', '2021-03-09 17:22:20.140143', '2021-03-09 17:22:20.140189', '2', NULL, '角色查询', 0, '1', '', NULL, '/permission/role/', 'GET', 'permission:role:get', '1', '1', '1', 1, 8);
|
||||
INSERT INTO `permission_menu` VALUES (60, '', 'admin', '2021-03-09 17:22:38.595706', '2021-03-09 17:22:38.595751', '2', NULL, '用户查询', 0, '1', NULL, NULL, '/permission/user/', 'GET', 'permission:user:get', '1', '1', '1', 1, 9);
|
||||
INSERT INTO `permission_menu` VALUES (47, '', 'admin', '2021-03-07 14:35:34.237127', '2021-03-07 14:32:06.754815', '1', 'message', '通知公告', 4, '1', 'system/message', 'system/message/index', '/admin/system/message/', 'GET', 'system:message:get', '1', '1', '1', 1, 1);
|
||||
INSERT INTO `permission_menu` VALUES (48, '', 'admin', '2021-03-07 14:35:06.718432', '2021-03-07 14:35:06.718463', '2', NULL, '发布公告', 1, '1', NULL, NULL, '/admin/system/message/', 'POST', 'system:message:post', '1', '1', '1', 1, 47);
|
||||
INSERT INTO `permission_menu` VALUES (49, '', 'admin', '2021-03-08 13:04:32.158707', '2021-03-07 14:36:47.675837', '2', NULL, '修改公告', 2, '1', NULL, NULL, '/admin/system/message/{id}/', 'PUT', 'system:message:{id}:put', '1', '1', '1', 1, 47);
|
||||
INSERT INTO `permission_menu` VALUES (50, '', 'admin', '2021-03-08 13:04:58.206693', '2021-03-07 14:37:52.130567', '2', NULL, '删除公告', 3, '1', NULL, NULL, '/admin/permission/menu/{id}/', 'DELETE', 'permission:menu:{id}:delete', '1', '1', '1', 1, 47);
|
||||
INSERT INTO `permission_menu` VALUES (51, '', 'admin', '2021-03-07 14:42:37.410336', '2021-03-07 14:42:37.410366', '2', NULL, '公告导出', 4, '1', NULL, NULL, '/admin/system/message/export/', 'GET', 'system:message:export:get', '1', '1', '1', 1, 47);
|
||||
INSERT INTO `permission_menu` VALUES (52, '', 'admin', '2021-03-09 17:19:13.828166', '2021-03-09 17:18:14.976783', '2', NULL, '字典查询', 0, '1', NULL, NULL, '/admin/system/dict/type/', 'GET', 'system:dict:type:get', '1', '1', '1', 1, 3);
|
||||
INSERT INTO `permission_menu` VALUES (53, '', 'admin', '2021-03-09 17:19:46.963317', '2021-03-09 17:19:33.953559', '2', NULL, '参数查询', 0, '1', NULL, NULL, '/admin/system/config/', 'GET', 'system:config:get', '1', '1', '1', 1, 4);
|
||||
INSERT INTO `permission_menu` VALUES (54, '', 'admin', '2021-03-09 17:20:14.749627', '2021-03-09 17:20:02.783389', '2', NULL, '文件查询', 0, '1', NULL, NULL, '/admin/system/savefile/', 'GET', 'system:savefile:get', '1', '1', '1', 1, 11);
|
||||
INSERT INTO `permission_menu` VALUES (55, '', 'admin', '2021-03-09 17:20:44.604824', '2021-03-09 17:20:36.025364', '2', NULL, '公告查询', 0, '1', NULL, NULL, '/admin/system/message/', 'GET', 'system:message:get', '1', '1', '1', 1, 47);
|
||||
INSERT INTO `permission_menu` VALUES (56, '', 'admin', '2021-03-09 17:21:06.429585', '2021-03-09 17:21:06.429629', '2', NULL, '岗位查询', 0, '1', NULL, NULL, '/admin/permission/post/', 'GET', 'permission:post:get', '1', '1', '1', 1, 5);
|
||||
INSERT INTO `permission_menu` VALUES (57, '', 'admin', '2021-03-09 17:21:29.013165', '2021-03-09 17:21:29.013210', '2', NULL, '部门查询', 0, '1', NULL, NULL, '/admin/permission/dept/', 'GET', 'permission:dept:get', '1', '1', '1', 1, 6);
|
||||
INSERT INTO `permission_menu` VALUES (58, '', 'admin', '2021-03-09 17:21:56.243957', '2021-03-09 17:21:47.358360', '2', NULL, '菜单查询', 0, '1', NULL, NULL, '/admin/permission/menus/', 'GET', 'permission:menus:get', '1', '1', '1', 1, 7);
|
||||
INSERT INTO `permission_menu` VALUES (59, '', 'admin', '2021-03-09 17:22:20.140143', '2021-03-09 17:22:20.140189', '2', NULL, '角色查询', 0, '1', '', NULL, '/admin/permission/role/', 'GET', 'permission:role:get', '1', '1', '1', 1, 8);
|
||||
INSERT INTO `permission_menu` VALUES (60, '', 'admin', '2021-03-09 17:22:38.595706', '2021-03-09 17:22:38.595751', '2', NULL, '用户查询', 0, '1', NULL, NULL, '/admin/permission/user/', 'GET', 'permission:user:get', '1', '1', '1', 1, 9);
|
|
@ -0,0 +1 @@
|
|||
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 197 KiB After Width: | Height: | Size: 197 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
@ -2,5 +2,5 @@ from django.apps import AppConfig
|
|||
|
||||
|
||||
class PermissionConfig(AppConfig):
|
||||
name = 'system'
|
||||
name = 'vadmin.system'
|
||||
verbose_name = "权限管理"
|
|
@ -1,6 +1,6 @@
|
|||
import django_filters
|
||||
|
||||
from apps.system.models import DictDetails, DictData, ConfigSettings, MessagePush, SaveFile
|
||||
from ..system.models import DictDetails, DictData, ConfigSettings, MessagePush, SaveFile
|
||||
|
||||
|
||||
class DictDataFilter(django_filters.rest_framework.FilterSet):
|
|
@ -0,0 +1,165 @@
|
|||
# Generated by Django 2.2.16 on 2021-03-13 07:50
|
||||
|
||||
import apps.vadmin.op_drf.fields
|
||||
import apps.vadmin.system.models.save_file
|
||||
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='DictData',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('description', apps.vadmin.op_drf.fields.DescriptionField(blank=True, default='', help_text='描述', null=True, verbose_name='描述')),
|
||||
('modifier', apps.vadmin.op_drf.fields.ModifierCharField(blank=True, help_text='该记录最后修改者', max_length=255, null=True, verbose_name='修改者')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('dictName', models.CharField(max_length=64, verbose_name='字典名称')),
|
||||
('dictType', models.CharField(max_length=64, verbose_name='字典类型')),
|
||||
('status', models.CharField(max_length=8, verbose_name='字典状态')),
|
||||
('remark', models.CharField(blank=True, max_length=256, null=True, verbose_name='备注')),
|
||||
('creator', models.ForeignKey(db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '字典管理',
|
||||
'verbose_name_plural': '字典管理',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='MessagePush',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('description', apps.vadmin.op_drf.fields.DescriptionField(blank=True, default='', help_text='描述', null=True, verbose_name='描述')),
|
||||
('modifier', apps.vadmin.op_drf.fields.ModifierCharField(blank=True, help_text='该记录最后修改者', max_length=255, null=True, verbose_name='修改者')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('title', models.CharField(max_length=128, verbose_name='通知标题')),
|
||||
('content', models.TextField(verbose_name='通知内容')),
|
||||
('message_type', models.CharField(max_length=8, verbose_name='通知类型')),
|
||||
('is_reviewed', models.BooleanField(default=True, verbose_name='是否审核')),
|
||||
('status', models.CharField(max_length=8, verbose_name='通知状态')),
|
||||
('to_path', models.CharField(blank=True, max_length=256, null=True, verbose_name='跳转路径')),
|
||||
('creator', models.ForeignKey(db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '通知公告',
|
||||
'verbose_name_plural': '通知公告',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='WebSet',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('description', apps.vadmin.op_drf.fields.DescriptionField(blank=True, default='', help_text='描述', null=True, verbose_name='描述')),
|
||||
('modifier', apps.vadmin.op_drf.fields.ModifierCharField(blank=True, help_text='该记录最后修改者', max_length=255, null=True, verbose_name='修改者')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('name', models.CharField(max_length=64, verbose_name='站点名称')),
|
||||
('web_site', models.CharField(blank=True, max_length=256, null=True, verbose_name='站点网址')),
|
||||
('logo', models.CharField(blank=True, max_length=256, null=True, verbose_name='网站Logo')),
|
||||
('record_info', models.TextField(blank=True, null=True, verbose_name='备案信息')),
|
||||
('statistics_code', models.TextField(blank=True, null=True, verbose_name='统计代码')),
|
||||
('copyright_info', models.TextField(blank=True, null=True, verbose_name='版权信息')),
|
||||
('creator', models.ForeignKey(db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '站点设置',
|
||||
'verbose_name_plural': '站点设置',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='SaveFile',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('description', apps.vadmin.op_drf.fields.DescriptionField(blank=True, default='', help_text='描述', null=True, verbose_name='描述')),
|
||||
('modifier', apps.vadmin.op_drf.fields.ModifierCharField(blank=True, help_text='该记录最后修改者', max_length=255, null=True, verbose_name='修改者')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('name', models.CharField(blank=True, max_length=128, null=True, verbose_name='文件名称')),
|
||||
('type', models.CharField(blank=True, max_length=32, null=True, verbose_name='文件类型')),
|
||||
('size', models.CharField(blank=True, max_length=64, null=True, verbose_name='文件大小')),
|
||||
('address', models.CharField(blank=True, max_length=16, null=True, verbose_name='存储位置')),
|
||||
('oss_url', models.CharField(blank=True, max_length=200, null=True, verbose_name='OSS地址')),
|
||||
('status', models.BooleanField(default=True, verbose_name='文件是否存在')),
|
||||
('file', models.FileField(upload_to=apps.vadmin.system.models.save_file.files_path, verbose_name='文件URL')),
|
||||
('creator', models.ForeignKey(db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '文件管理',
|
||||
'verbose_name_plural': '文件管理',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='MessagePushUser',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('is_read', models.BooleanField(default=False, verbose_name='是否已读')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('message_push', models.ForeignKey(db_constraint=False, help_text='消息通知', on_delete=django.db.models.deletion.CASCADE, related_name='messagepushuser_message_push', to='system.MessagePush', verbose_name='消息通知')),
|
||||
('user', models.ForeignKey(db_constraint=False, help_text='用户', on_delete=django.db.models.deletion.CASCADE, related_name='messagepushuser_user', to=settings.AUTH_USER_MODEL, verbose_name='用户')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '通知公告与用户关系',
|
||||
'verbose_name_plural': '通知公告与用户关系',
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='messagepush',
|
||||
name='user',
|
||||
field=models.ManyToManyField(related_name='user', related_query_name='user_query', through='system.MessagePushUser', to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='DictDetails',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('description', apps.vadmin.op_drf.fields.DescriptionField(blank=True, default='', help_text='描述', null=True, verbose_name='描述')),
|
||||
('modifier', apps.vadmin.op_drf.fields.ModifierCharField(blank=True, help_text='该记录最后修改者', max_length=255, null=True, verbose_name='修改者')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('dictLabel', models.CharField(max_length=64, verbose_name='字典标签')),
|
||||
('dictValue', models.CharField(max_length=256, verbose_name='字典键值')),
|
||||
('is_default', models.BooleanField(default=False, verbose_name='是否默认')),
|
||||
('status', models.CharField(max_length=2, verbose_name='字典状态')),
|
||||
('sort', models.CharField(max_length=256, verbose_name='字典排序')),
|
||||
('remark', models.CharField(blank=True, max_length=256, null=True, verbose_name='备注')),
|
||||
('creator', models.ForeignKey(db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
|
||||
('dict_data', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.CASCADE, to='system.DictData', verbose_name='关联字典')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '字典详情',
|
||||
'verbose_name_plural': '字典详情',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ConfigSettings',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('description', apps.vadmin.op_drf.fields.DescriptionField(blank=True, default='', help_text='描述', null=True, verbose_name='描述')),
|
||||
('modifier', apps.vadmin.op_drf.fields.ModifierCharField(blank=True, help_text='该记录最后修改者', max_length=255, null=True, verbose_name='修改者')),
|
||||
('update_datetime', apps.vadmin.op_drf.fields.UpdateDateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
||||
('create_datetime', apps.vadmin.op_drf.fields.CreateDateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
||||
('configName', models.CharField(max_length=64, verbose_name='参数名称')),
|
||||
('configKey', models.CharField(max_length=256, verbose_name='参数键名')),
|
||||
('configValue', models.CharField(max_length=256, verbose_name='参数键值')),
|
||||
('configType', models.CharField(max_length=8, verbose_name='是否内置')),
|
||||
('status', models.CharField(max_length=8, verbose_name='参数状态')),
|
||||
('remark', models.CharField(blank=True, max_length=256, null=True, verbose_name='备注')),
|
||||
('creator', models.ForeignKey(db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '参数设置',
|
||||
'verbose_name_plural': '参数设置',
|
||||
},
|
||||
),
|
||||
]
|
|
@ -1,6 +1,6 @@
|
|||
from django.db.models import CharField, ForeignKey, BooleanField, CASCADE
|
||||
|
||||
from apps.op_drf.models import CoreModel
|
||||
from ...op_drf.models import CoreModel
|
||||
|
||||
|
||||
class ConfigSettings(CoreModel):
|
|
@ -1,6 +1,6 @@
|
|||
from django.db.models import TextField, CharField,ForeignKey
|
||||
|
||||
from apps.op_drf.models import CoreModel
|
||||
from ...op_drf.models import CoreModel
|
||||
|
||||
|
||||
class DictData(CoreModel):
|
|
@ -1,6 +1,6 @@
|
|||
from django.db.models import CharField, ForeignKey, BooleanField, CASCADE
|
||||
|
||||
from apps.op_drf.models import CoreModel
|
||||
from ...op_drf.models import CoreModel
|
||||
|
||||
|
||||
class DictDetails(CoreModel):
|
|
@ -1,9 +1,9 @@
|
|||
from django.db import models
|
||||
from django.db.models import *
|
||||
|
||||
from apps.op_drf.fields import UpdateDateTimeField, CreateDateTimeField
|
||||
from apps.op_drf.models import CoreModel
|
||||
from apps.permission.models import UserProfile
|
||||
from ...op_drf.fields import UpdateDateTimeField, CreateDateTimeField
|
||||
from ...op_drf.models import CoreModel
|
||||
from ...permission.models import UserProfile
|
||||
|
||||
"""
|
||||
消息通知模型
|
|
@ -4,7 +4,7 @@ import uuid
|
|||
from django.db.models import CharField, FileField,BooleanField
|
||||
from django.utils import timezone
|
||||
|
||||
from apps.op_drf.models import CoreModel
|
||||
from ...op_drf.models import CoreModel
|
||||
|
||||
|
||||
def files_path(instance, filename):
|
|
@ -1,6 +1,6 @@
|
|||
from django.db.models import TextField, CharField
|
||||
|
||||
from apps.op_drf.models import CoreModel
|
||||
from ...op_drf.models import CoreModel
|
||||
|
||||
|
||||
class WebSet(CoreModel):
|
|
@ -1,7 +1,7 @@
|
|||
from rest_framework import serializers
|
||||
|
||||
from apps.op_drf.serializers import CustomModelSerializer
|
||||
from apps.system.models import DictData, DictDetails, ConfigSettings, SaveFile, MessagePush, MessagePushUser
|
||||
from ..op_drf.serializers import CustomModelSerializer
|
||||
from ..system.models import DictData, DictDetails, ConfigSettings, SaveFile, MessagePush, MessagePushUser
|
||||
|
||||
|
||||
# ================================================= #
|