From 51181dda4e233f715552cc50c3e9ca8b371e2368 Mon Sep 17 00:00:00 2001 From: Mark Boute Date: Wed, 19 Feb 2020 20:20:33 +0100 Subject: [PATCH] [DON'T MERGE] Add shoe size to a member's profile --- website/members/admin.py | 1 + website/members/forms.py | 1 + .../members/locale/nl/LC_MESSAGES/django.mo | Bin 21695 -> 21977 bytes .../members/locale/nl/LC_MESSAGES/django.po | 125 +++++++++++++++++- .../migrations/0037_profile_shoe_size.py | 19 +++ website/members/models.py | 8 ++ .../templates/members/user/edit_profile.html | 4 +- .../templates/members/user/profile.html | 5 + 8 files changed, 158 insertions(+), 5 deletions(-) create mode 100644 website/members/migrations/0037_profile_shoe_size.py diff --git a/website/members/admin.py b/website/members/admin.py index 712ffc87..1fcb88d5 100644 --- a/website/members/admin.py +++ b/website/members/admin.py @@ -42,6 +42,7 @@ class ProfileInline(admin.StackedInline): "nickname", "display_name_preference", "profile_description", + "shoe_size", "website", "photo", "emergency_contact", diff --git a/website/members/forms.py b/website/members/forms.py index 85098b0e..31ee67e6 100644 --- a/website/members/forms.py +++ b/website/members/forms.py @@ -16,6 +16,7 @@ class ProfileForm(forms.ModelForm): class Meta: fields = [ "show_birthday", + "shoe_size", "address_street", "address_street2", "address_postal_code", diff --git a/website/members/locale/nl/LC_MESSAGES/django.mo b/website/members/locale/nl/LC_MESSAGES/django.mo index 01427e2fb8357f0e529253a09f5e1d1c1b83ac0d..3030948c4b8d78bd72f16844ef2a95c0fef644cd 100644 GIT binary patch delta 4184 zcmb8xdu&uy0>|;wQu=;CskByvDG0654$~J(K^EFdEmR)W;^Lz^lv^13lIau#k*TuC zW5vY+U0K<67mEvGSxB=r28~KojPBxtD2fR#DtgXNHrz~zrt~N5hr1KnlapJX5h70 ziE&tunb>IC>yfXR$8iYm!bIGSydrFRsEp>qVf(@R?g!>H#&i8V>O})sh?j5-<_>c^ zR)u-AYcLi&a5%0*b?8Z)h27}IPq8kF&$uZ$CTz@o>BhWE*H(-)<`q6D%{Jy89K6n$ z3_N5W2t0)u_%&(?^liO30TVFST8Nr~X{f1pP*dKF+5;ifo_Yf5yE%Xw&_C?; z@5i(L%z_y{!I%OpMs>uG>R8aWA45H82ht~V7}c?lF&fXHzIPUN-yp_d8gCnl8K?ne zqn2*6y*@pc`KL3coC_XYj_S}B>p`4G`=9pn1a_JZ#zbV>m?_9drW&;bD^V}##0uPo zy6;2OjGRNw@f2eOQjAq_4lH_@F41e8<2fyx=U?wJD z3u^6GVA0rcW_ z>uadvd=cX?g>}_ty9Tu+KGYJGy4S;|*51&9+xcKK>WkO%R84ITvawCIwFR?iKZU%* zynsXS6zYfQbDV;gP~Xd+>>kerIF}4?>tQVygyT>OJHS#>v zc`e2yT!fl|CHC_+>sl=3`bN|#I%=<v4|k&;bPN-45Y_W5)|k0&I~iFu zlVRJ{s24B95m<-gFo0V7ZKw`)Asq;tr>UfJ;gG%IRrJt4h7<8i)K6w=jl0S6kwKVR z)TY{l@%RdArryF_Jc*k6A21n{Zs*T9W}!M(kC{6EK`MH|R@8&{V=NA$j>%=zR3*)G zJDP)^9%RN8y-PCSAs7(3sc$qZD7Mq>u=HQO(b%Wwp)M|H3Z6LAk}YX6GEupc#J$5Hp4K)vu&%)swZn=!V|-E@hlQ!@-T zprShFUzIX0Xb+U5M)UxV$4#i++KXDVJ{*p(qh9X1G$I%j{J&flU0%D$^Aq#&_Y!HLONBUXtSwoA-^H})u1$!C8V9~ zA#=!1!hQ`${wqw~{E29)w-ar~nWTi=M>djKM5jVMewwIg53GpP*b}&(=me;AkTK*j zQb|g=RK;&OzTJZ(K{xQAwS~W&CC)V3*>oAFw5goD3WFpBR zH&MFZ;RCU&ja2~UbJoT47tm; z*_V-W*t#2=Y<&|xO!A1{A1ULnR{lp1^)+M_Sxx>-N=Z6VSxg=z#bgvwDI|-?G&Lx< zkTmkF8n*lz6Nyjn&!lpr{U8hD$nCZ*#u6RPKaymkKf_nc4qIu&KahA5ByB{c$mOSh ze{XA#;C190{W{F;>rEZVD(Pr=^M4>@I?B43fO zz*kgIIF)KyVd*4a;f{}d14De?DSdAi#%EVoIZJ{afhJFj|DiyO-`}kFHqq@Sbu!=M zZ*F#+R!_6-G}VT{ibjoSZD2*KC)DOFbJ|0Gf2+6ey}2n-)r*{<6KD^W{r~5AJ+pr9 L^ZHKJT!{M-S>Ny{ delta 3908 zcmaLZdvwor9LMqZZhqVR%*;Z$jqGmo+iYa!mRTcnUoE1PBy42JXhzScmFZ!)UW4jKzA`4I5z|szY~R zFC2yGxB-iT%#NTp)Nd9aV|IY9Wi~O}#TVBY&VHraTL^2Xaw+Y8cXYdk{6CexCA#!A$ATT$oLU?_ftVR#xfpzlyi_q%&MG*Ro%fk?U)hdxw? z2D?sokFP*I5N{#d#Xdm(>LSn2z7NMzd4(`1U{#jzVp&Qq&U6MlH!)_xL8) zT3n*%|0EUtZ~_~ES+r@$hP5@Wwb+dIcgU%B6+UU2deY1_&1rMX9 z+|$8XqA1i%G{*?;Z>dxwIgpK-vYzP0V$|j-L0w=X>am)Jdd%j#$Je3;P=Ol2Hn;sb zY6ecB*7_`JrY@oOSd5SB>-o>35{^080DGfuI2b1f(Gk>z_VM~-Fm@0*WPhNJr?OsJ zOCPEugHQu0Mh##ps>3r;_nC*$xD@>wc?A_cpH)~NKSRyHY1H=@Tz|!E+JB**n(U6w z_ajhyr4-firKk?ALUr&R9D=*CGe)z~mNT$|Eara{XMD|7kFlt^Ic6X8MRa%G&v>E- z(}Y`knccvH{@$(5Q*boT>EI7YU+fa9V+nm6??x@f3#bm&pa!cXx2I;J4|$+A&TMG1!Cc+?H1psuqJZ@_9) zM?OJqM*pu=lBhK9=UgZkBWO=T^?au5EZ4cH_rzki{UPec2eC08K|O}wV<>uVcRJ)n zbsz?#FbVnIZ=I>caUd5{a3ls^l^9RE61ABQVK`ny&Cq2`#E|~Zl&7LLZC7M@tpL@b z#i*yD0(IRQ)Qq3NMtc6wQc=%-M)k~7=uAx$)Kig->Oe6z#4^-*^Kclh#0Gc~HFJNU z7efa)o3#<@`vlaDvrtpt6;rss4X09y&!9HPMbs3x9q9ZUa3@Zr{WzxLdDQo@gPbMn zi`vAGpk`B_BWyL0H|s1BS*Jw@K3PRH_4Z_q;2(u^I-{Hup$9EilHFbWr8G?t^L ztO|ABPSg!+F&4i zNb(XVPk1>7*1Z&;Bli)N$>i}s?Z1z;RC^NoA1I6XWLpJBzY3=jy#f7G z`Ot_}`jU-gr5bM0bl*?(j+jr{k}}eTWD;#WErH4%M9;iR8hMaBMrM-<&XvV@ExQ^;UaK(uR{l4nRRQE5%KlI}!L14|wFFBkk<`cTtGTt>E#XUPVl@}h(L z>D=FD(OgaDkzn#XQAr`%nA(iDk&Z+gF_vg2t1NX0e6G2!K8gA`@)Q|E#uAl8(u0(! zq5H=W?fQqvBSepqUP#?YK2e$D5cqt6&kDC)gfEbnNjzCd#*-OjGucL35pC{=iSD\n" "Language-Team: \n" "Language: nl\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.2.3\n" +"X-Generator: Poedit 2.0.6\n" #: admin.py msgid "current membership type" @@ -168,6 +168,22 @@ msgstr "Stuur welkomste-mails" msgid "This email will include the generated password" msgstr "Deze e-mail zal het gegenereerde wachtwoord bevatten" +#: forms.py +#, fuzzy +#| msgid "User" +msgid "Username" +msgstr "Gebruiker" + +#: forms.py +msgid "Required. 64 characters or fewer. Letters and digits only." +msgstr "" +"Vereist: maximaal 64 karakters. Alleen letters en cijfers zijn toegestaan" + +#: forms.py +msgid "Please use 64 characters or fewer. Letters and digits only." +msgstr "" +"Gebruik maximaal 64 karakters, alleen letters en cijfers zijn toegestaan." + #: forms.py msgid "Email address" msgstr "E-mailadres" @@ -337,6 +353,11 @@ msgstr "Gebruiker mag niet naar borrels" msgid "User may not attend anything" msgstr "Gebruiker mag nergens heen" +#: models.py templates/members/user/profile.html +#, fuzzy +msgid "Shoe size" +msgstr "Schoenmaat" + #: models.py msgid "Preferred language" msgstr "Voorkeurstaal" @@ -373,6 +394,17 @@ msgstr "Nee, handmatige verlenging vereist." msgid "Automatically renew membership" msgstr "Lidmaatschap automatisch verlengen" +#: models.py +msgid "Only receive Thalia emails on G Suite-account" +msgstr "" + +#: models.py +msgid "" +"If you enable this option you will no longer receive emails send to you by " +"Thalia on your personal email address. We will only use your G Suite email " +"address." +msgstr "" + #: models.py msgid "Display name" msgstr "Weergavenaam" @@ -479,6 +511,10 @@ msgstr "" "E-mail wijzigingsverzoek voor {} naar {} gemaakt op {} (bevestigd: {}, " "geverifieerd: {})." +#: models.py +msgid "You cannot use an email address from this domain for your account." +msgstr "" + #: models.py msgid "Please enter a new email address." msgstr "Vul een nieuw e-mailadres in." @@ -680,6 +716,89 @@ msgstr "" "verlengd hebt, maar dat dit nog niet is verwerkt: in dat geval hoef je niets " "te doen." +#: templates/members/email/information_check.html +#, fuzzy +#| msgid "Membership information check" +msgid "membership information check" +msgstr "Controle gegevens lidmaatschap" + +#: templates/members/email/information_check.html +msgid "" +"\n" +" We currently have the following information about you in " +"our database.
\n" +" Via this email we'd like to ask you to check the " +"accuracy of this data.
\n" +" " +msgstr "" + +#: templates/members/email/information_check.html +msgid "username:" +msgstr "" + +#: templates/members/email/information_check.html +#, fuzzy +#| msgid "Nickname" +msgid "name:" +msgstr "Bijnaam" + +#: templates/members/email/information_check.html +#, fuzzy +#| msgid "Address" +msgid "address:" +msgstr "Adres" + +#: templates/members/email/information_check.html +msgid "phone:" +msgstr "" + +#: templates/members/email/information_check.html +msgid "date of birth:" +msgstr "" + +#: templates/members/email/information_check.html +#, fuzzy +#| msgid "Email address" +msgid "email address:" +msgstr "E-mailadres" + +#: templates/members/email/information_check.html +#, fuzzy +#| msgid "Student number" +msgid "student number:" +msgstr "Studentnummer" + +#: templates/members/email/information_check.html +#, fuzzy +#| msgid "Cohort" +msgid "cohort:" +msgstr "Cohort" + +#: templates/members/email/information_check.html +#, fuzzy +#| msgid "Study programme" +msgid "programme:" +msgstr "Studie" + +#: templates/members/email/information_check.html +msgid "" +"\n" +"
\n" +" You can changige this data by logging into the " +"website and using the 'edit profile' page.
\n" +" Unable to edit the incorrect information? Then send " +"an email: info@thalia.nu.
\n" +"
\n" +" With kind regards,
\n" +"
\n" +" The board of Study Association Thalia
\n" +"
\n" +" ————
\n" +"
\n" +" This email was automatically generated.
\n" +" " +msgstr "" + #: templates/members/email/information_check.txt #, python-format msgid "" diff --git a/website/members/migrations/0037_profile_shoe_size.py b/website/members/migrations/0037_profile_shoe_size.py new file mode 100644 index 00000000..ebd2d7a8 --- /dev/null +++ b/website/members/migrations/0037_profile_shoe_size.py @@ -0,0 +1,19 @@ +# Generated by Django 3.0.3 on 2020-02-19 18:55 + +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('members', '0036_profile_email_gsuite_only'), + ] + + operations = [ + migrations.AddField( + model_name='profile', + name='shoe_size', + field=models.IntegerField(blank=True, null=True, validators=[django.core.validators.MinValueValidator(39), django.core.validators.MaxValueValidator(47)], verbose_name='Shoe size'), + ), + ] diff --git a/website/members/models.py b/website/members/models.py index fed70a07..98776404 100644 --- a/website/members/models.py +++ b/website/members/models.py @@ -11,6 +11,7 @@ from django.conf import settings from django.contrib.auth.models import User, UserManager from django.core import validators from django.core.exceptions import ValidationError +from django.core.validators import MaxValueValidator, MinValueValidator from django.core.files.storage import DefaultStorage from django.db import models from django.db.models import Q @@ -400,6 +401,13 @@ class Profile(models.Model): default="all", ) + shoe_size = models.IntegerField( + verbose_name=_("Shoe size"), + validators=[MinValueValidator(39), MaxValueValidator(47)], + null=True, + blank=True, + ) + # --- Communication preference ---- language = models.CharField( diff --git a/website/members/templates/members/user/edit_profile.html b/website/members/templates/members/user/edit_profile.html index 66434369..d7fff3b3 100644 --- a/website/members/templates/members/user/edit_profile.html +++ b/website/members/templates/members/user/edit_profile.html @@ -54,7 +54,7 @@ {% for field in form %} - {% if forloop.counter < 9 %} + {% if forloop.counter < 10 %} {% bootstrap_field field %} {% endif %} {% endfor %} @@ -62,7 +62,7 @@
{% for field in form %} - {% if forloop.counter > 8 %} + {% if forloop.counter > 9 %} {% bootstrap_field field %} {% endif %} {% endfor %} diff --git a/website/members/templates/members/user/profile.html b/website/members/templates/members/user/profile.html index ba26f5df..273c1641 100644 --- a/website/members/templates/members/user/profile.html +++ b/website/members/templates/members/user/profile.html @@ -43,6 +43,11 @@ {% trans "Membership type" %}: {{ membership_type }}
+ {% if member.profile.shoe_size %} +
  • {% trans "Shoe size" %}: {{ member.profile.shoe_size }}
  • + {% endif %} + + {% if member.profile.starting_year %}
  • {% trans "Cohort" %}: {{ member.profile.starting_year }}
    -- GitLab