def create_order(): ''' 创建订单 ''' if not current_user.is_authenticated(): return redirect(url_for('general.index')) form = OrderForm() if not form.validate_on_submit(): return render_template('order/create.html', form=form, nav_order_manage='active') file = request.files['supp_info'] if file : if not allowed_file(file.filename): fail("file type error") return render_template('order/create.html', form=form, nav_order_manage='active') user = UserBiz.get_user_by_email(form.user_email.data) cs = AdminBiz.get_admin_by_email(form.cs_email.data) solverid = 0 if form.solver_email.data: solver = AdminBiz.get_solver_by_email(form.solver_email.data) solverid = solver.id order = Order(user.id, cs.id, solverid, form.require_time.data, form.expect_time.data, form.title.data, form.expect_hour.data, form.expect_order_price.data, form.grade.data, 0, \ form.description.data, form.extra_item.data, form.extra_money.data, form.log.data) try: ret = OrderBiz.create_order(order) except DaixieError as e: fail(e) return render_template('order/create.html', form=form, nav_order_manage='active') if file : order_id = order.id save_file_with_order_id(order_id, file) order.supp_info = secure_filename(file.filename) try: OrderBiz.edit_order(order) except DaixieError as e: fail(e) return render_template('order/create.html', form=form, nav_order_manage='active') success(ret) return redirect(url_for('.my_list'))
def edit_order_for_admin(id): if not current_user.is_authenticated() : return redirect(url_for('general.index')) if current_user.type != Admin.ADMIN_TYPE.ADMIN: fail(u"用户权限不足") return redirect(url_for('general.index')) order = OrderBiz.get_order_by_id(id).first() form = AdminEditOrderForm(obj=order) if not form.validate_on_submit(): return render_template('order/edit_order_for_admin.html', form=form, id=id, order=order, nav_order_manage='active') file = request.files['supp_info'] cs = AdminBiz.get_admin_by_email(form.cs_email.data) solver = AdminBiz.get_solver_by_email(form.solver_email.data) order.cs_id = cs.id order.solver_id = solver.id print "order status:", order.status, "form status :", form.status.data if order.status>=1 and order.status <= form.status.data: order.status = form.status.data order.require_time = form.require_time.data order.expect_time = form.expect_time.data order.title = form.title.data order.description = form.description.data order.log = form.log.data order.grade = form.grade.data order.expect_hour = form.expect_hour.data order.actual_hour = form.actual_hour.data order.extra_item = form.extra_item.data if order.status == '3' and form.actual_order_price.data != 0 and form.actual_order_price.data is not None: order.actual_order_price = form.actual_order_price.data if file: save_file_with_order_id(id, file) order.supp_info = secure_filename(file.filename) #修改订单 try: ret = OrderBiz.edit_order(order) success(ret) except DaixieError as e: fail(e) return render_template('order/edit_order_for_admin.html', form=form, id=id, order=order, nav_order_manage='active') return redirect(url_for('admin.home'))
def edit_order_for_cs(id): if not current_user.is_authenticated(): return redirect(url_for('general.index')) if current_user.type != Admin.ADMIN_TYPE.CS: fail(u"用户权限不足") return redirect(url_for('general.index')) order = OrderBiz.get_order_by_id(id).first() form = CSEditOrderForm(obj=order) form.log.data = '' if not form.validate_on_submit(): print "show order editing" return render_template('order/edit_order_for_cs.html', form=form, id= id, order=order, nav_order_manage='active') file = request.files['supp_info'] if order.status>='1' and order.status <= form.status.data: order.status = form.status.data order.expect_time = form.expect_time.data order.title = form.title.data order.description = form.description.data order.log = order.log+form.log.data order.grade = form.grade.data order.expect_hour = form.expect_hour.data order.actual_hour = form.actual_hour.data if order.status == '3' and form.actual_order_price.data != 0 and form.actual_order_price is not None: order.actual_order_price = form.actual_order_price.data if file: save_file_with_order_id(id, file) print file.name order.supp_info = secure_filename(file.filename) #修改订单 try: ret = OrderBiz.edit_order(order) success(ret) except DaixieError as e: fail(e) return render_template('order/edit_order_for_cs.html', form=form, id=id, order=order, nav_order_manage='active') return redirect(url_for('admin.home'))