def edit(request, *args, **kwargs): if not request.session.get( 'is_login', False) or request.session['user_type'] != 'information': return redirect("/index") error_msg = '' page = utils.get_page(args) # 获取当前页面 _projects_dict = utils.get_all_projects() page_list = utils.get_pages(page, _projects_dict) projects_dict, page, project_id = utils.adjust_info( _projects_dict, page, 1) if request.method == 'POST': project_id = int(request.POST.get("project_id")) for key, data in projects_dict: if key == project_id: project_data = data data = { "name": request.POST.get('name'), "leader": request.POST.get("leader").strip(), "teammates": request.POST.get("teammates").strip().split(',') if request.POST.get("teammates") else None, "start": request.POST.get("start").strip(), "status": request.POST.get("status").strip(), "process": request.POST.get("process").strip(), "budget": int(request.POST.get("budget").strip()), "real": int(request.POST.get("real").strip()), } data, error_msg = utils.check_error(data, budget=False) if error_msg: return render( request, 'Administrators_edit.html', { "project_id": project_id, "project_data": project_data, "error_msg": error_msg, "page": page, }) if request.POST.get('pass'): # 立项审核通过 data['status'] = "审核中..." data['left'] = data['budget'] - data['real'] elif request.POST.get('reject'): # 立项审核未通过 data['status'] = "未通过" elif request.POST.get('edit'): data['left'] = data['budget'] - data['real'] with open("database/projects.pk", 'rb') as f: _projects_dict = pickle.load(f) for _key in data.keys(): _projects_dict[project_id][_key] = data[_key] with open("database/projects.pk", 'wb') as f: f.write(pickle.dumps(_projects_dict)) return redirect("/info/summary&page=%d" % page)
def summary(request, *args, **kwargs): if not request.session.get( 'is_login', False) or request.session['user_type'] != 'admin': return redirect("/index") error_msg = '' page = utils.get_page(args) # 获取当前页面 _projects_dict = utils.get_all_projects() page_list = utils.get_pages(page, _projects_dict) projects_dict, page, project_id = utils.adjust_info( _projects_dict, page, 1) if request.method == 'GET': return render(request, 'admin_projectsum.html', { 'projects_dict': projects_dict, "page_list": page_list, "page": page }) if request.method == "POST": if request.POST.get("edit"): project_id = int(request.POST.get("edit")) for key, data in projects_dict: if key == project_id: project_data = data return render( request, 'admin_edit.html', { "project_id": project_id, "project_data": project_data, "error_msg": error_msg, "page": page, })
def stop(request, *args, **kwargs): if not request.session.get('is_login', False) or request.session['user_type'] != 'accounts': return redirect("/index") error_msg = '' project_id = utils.get_id(args) page = utils.get_page(args) if request.method == "GET": for id, item in utils.get_projects(request.session['account']): if id == project_id: project_info = item return render(request, "user_projectstop.html", {"project_info":project_info, "project_id":project_id, "page":page , "error_msg": error_msg}) if request.method == "POST": data = { "name": request.POST.get("name"), "leader": request.POST.get("leader"), "teammates": request.POST.get("teammates"), "start": request.POST.get("start"), "cost": request.POST.get("cost"), } if int(data['cost']) < 0: data['cost'] = '0' if not error_msg: error_msg = "项目申停成功" _projects_dict = utils.get_projects(request.session['account']) page_list = utils.get_pages(page, _projects_dict) projects_dict, page, project_id = utils.adjust_info(_projects_dict, page, project_id) steps = utils.get_steps(project_id) step_path = utils.steps_path(utils.get_eva_info(project_id, top=True)) return render(request, "user_projectprocess.html", {"projects_dict": projects_dict, "project_id": project_id, "steps": steps, "step_path": step_path, "page_list": page_list, "page": page, 'error_msg': error_msg})
def initialize(args, request, is_pass=False): error_msg = '' project_id = utils.get_id(args) page = utils.get_page(args) # 获取当前页面 _projects_dict = utils.get_projects(request.session['account'], is_pass) page_list = utils.get_pages(page, _projects_dict) projects_dict, page, project_id = utils.adjust_info(_projects_dict, page, project_id) return error_msg, page, page_list, projects_dict, project_id
def summary(request, *args, **kwargs): if not request.session.get('is_login', False) or request.session['user_type'] != 'finance': return redirect("/index") error_msg = '' page = utils.get_page(args) # 获取当前页面 _projects_dict = utils.get_all_projects() page_list = utils.get_pages(page, _projects_dict) projects_dict, page, project_id = utils.adjust_info(_projects_dict, page, 1) if request.method == 'GET': return render(request, 'financeoff_projectsum.html', {'projects_dict':projects_dict, "page_list":page_list, "page":page})
def initialize(args, request, is_pass=False): error_msg = '' project_id = utils.get_id(args) page = utils.get_page(args) # 获取当前页面 if is_pass: _projects_dict = utils.get_pass_projects() else: _projects_dict = utils.get_all_projects() page_list = utils.get_pages(page, _projects_dict) projects_dict, page, project_id = utils.adjust_info(_projects_dict, page, project_id) return error_msg, page, page_list, projects_dict, project_id
def user_edit(request, *args, **kwargs): if not request.session.get('is_login', False) or request.session['user_type'] != 'accounts': return redirect("/index") error_msg = '' page = utils.get_page(args) # 获取当前页面 _projects_dict = utils.get_projects(request.session['account']) page_list = utils.get_pages(page, _projects_dict) projects_dict, page, project_id = utils.adjust_info(_projects_dict, page, 1) if request.method == 'POST': project_id = int(request.POST.get("project_id")) for key, data in projects_dict: if key == project_id: project_data = data data = { "name": request.POST.get("name").strip(), "leader": request.POST.get("leader").strip(), "teammates": request.POST.get("teammates").strip().split(',') if request.POST.get("teammates") else None } data, error_msg = utils.check_error(data, budget=False) if error_msg: return render(request, 'user_edit.html', { "project_id": project_id, "project_data": project_data, "error_msg": error_msg, "page": page, }) else: if request.FILES.get('file'): utils.save_file(id, request, save_name="applyingFile", new=True) project_data['name'] = data['name'] project_data['leader'] = data['leader'] project_data['teammates'] = data['teammates'] with open("database/projects.pk", 'rb') as f: _projects_dict = pickle.load(f) _projects_dict[project_id] = project_data with open("database/projects.pk", 'wb') as f: f.write(pickle.dumps(_projects_dict)) return redirect("/account/summary&page=%d" % page)