コード例 #1
0
ファイル: api.py プロジェクト: ragekit75/pass-culture-api
def create_pro_user(pro_user: ProUserCreationBodyModel) -> User:
    objects_to_save = []

    new_pro_user = User(from_dict=pro_user.dict(by_alias=True))
    new_pro_user.hasAllowedRecommendations = pro_user.contact_ok

    existing_offerer = Offerer.query.filter_by(siren=pro_user.siren).first()

    if existing_offerer:
        user_offerer = _generate_user_offerer_when_existing_offerer(new_pro_user, existing_offerer)
        offerer = existing_offerer
    else:
        offerer = _generate_offerer(pro_user.dict(by_alias=True))
        user_offerer = offerer.grant_access(new_pro_user)
        digital_venue = create_digital_venue(offerer)
        objects_to_save.extend([digital_venue, offerer])
    objects_to_save.append(user_offerer)
    new_pro_user.isBeneficiary = False
    new_pro_user.isAdmin = False
    new_pro_user.needsToFillCulturalSurvey = False
    new_pro_user = _set_offerer_departement_code(new_pro_user, offerer)

    new_pro_user.generate_validation_token()
    objects_to_save.append(new_pro_user)

    repository.save(*objects_to_save)

    try:
        user_emails.send_user_validation_email(new_pro_user)
    except MailServiceException:
        logger.exception("Could not send validation email when creating pro user=%s", new_pro_user.id)

    return new_pro_user
コード例 #2
0
def update_user_profile(
    user: User, body: serializers.UserProfileUpdateRequest
) -> serializers.UserProfileResponse:
    if body.hasAllowedRecommendations is not None:
        user.hasAllowedRecommendations = body.hasAllowedRecommendations
    repository.save(user)
    return serializers.UserProfileResponse.from_orm(user)
コード例 #3
0
ファイル: signup.py プロジェクト: ragekit75/pass-culture-api
def signup_webapp():
    objects_to_save = []
    check_valid_signup_webapp(request)

    new_user = User(from_dict=request.json)
    if request.json.get("contact_ok"):
        new_user.hasAllowedRecommendations = True

    if settings.IS_INTEGRATION:
        new_user.departementCode = "00"
        objects_to_save.append(payments_api.create_deposit(new_user, "test"))
    else:
        authorized_emails, departement_codes = get_authorized_emails_and_dept_codes()
        departement_code = _get_departement_code_when_authorized_or_error(authorized_emails, departement_codes)
        new_user.departementCode = departement_code

    new_user.isBeneficiary = False
    new_user.isAdmin = False
    new_user.isEmailValidated = True
    objects_to_save.append(new_user)

    repository.save(*objects_to_save)

    return jsonify(as_dict(new_user, includes=BENEFICIARY_INCLUDES)), 201