From 718d1375c54365cada2376d689ec90069745a689 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 7 May 2019 16:05:40 +0100 Subject: [PATCH] accounts: Add function to register a new (temporary account) Signed-off-by: Michael Tremer --- Makefile.am | 5 +++++ src/backend/accounts.py | 18 +++++++++++++++++- src/templates/auth/messages/register.txt | 11 +++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/templates/auth/messages/register.txt diff --git a/Makefile.am b/Makefile.am index 4f147c57..70872e13 100644 --- a/Makefile.am +++ b/Makefile.am @@ -116,6 +116,11 @@ templates_auth_DATA = \ templates_authdir = $(templatesdir)/auth +templates_auth_messages_DATA = \ + src/templates/auth/messages/register.txt + +templates_auth_messagesdir = $(templates_authdir)/messages + templates_blog_DATA = \ src/templates/blog/author.html \ src/templates/blog/base.html \ diff --git a/src/backend/accounts.py b/src/backend/accounts.py index 69257c15..a474bc0c 100644 --- a/src/backend/accounts.py +++ b/src/backend/accounts.py @@ -171,11 +171,27 @@ class Accounts(Object): # Registration - def create(self, uid, email, first_name, last_name): + def register(self, uid, email, first_name, last_name): # Check if UID is unique if self.get_by_uid(uid): raise ValueError("UID exists: %s" % uid) + # Generate a random activation code + activation_code = util.random_string(36) + + # Create an entry in our database until the user + # has activated the account + self.db.execute("INSERT INTO account_activations(uid, activation_code, \ + email, first_name, last_name) VALUES(%s, %s, %s, %s, %s)", + uid, activation_code, email, first_name, last_name) + + # Send an account activation email + self.backend.messages.send_template("auth/messages/register", + recipients=[email], priority=100, uid=uid, + activation_code=activation_code, email=email, + first_name=first_name, last_name=last_name) + + def create(self, uid, email, first_name, last_name): activation_code = util.random_string(24) # Account Parameters diff --git a/src/templates/auth/messages/register.txt b/src/templates/auth/messages/register.txt new file mode 100644 index 00000000..b8bf73e8 --- /dev/null +++ b/src/templates/auth/messages/register.txt @@ -0,0 +1,11 @@ +From: IPFire Project +To: {{ first_name }} {{ last_name }} <{{ email }}> +Subject: {{ _("Welcome to the IPFire Project!") }} + +{{ _("Hello %s!") % first_name }} + +{{ _("Thank you for registering a new account with us.") }} {{ _("This account will allow you to take part in our project. Either by joining the debates on our forum, writing documentation, or becoming a developer.") }} {{ _("There is many things you can do with your account.") }} + +{{ _("To activate it, please click on this link:") }} + + https://people.ipfire.org/activate/{{ uid }}/{{ activation_code }} -- 2.39.5