def post(self): args = self.parser.parse_args() servers = args.pop('servers') # 写入数据库 ticket = Ticket(**args) ticket.pub_time = datetime.now() ticket.pub_user_id = get_jwt_identity() for server_id in servers: server = Server.query.filter(Server.id == server_id).first() if server: t2s = Ticket_2_Server() t2s.server = server t2s.ticket = ticket db.session.add(t2s) else: abort(400, message="Server does not exist") db.session.add(ticket) db_commit() return { 'id': ticket.id, 'title': ticket.title, 'pub_time': ticket.pub_time.strftime("%Y-%m-%d %H:%M:%S"), 'description': ticket.description, 'affect': ticket.affect, 'pub_user': ticket.pub_user.name, 'handler': ticket.handler.name, 'status': ticket.status, 'level': ticket.level, 'classify': ticket.classify.category, 'occur_time': ticket.occur_time.strftime("%Y-%m-%d %H:%M:%S") }
def put(self, user_id): # 修改用户 # 解析json数据 args = user_parser.parse_args() # 查找用户 user = User.query.filter(User.id == user_id).first() if not user: abort(400, message="User does not exist") # 写入数据库 user.update(**args) db.session.add(user) db_commit() return { 'id': user.id, 'account': user.account, 'name': user.name, 'is_super': user.is_super, 'is_active': user.is_active, 'email': user.email, 'phone': user.phone, 'remarks': user.remarks }
def post(self): try: file = request.files['file'] year = int(request.form['year']) month = int(request.form['month']) if year < 2018 or not 0 < month < 13: abort(400, message="Bad Request") days = calendar.monthrange(year, month)[1] # query = Scheduling.query.filter( and_( extract('month', Scheduling.date) == month, extract('year', Scheduling.date) == year)) # f = file.read() data = xlrd.open_workbook(file_contents=f) table = data.sheets()[0] users = set() for i in range(1, table.nrows): row_values = table.row_values(i) user = User.query.filter(User.name == row_values[0]).first() if not user: abort(400, message="Bad Request") users.add(user.id) for d in range(1, days + 1): day = date(year, month, d) try: v = row_values[d] except IndexError: v = "休" scheduling = query.filter((Scheduling.date == day) & ( Scheduling.user_id == user.id)).first() shift = Shift.query.filter(Shift.shift == v).first() if shift: if scheduling: scheduling.shift = shift else: scheduling = Scheduling(user=user, date=day, shift=shift) db.session.add(scheduling) else: if scheduling: db.session.delete(scheduling) # 删除未排班用户 for s in query.filter(~Scheduling.user_id.in_(users)): db.session.delete(s) db_commit() except Exception as e: abort(400, message="Bad Request") return "", 202
def post(self): args = self.parser.parse_args() tickets = [] for t_id in args["tickets_id"]: ticket = Ticket.query.filter( Ticket.id == t_id).first() if not ticket: abort(400, message="Ticket does not exist") if ticket.status == 2: continue tickets.append(ticket) target_user = User.query.filter(User.id == args['user_id']).first() if not target_user: abort(400, message="Bad Request") for t in tickets: t.handler = target_user progress = Progress() progress.handle_time = datetime.now() progress.handler_id = get_jwt_identity() progress.ticket_id = t.id progress.progress = "指定 [{}] 处理".format(target_user.name) db.session.add(t) db.session.add(progress) db_commit() return "", 200
def delete(self, server_id): server = Server.query.filter(Server.id == server_id).first() if not server: abort(400, message="Server does not exist") db.session.delete(server) db_commit() return "", 204
def delete(self, shift_id): shift = Shift.query.filter(Shift.id == shift_id).first() if not shift: abort(400, message="Shift does not exist") db.session.delete(shift) db_commit() return "", 204
def delete(self, user_id): # 查找用户 user = User.query.filter(User.id == user_id).first() if not user: abort(400, message="User does not exist") db.session.delete(user) db_commit() return "", 204
def post(self): # 解析json数据 args = classify_parser.parse_args() # 写入数据库 classify = Classify(**args) db.session.add(classify) db_commit() return { 'id': classify.id, 'category': classify.category, }
def post(self): # 解析json数据 args = shift_parser.parse_args() # 写入数据库 shift = Shift(**args) db.session.add(shift) db_commit() return { 'id': shift.id, 'shift': shift.shift, 'start_time': shift.start_time.strftime("%H:%M:%S"), 'end_time': shift.end_time.strftime("%H:%M:%S"), }
def post(self): # 解析json数据 args = server_parser.parse_args() # 写入数据库 server = Server(**args) db.session.add(server) db_commit() return { 'id': server.id, 'hostname': server.hostname, 'ip': server.ip, 'app': server.app, 'user': server.user.name, 'remarks': server.remarks }
def put(self, shift_id): # 解析json数据 args = shift_parser.parse_args() # 查找服务器 shift = Shift.query.filter(Shift.id == shift_id).first() if not shift: abort(400, message="Shift does not exist") # 写入数据库 shift.update(**args) db.session.add(shift) db_commit() return { 'id': shift.id, 'shift': shift.shift, 'start_time': shift.start_time.strftime("%H:%M:%S"), 'end_time': shift.end_time.strftime("%H:%M:%S"), }
def put(self, server_id): # 解析json数据 args = server_parser.parse_args() # 查找服务器 server = Server.query.filter(Server.id == server_id).first() if not server: abort(400, message="Server does not exist") # 写入数据库 server.update(**args) db.session.add(server) db_commit() return { 'id': server.id, 'hostname': server.hostname, 'ip': server.ip, 'app': server.app, 'user': server.user.name, 'remarks': server.remarks }
def post(self): # 解析json数据 args = user_parser.parse_args() # 写入数据库 user = User(**args) passwd = gen_password(10) user.set_password(passwd) db.session.add(user) db_commit() send_password(user, passwd) return { 'id': user.id, 'account': user.account, 'name': user.name, 'is_super': user.is_super, 'is_active': user.is_active, 'email': user.email, 'phone': user.phone, 'remarks': user.remarks }
def post(self, ticket_id): ticket = Ticket.query.filter( Ticket.id == ticket_id).first() if not ticket: abort(400, message="Ticket does not exist") if ticket.status == 2: abort(400, message="The fault has been resolved") args = self.parser.parse_args() progress = Progress() progress.handle_time = datetime.now() progress.handler_id = get_jwt_identity() progress.ticket_id = ticket_id progress.progress = args["progress"] if args["status"] in [1, 2, 3]: ticket.status = args["status"] if args["status"] == 2: if not args["restore_time"]: abort(400, message="Restore_time cannot be blank") ticket.restore_time = args["restore_time"] else: abort(400, message="Status value error") db.session.add(ticket) db.session.add(progress) db_commit() return { 'id': progress.id, 'handle_time': progress.handle_time.strftime("%Y-%m-%d %H:%M:%S"), 'handler': progress.handler.name, 'progress': progress.progress, 'ticket_id': progress.ticket_id }