def get(self, request): # print request.META["HTTP_REFERER"] servers = get_redis_conf(name=None, user=request.user) data = [] for ser in servers: try: redis_obj = RedisConf.objects.get(id=ser.redis) except ObjectDoesNotExist: continue status = check_redis_connect(name=redis_obj.name) if status is True: client, cur_server_index, cur_db_index = get_cl( redis_name=redis_obj.name) info_dict = client.info() time_local = time.localtime(info_dict['rdb_last_save_time']) dt = time.strftime("%Y-%m-%d %H:%M:%S", time_local) info_dict['rdb_last_save_time'] = dt info_dict['socket'] = redis_obj.socket # info_dict.update(host=client.connection_pool.connection_kwargs['host']) info_dict.update(redis_id=ser.redis) data.append(info_dict) return render(request, 'index.html', { 'data': data, 'console': 'console', })
def get(self, request): menu = Menu(user=request.user) id = request.GET.get('id', None) try: user = DctUser.objects.get(id=id) auth = get_redis_conf(name=None, user=user) redis = RedisConf.objects.all() return render(request, 'change_user.html', { 'menu': menu, 'user_info': user, 'auth': auth, 'rediss': redis, }) except Exception as e: logs.error(u"修改用户信息: id:{0},msg:{1}".format(id, e)) return render(request, 'change_user.html', {'error': e})
def get(self, request): id = request.GET.get('id', None) try: user = DctUser.objects.get(id=id) auth = get_redis_conf(name=None, user=user) redis = RedisConf.objects.filter(type=0) cluster = get_all_cluster_redis() return render( request, 'change_user.html', { 'user_info': user, 'auth': auth, 'rediss': redis, 'clusters': cluster }) except Exception as e: logs.error(u"修改用户信息: id:{0},msg:{1}".format(id, e)) return render(request, 'change_user.html', {'error': e})
def Menu(user): """ 菜单导航 :return: """ servers = get_redis_conf(name=None, user=user) data = [] m_index = 0 for ser in servers: redis_obj = RedisConf.objects.get(id=ser.redis) data_is = {'name': redis_obj.name, 'db': ''} me = [] for i in range(redis_obj.database): me.append('db{0}'.format(i)) data_is['db'] = me data.append(data_is) m_index += 1 return data
def get(self, request): # print request.META["HTTP_REFERER"] servers = get_redis_conf(name=None, user=request.user) data = [] for ser in servers: redis_obj = RedisConf.objects.get(id=ser.redis) if redis_obj.type == 1: redis_cluster_obj = RedisConf.objects.filter( name__iexact=redis_obj.name) for redis_cluster in redis_cluster_obj: info = self.get_info(redis_cluster) if not isinstance(info, bool): data.append(info) else: info = self.get_info(redis_obj) if not isinstance(info, bool): data.append(info) return render(request, 'index.html', { 'data': data, 'console': 'console', })
def post(self, request): data = dict( code=0, msg=u"登录成功,即将跳转...", data="", ) login_form = LoginForms(request.POST) nexts = request.get_full_path(force_append_slash=True) if login_form.is_valid(): user_name = request.POST.get("username", "") pass_word = request.POST.get("password", "") user = authenticate(username=user_name, password=pass_word) if user is not None: if user.is_active: login(request, user) servers = get_redis_conf(name=None, user=user) user_premission = dict() for ser in servers: try: redis_name = RedisConf.objects.get(id=ser.redis) user_premission[redis_name.name] = ser.pre_auth except Exception as e: logs.error(e) raise e data["data"] = user_premission data["menu"] = Menu(user=user) left_menu = [] for i in data['menu']: left_menu.append(i['name']) data['left_menu'] = left_menu return JsonResponse(data) else: data["code"] = 1 data["msg"] = u"用户未激活" return JsonResponse(data) data["code"] = 2 data["msg"] = u"用户名或密码错误" return JsonResponse(data)
def Menu(user): """ 菜单导航 :return: """ servers = get_redis_conf(name=None, user=user) data = [] m_index = 0 for ser in servers: try: redis_obj = RedisConf.objects.get(id=ser.redis) except ObjectDoesNotExist: continue data_is = {'name': redis_obj.name, 'db': ''} status = check_redis_connect(name=redis_obj.name) if isinstance(status, bool) and status: me = [] for i in range(redis_obj.database): me.append('db{0}'.format(i)) data_is['db'] = me data.append(data_is) m_index += 1 return data
def get(self, request): servers = get_redis_conf(name=None, user=request.user) data_list = [] for ser in servers: redis_obj = RedisConf.objects.get(id=ser.redis) if redis_obj.type == 1: redis_cluster_obj = RedisConf.objects.filter( name__iexact=redis_obj.name) for redis_cluster in redis_cluster_obj: redis_status = self.check_redis_status(redis_cluster) if redis_status is not True: data_list.append(redis_status) else: redis_status = self.check_redis_status(redis_obj) if redis_status is not True: data_list.append(redis_status) if len(data_list) != 0: data = {'code': 0, 'msg': '', 'data': data_list} else: data = {'code': 1, 'msg': '无连接错误', 'data': ''} return JsonResponse(data)
def get(self, request): server_list = get_redis_conf(name=None, user=request.user) user_permission = dict() for server in server_list: try: redis_name = RedisConf.objects.get(id=server.redis) except ObjectDoesNotExist: continue user_permission[redis_name.name] = server.pre_auth menu = Menu(user=request.user) left_menu = [] for i in menu: left_menu.append(i['name']) data = { "code": 0, "msg": "success", "premission": user_permission, "menu": { "list": menu, "left_menu": left_menu } } return JsonResponse(data)
def get(self, request): servers = get_redis_conf(name=None, user=request.user) list = [] for ser in servers: try: redis_obj = RedisConf.objects.get(id=ser.redis) except ObjectDoesNotExist: continue status = check_redis_connect(name=redis_obj.name) if status is not True: info_dict = { 'name': status["redis"].name, 'host': status["redis"].host, 'port': status["redis"].port, 'error': status["message"].message, 'socket': status['redis'].socket } list.append(info_dict) if len(list) != 0: data = {'code': 0, 'msg': '', 'data': list} else: data = {'code': 1, 'msg': '无连接错误', 'data': ''} return JsonResponse(data)
def post(self, request): id = request.POST.get('id', None) password1 = request.POST.get('password1', None) password2 = request.POST.get('password2', None) email = request.POST.get('email', None) is_superuser = request.POST.get('is_superuser', None) rediss = list(RedisConf.objects.all()) redissimple = RedisConf.objects.filter(type=0) cluster = get_all_cluster_redis() name_list = [] redis_list = [] for i in rediss: if i.name not in name_list: name_list.append(i.name) redis_list.append(i) del name_list user = DctUser.objects.get(id=id) for re in redis_list: re_id = request.POST.get(re.name, None) # 判断是否获取到值 if re_id is None: continue # 值是否为空 elif re_id == '': try: # ''为删除权限 user.auths.get(redis=re.id).delete() except Exception as e: logs.error(u"删除权限失败:user_id:{0},redis:{1},msg:{2}".format( id, re.id, e)) continue pre_auth = int(re_id) # 权限数 # 用户所有权限 user_redis = [] for i in user.auths.all(): user_redis.append(i.redis) # 判断用户是否拥有该redis的权限,没有就创建,有及更新 if re.id not in user_redis: try: pre_obj = Auth.objects.get(redis=re.id, pre_auth=pre_auth) except Exception as e: pre_obj = Auth.objects.create(redis=re.id, pre_auth=pre_auth) user.auths.add(pre_obj) user.save() else: if user.auths.get(redis=re.id).pre_auth != pre_auth: try: pre_obj = Auth.objects.get(redis=re.id, pre_auth=pre_auth) except Exception as e: pre_obj = Auth.objects.create(redis=re.id, pre_auth=pre_auth) finally: user_pre = user.auths.remove( user.auths.get(redis=re.id)) user.auths.add(pre_obj) user.save() error = '' try: user = DctUser.objects.get(id=id) # 是否超级用户 if is_superuser is not None: user.is_staff = True user.is_superuser = True else: user.is_staff = False user.is_superuser = False # 修改密码 if password1 and password2: if password1 == password2: user.set_password(password1) else: error = '密码不一致' user.email = email user.save() except Exception as e: error = e auth = get_redis_conf(name=None, user=user) return render( request, 'change_user.html', { 'user_info': user, 'rediss': redissimple, 'clusters': cluster, 'auth': auth, 'error': error })