Beispiel #1
0
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)
Beispiel #2
0
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,
                })
Beispiel #3
0
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})
Beispiel #4
0
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
Beispiel #5
0
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})
Beispiel #6
0
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
Beispiel #7
0
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)