예제 #1
0
파일: views.py 프로젝트: AKMFCJ/tms
def add_special_version(project_id):
    """新增或编辑项目版本类型"""

    project_obj = Project.query.filter(Project.id == project_id).first()
    # 系统管理员和配置管理员才能修改项目的源码及发布仓库地址

    code_repo_list = Repository.query.filter(Repository.category == 2).all()
    release_repo_list = Repository.query.filter(Repository.category == 3).all()

    if request.method == 'POST':
        name = request.form.get('name')
        description = request.form.get('description')
        ftp_path = request.form.get('ftp_path')
        svn_path = request.form.get('svn_path')
        code_repo = request.form.get('code_repo')
        release_repo = request.form.get('release_repo')
        other_special_version = SpecialVersion.query.filter(
            db.and_(SpecialVersion.name == name, SpecialVersion.project_id == project_id)).first()
        if other_special_version:
            flash(u'同名版本类型已存在', 'danger')
        else:
            special_version = SpecialVersion()
            special_version.name = name
            special_version.description = description
            special_version.ftp_path = ftp_path
            special_version.svn_path = svn_path
            special_version.code_repo = Repository.query.filter(Repository.id == code_repo).first()
            special_version.release_repo = Repository.query.filter(Repository.id == release_repo).first()
            special_version.project = project_obj
            db.session.add(special_version)
            db.session.commit()

            return redirect(url_for('developer.edit_project', project_id=project_id))

    return render_template('/scm/edit_special_version.html',
                           project=project_obj,
                           special_version=None,
                           code_repo_list=code_repo_list,
                           special_version_id=0,
                           release_repo_list=release_repo_list
                           )