Skip to content

Commit

Permalink
Merge pull request #531 from coders4help/develop
Browse files Browse the repository at this point in the history
Apply fixes for release
  • Loading branch information
pitpalme authored Mar 30, 2022
2 parents 31d25ca + e06c7b5 commit 2dfa64b
Show file tree
Hide file tree
Showing 48 changed files with 1,321 additions and 317 deletions.
9 changes: 2 additions & 7 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
name: Pull Request
name: Check & Test

on:
pull_request:
branches:
- develop
- django4
on: [push, pull_request]

jobs:

check-migrations:
name: Check Migrations
runs-on: ubuntu-latest
Expand Down
22 changes: 22 additions & 0 deletions accounts/auth.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import logging

from django.contrib.auth.backends import ModelBackend, UserModel

logger = logging.getLogger(__name__)


class EmailAsUsernameModelBackend(ModelBackend):
def authenticate(self, request, username=None, password=None, **kwargs):
if username and "@" in username:
try:
user = UserModel._default_manager.get(email__iexact=username)
return super().authenticate(request, user.username, password, **kwargs)
except UserModel.DoesNotExist:
logger.debug('No user with email address "%s"', username)
except UserModel.MultipleObjectsReturned:
logger.warning(
'Found %s users with email address "%s"',
UserModel._default_manager.filter(email=username).count(),
username,
)
return None
32 changes: 32 additions & 0 deletions accounts/forms.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,41 @@
from django import forms
from django.core.validators import RegexValidator
from django.utils.text import gettext_lazy as _

from registration.forms import RegistrationFormUniqueEmail

username_validator = RegexValidator(
r"[^\w.]",
_('Invalid username. Allowed characters are letters, numbers, "." and "_".'),
inverse_match=True,
)
username_first_char_validator = RegexValidator(
r"^[\d_.]", _("Username must start with a letter."), inverse_match=True
)
username_last_char_validator = RegexValidator(
r"[\w]$", _('Username must end with a letter, a number or "_".')
)
no_consequtive = RegexValidator(
r"[_.]{2,}",
_("Username must not contain consecutive . or _ characters."),
inverse_match=True,
)


class RegistrationForm(RegistrationFormUniqueEmail):

username = forms.CharField(
max_length=32,
min_length=3,
strip=False,
validators=[
username_validator,
username_first_char_validator,
username_last_char_validator,
no_consequtive,
],
)

accept_privacy_policy = forms.BooleanField(
required=True, initial=False, label=_("Accept privacy policy")
)
29 changes: 21 additions & 8 deletions locale/ar/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: volunteer-planner.org\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-25 11:54+0100\n"
"POT-Creation-Date: 2022-03-29 11:54+0200\n"
"PO-Revision-Date: 2022-03-15 17:56+0000\n"
"Last-Translator: Christoph Meißner\n"
"Language-Team: Arabic (http://www.transifex.com/coders4help/volunteer-planner/language/ar/)\n"
Expand Down Expand Up @@ -36,6 +36,18 @@ msgstr ""
msgid "Accounts"
msgstr "الحسابات "

msgid "Invalid username. Allowed characters are letters, numbers, \".\" and \"_\"."
msgstr ""

msgid "Username must start with a letter."
msgstr ""

msgid "Username must end with a letter, a number or \"_\"."
msgstr ""

msgid "Username must not contain consecutive . or _ characters."
msgstr ""

msgid "Accept privacy policy"
msgstr ""

Expand Down Expand Up @@ -711,6 +723,9 @@ msgstr ""
msgid "scheduler"
msgstr ""

msgid "slots"
msgstr ""

msgid "number of needed volunteers"
msgstr ""

Expand Down Expand Up @@ -928,9 +943,6 @@ msgstr[5] ""
msgid "Something didn't work. Sorry about that."
msgstr ""

msgid "slots"
msgstr ""

msgid "from"
msgstr ""

Expand Down Expand Up @@ -1115,7 +1127,11 @@ msgstr ""
msgid "Your account is now approved. You can log in using the following link"
msgstr ""

msgid "Your username and password didn't match. Please try again."
msgid "Email address"
msgstr "البريد الإلكتروني "

#, python-format
msgid "%(email_trans)s / %(username_trans)s"
msgstr ""

msgid "Password"
Expand All @@ -1136,9 +1152,6 @@ msgstr "تم تغيير كلمة المرور بنجاح "
msgid "Change Password"
msgstr "قم بتغيير كلمة المرور "

msgid "Email address"
msgstr "البريد الإلكتروني "

msgid "Change password"
msgstr "تغيير كلمة المرور"

Expand Down
29 changes: 21 additions & 8 deletions locale/bg/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: volunteer-planner.org\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-25 11:54+0100\n"
"POT-Creation-Date: 2022-03-29 11:54+0200\n"
"PO-Revision-Date: 2022-03-15 17:56+0000\n"
"Last-Translator: Christoph Meißner\n"
"Language-Team: Bulgarian (http://www.transifex.com/coders4help/volunteer-planner/language/bg/)\n"
Expand Down Expand Up @@ -32,6 +32,18 @@ msgstr ""
msgid "Accounts"
msgstr ""

msgid "Invalid username. Allowed characters are letters, numbers, \".\" and \"_\"."
msgstr ""

msgid "Username must start with a letter."
msgstr ""

msgid "Username must end with a letter, a number or \"_\"."
msgstr ""

msgid "Username must not contain consecutive . or _ characters."
msgstr ""

