def signup_webapp(): objects_to_save = [] check_valid_signup_webapp(request) new_user = User(from_dict=request.json) new_user.email = sanitize_email(new_user.email) new_user.notificationSubscriptions = asdict( NotificationSubscriptions(marketing_email=bool(request.json.get("contact_ok"))) ) if settings.IS_INTEGRATION: objects_to_save.append(payments_api.create_deposit(new_user, "test")) else: authorized_emails, departement_codes = get_authorized_emails_and_dept_codes(ttl_hash=get_ttl_hash()) departement_code = _get_departement_code_when_authorized_or_error(authorized_emails, departement_codes) new_user.departementCode = departement_code new_user.remove_admin_role() new_user.remove_beneficiary_role() new_user.isEmailValidated = True new_user.needsToFillCulturalSurvey = False new_user.hasSeenTutorials = True objects_to_save.append(new_user) repository.save(*objects_to_save) update_external_user(new_user) return jsonify(as_dict(new_user, includes=BENEFICIARY_INCLUDES)), 201
def create_user( activity: str = None, civility: str = None, cultural_survey_id: str = None, cultural_survey_filled_date: datetime = None, date_created: datetime = datetime.utcnow(), date_of_birth: datetime = None, departement_code: str = "93", email: str = "*****@*****.**", first_name: str = None, has_seen_tutorials: bool = None, idx: int = None, is_admin: bool = False, is_beneficiary: bool = True, is_email_validated: bool = True, last_connection_date: datetime = None, last_name: str = None, needs_to_fill_cultural_survey: bool = False, password: str = None, phone_number: str = None, postal_code: str = None, public_name: str = "John Doe", reset_password_token: str = None, reset_password_token_validity_limit: datetime = None, validation_token: str = None, ) -> User: user = User() user.activity = activity user.civility = civility user.culturalSurveyId = cultural_survey_id user.culturalSurveyFilledDate = cultural_survey_filled_date user.dateCreated = date_created user.dateOfBirth = date_of_birth user.departementCode = departement_code user.email = email user.firstName = first_name user.hasSeenTutorials = has_seen_tutorials user.id = idx user.isAdmin = is_admin user.isBeneficiary = is_beneficiary user.isEmailValidated = is_email_validated user.lastConnectionDate = last_connection_date user.lastName = last_name user.needsToFillCulturalSurvey = needs_to_fill_cultural_survey user.phoneNumber = phone_number user.publicName = public_name user.postalCode = postal_code user.validationToken = validation_token if password: user.setPassword(password) else: user.setPassword(PLAIN_DEFAULT_TESTING_PASSWORD) user.resetPasswordToken = reset_password_token user.resetPasswordTokenValidityLimit = reset_password_token_validity_limit return user
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