diff --git a/uffd/selfservice/templates/newuser.mail.txt b/uffd/selfservice/templates/newuser.mail.txt new file mode 100644 index 0000000000000000000000000000000000000000..afae818151964b3c1882bf6f5923b68d273dfcd2 --- /dev/null +++ b/uffd/selfservice/templates/newuser.mail.txt @@ -0,0 +1,10 @@ +Hi {{ user.displayname }}, + +welcome to the CCCV infrastructure. +An account was created for you, visit this url to set your password: {{ url_for('selfservice.token_password', token=token, _external=True) }} +**Please note this link is only valid for 48h** + +If you have no idea why someone would create an account for you to be used for the next CCC event organization, please contact it@cccv.de. + +Kind regards, +uffd diff --git a/uffd/selfservice/views.py b/uffd/selfservice/views.py index fae2c27ddecf410b61669c18498fab034402533f..530766794a6a158c99ab9b34ae23eda5e6d893dc 100644 --- a/uffd/selfservice/views.py +++ b/uffd/selfservice/views.py @@ -142,7 +142,7 @@ def send_mail_verification(loginname, newmail): msg['Subject'] = 'Mail verification' send_mail(newmail, msg) -def send_passwordreset(loginname): +def send_passwordreset(loginname, new=False): session = db.session expired_tokens = PasswordToken.query.filter(PasswordToken.created < (datetime.datetime.now() - datetime.timedelta(days=2))).all() duplicate_tokens = PasswordToken.query.filter(PasswordToken.loginname == loginname).all() @@ -156,8 +156,12 @@ def send_passwordreset(loginname): user = User.from_ldap_dn(loginname_to_dn(loginname)) msg = EmailMessage() - msg.set_content(render_template('passwordreset.mail.txt', user=user, token=token.token)) - msg['Subject'] = 'Password reset' + if new: + msg.set_content(render_template('newuser.mail.txt', user=user, token=token.token)) + msg['Subject'] = 'Welcome to the CCCV infrastructure' + else: + msg.set_content(render_template('passwordreset.mail.txt', user=user, token=token.token)) + msg['Subject'] = 'Password reset' send_mail(user.mail, msg) def send_mail(to_address, msg): diff --git a/uffd/user/views_user.py b/uffd/user/views_user.py index 4237b487610100839218466acb5176ef307d6959..14fcb6904469338e0530bbbbb7ef8ef0cb29d924 100644 --- a/uffd/user/views_user.py +++ b/uffd/user/views_user.py @@ -88,7 +88,7 @@ def update(uid=False): if user.to_ldap(new=is_newuser): if is_newuser: - send_passwordreset(user.loginname) + send_passwordreset(user.loginname, new=True) flash('User created. We sent the user a password reset link by mail') else: flash('User updated') @@ -158,7 +158,7 @@ def csvimport(): result = newuser.to_ldap(new=True) print(result) if result: - send_passwordreset(newuser.loginname) + send_passwordreset(newuser.loginname, new=True) usergroups = set() for role in Role.get_for_user(newuser).all():