You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
# import logging
|
|
|
|
|
#
|
|
|
|
|
# from django.dispatch import receiver
|
|
|
|
|
# from django.db.models.signals import post_save
|
|
|
|
|
#
|
|
|
|
|
# from erp_system.models import Menu, PermissionsModel
|
|
|
|
|
#
|
|
|
|
|
# # 默认情况下,每一个功能菜单的接口的请求方法数量
|
|
|
|
|
# methods = {'POST': '新增', 'GET': '查询', 'PUT': '修改', 'DELETE': '删除', 'PATCH': '局部修改'}
|
|
|
|
|
#
|
|
|
|
|
# logger = logging.getLogger('my')
|
|
|
|
|
#
|
|
|
|
|
#
|
|
|
|
|
# @receiver(post_save, sender=Menu)
|
|
|
|
|
# def create_menus_permissions(sender, instance, created, **kwargs):
|
|
|
|
|
# """
|
|
|
|
|
# 当有人新增一个功能菜单(Menu)之后, 需要把该功能菜单对应的权限也插入到数据库
|
|
|
|
|
# :param sender:
|
|
|
|
|
# :param instance:
|
|
|
|
|
# :param created:
|
|
|
|
|
# :param kwargs:
|
|
|
|
|
# :return:
|
|
|
|
|
# """
|
|
|
|
|
#
|
|
|
|
|
# if created:
|
|
|
|
|
# logger.info('Menu对象已经新增完成了!')
|
|
|
|
|
# if isinstance(instance, Menu):
|
|
|
|
|
# if not instance.parent: # 表示是一个顶级菜单,没有请求URL地址,不是一个接口
|
|
|
|
|
# permission = PermissionsModel.objects.create(
|
|
|
|
|
# name=instance.name + "的权限",
|
|
|
|
|
# is_menu=True,
|
|
|
|
|
# menu=instance
|
|
|
|
|
# )
|
|
|
|
|
# else: # 表示是接口:有父菜单,有请求的url地址
|
|
|
|
|
# for method in methods:
|
|
|
|
|
# permission = PermissionsModel.objects.create(
|
|
|
|
|
# name=methods.get(method) + "的权限",
|
|
|
|
|
# is_menu=False,
|
|
|
|
|
# menu=instance,
|
|
|
|
|
# method=method,
|
|
|
|
|
# path=instance.url,
|
|
|
|
|
# desc=f'{instance.name}的{methods.get(method)}的权限'
|
|
|
|
|
# )
|
|
|
|
|
# else:
|
|
|
|
|
# logger.info('instance不是Menu类型,所以不需要任何处理')
|