예제 #1
0
def add_company():
    params = request.get_json()
    name = params.get('name')
    deployment = params.get('deployment', DeploymentVersion.ONLINE)
    consigner = params.get('consigner')
    scenario = params.get('scenario')
    remark = params.get('remark')
    username = params.get('username')
    password = params.get('password', '123456')
    feature_version = params.get('feature_version', 3)

    if Company.query.filter_by(name=name).first() is not None:
        return error_result(ErrorCode.ERROR_COMPANY_ALREADY_EXIST)
    if User.query.filter_by(username=username).first() is not None:
        return error_result(ErrorCode.ERROR_USERNAME_EXISTED)

    company = Company(name=name,
                      deployment=deployment,
                      consigner=consigner,
                      scenario=scenario,
                      remark=remark,
                      feature_version=feature_version)
    company.create_time = g.TIMESTAMP
    db.session.add(company)
    db.session.commit()

    functions = params.get('functions')
    if functions:
        company.set_function_status(functions)

    if deployment == DeploymentVersion.OFFLINE:
        meta = params.get('meta')
        company.save_meta_data(meta)

    if username:
        user = User(company_id=company.id,
                    role_id=UserRole.ROLE_ADMIN,
                    username=username,
                    password=password,
                    password_reseted=True)
        db.session.add(user)
    db.session.commit()
    ret = company.get_json(with_status=True)
    ret['username'] = username
    return success_result(ret)
예제 #2
0
파일: admin.py 프로젝트: webvul/Python_Test
def company_add():
    company = Company(name=request.form['name'])
    company.create_time = g.TIMESTAMP
    db.session.add(company)
    db.session.commit()
    return success_result({})