VBV-409: onboarding anpassungen
This commit is contained in:
parent
631893c60f
commit
183135bcb7
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 3.2.13 on 2023-06-02 12:32
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('core', '0002_alter_user_managers'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='user',
|
||||||
|
name='avatar_url',
|
||||||
|
field=models.CharField(blank=True, default='/static/avatars/myvbv-default-avatar.png', max_length=254),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -17,7 +17,9 @@ class User(AbstractUser):
|
||||||
|
|
||||||
# FIXME: look into it...
|
# FIXME: look into it...
|
||||||
# objects = UserManager()
|
# objects = UserManager()
|
||||||
avatar_url = models.CharField(max_length=254, blank=True, default="")
|
avatar_url = models.CharField(
|
||||||
|
max_length=254, blank=True, default="/static/avatars/myvbv-default-avatar.png"
|
||||||
|
)
|
||||||
email = models.EmailField("email address", unique=True)
|
email = models.EmailField("email address", unique=True)
|
||||||
sso_id = models.UUIDField(
|
sso_id = models.UUIDField(
|
||||||
"SSO subscriber ID", unique=True, null=True, blank=True, default=None
|
"SSO subscriber ID", unique=True, null=True, blank=True, default=None
|
||||||
|
|
|
||||||
|
|
@ -43,9 +43,9 @@ def create_or_update_user(
|
||||||
|
|
||||||
user.email = email
|
user.email = email
|
||||||
user.sso_id = user.sso_id or sso_id
|
user.sso_id = user.sso_id or sso_id
|
||||||
|
user.first_name = first_name or user.first_name
|
||||||
|
user.last_name = last_name or user.last_name
|
||||||
user.username = email
|
user.username = email
|
||||||
user.first_name = first_name
|
|
||||||
user.last_name = last_name
|
|
||||||
user.set_unusable_password()
|
user.set_unusable_password()
|
||||||
user.save()
|
user.save()
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -31,7 +31,6 @@ class CreateOrUpdateUserTestCase(TestCase):
|
||||||
|
|
||||||
create_or_update_user(
|
create_or_update_user(
|
||||||
email="daniel@example.com",
|
email="daniel@example.com",
|
||||||
first_name="Daniel",
|
|
||||||
last_name="Egger",
|
last_name="Egger",
|
||||||
sso_id="12229620-81ea-483d-8d96-6ba8be5f9eb7",
|
sso_id="12229620-81ea-483d-8d96-6ba8be5f9eb7",
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,12 @@ def authorize(request):
|
||||||
return redirect(f"/{OAUTH_FAIL_REDIRECT}?state=someerror") # to be defined
|
return redirect(f"/{OAUTH_FAIL_REDIRECT}?state=someerror") # to be defined
|
||||||
|
|
||||||
user_data = _user_data_from_token_data(decoded_token)
|
user_data = _user_data_from_token_data(decoded_token)
|
||||||
user = create_or_update_user(**user_data)
|
user = create_or_update_user(
|
||||||
|
email=user_data.get("email"),
|
||||||
|
sso_id=user_data.get("sso_id"),
|
||||||
|
first_name=user_data.get("first_name", ""),
|
||||||
|
last_name=user_data.get("last_name", ""),
|
||||||
|
)
|
||||||
|
|
||||||
dj_login(request, user)
|
dj_login(request, user)
|
||||||
return redirect(f"/")
|
return redirect(f"/")
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
Loading…
Reference in New Issue