msgid "Accept privacy policy"
msgstr ""

Expand Down Expand Up @@ -707,6 +719,9 @@ msgstr ""
msgid "scheduler"
msgstr ""

msgid "slots"
msgstr ""

msgid "number of needed volunteers"
msgstr ""

Expand Down Expand Up @@ -912,9 +927,6 @@ msgstr[1] ""
msgid "Something didn't work. Sorry about that."
msgstr ""

msgid "slots"
msgstr ""

msgid "from"
msgstr ""

Expand Down Expand Up @@ -1099,7 +1111,11 @@ msgstr ""
msgid "Your account is now approved. You can log in using the following link"
msgstr ""

msgid "Your username and password didn't match. Please try again."
msgid "Email address"
msgstr ""

#, python-format
msgid "%(email_trans)s / %(username_trans)s"
msgstr ""

msgid "Password"
Expand All @@ -1120,9 +1136,6 @@ msgstr ""
msgid "Change Password"
msgstr ""

msgid "Email address"
msgstr ""

msgid "Change password"
msgstr ""

Expand Down
31 changes: 22 additions & 9 deletions locale/cs/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: volunteer-planner.org\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-25 11:54+0100\n"
"POT-Creation-Date: 2022-03-29 11:54+0200\n"
"PO-Revision-Date: 2022-03-15 17:56+0000\n"
"Last-Translator: Christoph Meißner\n"
"Language-Team: Czech (http://www.transifex.com/coders4help/volunteer-planner/language/cs/)\n"
Expand Down Expand Up @@ -34,6 +34,18 @@ msgstr "poslední přihlášení"
msgid "Accounts"
msgstr "Účty"

msgid "Invalid username. Allowed characters are letters, numbers, \".\" and \"_\"."
msgstr ""

msgid "Username must start with a letter."
msgstr ""

msgid "Username must end with a letter, a number or \"_\"."
msgstr ""

msgid "Username must not contain consecutive . or _ characters."
msgstr ""

msgid "Accept privacy policy"
msgstr "Přijmout zásady ochrany osobních údajů"

Expand Down Expand Up @@ -724,6 +736,9 @@ msgstr "dobrovolníci"
msgid "scheduler"
msgstr "Plánovač"

msgid "slots"
msgstr "sloty"

msgid "number of needed volunteers"
msgstr "počet potřebných dobrovolníků"

Expand Down Expand Up @@ -955,9 +970,6 @@ msgstr[3] "{num_shifts} směn bylo přidáno do {date}"
msgid "Something didn't work. Sorry about that."
msgstr "Něco nefunguje. Omlouvám se za to."

msgid "slots"
msgstr "sloty"

msgid "from"
msgstr "ok"

Expand Down Expand Up @@ -1160,8 +1172,12 @@ msgstr ""
msgid "Your account is now approved. You can log in using the following link"
msgstr ""

msgid "Your username and password didn't match. Please try again."
msgstr "Vaše uživatelské jméno a heslo se neshodují. Prosím zkuste to znovu."
msgid "Email address"
msgstr "Emailová adresa"

#, python-format
msgid "%(email_trans)s / %(username_trans)s"
msgstr ""

msgid "Password"
msgstr "Heslo"
Expand All @@ -1181,9 +1197,6 @@ msgstr "Heslo úspěšně změněno!"
msgid "Change Password"
msgstr "Změnit heslo"

msgid "Email address"
msgstr "Emailová adresa"

msgid "Change password"
msgstr "Změnit heslo"

Expand Down
29 changes: 21 additions & 8 deletions locale/da/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: volunteer-planner.org\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-25 11:54+0100\n"
"POT-Creation-Date: 2022-03-29 11:54+0200\n"
"PO-Revision-Date: 2017-09-22 15:35+0000\n"
"Last-Translator: Dorian Cantzen <[email protected]>\n"
"Language-Team: Danish (http://www.transifex.com/coders4help/volunteer-planner/language/da/)\n"
Expand Down Expand Up @@ -33,6 +33,18 @@ msgstr ""
msgid "Accounts"
msgstr ""

msgid "Invalid username. Allowed characters are letters, numbers, \".\" and \"_\"."
msgstr ""

msgid "Username must start with a letter."
msgstr ""

msgid "Username must end with a letter, a number or \"_\"."
msgstr ""

msgid "Username must not contain consecutive . or _ characters."
msgstr ""

msgid "Accept privacy policy"
msgstr ""

Expand Down Expand Up @@ -708,6 +720,9 @@ msgstr ""
msgid "scheduler"
msgstr ""

msgid "slots"
msgstr ""

msgid "number of needed volunteers"
msgstr ""

Expand Down Expand Up @@ -913,9 +928,6 @@ msgstr[1] ""
msgid "Something didn't work. Sorry about that."
msgstr ""

msgid "slots"
msgstr ""

msgid "from"
msgstr ""

Expand Down Expand Up @@ -1100,7 +1112,11 @@ msgstr ""
msgid "Your account is now approved. You can log in using the following link"
msgstr ""

msgid "Your username and password didn't match. Please try again."
msgid "Email address"
msgstr ""

#, python-format
msgid "%(email_trans)s / %(username_trans)s"
msgstr ""

msgid "Password"
Expand All @@ -1121,9 +1137,6 @@ msgstr ""
msgid "Change Password"
msgstr ""

msgid "Email address"
msgstr ""

msgid "Change password"
msgstr ""

Expand Down
Loading

0 comments on commit 2dfa64b

Please sign in to comment.