コード例 #1
0
ファイル: routes.py プロジェクト: selinachua/SkillBox
def create_project(title="", desc="", location=""):
    project = Project(title, desc, system().get_n_projects())
    project.set_location(location)
    currency_result = get_currencies()
    skills_result = get_skills()
    if (request.method == "POST"):
        title = request.form['title']
        desc = request.form['description']
        location = request.form['location']
        print(request.form)
        i = 1
        # Populate jobs for the project.
        for i in range(1, int(request.form['nJobs']) + 1):
            print(str(i) + " of " + str(request.form['nJobs']) + "!\n")
            print("i: " + str(i) + ", len: " + str(len(request.form)) + "\n")
            num_string = str(i)
            role = request.form[num_string + "-role"]
            job_desc = request.form[num_string + "-description"]
            budget_min = float(request.form[num_string + "-budget-min"])
            budget_max = float(request.form[num_string + "-budget-max"])
            curr = request.form[num_string + "-currency"]
            skills = request.form[num_string + "-hidden-skills"]
            curr_id = get_curr_id(curr, currency_result)
            skill_list = skills.split("|")
            skill_list = skill_list[1:]
            skill_id_list = []
            for skill in skill_list:
                entry = {"id": get_skill_id(skill, skills_result)}
                skill_id_list.append(entry)
            new_job = Job(i, role, job_desc, budget_min, budget_max, curr_id,
                          skill_id_list)
            new_job.set_skills(skill_id_list)
            new_job.set_skill_names(skill_list)
            response = post_job(new_job)
            new_job.set_job_id(response['result']['id'])
            new_job.set_job_link(response['result']['seo_url'])
            project.add_job(new_job)
            i += 1
        project.set_title(title)
        project.set_desc(desc)
        system().add_project(project)
        return redirect(url_for("dashboard"))

    currencies = []
    skill_names = []
    n_jobs = 0
    id = request.args.get('id')
    if (id is not None):
        project = system().find_package(id)
        print(project)
    else:
        project.set_location(location)
        # system().add_project(project)
    for currency in currency_result['currencies']:
        currencies.append(currency['code'])

    for skill in skills_result:
        skill_names.append(skill['name'])
    return render_template('create_project.html',
                           project=project,
                           jobs=project.get_jobs(),
                           currencies=currencies,
                           skills=skill_names,
                           njobs=n_jobs)