From 849cfb23e2f1f2b9eccbe6d8316118d2414b3e6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89lie=20Bouttier?= Date: Fri, 25 Nov 2016 14:35:18 +0100 Subject: [PATCH] filter talk with / without materials --- locale/fr/LC_MESSAGES/django.mo | Bin 15561 -> 15657 bytes locale/fr/LC_MESSAGES/django.po | 74 ++++++++++--------- proposals/forms.py | 1 + proposals/templates/proposals/talk_list.html | 1 + proposals/views.py | 2 + 5 files changed, 44 insertions(+), 34 deletions(-) diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index fa6ba254c7211806c3092e467c58de30c3dd3a41..10fa80a7d07a85c19645ac37593f4e748c27a4fc 100644 GIT binary patch delta 5048 zcmYM%30&9Z0mt!2#K42=&#BP-V;r87zbGka!!|EQ&~im;9?YB<3UYX*{<93BkxapL zNhOm&=h8`NYEGNFjNAy-Jae%EvSp5G6BXVuQt z-U}}Ot%j|W#F0k>jJdm;F}s7c*O-cMW4?ox7>`XDiLIE9moN}xBaG>T3CJ$vLG7P_ zeK7}h-2&`|>zw0WQ)zc>!QLFGv+l$()LT$D{0w!&?%bsZ_Q51{VKR=vo|unexY*X$ z;vLjCVhC=s`(N_y_c9_1>d_ty!b7MNPoWFXVkrI{b>4qa9Sw*g7>>Rfz`Lj?peAoJ zYUFuH-_0`AdF9BDsg|^FUZtR^JA%5f71e76p&Hz5 zkH3iO*bdYT?m`XpFls=jVvN_f<3o0+$Jfw}|3)pkIOb3F3{1mE@Nuj`jXa{CG5yhv zTD+O48_z^FT!?D8%+||MkEjYYkiGqwfA#nvJ807!N3DVL_JmJR$8VyZ{eMx9CNS37 zAA_2K0jP$OQ3Dxm%|>-}j=$n2U+s1v_I-5}sjXNrT6 zWnu>7XuKEI@MEaOSC0IcP5jdRcB7{JFluHmqB?#9wf@YP6j<0Mmm9ZfVQ9>O+Bh3jW_`JqXyW4@w9JlQqYJZSxG~280tpT zQ8%88dJ7g>i;zB>6_|iqQ8RD|HN_`w{j#n919hK3w=okj7>DD7nB}GL6ov2NdpHQc zMGp?*d#ej)pgNFm>kDjsskO}RUt{Y}*m@;uEmfmta677_EvU72481y`odQ4RiapSS zdD09-VR!70dK7n|rqW~UnW*b?P>*5`s)0qQsV_rK^=fM^rc-|nb^p!*%)eIu7wpi~ z1hP`HF&9VTHq63y)P-@(x6aSQ?zjYXqh;uat5F?Vi~4j|+x_+EPrU)PNOz%TbYBAV zuSIu|9h&Ns)^|~hvK`gHb<~BQ+v8tj67_G9zMG^(r-3P`>vB*tGSBWWMBS$p7j>h9 zs7HO>%UxI>#+B@hYy@UdpNzU-18NGNK`qioyZi9CpuA6?>EqCI0!Wp(bhqz zHIRW1V=ij3dYdTd!V{<-w_zrBSo_gU&Cm=~2j*iSdQnqYf%@xKjk?bc48T38>kgnE z#c|a2AE4fzPmzxE{U2=Kd#eX~a>6)UpM*SqGZnS?R-mT195wPf)cN~u{TOOw9jHZn z3$@z24{M2#Q^HS*cm1DB&Zx(0)= z8nu?{P>ijdvIyIe0-%Kzc8`aa%JBh+<3dgY#``}_ePZZ5c)N9v>dhI?&J;Se% zkERJtan2u(sno~XdJ$@d)}kIoIchQ1+x@R&FX~59n17AfxyR091o1I14jT4Zn=K6I zKkW&Aqnw6AP_I`Ms$n;3QI13xj>SaGMZKnF$kQ^*#puNh21 zH}oL?)-Ypm7(Rq*U<2w#&!X1A0b6fF-S9JoGv@e-i~w@m}8!8n7Ocm&_3^eo4fRM?p=Pia zwMd&VnD)(X3ZZxyb)(Z5h38R==_cyg-9~*EdZjy$Bm{L`Uwi-uqt084F<6OXu^#Wo zi`JA3{@F%-J$mn>aDsvwbaA#H4njTip{SmwVFadIb5RXFit132t(T!@a=oorpk}Pr z`T}ZZUa`mD7|Z5^YID z@4TD*hHNJvk*=+R!bRP6FohS$4l>U+Mq9 zH1XQbI+z!&nK+y@kZt6r>>Ne71FgmNMRzWCLh?HYw>r44}RD9`M0e-DE><7 zh>N^R;)%9)@;uo}W|2U`OK*NaeneJ~SIA28YZ5{#iMDcbiR6(%tPRM1N!=iM9fA-B)sc?S);Wj2t6xk;66X!@|4$rDn4$ z-1|N1KO_O9gG?pxIg=ORkvXd|iriol7+D4NsUx|+(ZnovV_>?V+-sD}fuDL9HoPW%Ug{2GJ z!`-5=tkk_EzjR*l!u*1g<{i=B1O<$8ds5R=Q=1zSv+t;Rb4btd{N?lJa(YSr(h_$` QSy548acT3FAy-5H2bwechyVZp delta 4997 zcmYM$3tX4g9mnw#qM)E6h@eSA33yFGM8FG*7tB~8mdd=oK0oseO_8R=gZA}xz~8@Wxm?y`+t7C_PqG=KIc4_bDr~@=Yh=& z>r1?gk-=4t?Ktju z_WsxrhoH`zh^=srzu$8u*02P_*imk-#Z2lOQ5U>~y5Jpbj^ASv265G7?2avQEVjc* zR(~E_P=5j2;v#FW2()|L5e1FtZETHOPzUbBNIZ-Ycpi1!P1Haek;!t+I@k>0L)6=& zCNBeZ=efvO-P5QWn2-E8Ptw0zO+iz)6?Nh+)Bx&H9i2tp(N){uh{4ob#Q6KeP%{#P z8c-Z+#u8C8l8Ksu;h2JBup5@5*NehN3S+PVbz)qse?p3xff{+XIT|&9vF3PGN0V&- zGpGU0LCxGe)D12}-N-7dzZdJgK!-In#Ixgb)MC44_2$f9I`t$h!zrj4xrklx25Ql^ z>f~QI8P#zns^e^{=c69Yc+`z7L=AXpC+45NTsaMT_V3#PAK3wWQP2EK)FWxI_HR%# za1+(hZPd&K-S680HP9YrI_mr!48j6r`M4)N3cA27)YO!s22_C>;U=>NHHEuTcW~I+ zPoM^P-n@oWsozG;L_X6)(Tzu)UyK@Og8U-!7YGgLu7Sw@P$wiX@6B)k>OuoC2uGj>l#BXg7h3yl45nU$TBP$(Gg^vTQ%k!t z|C-vBG{`DsRk~_a2eqgZciaAhm_)rE8MFHigE1=6KQ9(FBYjZqnW*aw!I}3lK-8nI zil<5Z_iHDz)vB^dG3~9aCfmKJ3@N+7ifn(b{B_Qe8W(WCLeWy8K~pStiA$uXB$w9 zb{}fBe}x*zMbyA`0d-(^)Ey48_Tkq4C~5|#TKfzfO1%iRXt!el zUd2Mp;G?27vI=#*k5L2OgSw$FFih|N*A%o^uArvy8fxVKLXGqXY>pjz`vdHZy2C!G zMKl=oD5ju}FGkj-TaJvyeQ5P_m`nW!JczjuGymZf!uTvvcCo0}Ef=*Ym!O{A8sy{X zwxfKxS1^Gz2^{9>yp&rR))cK95nY@RZ;m#iOIDkSb zY9KRFi)8`oK<$shb*Ky1qE0-C8o&)y$BkwrD^cH#-l(b0MIAQ|wN{=&-B=m6L+^Dv zU_GkiZKzec1EX+1YEhoVNW6fFcnkGK>l08>8So{(F>wbPeC0VMUC_nw#RekEmTLrTwMc-K-HsBQ<-4(Zm1bc zGqX@LGt~A^L_LD(wtw~@d;g2=fW>w|Io{8KRj3)ML3O;x_8&n0nz|+A7ereU(K{bc zwv%_r1=6&=Lg6CmLDrHDWU_8U9clYb<-ImB-W5uE0Ub>>ThLu4TNElDSH$QNW1 znMkzN5eI$FG_i zaX0yhbg{OX_`H?%4m?FZBsJt4(zHE6VI-*_=d7_550D3%p1;~l^vkxt;aenBV@L=& zLkdVRNh1+N+h0f_DI-0}a#Bn>k#aJaEG0XLwhu@UIj9QTYd(R$WWy-`gd~$|>aHb) zpOeMp_k=ldo5)q7ErUD~DEWVRUbk{be96ipj2t1qs#_K{IJoY5%+1yz{o+&mW%Wz1 PJD-@>qHb)jGZFs-`\n" "Language-Team: LANGUAGE \n" @@ -423,7 +423,7 @@ msgid "Some talks are not scheduled yet." msgstr "Certains exposés ne sont pas encore planifiés." #: planning/templates/planning/room_list.html:25 -#: proposals/templates/proposals/talk_list.html:41 +#: proposals/templates/proposals/talk_list.html:42 #: proposals/templates/proposals/topic_list.html:23 #: proposals/templates/proposals/track_list.html:23 msgid "talk" @@ -472,7 +472,7 @@ msgstr "Propulsé par" #: ponyconf/templates/staff.html:9 proposals/models.py:159 #: proposals/templates/proposals/talk_detail.html:26 -#: proposals/templates/proposals/talk_list.html:48 +#: proposals/templates/proposals/talk_list.html:49 #: proposals/templates/proposals/topic_list.html:9 msgid "Topics" msgstr "Thèmes" @@ -485,7 +485,7 @@ msgstr "Sessions" #: ponyconf/templates/staff.html:12 proposals/models.py:154 #: proposals/templates/proposals/speaker_list.html:9 #: proposals/templates/proposals/talk_detail.html:72 -#: proposals/templates/proposals/talk_list.html:47 +#: proposals/templates/proposals/talk_list.html:48 msgid "Speakers" msgstr "Orateurs" @@ -520,31 +520,35 @@ msgstr "Filtrer les exposés déjà / pas encore affectées à une salle" msgid "Filter talks already / not yet scheduled" msgstr "Filtrer les exposés déjà / pas encore planifiées" -#: proposals/forms.py:89 +#: proposals/forms.py:75 +msgid "Filter talks with / without materials" +msgstr "Filtrer les exposés avec / sans supports" + +#: proposals/forms.py:90 msgid "Accept talk?" msgstr "Accepter la proposition ?" -#: proposals/forms.py:90 +#: proposals/forms.py:91 msgid "Assign to a track" msgstr "Assigner à une session" -#: proposals/forms.py:91 +#: proposals/forms.py:92 msgid "Put in a room" msgstr "Assigner à une salle" -#: proposals/forms.py:193 +#: proposals/forms.py:194 msgid "Name or nickname" msgstr "Nom ou pseudo" -#: proposals/forms.py:194 +#: proposals/forms.py:195 msgid "How much is 3+4?" msgstr "Combien font 3+4 ?" -#: proposals/forms.py:194 +#: proposals/forms.py:195 msgid "Anti-bot" msgstr "Anti-robot" -#: proposals/forms.py:199 +#: proposals/forms.py:200 msgid "Please re-do the maths." msgstr "Refaites les calculs." @@ -586,7 +590,7 @@ msgstr "Label dans le xml du programme" msgid "Email" msgstr "E-mail" -#: proposals/models.py:155 proposals/templates/proposals/talk_list.html:45 +#: proposals/models.py:155 proposals/templates/proposals/talk_list.html:46 msgid "Title" msgstr "Titre" @@ -606,12 +610,12 @@ msgstr "Les thèmes ne peuvent pas être modifiés après soumission." #: proposals/models.py:160 proposals/templates/proposals/talk_detail.html:33 #: proposals/templates/proposals/talk_detail.html:85 -#: proposals/templates/proposals/talk_list.html:49 +#: proposals/templates/proposals/talk_list.html:50 #: proposals/templates/proposals/track_form.html:14 msgid "Track" msgstr "Session" -#: proposals/models.py:162 proposals/templates/proposals/talk_list.html:46 +#: proposals/models.py:162 proposals/templates/proposals/talk_list.html:47 msgid "Intervention kind" msgstr "Type d’intervention" @@ -634,7 +638,9 @@ msgstr "Supports" #: proposals/models.py:172 msgid "" "You can use this field to share some materials related to your intervention." -msgstr "Vous pouvez utiliser ce champs pour partager les supports de votre intervention." +msgstr "" +"Vous pouvez utiliser ce champs pour partager les supports de votre " +"intervention." #: proposals/signals.py:28 msgid "conference (short)" @@ -662,7 +668,7 @@ msgstr "par" #: proposals/templates/proposals/_talk_list.html:11 #: proposals/templates/proposals/_talk_list.html:17 -#: proposals/templates/proposals/talk_list.html:64 +#: proposals/templates/proposals/talk_list.html:65 msgid "and" msgstr "et" @@ -717,13 +723,13 @@ msgid "Show filtering options…" msgstr "Afficher les options de filtrage…" #: proposals/templates/proposals/speaker_list.html:38 -#: proposals/templates/proposals/talk_list.html:33 +#: proposals/templates/proposals/talk_list.html:34 #: volunteers/templates/volunteers/volunteer_list.html:19 msgid "Filter" msgstr "Filtrer" #: proposals/templates/proposals/speaker_list.html:44 -#: proposals/templates/proposals/talk_list.html:41 +#: proposals/templates/proposals/talk_list.html:42 #: volunteers/templates/volunteers/volunteer_list.html:25 msgid "Total:" msgstr "Total :" @@ -861,7 +867,7 @@ msgid "Moderation" msgstr "Modération" #: proposals/templates/proposals/talk_detail.html:106 -#: proposals/templates/proposals/talk_list.html:50 +#: proposals/templates/proposals/talk_list.html:51 msgid "Status" msgstr "Statut" @@ -893,24 +899,24 @@ msgstr "Ces messages sont à destination de la team d’organisation seulement." msgid "Edit a talk" msgstr "Éditer un exposé" -#: proposals/templates/proposals/talk_list.html:76 +#: proposals/templates/proposals/talk_list.html:77 msgid "Accepted" msgstr "Accepté" -#: proposals/templates/proposals/talk_list.html:78 +#: proposals/templates/proposals/talk_list.html:79 msgid "Declined" msgstr "Décliné" -#: proposals/templates/proposals/talk_list.html:80 +#: proposals/templates/proposals/talk_list.html:81 #, python-format msgid "Pending, score: %(score)s" msgstr "En cours, score : %(score)s" -#: proposals/templates/proposals/talk_list.html:93 +#: proposals/templates/proposals/talk_list.html:94 msgid "For selected talks:" msgstr "Pour les exposés sélectionnés :" -#: proposals/templates/proposals/talk_list.html:101 +#: proposals/templates/proposals/talk_list.html:102 msgid "Apply" msgstr "Appliquer" @@ -968,46 +974,46 @@ msgstr "responsable" msgid "No tracks." msgstr "Aucune session." -#: proposals/views.py:201 +#: proposals/views.py:203 #, python-format msgid "Note: the room %(room)s has %(capacity)s seat." msgid_plural "Note: the room %(room)s has %(capacity)s seats." msgstr[0] "Note : la salle %(room)s a %(capacity)s place." msgstr[1] "Note : la salle %(room)s a %(capacity)s places." -#: proposals/views.py:212 +#: proposals/views.py:214 msgid "Talk modified successfully!" msgstr "Exposé modifié avec succès !" -#: proposals/views.py:218 +#: proposals/views.py:220 msgid "Talk proposed successfully!" msgstr "Exposé proposé avec succès !" -#: proposals/views.py:235 +#: proposals/views.py:237 msgid "Talk assigned to track successfully!" msgstr "Exposé assigné à la session avec succès !" -#: proposals/views.py:308 +#: proposals/views.py:310 msgid "Vote successfully created" msgstr "A voté !" -#: proposals/views.py:308 +#: proposals/views.py:310 msgid "Vote successfully updated" msgstr "Vote mis à jour" -#: proposals/views.py:334 +#: proposals/views.py:336 msgid "Decision taken in account" msgstr "Décision enregistrée" -#: proposals/views.py:432 +#: proposals/views.py:434 msgid "Unregistered :-(" msgstr "Vous avez été désinscrit :-(" -#: proposals/views.py:434 +#: proposals/views.py:436 msgid "Already registered!" msgstr "Vous êtes déjà inscrit !" -#: proposals/views.py:439 +#: proposals/views.py:441 msgid "Registered!" msgstr "Vous avez été inscrit !" diff --git a/proposals/forms.py b/proposals/forms.py index 2f1f520..7403ddf 100644 --- a/proposals/forms.py +++ b/proposals/forms.py @@ -72,6 +72,7 @@ class TalkFilterForm(forms.Form): vote = forms.NullBooleanField(help_text=_('Filter talks you already / not yet voted for')) room = forms.NullBooleanField(help_text=_('Filter talks already / not yet affected to a room')) scheduled = forms.NullBooleanField(help_text=_('Filter talks already / not yet scheduled')) + materials = forms.NullBooleanField(help_text=_('Filter talks with / without materials')) def __init__(self, *args, **kwargs): site = kwargs.pop('site') diff --git a/proposals/templates/proposals/talk_list.html b/proposals/templates/proposals/talk_list.html index ca6aef3..1ca178b 100644 --- a/proposals/templates/proposals/talk_list.html +++ b/proposals/templates/proposals/talk_list.html @@ -22,6 +22,7 @@ {% bootstrap_field filter_form.vote layout="horizontal" %} {% bootstrap_field filter_form.room layout="horizontal" %} {% bootstrap_field filter_form.scheduled layout="horizontal" %} + {% bootstrap_field filter_form.materials layout="horizontal" %}
{% bootstrap_field filter_form.topic layout="horizontal" %} diff --git a/proposals/views.py b/proposals/views.py index 3b8ce7c..8dc8c81 100644 --- a/proposals/views.py +++ b/proposals/views.py @@ -106,6 +106,8 @@ def talk_list(request): talks = talks.filter(room__isnull=not data['room']) if data['scheduled'] != None: talks = talks.filter(start_date__isnull=not data['scheduled']) + if data['materials'] != None: + talks = talks.filter(start_date__isnull=not data['materials']) # Action action_form = TalkActionForm(request.POST or None, talks=talks, site=get_current_site(request)) if not is_orga(request, request.user):