def post(self, request): uid = request.POST.get('uid') orig_pwd = request.POST.get('orig_pwd') new_pwd1 = request.POST.get('new_pwd1') new_pwd2 = request.POST.get('new_pwd2') orig_password = des_encryptor.decrypt(orig_pwd) new_password1 = des_encryptor.decrypt(new_pwd1) new_password2 = des_encryptor.decrypt(new_pwd2) if new_password1 != new_password2: msg = { 'status': 'failure', 'message': '两次输入密码不一致', } return jsonify(msg) user = User.objects.get(id=uid) logger.info(orig_password) if user.check_password(orig_password): user.set_password(new_password1) user.save() msg = {'status': 'success'} else: msg = { 'status': 'failure', 'message': '原密码输入错误', } return jsonify(msg)
def get(self, request, index=0): index = int(index) if index: menu = Menu.objects.filter(id=index).first() msg = { 'status': 'success', 'data': model_to_dict(menu, exclude=['created_time', 'updated_time']) } return jsonify(msg) else: menu_list = Menu.objects.all().order_by('parent_id', '-order').values() paginator = Paginator(menu_list, 15) # get 方法获取页数 page = request.GET.get('page', 1) try: # 获取某页 menu_list = paginator.page(page) except PageNotAnInteger: # 如果 page 参数不为正整数,显示第一页 menu_list = paginator.page(1) except EmptyPage: # 如果 page 参数为空页,跳到最后一页 menu_list = paginator.page(paginator.num_pages) context = {'menu_list': menu_list} if request.user.has_perm('user.write_menu'): context['writable'] = '1' return render_with_menu(request, 'menu.html', context)
def post(self, request): username = request.POST.get('username') pwd = request.POST.get('password') password = des_encryptor.decrypt(pwd) user = authenticate(username=username, password=password) if user is None: msg = { 'status': 'failure', 'message': '用户名或密码错误', } elif not user.is_active: msg = { 'status': 'failure', 'message': '用户未激活', } elif is_already_login(user): msg = { 'status': 'failure', 'message': '用户已经在他设备登陆', } else: login(request, user) msg = {'status': 'success'} return jsonify(msg)
def post(self, request): data = request.POST logger.info(data) cid = int(data.get('cid')) action = data.get('action') db_id = data.get('database') fs = [ 'name', 'connector_class', 'tasks_max', 'server_name', 'database_whitelist', 'database_blacklist', 'collection_whitelist', 'collection_blacklist', 'is_deleted' ] kw = {k: data[k] for k in fs} kw['database_id'] = db_id if action == 'update': try: MongoConnector.objects.filter(id=cid).update(**kw) except Exception as e: msg = {'status': 'failure', 'message': str(e)} else: msg = {'status': 'success'} elif action == 'copy': try: MongoConnector.objects.create(**kw) except Exception as e: msg = {'status': 'failure', 'message': str(e)} else: msg = {'status': 'success'} else: msg = {'status': 'failure', 'message': 'action 不存在'} logger.info(msg) return jsonify(msg)
def get(self, request): res = self.engine.get_all_db() return jsonify( {"res": [{ "id": res.index(item), "dbName": item } for item in res]})
def user_logout(request): """ 退出登陆 :param request: :return: """ logout(request) if request.method == 'GET': return render(request, 'login.html') else: msg = {'status': 'success'} return jsonify(msg)
def delete(self, request): """ 接受delete请求的主键id,并删除表中对应的数据 :param request: :return: """ pk = QueryDict(request.body).dict().get('id') model = self.current_model(request) logger.info(f"DELETE-model: {model}-pk: {pk}") model.remove(pk) return jsonify({'status': 'success'})
def delete(self, request): data = QueryDict(request.body) mid = data.get('id') try: Menu.objects.filter(id=mid).update(is_deleted=True) except ValueError as e: logger.error(str(e)) msg = {'status': 'failure', 'message': str(e)} else: msg = {'status': 'success'} return jsonify(msg)
def post(self, request): menu = MenuForm(request.POST) if menu.is_valid(): menu.save() msg = {'status': 'success'} else: msg = { 'status': 'failure', 'message': '输入格式错误', } return jsonify(msg)
def put(self, request): data = QueryDict(request.body) cid = int(data.get('cid')) action = data.get('action') connector = MySQLConnector.objects.filter(id=cid, is_deleted=0).first() if not connector: msg = {'status': 'failure', 'message': '配置不存在'} return jsonify(msg) logger.info(f'action={action}, server_name={connector.server_name}') kc = KafkaConnector(connector) if action == 'resume': msg = kc.run() elif action == 'pause': msg = kc.pause() elif action == 'refresh': msg = kc.refresh() else: msg = {'status': 'failure', 'message': 'action 不存在'} return jsonify(msg)
def post(self, request): """ 接受post请求的新数据,插入表中 :param request: :return: """ model = self.current_model(request) data = request.POST.dict() logger.info(f"POST-model: {model}-data: {data}") for k in data.keys(): if data[k] == '': del data[k] model.add(data) return jsonify({'status': 'success'})
def post(self, request): uid = request.POST.get('uid') email = request.POST.get('email') try: user = User.objects.get(id=uid) user.email = email user.save() except Exception as e: logger.error(str(e)) msg = {'status': 'failure', 'message': str(e)} else: msg = {'status': 'success'} return jsonify(msg)
def put(self, request, index): """ 接受put请求的更新数据,更新表 :param request: :param index: 数据主键id :return: """ data = QueryDict(request.body).dict() model = self.current_model(request) logger.info(f"PUT-model: {model}-index: {index}-data: {data}") for k in data.keys(): if data[k] == '': del data[k] model.update(index, data) return jsonify({'status': 'success'})
def post(self, request): comment = dict( table_schema=request.POST.get('table_schema'), table_name=request.POST.get('table_name'), content=request.POST.get('content', ''), user_id=request.user.id, ) try: Comment.objects.create(**comment) except Exception as e: logger.error(str(e)) msg = {'status': 'failure', 'message': str(e)} else: msg = {'status': 'success'} return jsonify(msg)
def delete(self, request): data = QueryDict(request.body) cid = int(data.get('cid')) connector = MySQLConnector.objects.filter(id=cid).first() KafkaConnector.delete_connector(connector.server_name) try: ret = MySQLConnector.objects.filter( server_name=connector.server_name).aggregate(Max('is_deleted')) connector.is_deleted = ret.get('is_deleted__max') + 1 connector.status = '' connector.save() except Exception as e: msg = {'status': 'failure', 'message': str(e)} else: msg = {'status': 'success'} return jsonify(msg)
def put(self, request): data = QueryDict(request.body) user_id = request.user.id cid = data.get('cid') content = data.get('content', '') obj = Comment.objects.get(id=cid) obj.content = content obj.user_id = user_id try: obj.save() except Exception as e: logger.error(str(e)) msg = {'status': 'failure', 'message': str(e)} else: msg = {'status': 'success'} return jsonify(msg)
def put(self, request, index): index = int(index) data = QueryDict(request.body) try: Menu.objects.filter(id=index).update( name=data.get('name'), icon_code=data.get('icon_code'), parent_id=int(data.get('parent_id')), order=int(data.get('order')), menu_url=data.get('menu_url'), is_deleted=int(data.get('is_deleted')), ) except Exception as e: logger.error(str(e)) msg = {'status': 'failure', 'message': str(e)} else: msg = {'status': 'success'} return jsonify(msg)
def user_operation_log(request, index=0): index = int(index) if index: menu = OperationLog.objects.filter(id=index).first() msg = { 'status': 'success', 'data': model_to_dict(menu, exclude=['created_time', 'updated_time']) } return jsonify(msg) else: log_size = OperationLog.objects.all().order_by('-created_time').count() cur_page = request.GET.get('page', 1) paginator = Paginator(log_size, cur_page) table_name = OperationLog._meta.db_table sql = f""" select * from {table_name} a, ( select id from {table_name} order by id desc limit {paginator.limit} offset {paginator.offset} ) b where a.id=b.id order by a.id desc ; """ # No QA log_list = OperationLog.objects.raw(sql) context = { 'log_list': log_list, 'paginator': paginator, } return render_with_menu(request, 'log.html', context)
def get(self, request): msg = {'status': 'failure', 'message': 'This method not support GET'} return jsonify(msg)