def multi_permissions_del(request, pk): """ 删除权限信息 :param request: :param pk: 主键 :return: """ url = get_url(request, "rbac:multi_permissions") if request.method == "GET": return render(request, "rbac/del.html", {"cancel_url": url}) models.Permission.objects.filter(id=pk).delete() return redirect(get_url(request, "rbac:multi_permissions"))
def permission_del(request, pk): """ 权限删除 :param request: :param pk:主键ID :return: """ url = get_url(request, "rbac:menu_list") if request.method == "GET": return render(request, "rbac/del.html", {"cancel_url": url}) models.Permission.objects.filter(id=pk).delete() return redirect(get_url(request, "rbac:menu_list"))
def second_menu_del(request, pk): """ 二级菜单删除 :param request: :param pk: sid :return: """ url = get_url(request, "rbac:menu_list") # 获取到取消或删除后返回的url if request.method == "GET": return render(request, 'rbac/del.html', {"cancel_url": url}) models.Permission.objects.filter(id=pk).delete() return redirect(get_url(request, "rbac:menu_list"))
def permission_add(request, second_menu_id): """ 增加权限 :param request: :param second_menu_id: 2级菜单ID :return: """ if request.method == "GET": form = PermissionMenuForm() return render(request, "rbac/change.html", locals()) form = PermissionMenuForm(data=request.POST) if form.is_valid(): # 数据保存之前需要获取到数据的pid对象 second_menu_obj = models.Permission.objects.filter( id=second_menu_id).first() if not second_menu_obj: return HttpResponse("您查询的二级菜单不存在,请重新尝试!") ''' form.instance包含用户提交的所有信息 form.save()--内部实现过程 instance = models.Permission(title=="", name="", url="", pid=second_menu_obj) instance.pid = second_menu_obj instance.save() ''' # form.instance.pid_id = second_menu_id # 通过id form.instance.pid = second_menu_obj # 通过对象 form.save() return redirect(get_url(request, "rbac:menu_list")) return render(request, "rbac/change.html", locals())
def host_del(request, pk): """ 用户删除--为今后所有删除页面中的a标签返回都使用同一个页面,需要在后台返回,取消的a标签路由 :param request: :param pk: :return: """ cancel_url = get_url(request, "host_list") if request.method == "GET": return render(request, "rbac/del.html", locals()) # 确认删除 Host.objects.filter(id=pk).delete() return redirect(cancel_url)
def menu_del(request, pk): """ 菜单删除 :param request: :param pk: :return: """ url = get_url(request, "rbac:menu_list") if request.method == 'GET': return render(request, "rbac/del.html", {"cancel_url": url}) menu_obj = models.Menu.objects.filter(id=pk).first() if not menu_obj: return HttpResponse("您访问的页面不存在! 404") menu_obj.delete() return redirect(url)
def permission_edit(request, pk): """ 权限修改 :param request: :param pk:主键ID :return: """ permission_obj = models.Permission.objects.filter(id=pk).first() if request.method == "GET": form = PermissionMenuForm(instance=permission_obj) return render(request, "rbac/change.html", locals()) form = PermissionMenuForm(data=request.POST, instance=permission_obj) if form.is_valid(): form.save() return redirect(get_url(request, "rbac:menu_list")) return render(request, "rbac/change.html", locals())
def host_add(request): """ 添加主机数据 :param request: :return: """ if request.method == "GET": form = HostForm() return render(request, "rbac/change.html", locals()) # 校验传回的数据 form = HostForm(data=request.POST) if form.is_valid(): form.save() return redirect(get_url(request, "host_list")) # 如果数据校验出错 # 将错误信息放回至前端页面 return render(request, "rbac/change.html", {"form": form})
def menu_add(request): """ 添加菜单 :param request: :return: """ if request.method == 'GET': form = MenuForm() return render(request, "rbac/change.html", locals()) # 校验数据,无误后添加数据至数据库 form = MenuForm(request.POST) if form.is_valid(): # 添加数据至数据可 title = request.POST.get("title") icon = request.POST.get("icon") models.Menu.objects.create(title=title, icon=icon) return redirect(get_url(request, "rbac:menu_list")) return render(request, "rbac/change.html", locals())
def second_menu_add(request, mid): """ 添加2级菜单数据 :param request: :param mid: 一级菜单id,添加时显示默认为当前一级菜单添加二级菜单 :return: """ if request.method == "GET": # 获取当前一级菜单对象--传递对象 menu_obj = models.Menu.objects.filter(id=mid).first() form = SecondMenuForm(initial={"menu": mid}) # form = SecondMenuForm(initial={"menu":menu_obj}) return render(request, "rbac/change.html", locals()) form = SecondMenuForm(data=request.POST) if form.is_valid(): # 直接对获取的form对象save form.save() return redirect(get_url(request, "rbac:menu_list")) return render(request, "rbac/change.html", locals())
def menu_edit(request, pk): """ 菜单编辑 :param request: :param pk: :return: """ if request.method == 'GET': menu_obj = models.Menu.objects.filter(id=pk).first() if not menu_obj: return HttpResponse("您访问的页面不存在! 404") form = MenuForm({"title": menu_obj.title, "icon": menu_obj.icon}) return render(request, "rbac/change.html", locals()) form = MenuForm(request.POST) if not form.is_valid(): return render(request, "rbac/change.html", locals()) title = request.POST.get("title") icon = request.POST.get("icon") models.Menu.objects.filter(id=pk).update(title=title, icon=icon) return redirect(get_url(request, "rbac:menu_list"))
def host_edit(request, pk): """ 用于编辑主机信息 :param request: :param pk:主机信息主键 :return:get: 返回更新界面 post:返回错误信息或成功后host_list页面 """ host_obj = Host.objects.filter(id=pk).first() if not host_obj: return HttpResponse("您访问的页面不存在 404") if request.method == 'GET': # 将已有的数据显示在input中 form = HostForm(instance=host_obj) return render(request, "rbac/change.html", {"form": form}) form = HostForm(data=request.POST, instance=host_obj) if not form.is_valid(): # 校验失败 return render(request, "rbac/change.html", {"form": form}) # 校验成功 form.save() return redirect(get_url(request, "host_list"))
def user_edit(request, pk): """ 用于编辑用户信息 :param request: :param pk:角色信息主键 :return:get: 返回更新界面 post:返回错误信息或成功后role_list页面 """ user_obj = UserInfo.objects.filter(id=pk).first() if not user_obj: return HttpResponse("您访问的页面不存在 404") if request.method == 'GET': # 将已有的数据显示在input中 form = UpdateUserForm(instance=user_obj) return render(request, "rbac/change.html", {"form": form}) form = UpdateUserForm(data=request.POST, instance=user_obj) if not form.is_valid(): # 校验失败 return render(request, "rbac/change.html", {"form": form}) # 校验成功 form.save() return redirect(get_url(request, "user_list"))