From 6cdfacb1849f0daae44ab9793897295a8188d78f Mon Sep 17 00:00:00 2001 From: Edo Storm Date: Tue, 14 Nov 2023 15:35:59 +0100 Subject: [PATCH 1/6] Added is_commission_review field to Review model --- .../0013_is_commission_review_field.py | 29 +++++++++++++++++++ reviews/models.py | 4 +++ reviews/tests.py | 3 ++ reviews/utils/review_utils.py | 1 + 4 files changed, 37 insertions(+) create mode 100644 reviews/migrations/0013_is_commission_review_field.py diff --git a/reviews/migrations/0013_is_commission_review_field.py b/reviews/migrations/0013_is_commission_review_field.py new file mode 100644 index 000000000..91cac5c7b --- /dev/null +++ b/reviews/migrations/0013_is_commission_review_field.py @@ -0,0 +1,29 @@ +# Generated by Django 3.2.20 on 2023-11-14 09:46 + +from django.db import migrations, models + +def update_is_commssion_review(apps, schema_editor): + + Review = apps.get_model('reviews', 'Review') + + for review in Review.objects.all(): + #Hardcoded this to account for possible future changes to stages + SUPERVISOR_STAGE = 0 + if review.stage == SUPERVISOR_STAGE: + review.is_commission_review = False + review.save() + +class Migration(migrations.Migration): + + dependencies = [ + ('reviews', '0012_auto_20211213_1503'), + ] + + operations = [ + migrations.AddField( + model_name='review', + name='is_commission_review', + field=models.BooleanField(default=True), + ), + migrations.RunPython(update_is_commssion_review), + ] diff --git a/reviews/models.py b/reviews/models.py index c964e0b20..37e730bbd 100644 --- a/reviews/models.py +++ b/reviews/models.py @@ -63,6 +63,10 @@ class Review(models.Model): date_end = models.DateTimeField(blank=True, null=True) date_should_end = models.DateField(blank=True, null=True) + is_commission_review = models.BooleanField( + default=True + ) + proposal = models.ForeignKey(Proposal, on_delete=models.CASCADE) def update_go(self, last_decision=None): diff --git a/reviews/tests.py b/reviews/tests.py index 81fad6e90..069d99910 100644 --- a/reviews/tests.py +++ b/reviews/tests.py @@ -154,6 +154,7 @@ def test_start_supervisor_review(self): # If the Relation on a Proposal requires a supervisor, a Review for the supervisor should be started. review = start_review(self.proposal) self.assertEqual(review.stage, Review.SUPERVISOR) + self.assertEqual(review.is_commission_review, False) self.assertEqual(Decision.objects.filter(reviewer=self.supervisor).count(), 1) self.assertEqual(Decision.objects.filter(review=review).count(), 1) self.assertEqual(review.decision_set.count(), 1) @@ -170,6 +171,7 @@ def test_start_review(self): review = start_review(self.proposal) self.assertEqual(review.stage, Review.ASSIGNMENT) + self.assertEqual(review.is_commission_review, True) self.assertEqual(Decision.objects.filter(reviewer=self.secretary).count(), 1) self.assertEqual(Decision.objects.filter(review=review).count(), 1) self.assertEqual(review.decision_set.count(), 1) @@ -196,6 +198,7 @@ def test_decision_supervisor(self): decision.save() review.refresh_from_db() self.assertEqual(review.go, True) + self.assertEqual(review.is_commission_review, False) self.assertEqual(len(mail.outbox), 2) self.check_subject_lines(mail.outbox) diff --git a/reviews/utils/review_utils.py b/reviews/utils/review_utils.py index 772ed176f..dae480cdd 100644 --- a/reviews/utils/review_utils.py +++ b/reviews/utils/review_utils.py @@ -42,6 +42,7 @@ def start_supervisor_phase(proposal): """ review = Review.objects.create(proposal=proposal, date_start=timezone.now()) review.stage = Review.SUPERVISOR + review.is_commission_review = False review.save() proposal.date_submitted_supervisor = timezone.now() From 667860ee8efd8ee43c2d538b5e1bc53d670159f0 Mon Sep 17 00:00:00 2001 From: Edo Storm Date: Tue, 14 Nov 2023 15:39:55 +0100 Subject: [PATCH 2/6] Supervisor name in review detail sidebar --- reviews/templates/reviews/review_detail_sidebar.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reviews/templates/reviews/review_detail_sidebar.html b/reviews/templates/reviews/review_detail_sidebar.html index ae1f10c15..7f24fcfc7 100644 --- a/reviews/templates/reviews/review_detail_sidebar.html +++ b/reviews/templates/reviews/review_detail_sidebar.html @@ -47,7 +47,7 @@

{% if review.proposal.supervisor %}
  • - {% trans "Supervisor" %}: {{ review.proposal.supervisor }} + {% trans "Supervisor" %}: {{ review.proposal.supervisor.get_full_name }}
  • {% endif %}
  • From 53bfe72dc6bd8deeae1900ae876bafbfec864f07 Mon Sep 17 00:00:00 2001 From: Edo Storm Date: Tue, 14 Nov 2023 16:31:18 +0100 Subject: [PATCH 3/6] Added chamber info to PDF --- locale/en/LC_MESSAGES/django.mo | Bin 148888 -> 147361 bytes locale/en/LC_MESSAGES/django.po | 682 ++++++------------ .../templates/proposals/proposal_pdf.html | 1 + 3 files changed, 239 insertions(+), 444 deletions(-) diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 7f7aaf9ee8ba9bd0b2971da546689db7d244d140..6b35444f66f139c54d711693a57edd18b9963a2f 100644 GIT binary patch delta 18837 zcmZA81)Nny|HtvU7ucni?j?3vmabi5X;`|uJEWwf1%XQ{A-N)53L=QKgwm;?goGfS z(k&7S|Ihc#@Vt2a&+`oL`OVC!iF59~;Ot3>mb^_ExR@&bOvBbCo-vuRcBnCv;u|xp zxJr%rwz@IvaRmtf72{1pdcx30$Y!;83z^P2|U zj5&;Nus!FU}r;yuicLA_~rsc^MHcHn1%jPMQ+T7Kr_dx)tq@gUnSD=IEAi2m0JYEz&cJD|F#uWK+9Rlfq&wL35eK5(Yy zwpCvObs=@I6LX;@2C4l}W0K&0)P)~+@p)7a-U^UOL?+26_Da)YI^x2Z6012|pzf## zCc^=!3mJn2@LP<+(^v`UuQ+(|qXJ7B31 z#(awNF&|?aL61!(t~b({S$GN6e()$`)?&}w`-mQI+QMXIjqj~b&9m9&xF+7Gk@deZY9%Fh8nP7(~617SyU{&mjn#8LyA6~#=^i-mW zOl0CuC)vro1``nIaI8UG0JC$z!5D*cCmWNN^53V} z3%uow&$tw$JPg}mQ(T6dusXJ$X4@~rti-!9kb%r)GPL$T z6K}(mcoCE1Bg}*5OZz0tivtPkV|;q(0BThnW`=5LU!qn^@!9r?*b05LTQQsdZ%xH_ zbL>kd;aoe(nqel&J7amScqBF@-Zh^)B2K@+K4MEOvd@bFc!B!as8um&v0g6R)DnBA zzhOA>Ra}MfzoMso#;gmFX+XhGU)z^X$WlAj`%y!3iveV~%~RB59QBRu;svNKUxu2T zTktI&!+mnOU4}EiH6}0dQ`G)hR~WMwOW_7CAn=Av5en9SXRqug>Pq9dOm5cvfOW9p z_qK-?qq_1T7REHI?US(zmLML8HE=bm{sn4i@~q)aiHlIHBE?!`KH&VOB$;#+EW}>; z16IL^b@sK}9Xk_m!{uCY_VsrC9@=1g=r~qjNX}zw+GW{f%cHO?aT(`OOh~*1GvjW| zsP%u5Ob`VxFde?dSD0=y2jqk)w{QaD$gLb4yI^}9i}~>eeuk-jv==bfxf;__z6W*u zGpM1sgmp3TPs}aOZ(5Kkg>z6{coL&AWE-DwumXOL12HH1x7#7fgIW!PQFs0sro?%u zx$!+}4(-BFJdE-1FN}|OF`)JOh)hR(fjVF-rfvxKK*d8a3@2b=T#2Re92UX!JMGJ+ z7Df_J!~(b$^Wa6)aT4yb@0tu4MO=Ru{jVz-O@YSdGt}5jL+=ipyD$;uCs22I0pl2& zhnR$T%pTj-Q!x|qGR#W-F1$y4i78L#nP2xYhj7Av`@D%d5U`KN3J2^JPC$+694vze zPcN-vpwI>c5DY?F5<jKH+N+vQObV~NLORXl_`K*|&L0a6u{68AyPpOEz;fd?=%{(vU9bl( zggS5uRCz_zfttCvHwF=p!8|w-Ti{02P$j#_cLpqpMQ|(z8j{&UrVJ*z#KmBB{0#p@ z^+d@{pG&dU^MY{EQ{%HF?@`16YN5~{I-3YCc9%FQ0-AYFduc? z=lB!my~`^fZ{DTIRNuZoG`4nCPv2UPPkmqcN@4 ze=M1d6g0!s*cUV5I6TT7Eyf|lAMuG%p9k(>Fuw8o%vs8V_{8};Ud95rA%V}kkt?VN z)J@b0pQ3KmA7tZHGC)DND=6$N@2u-=^DU9}{4Tgg)<)n+|owZ7@Cd!j?D=Tj6D_jAi&JtMxw$)su%Y zGv2@o=uhnPJ~LKAm3Kqkz_`S|fOjRcDbVCw;VRalX74`KkQ~Icc+SO-QFopoiO*Z6 z$#4*H4g3>#;Sh#sUQ*jGZ8D!X>$4&&(iFyM>cf)H?->7#_r2cnh@}Qlz(CTm`i(+hI#?Yz_yRSV=A#a{95rdSqI%>I>JA>E_KTO%=exH_}LAE|%Mv~D9=b)}=3F?5GP$xKmnzd(9lk*V<;d2bf|1cJ_WwPx%pw{~Utd7%A z%kZr8CTjnu7_9aGij1zgcM?r1Zrr}m+` z_$2CtH&8wB3N;7PWwRF=g_H$^>hhsPF zje(nF@{(zi$L=r^HEEWk#%K@fM8SD|-bbknSe3XR>Pfg2btgBmBo@wRFZ4rHPXtgy zyBkm9Wn7Fu9f&wJ0G!(zm_3fZx1gK9q%)iYyJ zlXMQMht^?dA0JlmE^+oKpV^4XqJ5?v<$Lj|)_(+li_nyc^u>JM*YDogod(M>H{~f~ zY!{b8-Dy)Sfs3&{p2e$Js)St?SxWlMc;Xn;h3&#BcnbCTAheY2(HfXi>%S!#J@b2F zCtQlUvxKGX4yjOcp#ti8P#yI|?1GxK!|^9Bcq(=zu2t6OeWO~9>iSCsb;Opo0v+etaH3hQ6%@bfA@@8|UuSb_K~YF1~eYM*e$QIoAImc#z2Nx2@& z<6iV*ylVD>f>6(mWT@vsT4z4YLmZ1bZ;xuMe|6<}3N-5%q3+~IjE6^2Cpv+8AYDhb zdx{#%WYz7XxeRK*SkzE8b+$!yeHYZSn}a%D`WkkU<_?glNtYBsjr|A$ZpK{2Z;12M z_L<$>+A;i=ct$;Y2c_%VN!A&QQ~m(UU}OXPd7&d#B%X-6(BH5zzQ*HNzoF0jtD8Xf zMm|%Uf<;&f@1b@m+}P*+M$;BA5KqG{*t?0H1E)}{A#+oo_t$q_P_z6hw#D4d?33>^ z+(3K@^@NOT?(_bZEl~@fehCejEoAga?cCBnGEbpSl(?1cy1v+s9$1RwFn(K~_ml0! z_FBLEnuRm*Tn9V*`*yS!coOx94(;SK18@L-jkmE4PX0j4nDuv;OkoOg@U-xrgjj)i zBx(}w#v*tDwVYCRu@_btH5of$1N;iR<1@^OZM)jH-8j^;U50AE7sJrsjULwek07J> zcoWp*>5O_-_rfrofuG<89E62W}h4iQk z{cC_Nf9QOPdI!WCXm2PP>hnSl)H|X8>bzA3vi_B6L4oe57wUi`P($)5>Vfek>H)M1 ztKogrYAH6z#zRnDx*K(&=TUd~H-=-D!S*Fr9`#Nck4te~fJ{R&O+WUTNw@<4#$rQ! zW)$Wd>hper`5w0t$9&@Reh+wzRf(q#^O?DL8o$84!+qXgW(SS1Z_fbkr@RF>Iuf&u zw5w+^swV^gkx>r>kFs4Ait33d48n@2uB?IDp)sn5+B&#|@14Z*D(aWV9vXaacRF^&bUh#le0Z?Vlx<%YW3wj!R4IqAvU*p@g&oP7!P!KB3d z;@tcHI0dP=;s@BA3g4I98F5Q2Pkdswy@1qneC9N9ar_cP=Gu?dOHq@!^E~_Mc?fD% zEWkThV!oYx5exXFMBE0eaA6r2vMh8Z?H2jGUp#xFy7C!nmZx59dnOb$tE2HI)<&J6 z$P&AJk6;1f@UQGDs)sv?JL5r46#2F7^7~7D-mmJ3mf1)A7XdO;X}A@eVU2HW4=h1V zvR7CUBbVFvdpE31ybQG(?qER-`_{fA>Y*m(VT{0{E9}Si=BS}uk9r#(Ld~f_`IYuT zG90^8un#wL#Rb2!v-IXF>mw|~ki0@ovY0h?u2jY9#Er2CE6-nHAhBcJe-eu0xm|~`7&&Wt57|dly3HZ{|i-yg1o4%Dv5ejwm|hj9LC@^)R>2E zv3J}66%Rsn^(xeH4x#S!Eat-`TkZ2D1~oKgQLpi;=&k=wWVG)4qMl3v)SXShItIs*1x4nTPs1wAZ=0Z)>P&IUR!rzDoU|OuW zCt%04`5wDN54=c4f7EhpxYuVo;7Zh3Cf(=r{_R#u)F+#p-K9zZ{$mfaC-fKO02 zQhC4qy1fER5ob6+kJ59E0%XQh(Bhyy&{b!GpY0vyMm<=nqbB7b)LdAIcknc7tatxn zhwdqsC;kuBzU(18DLZ3P;sELbH==qraE44dGI!{#24{08OR)oS*&}vxE<#<{KGgDkj(Vv@9OdOi`!d*r^PBs}?EAaLaXSY_qh2cO zoVPF;J7oLae)1`J!rtkxsAYE=H3zPshU7VF^&~oJd$ba2PIW=eg}Imxzr!qA|9i-2 zHeW`q)7Pj^wf<9f6(mC)I1Kd&ErOa0wJlr3p_`BDu|udE3;n}B zf*axx&TkHq8HTZEY}f6;Y&>eOp~f=aIs5Fdgf)mqVmKbcE_e?$RE^Ht^*#di$!R4v z#S5t86un^Q&H&VNVHE~`C3A+1#%S3^`)K?fvk|{U&DM;UxKoCpF}5cje%by$a1mpP z^IowR))O_!HsMyhiyLs+ReR?xuGtHjhG!^0c8&F4g3OBRKC=R^q7Lx+4SONGaW(NR z{2piBw0BhHFFW@0u?H8n9BWaZ`nG+2x5FyLBd{*+!xpN)V_(<3P@gk)-C_M}$BcLF z-ve~UHpKs6du(#g)^9?Mx&OYM8^PF`I5jd-<|B-U{ZTzP7&V7xp(g3q&eg7bt8;&V zOnVv}N6pgc2ev1=;0@vw5AAon=crkJ@Db~oJ3f!<+UJk$gKOmz`v6*xn#2b%BmRbZ z68?o+#t%_9@)j>(ApTQ3Hdj#(nvBnE7gfWY#B;F|?nZTCdsG~?)(z!QG3VLo9Fg9kO{e=fGI*o50L8EorYKbu^+!{y|6ErPA~0eytr3B^8@vb zU)v{J;(zU(M5ESq4C+MHQR};{iw8Oi8Q$2QD2+*po1l86BdVu*qvpy4EXDcFWHLJN&!`8?8LW+uoMqqI z&uSB~q}rj{`T1WMWQ z`DJJPWPWdqbEEdFgzD-pm>P$n_Me7YmWu*pG&ajoL$J=d2P273pmuzTAsCX}j(I5R z0?VM5T|Lws>W;d@A*kbyM$MJaUHMYfe&3_c7ue+rj-#&hI%;;mLQNKv!gggamL`lq z?br_WKK}?~aRTauhfzIq3U!B9Q5SRvb%9S&JrFOYU(bhtNkv8tv!KR05_JJlI0$1< zJ+K<}HrwOsGxCK|lQkRaj-pT}sO)TvdH{WZI$j^F$Q&7n_ldWp*8Z%&Z_?PwwgvTQ zJdL`ObEpftfx4r|E`EdRsl;jR7>A+aN~jBMfqAhPYG`JodTKptG9Gs2m(lzE{}ma1 z=}el=?|qZWhq;LBqwery)PW|V?qn&d3s<7Lb}Q;m_nx68L2<|ZD5 z8p1{Beg0odMhD)3ZE+v!fDsvN4-`c0Pzp5(YoYF_1*&KIp_W$w^+X(ly1*Y%PrP4H zJ$W5dwAGO|CVV2lt>3 zd=GU;PcahTy7EXqx9O``e$+?0nyAkS2Qfe92(!>u~>n)3F^dO;$_^3^KoW`-}{CYox|__U^x^uXLevZ3>+kL znaoAhI^G#+AFaNe)~u-2P#U#E71ShajXF?29Kf>r1aA{R%H{W7(|_jn^PZq5^DtES zUtYiW4-U)b_j`X)u}tdw|5Y+tF4+p&RZtVF5_iY4xE9rg4=|Vm)hcA~v{7Nd_iJ}w z)UrzwW$!Q>YN$G)hHkQRG1esBfQ|7DCf53I6m6GFThy2aP|xm3sM)?6HOAX8jtjVo z&4~vUwNJ#OsP;*U*_TQ|j3RD_*=au=HHkMC_j_OG)5q9J-W4lxe)BzGkSu@LcQ)Fk~2HEHf)5%iVxdmqt?p~_ohZBE!1^%-$TDLX`GO4}Q}g4)l|?>M@F z;uz5SoJvMrwG#Cp+K!rR=TYlEysYioXw*6%gj&BtQLAAz>H;R9ZeStm2gdcN;~zoI zo!c%p{PM+7l;k%5PgYR!&5j>!*33C5DSlmu}fh-{v=ORi{){K02T;uAu633FCPHN!F zzIFDZPFoT7Z9&;%@*i-LN%#?djEhlQVT(R%1iZh)Jx)PVDtWScPqYTEq1x5rfZd7p zE@*-q+zC~u_e3+|@syu*<%{2|SDTxpdakSj?M9Ga;^Lzk|94w{GIwZj8Jm($le9e{ z#Zt~UZtwSDl?^4%j6AVTDCrhyElJxb+TFp=T)dF{K2@+iC*^S`SG-Z<&*w?++sg;8 zq6ChllHVWTgkx z=SJlJcmGQX2C4o4>JmR0JD}<*gyP)--jfzzi{zjp;xfbs~E>?C8b$qk-wh8=si1__&lVXl>6FZP9 z5oW-olnr(Jsr@v{!b#dLIlcS8>KX;H13yxjB~%Wk(RAbmXhu@j7msj-Df1!uA*4~nv+z?=M^Y4Z%PC8OY>CYP3V$ZJ z7dO3h>cBiAZGVvTb<M znY{m+>^oQY9CK6F1B+@prX};e+u<-foF=~)*HPY%d|mR_$^Sq;2PrLsvJbU=LwQZ| zQ1aEIGHn!@XZ$hDi|AKRmSaI0rlz4jqrTe?xJ(;&B873J;>0^i z{mCciU`usWwmq($KJRMFL3tI9d7XS|>TV-H0Ga}nT_S&$`r){R^P4ghPI3nbb5iX6 z#fe-_*+X_nNjgWGK+?9G@`I#4@9i_*R+($G+3xZpJ}Ecn=|S6+q>9ADFpxvFYzf^# zl}}6sA9>AG9HnwnM%Yd~AI}hXBZZSsPFWW6{YeW+@3xYhOxtnF&eBF(F-%7KkW`Db zOOJz=G+aRCAR11?UQ}pX>&!*IF!_~UDGz1xQ(T>jeqz60h-;89MT+5g*@%;ne@3c7 zeG&Az3u=qks1L)udK@<)s81?EK{L_~8vjm8!jA86e%kDzpdM{rx{4Fd#vc4P2AfGQX!Ij)BwZyxmbB6}jHaw1N!wSHCA3+SfRpT^ zygW(Ym5LJIqpmXPH0`=$RmuurUJN14q+Kr57Pw6Ch=yOf6Sbpo6J_sj1zoU}^1ocW zag_BT{Y47qVA-i#MEcX!_jAYSOZ{t-w!5S`q}{YxNd0WB|IF-M%3Vzqm9weL>f(6r zAjK)0=<**qKcQ`1+9k${IG*y3u8tz_o8MgG@(S2uNVkbsaIBX&ns|lAf2L~Pmcsdh zMq6lff~2h>CrD4(&o(sMC|^tdTgu*&pF_$`euS%!ru{RwZ$8R1xxA`VQP&TfQ?B!S zU$`PDyho!t#N|jw-rJ!CbzRk%EkF6sTwN>j+O88v+pPJ`wNqG?@*w<|^b095?ISVx z-TvfteiOw`2}qw%5$O&v&{>_G(omidQ&1K{{s!r5(rDuK?B9(voP4kj##WvD7Sdx< zS<-RZYFm#TF|`+Yf5e5BO%&)tn~9_>)DNO~oNGUrvOmc0pzNG0d$((LuIGE|-))_V z&%5{mZ5xtLjSorR(dY}}e6-0x{wLBy(j9wDuMbRhf}#}8q~UAQ7*Zut1W8+Yr}9@w z2T5nxrx6F$R?XEHBVIsxAL2=**5uPtU-G^E+mN41*&yng@s-@$PEeSYTxCp&SEzhS z()I^s7f2^b%UoG}cVgRu&*{`@tK#Z6+0eYD{9n>=%4bm4nS4uE_dvSyn|A;2fUDS{ zh&$LN%uK35nf(`JQ2!5Q9b9=D ztVY^J-DXlLQU}^-OGRp~{%=9yDGCR8#f%T}d{PE?qGZ_K)rl3f{gd>iJCMrC(Pkqa zpsW_ICRL^^701z5fby)Q??_dM@1wW98~+?M&Q9Ztq;%9Ia1APu&qFFhthVPdm#aHK z+tls^N!b4z%G+aOQan;N>Z+2KvfsNcJDI(d{fEC|n)>{qtq^H42S|W%v5hmuwXYkp zVR?-M;c-uT{1{iZccKmXdXK8N;mGz%+2cAsPqm@Z<#q`-T)j2AZ^`D!9=;rPH}~G^dmiSiGi&-7U;52U{`7qnym`V^--!;hrkwGm+dQiQyXcwTot}!=>vo$cL8OCX7%o%Kh?XhShW18Yr z49A<;5(_srh9*HXp3H|7T)=zSw23jhu_}9YKpnL{L?G8-HaK5m2`;F5b7Lk@KD31~ zkr<1k%kDS^PasW9(^kfe$2B+_i?=pr59c>q$qb=jU>jrB;eFhO^V=G;9GkT>hHEpg za3$9Nz`t_y9EZ^Z;oRn0dhcL_F*GrKID0-W>^QC^e%{5HdAO`A=fKL{jOmA4aV_UJ zq1}x+is!IDF6m+KG;L2~DiL?U>bMB2;7u%xd3)LNj>yfM6*vRmpzd@=lrb4GOSCb? zury}Eo>&COW3U{VZDi`1|9-T!FdqC}zb+SP_%=F(wZ-Kpl7xCc#x054T|k z+>1HzA`ZvbI2ecaHD)P2^r$cWzn_8`-1c_5vc&*<2PtSpXjWiaT#bcsKPJS7uKX2d zBTmWlOO3^xHBs%_qI#e!CdSdI3!8$;aMcj{KR%i5uHgYpMSRsYeB|OpL+uH&p>`~R z>Y?hW_T60la4bSR4Rhgs=kKmQ(J*@+)kydKqsJ23(N zjJl)SsGf;6!k848(OD36LlrS8)J*_QnF9G0$)cagL9TnT4BB?Q1h9H(veL6Uh)>gm>^Pe)<&XPEAezpkDE~!bPRQY z=TR5*3#vujEPMT&6&gV*R)tL*FM{0 zsOgemo?Q_OqesKx$m_t2V5HW^%cwz?f4+UzrLhth+ywQqiCM@E5&wbZh!ZWb>qSkx zO577QD{2Lo>McYUqV9CjGJ7Xma4qq9Ouz+lmym(z9Bv!1=eK9Zd)jrolF zZ!r@#U1htt530+Dpa$nee1l8z5C)g7wr{O&Yq%Q_m z->@@r;>~tp>WfjtpI{h1!^T+tYy0w=f-AV-rx=&=`CDxdEyKz@lJ%I1@`vB3oaY~V zyD=3gNan1E@rfs5W}J>0a3kt~M=>p)#+P^pQ*pu@J2(OH-#gu4-DN*uT3|uSzrpc% z6LkSmyOHyoQDoBK3{;n{L7nJF)FU~A>e4q@3F|Xp%Hm`!jo)K24D98_ge7qj_P{*& z9QA0j?z6L^7wQ6rV=x7osbo^(5=@9&P-9>p#={6_fXTU;eIgM5F$?7lFh542 z&NCZ}Y5wm~0bTzH^{mrz*}8)Us1vlo95@xV<7QMBU&Nf4@T{F3g|Q0pM_2>*VhN0U z&aNZnFfnmw)EMfEVVeJg$mj}pp;o#}*qwOt1zY|%79mc1(Z0oMpxO__RsnhhClKGe zY)>?p?$9V-gn94`mcdu3FQbxI?b|luX9h9nH}S67XPg}MC^BL)ERF@R8m7hGs5=^m z$#ExU#$%|Sxr4gUWY_Jxq!MbDG)0Y}c97=`2U4XQ`R|7O>b6gN0=ET%Z>hN|AOV=DR<{a=fMbrk4M z{>Gk|=C*ydqfmFW9CP7W)H?AJbwT;=*lE@u)ibM67kCYs!6wxo_K{se9Vfw`cBL$X z6^MKN8RWIzGge!vn$pXR8KrY9k|YYx*dbK2FpFLC%%QHi8DX6uk&W8 zB|7yZJ~FTYYH;7dyqNtjzB#Z~kjx@7x3L#acx;!_XV`%Yi~Yp*NaRzyVx7Wp+TFs2 zSo9f>1xH~|ypDaa?sNNdd^gS~PW88~-{{Qp!qx{TkV!y;YnTY{U;})L3~m$l(oUCf z%uZYnQ($jY`%%u%Fdp$7Op1$fAa1}=%=3yFg$;2RUc>F0|6jbeqp|rvJWuX83U|<8 z=D+sB8ojYAUK`XPjYf^$fv6Ks!elrdHLsT;Ps6N2jfpwN^9S8=Y)bqR3u6Pm>*{F! zk04Wzf*&vmrVn`j9pu4$#3eBket=p)hPnFjn1*;JX27+W3ctmScnME%Lr-xi@nOC= z^_@^Dj%VUwlenI_$oWkhqSIJ1zUPnb_&oLM_58t`0rf~SqaIaJ7uP`DcF5g@OU7F5QZn@84rM-b78q!h9h5(-C!maMXz# zpf0!tYX9!23moq1$Dvlr$u6FYor#xVQqBK(+3d4Vi#lLk)DBHichtc-5Y^S6y7~pE z3t5fj86z7}gZF-jy`b;2+aA4)8jLSc3*5h`8%dml`LC|ZKt^30iaKFgR1Y*jje(x1 zc|Hy`R%W24(=O*})P>!4@oUthOPSLSwgRa6ABHM#=gJ4=Wd7?!Qz_81S&KT+Ce)Sg zNA<)BRM%cc4aWOe9h2tr{2vxgFe~vC)Qzk|9cM49hmNBj@mW+4r{jZDV<}tipgnLt z3N%{Fq3)~(>KV30O|LFk0ehf&XeH`{WjE>smr!Hi7u0@_aUTAI)o@N8d!bjcH*to% zp8r?y2|+SdDfkr!Vs2i6y3%=A0Jg{LAM^Y=I_T&_yW}v z?JC;#T~T9U25N&g~UpgUcORd6?IG`~SD zEV*lV=3`D+26+*h-8Jo?JR5GG2!EL_WWd2iGLHxU_ZW*%0=?@&D$uQv0) z5}EY1?FU0k)CIM{xY!A`9`taI#8Bdys6n(3)sqairiSnTqq%x>> z;izfcDM&`ov=_$4xu^pyL|w?&&RwWSa0oU1o}&&tu&y1fp?6*dGQbIiMpYB?gX}{2LjC9vDh)f<4?NG zzuTScJPzyZ`TzN>Or)I!Cr~R@u`YJ49*P5qPvcUo+12y^d*7d^`CO};9ZRE8E8hVu zit)PJ6|yu|Chml-a2Zb3{Qp-OoYKRN+K`@}|6{W}YUS&Lx`QdG(R%P1r25O$ijQRhF&5Exvs6lp!OfEczA@~UOC{jk-uj0wLiNO@7w`WdL z{!Jg-g%kRE{;%6)1MKWsg<3(^qNd{^)Vt#eYSf#7_69Sd)`L<5ng5zzwJFerbifeo zhMF!DP}6KSYP4@b9q?OMei}9X9-w+4?jU>MLa3FrGHU&3jT+3+E}n_HfYpPT{~GnX zDbVPCf_i2-2HP){Ca9&f7oK3y3_@LKjbXODzOyCjozW3>Ls6*t{V}RXCZR55ne!Xe z4IK-T(E+cbp2&Lb4x3RuwA*}}~1-y-V)_KO;6|^#zBo4ze_#vuiw_p-HjQR-u36pF7-zB4G^bcy9rTN5mT{!AM z(@-y?BiNN$a1Yg`%|5l$Z3ODV7oeW`a?}m2Lk-Tos1u*V#CQYi<0H&VZ=1>!?OUze zB>NL<H7qkb}lSfcJbqeF) zpBU6&c|=BCl4`1*p9N7}8;-j2ai~Wy9rdigKrKvZrrBv)0yi)_s-a$9Ph#we5=^&U zpA+?sSsZn|2B@BCH=X&ff&mn0zK=#difNbwSK&}RhA*+k3_D$`%=AnX;vuLN?-;hh zyO@U_4WDJ-9ldAUm(_7p*XNvL*OQ`{k_)akhyHI#MTdFZ83o(15^=Ew_5%9hIpP^O z6MHT6%sz~@$d2Men3MPdYF50)KXBG!JNQN~v0q5LFpLWuveaJ4o@Ji@m(rs_GV01E z%WW6;Lv_tC)U%p~zvCLz2|oYQ&fh{S?1D8CnMP(E?!`lRgcFTfX}i4cYR~_(d^gk* z{}`uW`Ze~g8eB<6Jz&<_LDmYZ5{^NA2OPob82c+b8){);;vniBu?{sT^RKf#5reIW zx1kIX8G_8&~`pYLtfYrjZS>JddOmYHZB>+76!O7*4zy zi{oq5C@;FjzV*tW#zYI$v>c3@MI$gd=b4J}aPd~%Sdc-+*)?tMV*^a^ja_%<@tBmmsDHSQvET8a(=UhOb13~!Gy%GP-7+TF8k3Lg0YEnp?V+`+hbAGjZAee#Gne+kx`fJ z#xi&n)f4G<+aDHPQ7hp>)SaJo@k`7?Ty&2;aD7w{w8H{81+~!ZL_MPYsMq-qsA+#| zkDLEbDbO>Iwb$Np60FBF%7!{X)IK|H`lBAzNGwAAJiJ4EbiZc~;Fbf{AqVXV%N?>8 zR2_8zgIpZMn#3Cq1?^~lL4gKSzQgtxOIvJ6ydUdf%5Uv!wF9cBMx$1`C8#^uhC0Dv z)L1x6IWE?eGA9#^=}q&wb~a2rT@)eU?+PAMp&-j`4r6 z3sff5hebuyLev-=;UMgc-(fTsI%@yW`31(I=g#9Nln1XKvj^((qjdu64%cEKJcb&r zFR>KnIBr+C)~IJ4cEUco!B~lS6srAx)S$eBB{0@Wdx51^)3 zr|d#B2=(4xj2g`wQ9EwM5R7-)Gc4;SA4U-G|H%%{oM-HXg`>WphM`_=D{uqt_hC=s zzUTBB4>H=x6s92Vc{^WAI(uPKc36t@so!+L-f6>&cG|T@je$tiBN>L8J)dC?Jc1fi zf1t)f)=PG2FM^siH825AzYTSQ?@>$Y6;zKr!F>1v2V;)Q z_H8#8n-M=iJ;Janw&(hz7NkQs0AFEnD49N2?Qgh0Q1iR%&x`?<-btuuy7sz#7u>~K z#G${~+0Y-m5YNE;_!`47@2__LM`1DIIoKSJp^lgHH#?R({l@&)LNSkmV|WDh%%GxEZJ4wmlGj$6iSA z4)gy46?-WtjkEvo%ql#EI>3j2+6&o$>xj?eS2*sjy`vKM>{ytHJ-M)%Scm$+1N&O9 zkLr;qtdEa~rr3`7ckF=G|FZSVQP2JnYK%NXeO?D1 z+n-?VF&1%0RL^xmwHt?eSA6cA@5+NKUFK`-K!bg#QJejV?TKc1llTpu#G6m;sNedG z`OO_4MRo1X=XN2R^S51)7NZ997R-RVPz&8T)U^H?xsjl`Pv$BGk5QxZ)C)Umdp_K?)*4v>AmRcA7FaT{{*k?9p%8; z+)*j)PQ#P`*w6B^|Js*L<2Ux(Z?p-RE!0=@0{%+(0`*9;2Lk>)&x1NqDNKv?T-@0? z%sEwZe)FX(*yTL!yzTrK_4S%MR=|IMXGh&}QPkV9GOFil-~{{#wE)G79q@Z1KWhK# zs2*vA>Zx`Z)LCJ>cHDj3(XO%i`Se5;{^O~xS?1^?NIF=VF)IO8}Q!=`7tMP zTjxmBLbePO;8xVw*cUfofBzq$fc3^)MJ<)rQ9C?Bbz!V{0sr-y5la#0L_MN5co7dH z->GI{{D42m>Lv{MZ^fqgFZJE9DD_g>b;|IhH*k^}?(pH!wKvCr^0s_TA2 z-N7@|TAeYe?Yh#axH?wCj;Jr1C3un(>_t8q%+%zzeRFfqc-wU&X zWQvkmgqp9XumC>7a+oDmz+d}Yp)RZ!>cXaAQrwJswg+7K3Fl+fGftP4IT`hAW}+U!BIicTO?&{g<84fWuQ3D@rm+`T05$C@qQ+25)E#z19k(xP ztbFLoW002`|NWngPPpC{n0=@#{RuU?@1O?D15{T&L-kC`w06JxsP}t&tb#*OC)|PR znM0@>JcYWTi>M3y6_aZI|3yX%gqO}XOpKZ)sZkdYf`c#*st4v{bKL0a@*aOVSXb0B{)PiytbtgZdF6a#Ej;_1-9;&Ba zpvFeBOg1ity3laUk8M$pW<08=7NZ8^4h*W|1Q|`YJE$L{uP_&8%xqV02mE!2fWG%)T=Umi@ub{q+ zo(0L|B@>#`&ryS|Xug1{jMY&q zXH zu(O~H)*x<)6>uS{3$J24+LtY9@3iXs0spVy9Z)^-602d-Qua|bMm@UW&M8=%cnLPu z{J%#=qr7TqJ6-Cbo@q2{UJpZ!_W7u1yar=*!Pt^GvaDSZ_n_Lp#G;s`oP8bF#~idD zi5kR9%Ln|Q_i-yQ|24{+lhGA_ft~O=>Q1Ux4EVo(TVfI7FHsBAIn); zc8ocWPgZs0T2J7Y0w{_jSOoeM60P%UWZW5Vk810)w}^yfuQzY?fH zRs(gSwwMh&qk3Wt>VhYr2H_W&0GDHST#pO!6zar%!|c1^6QpCzQqFHikg5}nCFSO} zW?&LbrWS7dlQ!CVSpM@b-=_cB_zmO#AJQUedzDgtix_@;`k!`MP2X-^IJRzbCGCPN zX#QwsX*PXG#i-oKPH||!Ofm0~=8`Xt`ze2)JOkYSPw}m3t8FmlZ?|jY`F8QQrsU(3 z=QoNOfJfhHr>~?Nj6YMs9YlMqr%*2n-ar2L9czcF{LW5lQ;qh^DDO@APEs^UpY2Vk zt4q1ISj0(4=UtqWd_T%}5^EeCAr&T7Wc>O6`z`YRpF_%W@S)^8(C`CxnoP<;elumW zN#jY{_-Wv8>8Ts&@_&%uPiaEp1FmcR^DnY)cZDywM_XmIBP^=}lJc;*@$;D3E{w80Ad?r$)Ei(U5R)_pS$`ZQ+ z?<4L)c{9pNlG0NCD{+k5=Uw=7ld0+ozS8_ZM{u3OQRLT>*9Ssc;?2Y_NFS0uBi5!b z-?v*_%C%j__pl%*jYX|m>;t#MJ9UQthG2dq zRpy}oxQeR8Ti$I%{t9KEv;VVqj!~1cZ%FTMVH{^51qofdDzSL}Z(LBCN?uInAo+yj4{-WC(S2~ApR16rX8OJCa#`; zdv=&eK_v?G)_S}BLd++D=}CPV)b<;xx1Y2BJMnXr^BLf8%h~r0xdx=KZIMY$*$wik zTs*)Xf0x_m!ypB12^zZ!*X}<=QC`8-C8gbc(oDB=GA?WgEzgraqRll-L)q`tcP37U zU5T@j4<}tE=Fd!KsM}vB37#a_L?$cNrSVrZxaJzP!>KNRj5hC6Kb3lIjVS-nX8r#) z#2m`^xVG<+=NrV|z96qxZvpn@&x7VA9*8aJh28G6L= z)sDC=YAZtdB+4J7zVXLnW{g8w7xLP6S^WRyO9{#ryI7PX&ZG6OI0vjq!4Gbyg1CbC zEa?sht50f0z67Z%ZL^Si(dK8$`MaXYMO=fVEf2o5Su>D&eNk)shWsMhPOzcrL|*@o zd!66^Js*OzX_SJBMpQ)LYtrW=ZNo_Qs2@UHn*0~!-)^T}z7ci$+|rhTvP(AW|GSp* zG8|VQDerDNze!8uR5a-54s@8ZhU7=8(rrcAIU{YpbSF^pNfKY#{_pw~Sem-_q!Xma z#Mw#T(w%I{6hGtSfEmLT_NZBc$;EwSbv9^!Z|8vNELO~x);wn_BZ5TVu)J_~|v8xLu zj!Ud9(s_@%{-kZxrF3Qd-Y|cWuGpq#By|sTEVp%$>i=3adPw?%{8Z9e^2ca+lf)ma z&3fXu8^5AVG$+VJT0-4R(gxDo?E}hF(B@kTrc*wj^uDWaM%e*(tmW8(6l_jqFLs(l zWf}_jwdHRaDU0uROp4Pf)faIE>dO*8u+98`5AtsT7catSQd_t03#Y1k>L0hwrF@gV z|0;5#7Oqh;ck<&j>h8)`lfOcFOWJ8Gf{Uqp?b@a%uOBgUiIYc6!@t z+e>OgoFNwdpV$?Srtma{Z?}|Wo|7g}|CI7It}Y)|rYs|ApDWXEfw$W$GGCIiaxuGH z{TSjtE?)qvkvfpl`G0?Pd)DEA+Fp=Gk@C}^vAgS8#LtM|ZlBWj6zONmMv)SbW)WX} z+W;>TN02&jjL(ScVLg2E&T)bZT#%QBGe~XR0rZPE0dYGQ?{ta?QWFj~jrxw5g7lp` z&P~d+jd7;8q4|XRmZaLWO;3tVV$=AyTYGkhBAbs2{gFspYGc z5@j*ODM{KsCay<57x@O*0?W9%5PMQnoi>#y->dh3W>-0d0&Sh$N%a3%tLpOkDQ`o* z7G;^pcVwSxYV5Xb)MatUQBiZ^#-yvREDQOuByEjJ9Y_a>zt@PY=_>9~IGm)dA3JV+ z=YXwfbAhyl)PRf7mWce{HtYY1W)SU5QCHK|k9PZ?q1`gt9YbwZNI#J;gu&;oa2^hz z;120JsW}I!j@m*kCber@hy!mXZKb>~Wq-Q*+?1Ul{)RX^`)4Dya2KytT8#ZwCFlX9z;tvD$mb$?R#0qwT=rK}C)pO8O9+TjkEo3ignwTZJ(UJ8FC z*7hm+a^&xlwv*a$%(Rr}A)oqRG9Cq|aWDnLX*}zf+FsU}=M~8GI~Jw$moGlQIY*Z%11_3?DxM4%NL>0Zyz(G$Bs-j!kShqRI^1$ zA-{2SL_}0bL`3wUei0E}W0LJjU-ADvL}>b)j6_X|CsjwWQfVv zDs@bnJz;78?;T>Y-^dsf*wb=z^`0{t#2nm_I&nzvX!ae}JF;hFzs=`&gyo2Nb|q8F zLA`tT3+Wa);J<4(XSg~b{;XIjy)^97CuBfmNY}_gk`iUUWxxkM6uJNw}9j zOH9uuiM__Nigxo{R}nmn8%UkebxxE^~*qwxns=wps$ygPRrys@e*#^73meO&rS8-=H=S<$7b(Y zh*xXY$P$6Hvqr=U#E;W|z`)K!w_Q8q?Tk08<3%suw&7R2M-lM`M)!>FJve$>uZn?^ G-hTlIg7=94 diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 705dc97c8..a9fa9a318 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-07 10:34+0100\n" +"POT-Creation-Date: 2023-11-14 16:23+0100\n" "PO-Revision-Date: 2023-11-07 10:36+0100\n" "Last-Translator: Anna Asbury \n" "Language-Team: \n" @@ -40,7 +40,7 @@ msgstr "https://fetc-gw.wp.hum.uu.nl/en/regulations-fetc-h/" #: main/templates/main/index.html:209 #: proposals/templates/proposals/study_consent.html:8 #: proposals/templates/proposals/translated_consent_forms.html:7 -#: proposals/utils/pdf_diff_logic.py:859 +#: proposals/utils/pdf_diff_logic.py:869 msgid "Informed consent formulieren" msgstr "Informed consent forms" @@ -111,6 +111,7 @@ msgstr "You can leave feedback on the FEtC-H portal here." #: proposals/templates/proposals/proposal_confirmation.html:36 #: proposals/templates/proposals/proposal_diff.html:58 #: proposals/templates/proposals/proposal_update_attachments.html:26 +#: proposals/templates/proposals/proposal_update_date_start.html:29 #: reviews/templates/reviews/change_chamber_form.html:19 #: reviews/templates/reviews/decision_form.html:90 #: reviews/templates/reviews/review_assign_form.html:46 @@ -239,8 +240,7 @@ msgstr "How many times a week will the intervention session take place?" #: interventions/templates/interventions/intervention_form.html:7 #: interventions/templates/interventions/intervention_form.html:49 -#: proposals/templates/proposals/proposal_pdf_empty.html:186 -#: proposals/utils/pdf_diff_logic.py:586 +#: proposals/utils/pdf_diff_logic.py:596 msgid "Het interventieonderzoek" msgstr "Intervention study" @@ -282,7 +282,7 @@ msgstr "Intervention saved" #: main/forms/conditional_form.py:11 main/forms/conditional_form.py:20 #: main/forms/conditional_form.py:29 main/forms/conditional_form.py:38 #: main/forms/conditional_form.py:48 main/forms/mixins.py:83 -#: proposals/forms.py:569 proposals/forms.py:633 proposals/forms.py:648 +#: proposals/forms.py:570 proposals/forms.py:643 proposals/forms.py:658 #: studies/forms.py:104 tasks/forms.py:87 msgid "Dit veld is verplicht." msgstr "This field is required." @@ -358,8 +358,7 @@ msgid "Gebruiksersnaam" msgstr "Username" #: main/templates/auth/user_detail.html:30 -#: proposals/templates/proposals/proposal_pdf.html:119 -#: proposals/templates/proposals/proposal_pdf_pre_approved.html:66 +#: proposals/templates/proposals/proposal_pdf.html:120 msgid "E-mail" msgstr "E-mail" @@ -397,7 +396,7 @@ msgstr "Phase" #: reviews/templates/reviews/committee_members_workload.html:26 #: reviews/templates/reviews/vue_templates/decision_list.html:153 #: reviews/templates/reviews/vue_templates/decision_list_reviewer.html:95 -#: reviews/templates/reviews/vue_templates/review_list.html:151 +#: reviews/templates/reviews/vue_templates/review_list.html:157 msgid "Datum ingediend" msgstr "Date submitted" @@ -405,7 +404,7 @@ msgstr "Date submitted" #: reviews/templates/reviews/committee_members_workload.html:27 #: reviews/templates/reviews/vue_templates/decision_list.html:163 #: reviews/templates/reviews/vue_templates/decision_list_reviewer.html:105 -#: reviews/templates/reviews/vue_templates/review_list.html:161 +#: reviews/templates/reviews/vue_templates/review_list.html:167 msgid "Gewenste einddatum" msgstr "Desired end date" @@ -417,7 +416,7 @@ msgstr "My decision" #: main/templates/auth/user_detail.html:58 reviews/api/views.py:332 #: reviews/models.py:57 #: reviews/templates/reviews/vue_templates/decision_list.html:133 -#: reviews/templates/reviews/vue_templates/review_list.html:131 +#: reviews/templates/reviews/vue_templates/review_list.html:137 msgid "Afhandeling" msgstr "Conclusion" @@ -426,7 +425,7 @@ msgstr "Conclusion" msgid "Acties" msgstr "Actions" -#: main/templates/auth/user_detail.html:75 reviews/models.py:135 +#: main/templates/auth/user_detail.html:75 reviews/models.py:139 msgid ", met revisie" msgstr ", with revision" @@ -468,7 +467,7 @@ msgstr "Website export text" #: proposals/templates/proposals/proposal_confirmation.html:25 #: reviews/templates/reviews/vue_templates/decision_list.html:95 #: reviews/templates/reviews/vue_templates/review_list.html:88 -#: reviews/utils/review_actions.py:244 +#: reviews/utils/review_actions.py:245 msgid "Bevestigingsbrief versturen" msgstr "Send confirmation letter" @@ -537,27 +536,27 @@ msgid "Maak een amendement van een al goedgekeurde aanvraag" msgstr "Create an amendment to an already approved application" #: main/templates/base/menu.html:32 proposals/menus.py:56 -#: proposals/views/proposal_views.py:77 +#: proposals/views/proposal_views.py:78 msgid "Mijn conceptaanvragen" msgstr "My draft applications" #: main/templates/base/menu.html:35 proposals/menus.py:60 -#: proposals/views/proposal_views.py:127 +#: proposals/views/proposal_views.py:128 msgid "Mijn oefenaanvragen" msgstr "My practice applications" #: main/templates/base/menu.html:38 proposals/menus.py:64 -#: proposals/views/proposal_views.py:89 +#: proposals/views/proposal_views.py:90 msgid "Mijn ingediende aanvragen" msgstr "My submitted applications" #: main/templates/base/menu.html:41 proposals/menus.py:68 -#: proposals/views/proposal_views.py:101 +#: proposals/views/proposal_views.py:102 msgid "Mijn afgehandelde aanvragen" msgstr "My processed applications" #: main/templates/base/menu.html:44 proposals/menus.py:72 -#: proposals/views/proposal_views.py:113 +#: proposals/views/proposal_views.py:114 msgid "Mijn aanvragen als eindverantwoordelijke" msgstr "My supervised applications" @@ -566,7 +565,7 @@ msgid "Al mijn aanvragen" msgstr "All my applications" #: main/templates/base/menu.html:52 proposals/menus.py:110 -#: proposals/views/proposal_views.py:154 +#: proposals/views/proposal_views.py:155 msgid "Archief" msgstr "Archive" @@ -1154,7 +1153,7 @@ msgid "" msgstr "As might happen on forums where the researcher also has an account." #: observations/models.py:65 observations/models.py:75 -#: observations/models.py:88 proposals/models.py:747 studies/models.py:172 +#: observations/models.py:88 proposals/models.py:737 studies/models.py:172 #: studies/models.py:228 studies/models.py:358 msgid "Licht toe" msgstr "Explain" @@ -1238,8 +1237,7 @@ msgstr "How many hours of observation will take place on average per day?" #: observations/templates/observations/observation_form.html:7 #: observations/templates/observations/observation_form.html:44 -#: proposals/templates/proposals/proposal_pdf_empty.html:229 -#: proposals/utils/pdf_diff_logic.py:642 +#: proposals/utils/pdf_diff_logic.py:652 msgid "Het observatieonderzoek" msgstr "Observational study" @@ -1265,6 +1263,7 @@ msgstr "Recording behaviour" #: proposals/templates/proposals/proposal_update_attachments.html:7 #: proposals/templates/proposals/proposal_update_attachments.html:14 #: proposals/templates/proposals/proposal_update_attachments.html:25 +#: proposals/templates/proposals/proposal_update_date_start.html:7 #: studies/templates/studies/study_update_attachments.html:7 #: studies/templates/studies/study_update_attachments.html:14 #: studies/templates/studies/study_update_attachments.html:25 @@ -1307,7 +1306,7 @@ msgstr "Last edited" msgid "Datum ingediend bij eindverantwoordelijke" msgstr "Date sent to supervisor" -#: proposals/forms.py:42 proposals/models.py:221 +#: proposals/forms.py:43 proposals/models.py:221 msgid "" "Zijn er nog andere onderzoekers bij deze aanvraag betrokken die " "niet geaffilieerd zijn aan een van de onderzoeksinstituten " @@ -1316,19 +1315,19 @@ msgstr "" "Are there any other researchers involved outside the above-" "mentioned institutes? " -#: proposals/forms.py:63 proposals/forms.py:279 proposals/validators.py:25 +#: proposals/forms.py:64 proposals/forms.py:280 proposals/validators.py:25 msgid "Er bestaat al een aanvraag met deze titel." msgstr "There is an existing application with this title." -#: proposals/forms.py:133 +#: proposals/forms.py:134 msgid "Selecteer..." msgstr "Select..." -#: proposals/forms.py:140 +#: proposals/forms.py:141 msgid "Docent" msgstr "Professor" -#: proposals/forms.py:141 +#: proposals/forms.py:142 msgid "" "Vul hier de docent van de cursus in waarbinnen je deze portal moet " "doorlopen. De docent kan na afloop de aanvraag inkijken in de portal. De " @@ -1339,23 +1338,23 @@ msgstr "" "This application will not be published in the semipublic archive of the FEtC-" "H." -#: proposals/forms.py:192 +#: proposals/forms.py:193 msgid "Je dient een promotor/begeleider op te geven." msgstr "You are required to specify a promotor/supervisor." -#: proposals/forms.py:199 +#: proposals/forms.py:200 msgid "Je kunt niet jezelf als promotor/begeleider opgeven." msgstr "You cannot submit yourself as the promotor/supervisor." -#: proposals/forms.py:213 +#: proposals/forms.py:214 msgid "Je hebt jezelf niet als onderzoekers geselecteerd." msgstr "You have not selected yourself." -#: proposals/forms.py:218 +#: proposals/forms.py:219 msgid "Je hebt geen andere onderzoekers geselecteerd." msgstr "You have not selected any other researchers." -#: proposals/forms.py:228 +#: proposals/forms.py:229 msgid "" "Dit veld is verplicht, maar je kunt later terugkomen om " "hem verder in te vullen." @@ -1363,7 +1362,7 @@ msgstr "" "This field is required, but you may choose to come back to this page later " "to fill it in." -#: proposals/forms.py:238 +#: proposals/forms.py:239 msgid "" "Indien je geen toestemming hebt van een andere ethische commissie, dien je " "het normale formulier in te vullen. Ga terug naar de startpagina, en " @@ -1376,23 +1375,23 @@ msgstr "" "page, and select \"Submit a new application that is completely new in this " "portal\" or \"from a copy of an old application.\"" -#: proposals/forms.py:265 +#: proposals/forms.py:266 msgid "Ik maak een oefenaanvraag aan" msgstr "I am creating a practice application" -#: proposals/forms.py:285 proposals/models.py:538 +#: proposals/forms.py:286 proposals/models.py:538 msgid "Te kopiëren aanvraag" msgstr "Application to be copied" -#: proposals/forms.py:287 proposals/models.py:540 +#: proposals/forms.py:288 proposals/models.py:540 msgid "Dit veld toont enkel aanvragen waar je zelf een medeuitvoerende bent." msgstr "This field shows only applications in which you are involved." -#: proposals/forms.py:327 proposals/forms.py:362 +#: proposals/forms.py:328 proposals/forms.py:363 msgid "Je kan de titel van je aanvraag nu, indien nodig, wijzigen." msgstr "You can, if necessary, change the title of your application here." -#: proposals/forms.py:329 proposals/forms.py:364 +#: proposals/forms.py:330 proposals/forms.py:365 msgid "" "De titel die je hier opgeeft is zichtbaar voor de FETC-GW-leden en, wanneer " "de aanvraag is goedgekeurd, ook voor alle medewerkers die in het archief van " @@ -1402,11 +1401,11 @@ msgstr "" "application is approved, also to employees viewing the archive of this " "portal." -#: proposals/forms.py:336 +#: proposals/forms.py:337 msgid "Te reviseren aanvraag" msgstr "Application to be revised" -#: proposals/forms.py:337 +#: proposals/forms.py:338 msgid "" "Dit veld toont enkel ingediende, (nog) niet goedgekeurde aanvragen waar jij " "een medeuitvoerende bent." @@ -1414,69 +1413,69 @@ msgstr "" "This field only shows submitted applications that have not been approved " "(yet) in which you are involved." -#: proposals/forms.py:371 +#: proposals/forms.py:372 msgid "Te amenderen aanvraag" msgstr "Application to be amended" -#: proposals/forms.py:372 +#: proposals/forms.py:373 msgid "" "Dit veld toont enkel goedgekeurde aanvragen waar je zelf een medeuitvoerende " "bent." msgstr "This field shows only approved applications in which you are involved." -#: proposals/forms.py:427 proposals/forms.py:557 proposals/forms.py:681 +#: proposals/forms.py:428 proposals/forms.py:558 proposals/forms.py:691 msgid "Dit veld is verplicht om verder te gaan." msgstr "This field is required to continue." -#: proposals/forms.py:435 +#: proposals/forms.py:436 msgid "Je dient een instelling op te geven." msgstr "You are required to specify an institution." -#: proposals/forms.py:493 +#: proposals/forms.py:494 msgid "In dit geval is een beslissing van een METC vereist" msgstr "In this case, a decision by a METC is required" -#: proposals/forms.py:501 +#: proposals/forms.py:502 msgid "Naam traject 1" msgstr "Title of trajectory 1" -#: proposals/forms.py:503 +#: proposals/forms.py:504 msgid "Naam traject 2" msgstr "Title of trajectory 2" -#: proposals/forms.py:505 +#: proposals/forms.py:506 msgid "Naam traject 3" msgstr "Title of trajectory 3" -#: proposals/forms.py:507 +#: proposals/forms.py:508 msgid "Naam traject 4" msgstr "Title of trajectory 4" -#: proposals/forms.py:509 +#: proposals/forms.py:510 msgid "Naam traject 5" msgstr "Title of trajectory 5" -#: proposals/forms.py:511 +#: proposals/forms.py:512 msgid "Naam traject 6" msgstr "Title of trajectory 6" -#: proposals/forms.py:513 +#: proposals/forms.py:514 msgid "Naam traject 7" msgstr "Title of trajectory 7" -#: proposals/forms.py:515 +#: proposals/forms.py:516 msgid "Naam traject 8" msgstr "Title of trajectory 8" -#: proposals/forms.py:517 +#: proposals/forms.py:518 msgid "Naam traject 9" msgstr "Title of trajectory 9" -#: proposals/forms.py:519 +#: proposals/forms.py:520 msgid "Naam traject 10" msgstr "Title of trajectory 10" -#: proposals/forms.py:563 +#: proposals/forms.py:564 msgid "" "Als niet dezelfde trajecten worden doorlopen, moeten er minstens twee " "verschillende trajecten zijn." @@ -1484,15 +1483,19 @@ msgstr "" "If different trajectories are used, at least two different trajectories " "should be filled in." -#: proposals/forms.py:640 +#: proposals/forms.py:588 +msgid "Nieuwe beoogde startdatum" +msgstr "New intended start date" + +#: proposals/forms.py:650 msgid "Toestemmingsverklaring voor traject {} nog niet toegevoegd." msgstr "Declaration of consent for trajectory {} not yet added." -#: proposals/forms.py:644 +#: proposals/forms.py:654 msgid "Informatiebrief voor traject {} nog niet toegevoegd." msgstr "Information letter for trajectory {} not yet added." -#: proposals/forms.py:656 +#: proposals/forms.py:666 msgid "" "De embargo-periode kan maximaal 2 jaar zijn. Kies een datum binnen 2 jaar " "van vandaag." @@ -1500,7 +1503,7 @@ msgstr "" "The embargo-period can last a maximum of 2 years. Pick a date within 2 years " "from today." -#: proposals/forms.py:687 +#: proposals/forms.py:697 msgid "Vul in in welke talen de formulieren worden vertaald." msgstr "Please fill in the languages" @@ -1788,8 +1791,8 @@ msgstr "" "include it here. Supplying a DMP can expedite ethical assessment of " "proposals." -#: proposals/models.py:422 proposals/utils/pdf_diff_logic.py:980 -#: reviews/models.py:184 +#: proposals/models.py:422 proposals/utils/pdf_diff_logic.py:990 +#: reviews/models.py:188 msgid "Ruimte voor eventuele opmerkingen" msgstr "Space for possible comments" @@ -1923,19 +1926,19 @@ msgstr "Practice" msgid "Extern getoetst" msgstr "External approval" -#: proposals/models.py:732 +#: proposals/models.py:722 msgid "Geen beoordeling door METC noodzakelijk" msgstr "Assessment by METC not required" -#: proposals/models.py:733 +#: proposals/models.py:723 msgid "In afwachting beslissing METC" msgstr "Pending decision by METC" -#: proposals/models.py:734 +#: proposals/models.py:724 msgid "Beslissing METC geüpload" msgstr "METC decision uploaded" -#: proposals/models.py:738 +#: proposals/models.py:728 msgid "" "Vindt de dataverzameling plaats binnen het UMC Utrecht of andere instelling " "waar toetsing door een METC verplicht is gesteld?" @@ -1943,11 +1946,11 @@ msgstr "" "Will the data collection take place at the UMC Utrecht or another " "institution for which an assessment by a METC is required?" -#: proposals/models.py:752 +#: proposals/models.py:742 msgid "Welke instelling?" msgstr "Which institution?" -#: proposals/models.py:758 +#: proposals/models.py:748 msgid "" "Is de onderzoeksvraag medisch-wetenschappelijk van aard (zoals gedefinieerd " "door de WMO)?" @@ -1955,7 +1958,7 @@ msgstr "" "Is the nature of the research question medical (as defined by the Medical " "Research Involving Human Subjects Act (WMO))?" -#: proposals/models.py:760 +#: proposals/models.py:750 msgid "" "De definitie van medisch-wetenschappelijk onderzoek is: Medisch-" "wetenschappelijk onderzoek is onderzoek dat als doel heeft het beantwoorden " @@ -1976,7 +1979,7 @@ msgstr "" "Committee on Research Involving Human Subjects, Definition of medical " "research, 2005, ccmo.nl)" -#: proposals/models.py:776 +#: proposals/models.py:766 msgid "" "Je onderzoek moet beoordeeld worden door een METC, maar dient nog wel bij de " "FETC-GW te worden geregistreerd. Is dit onderzoek al aangemeld bij een METC?" @@ -1985,15 +1988,15 @@ msgstr "" "registered with the FEtC-H. Has an application for this project already been " "submitted to an METC?" -#: proposals/models.py:783 +#: proposals/models.py:773 msgid "Is de METC al tot een beslissing gekomen?" msgstr "Has the METC already come to a decision?" -#: proposals/models.py:788 +#: proposals/models.py:778 msgid "Upload hier de beslissing van het METC (in .pdf of .doc(x)-formaat)" msgstr "Please upload the decision of METC (in .pdf or .doc(x)-format) here" -#: proposals/models.py:826 +#: proposals/models.py:816 #, python-brace-format msgid "WMO {title}, status {status}" msgstr "WMO {title}, status {status}" @@ -2222,7 +2225,7 @@ msgstr "" "follow with regard to data." #: proposals/templates/proposals/proposal_data_management.html:24 -#: proposals/utils/pdf_diff_logic.py:954 +#: proposals/utils/pdf_diff_logic.py:964 #: reviews/templatetags/documents_list.py:245 msgid "Data Management Plan" msgstr "Data Management Plan" @@ -2371,9 +2374,6 @@ msgstr "" #: proposals/templates/proposals/proposal_form.html:76 #: proposals/templates/proposals/proposal_form_pre_approved.html:7 #: proposals/templates/proposals/proposal_form_pre_approved.html:81 -#: proposals/templates/proposals/proposal_pdf_empty.html:60 -#: proposals/templates/proposals/proposal_pdf_pre_approved.html:69 -#: proposals/templates/proposals/proposal_pdf_pre_assessment.html:59 #: proposals/utils/pdf_diff_logic.py:419 proposals/utils/proposal_utils.py:40 #: proposals/utils/proposal_utils.py:55 proposals/utils/validate_proposal.py:33 #: proposals/utils/validate_proposal.py:43 @@ -2516,7 +2516,6 @@ msgstr "" "the archive." #: proposals/templates/proposals/proposal_pdf.html:87 -#, python-format msgid "" "FETC-GW - %(title)s (referentienummer %(reference_number)s, " "ingediend door %(submitter)s)" @@ -2524,196 +2523,29 @@ msgstr "" "FEtC-H - %(title)s (reference number %(reference_number)s, " "submitted by %(submitter)s)" -#: proposals/templates/proposals/proposal_pdf.html:93 +#: proposals/templates/proposals/proposal_pdf.html:94 #, python-format msgid "%(type)s van referentienummer %(reference_number)s" msgstr "%(type)s of reference number %(reference_number)s" -#: proposals/templates/proposals/proposal_pdf.html:109 +#: proposals/templates/proposals/proposal_pdf.html:110 #, python-format msgid "Referentienummer %(reference_number)s" msgstr "Reference number %(reference_number)s" -#: proposals/templates/proposals/proposal_pdf.html:113 +#: proposals/templates/proposals/proposal_pdf.html:114 msgid "Huidige staat van de aanvraag" msgstr "Current state of the application" -#: proposals/templates/proposals/proposal_pdf.html:116 -#: proposals/templates/proposals/proposal_pdf_pre_approved.html:60 +#: proposals/templates/proposals/proposal_pdf.html:117 msgid "Indiener" msgstr "Applicant" -#: proposals/templates/proposals/proposal_pdf.html:118 -#: proposals/templates/proposals/proposal_pdf_pre_approved.html:63 +#: proposals/templates/proposals/proposal_pdf.html:119 #: tasks/templates/tasks/task_list.html:7 msgid "Naam" msgstr "Name" -#: proposals/templates/proposals/proposal_pdf_empty.html:42 -msgid "" -"\n" -" FETC-GW - naam aanvraag (referentienummer referentienummer)\n" -" " -msgstr "" -"\n" -" FEtC-H - application name (reference number reference " -"number)\n" -" " - -#: proposals/templates/proposals/proposal_pdf_empty.html:56 -msgid "" -"\n" -" Referentienummer referentienummer\n" -" " -msgstr "" -"\n" -" Reference number reference number\n" -" " - -#: proposals/templates/proposals/proposal_pdf_empty.html:104 -#: proposals/templates/proposals/proposal_pdf_pre_assessment.html:110 -#: proposals/templates/proposals/wmo_form.html:7 -#: proposals/templates/proposals/wmo_form.html:30 -#: proposals/utils/pdf_diff_logic.py:478 -msgid "" -"Ethische toetsing nodig door een Medische Ethische Toetsingscommissie (METC)?" -msgstr "" -"Ethical assessment by a Medical Ethical Testing Committee (METC) required?" - -#: proposals/templates/proposals/proposal_pdf_empty.html:120 -#: proposals/templates/proposals/wmo_application.html:7 -#: proposals/templates/proposals/wmo_application.html:27 -#: proposals/utils/pdf_diff_logic.py:503 -msgid "Aanmelding bij de METC" -msgstr "Registration with the METC" - -#: proposals/templates/proposals/proposal_pdf_empty.html:134 -#: proposals/templates/proposals/study_start.html:7 -#: proposals/templates/proposals/study_start.html:64 -#: proposals/utils/pdf_diff_logic.py:511 -#: proposals/utils/validate_proposal.py:87 -msgid "Eén of meerdere trajecten?" -msgstr "One or more trajectories?" - -#: proposals/templates/proposals/proposal_pdf_empty.html:145 -#: proposals/utils/pdf_diff_logic.py:529 -#: studies/templates/studies/study_form.html:7 -#: studies/templates/studies/study_form.html:82 -msgid "De deelnemers" -msgstr "Participants" - -#: proposals/templates/proposals/proposal_pdf_empty.html:279 -#: proposals/utils/pdf_diff_logic.py:733 -#: studies/templates/studies/session_start.html:7 -#: studies/templates/studies/session_start.html:17 -#: tasks/templates/tasks/task_form.html:7 -#: tasks/templates/tasks/task_form.html:30 -#: tasks/templates/tasks/task_start.html:7 -#: tasks/templates/tasks/task_start.html:28 -msgid "Het takenonderzoek en interviews" -msgstr "Task-based research and interviews" - -#: proposals/templates/proposals/proposal_pdf_empty.html:286 -#: proposals/templates/proposals/proposal_start.html:62 -#: proposals/templates/proposals/proposal_start_practice.html:63 -#: proposals/templates/proposals/study_start.html:81 -msgid "Sessie" -msgstr "Session" - -#: proposals/templates/proposals/proposal_pdf_empty.html:304 -#: proposals/templates/proposals/proposal_start.html:69 -#: proposals/templates/proposals/proposal_start_practice.html:70 -#: proposals/templates/proposals/study_start.html:88 -msgid "Taak" -msgstr "Task" - -#: proposals/templates/proposals/proposal_pdf_empty.html:335 -#: proposals/utils/pdf_diff_logic.py:308 tasks/templates/tasks/task_end.html:7 -#: tasks/templates/tasks/task_end.html:18 -msgid "Overzicht van het takenonderzoek" -msgstr "Overview of task-based research" - -#: proposals/templates/proposals/proposal_pdf_empty.html:343 -#: proposals/utils/pdf_diff_logic.py:821 -#: studies/templates/studies/study_end.html:7 -#: studies/templates/studies/study_end.html:28 -msgid "Overzicht en eigen beoordeling van het gehele onderzoek" -msgstr "Overview and self-assessment of the entire study" - -#: proposals/templates/proposals/proposal_pdf_empty.html:372 -msgid "Informed consent formulieren voor het onderzoek" -msgstr "Informed consent forms for the study" - -#: proposals/templates/proposals/proposal_pdf_empty.html:389 -#: proposals/templates/proposals/proposal_pdf_pre_approved.html:150 -#: proposals/templates/proposals/proposal_submit.html:181 -#: proposals/utils/pdf_diff_logic.py:962 -msgid "Aanmelding versturen" -msgstr "Submit application" - -#: proposals/templates/proposals/proposal_pdf_pre_approved.html:42 -#, python-format -msgid "" -"\n" -" FETC-GW - Aanvraag elders al goedgekeurde aanvraag %(title)s " -"(referentienummer %(reference_number)s, ingediend door %(submitter)s)\n" -" " -msgstr "" -"\n" -" FEtC-H - Application for preapproved assessment %(title)s " -"(reference number %(reference_number)s, submitted by %(submitter)s)\n" -" " - -#: proposals/templates/proposals/proposal_pdf_pre_approved.html:56 -#: proposals/templates/proposals/proposal_pdf_pre_assessment.html:55 -#, python-format -msgid "" -"\n" -" Referentienummer %(reference_number)s\n" -" " -msgstr "" -"\n" -" Reference number %(reference_number)s\n" -" " - -#: proposals/templates/proposals/proposal_pdf_pre_approved.html:92 -#: proposals/templates/proposals/proposal_pdf_pre_approved.html:109 -#: proposals/templates/proposals/proposal_pdf_pre_assessment.html:75 -#: proposals/templates/proposals/proposal_pdf_pre_assessment.html:91 -#: tasks/templates/tasks/task_list.html:21 -msgid "ja,nee" -msgstr "yes,no" - -#: proposals/templates/proposals/proposal_pdf_pre_approved.html:119 -#: proposals/templates/proposals/proposal_pdf_pre_assessment.html:99 -msgid "onbekend" -msgstr "unknown" - -#: proposals/templates/proposals/proposal_pdf_pre_approved.html:143 -#: proposals/templates/proposals/proposal_pdf_pre_assessment.html:105 -#: proposals/utils/pdf_diff_logic.py:281 -msgid "Download" -msgstr "Download" - -#: proposals/templates/proposals/proposal_pdf_pre_assessment.html:41 -#, python-format -msgid "" -"\n" -" FETC-GW - Aanvraag voor voortoetsing %(title)s " -"(referentienummer %(reference_number)s, ingediend door %(submitter)s)\n" -" " -msgstr "" -"\n" -" FEtC-H - Application for preliminary assessment %(title)s " -"(reference number %(reference_number)s, submitted by %(submitter)s)\n" -" " - -#: proposals/templates/proposals/proposal_pdf_pre_assessment.html:130 -#: proposals/templates/proposals/proposal_submit.html:175 -msgid "Aanvraag voor voortoetsing versturen" -msgstr "Submit application for preliminary assessment" - #: proposals/templates/proposals/proposal_public_archive.html:8 #: proposals/templates/proposals/proposal_public_archive.html:14 msgid "Goedgekeurde aanvragen" @@ -2828,6 +2660,12 @@ msgstr "" "For example: parents of children up to 15 years of age, teachers, or " "an experimental and control group that receive significantly different tasks." +#: proposals/templates/proposals/proposal_start.html:62 +#: proposals/templates/proposals/proposal_start_practice.html:63 +#: proposals/templates/proposals/study_start.html:81 +msgid "Sessie" +msgstr "Session" + #: proposals/templates/proposals/proposal_start.html:63 #: proposals/templates/proposals/proposal_start_practice.html:64 #: proposals/templates/proposals/study_start.html:82 @@ -2835,6 +2673,12 @@ msgid "Alle taken/onderdelen die iemand op één dag uitvoert." msgstr "" "All tasks or procedures that a participant completes in a day combined. " +#: proposals/templates/proposals/proposal_start.html:69 +#: proposals/templates/proposals/proposal_start_practice.html:70 +#: proposals/templates/proposals/study_start.html:88 +msgid "Taak" +msgstr "Task" + #: proposals/templates/proposals/proposal_start.html:70 #: proposals/templates/proposals/proposal_start_practice.html:71 #: proposals/templates/proposals/study_start.html:89 @@ -3103,6 +2947,10 @@ msgstr "" "The intended start date can be edited on this " "page." +#: proposals/templates/proposals/proposal_submit.html:175 +msgid "Aanvraag voor voortoetsing versturen" +msgstr "Submit application for preliminary assessment" + #: proposals/templates/proposals/proposal_submit.html:177 msgid "Terug naar beoordeling >>" msgstr "Back to review >>" @@ -3111,6 +2959,11 @@ msgstr "Back to review >>" msgid "Concept-aanmelding versturen" msgstr "Submit draft application" +#: proposals/templates/proposals/proposal_submit.html:181 +#: proposals/utils/pdf_diff_logic.py:972 +msgid "Aanmelding versturen" +msgstr "Submit application" + #: proposals/templates/proposals/proposal_submitted.html:8 #: proposals/templates/proposals/proposal_submitted.html:22 msgid "Aanvraag voor voortoetsing verstuurd" @@ -3160,6 +3013,26 @@ msgstr "" "On this page you can edit the forms related to the proposal " "%(title)s(reference number %(ref_number)s)" +#: proposals/templates/proposals/proposal_update_date_start.html:14 +#: proposals/templates/proposals/proposal_update_date_start.html:28 +msgid "Startdatum aanpassen" +msgstr "Edit start date" + +#: proposals/templates/proposals/proposal_update_date_start.html:17 +#, python-format +msgid "" +"Op deze pagina kan de startdatum worden aangepast van de aanvraag %(title)s " +"(referentienummer %(ref_number)s). Let op! Als de review al " +"is afgerond, wordt de nieuwe startdatum niet automatisch weergegeven in de " +"PDF. Mocht je de PDF opnieuw willen genereren, neem hierover dan contact op " +"met" +msgstr "" +"On this page, the start date of proposal %(title)s (reference number " +"%(ref_number)s) can be edited. Note! If the review has " +"already been concluded, the new start date will not be displayed in the PDF. " +"If you would like the PDF to be generated with the new start date, please " +"reach out to " + #: proposals/templates/proposals/study_consent.html:27 msgid "Toestemmingsverklaring van de schoolleider/hoofd van het departement" msgstr "Informed consent school director/ head of the institution" @@ -3233,6 +3106,13 @@ msgstr "Add additional forms" msgid "Extra formulieren" msgstr "Additional forms" +#: proposals/templates/proposals/study_start.html:7 +#: proposals/templates/proposals/study_start.html:64 +#: proposals/utils/pdf_diff_logic.py:521 +#: proposals/utils/validate_proposal.py:87 +msgid "Eén of meerdere trajecten?" +msgstr "One or more trajectories?" + #: proposals/templates/proposals/study_start.html:13 msgid "" "Geef elk traject hieronder een behulpzame naam van maximaal 15 karakters." @@ -3323,7 +3203,7 @@ msgstr "Route:" #: proposals/templates/proposals/vue_templates/proposal_list.html:187 #: reviews/templates/reviews/vue_templates/decision_list.html:185 #: reviews/templates/reviews/vue_templates/decision_list_reviewer.html:128 -#: reviews/templates/reviews/vue_templates/review_list.html:184 +#: reviews/templates/reviews/vue_templates/review_list.html:190 msgid "Indieners" msgstr "Applicants" @@ -3344,10 +3224,16 @@ msgstr "Hide" #: proposals/templates/proposals/vue_templates/proposal_list.html:139 #: reviews/templates/reviews/vue_templates/decision_list.html:141 #: reviews/templates/reviews/vue_templates/decision_list_reviewer.html:83 -#: reviews/templates/reviews/vue_templates/review_list.html:139 +#: reviews/templates/reviews/vue_templates/review_list.html:145 msgid "Revisie/amendement van" msgstr "Revision/amendment of" +#: proposals/templates/proposals/wmo_application.html:7 +#: proposals/templates/proposals/wmo_application.html:27 +#: proposals/utils/pdf_diff_logic.py:513 +msgid "Aanmelding bij de METC" +msgstr "Registration with the METC" + #: proposals/templates/proposals/wmo_application.html:33 msgid "" "Zolang je aanvraag nog niet is beoordeeld door de METC, kan je niet verder " @@ -3365,6 +3251,14 @@ msgstr "WMO check" msgid "Opnieuw beginnen" msgstr "Start again" +#: proposals/templates/proposals/wmo_form.html:7 +#: proposals/templates/proposals/wmo_form.html:30 +#: proposals/utils/pdf_diff_logic.py:488 +msgid "" +"Ethische toetsing nodig door een Medische Ethische Toetsingscommissie (METC)?" +msgstr "" +"Ethical assessment by a Medical Ethical Testing Committee (METC) required?" + #: proposals/utils/pdf_diff_logic.py:93 msgid "" "Dit onderdeel is nieuw in de revisie en bestond niet in de originele " @@ -3380,14 +3274,23 @@ msgstr "" "This section was present in the original application, but was removed for " "the revision." -#: proposals/utils/pdf_diff_logic.py:238 reviews/models.py:126 +#: proposals/utils/pdf_diff_logic.py:238 reviews/models.py:130 msgid "Onbekend" msgstr "Unknown" +#: proposals/utils/pdf_diff_logic.py:281 +msgid "Download" +msgstr "Download" + #: proposals/utils/pdf_diff_logic.py:284 msgid "Niet aangeleverd" msgstr "Not provided" +#: proposals/utils/pdf_diff_logic.py:308 tasks/templates/tasks/task_end.html:7 +#: tasks/templates/tasks/task_end.html:18 +msgid "Overzicht van het takenonderzoek" +msgstr "Overview of task-based research" + #: proposals/utils/pdf_diff_logic.py:321 proposals/utils/pdf_diff_logic.py:348 #: proposals/utils/pdf_diff_logic.py:357 proposals/utils/pdf_diff_logic.py:381 msgid "Traject " @@ -3405,7 +3308,29 @@ msgstr "Session " msgid ", taak " msgstr ", task " -#: proposals/utils/pdf_diff_logic.py:930 +#: proposals/utils/pdf_diff_logic.py:539 +#: studies/templates/studies/study_form.html:7 +#: studies/templates/studies/study_form.html:82 +msgid "De deelnemers" +msgstr "Participants" + +#: proposals/utils/pdf_diff_logic.py:743 +#: studies/templates/studies/session_start.html:7 +#: studies/templates/studies/session_start.html:17 +#: tasks/templates/tasks/task_form.html:7 +#: tasks/templates/tasks/task_form.html:30 +#: tasks/templates/tasks/task_start.html:7 +#: tasks/templates/tasks/task_start.html:28 +msgid "Het takenonderzoek en interviews" +msgstr "Task-based research and interviews" + +#: proposals/utils/pdf_diff_logic.py:831 +#: studies/templates/studies/study_end.html:7 +#: studies/templates/studies/study_end.html:28 +msgid "Overzicht en eigen beoordeling van het gehele onderzoek" +msgstr "Overview and self-assessment of the entire study" + +#: proposals/utils/pdf_diff_logic.py:940 msgid "Extra formulieren " msgstr "Additional forms " @@ -3495,40 +3420,40 @@ msgstr "" "You must confirm your understanding of the AVG before you can submit your " "application." -#: proposals/views/proposal_views.py:44 +#: proposals/views/proposal_views.py:45 msgid "Publiek archief" msgstr "Public archive" -#: proposals/views/proposal_views.py:45 +#: proposals/views/proposal_views.py:46 msgid "Dit overzicht toont alle goedgekeurde aanvragen." msgstr "This overview shows all approved applications." -#: proposals/views/proposal_views.py:64 +#: proposals/views/proposal_views.py:65 msgid "Mijn aanvraag" msgstr "My application" -#: proposals/views/proposal_views.py:65 +#: proposals/views/proposal_views.py:66 msgid "Dit overzicht toont al je aanvragen." msgstr "This overview shows all your applications." -#: proposals/views/proposal_views.py:78 +#: proposals/views/proposal_views.py:79 msgid "Dit overzicht toont al je nog niet ingediende aanvragen." msgstr "This overview shows all the applications you have not yet submitted." -#: proposals/views/proposal_views.py:90 +#: proposals/views/proposal_views.py:91 msgid "Dit overzicht toont al je ingediende aanvragen." msgstr "This overview shows all the applications you have submitted." -#: proposals/views/proposal_views.py:102 +#: proposals/views/proposal_views.py:103 msgid "Dit overzicht toont al je beoordeelde aanvragen." msgstr "This overview shows all your applications that have been assessed." -#: proposals/views/proposal_views.py:115 +#: proposals/views/proposal_views.py:116 msgid "" "Dit overzicht toont alle aanvragen waarvan je eindverantwoordelijke bent." msgstr "This overview shows all your supervised applications." -#: proposals/views/proposal_views.py:128 +#: proposals/views/proposal_views.py:129 msgid "" "Dit overzicht toont alle oefenaanvragen waar je als student, onderzoeker of " "eindverantwoordelijke bij betrokken bent." @@ -3536,15 +3461,15 @@ msgstr "" "This overview shows all practice applications in which you are involved as a " "student, researcher or accountable researcher." -#: proposals/views/proposal_views.py:247 +#: proposals/views/proposal_views.py:248 msgid "Aanvraag verwijderd" msgstr "Application deleted" -#: proposals/views/proposal_views.py:385 +#: proposals/views/proposal_views.py:398 msgid "Wijzigingen opgeslagen" msgstr "Changes saved" -#: proposals/views/proposal_views.py:486 +#: proposals/views/proposal_views.py:499 msgid "Aanvraag gekopieerd" msgstr "Application copied" @@ -3585,7 +3510,7 @@ msgstr "Stage" #: reviews/api/views.py:35 reviews/api/views.py:324 reviews/models.py:45 #: reviews/templates/reviews/vue_templates/decision_list.html:178 #: reviews/templates/reviews/vue_templates/decision_list_reviewer.html:121 -#: reviews/templates/reviews/vue_templates/review_list.html:177 +#: reviews/templates/reviews/vue_templates/review_list.html:183 msgid "Route" msgstr "Route" @@ -3593,11 +3518,11 @@ msgstr "Route" msgid "Start datum" msgstr "Start date review" -#: reviews/forms.py:14 reviews/models.py:142 +#: reviews/forms.py:14 reviews/models.py:146 msgid "korte (2-weken) route" msgstr "short (2-week) route" -#: reviews/forms.py:15 reviews/models.py:141 +#: reviews/forms.py:15 reviews/models.py:145 msgid "lange (4-weken) route" msgstr "long (4-week) route" @@ -3697,24 +3622,24 @@ msgstr "Post hoc negative advice by FETC-H" msgid "Niet verder in behandeling genomen" msgstr "Not to be assessed further" -#: reviews/models.py:51 reviews/models.py:178 +#: reviews/models.py:51 reviews/models.py:182 #: reviews/templates/reviews/review_table.html:9 msgid "Beslissing" msgstr "Decision" -#: reviews/models.py:143 +#: reviews/models.py:147 msgid "nog geen route" msgstr "no route assigned" -#: reviews/models.py:172 +#: reviews/models.py:176 msgid "goedgekeurd" msgstr "endorsed" -#: reviews/models.py:173 +#: reviews/models.py:177 msgid "niet goedgekeurd" msgstr "not endorsed" -#: reviews/models.py:174 +#: reviews/models.py:178 msgid "revisie noodzakelijk" msgstr "revision necessary" @@ -4314,7 +4239,7 @@ msgid "Verplaats naar andere kamer" msgstr "Move study to different reviewing chamber" #: reviews/templates/reviews/vue_templates/review_list.html:95 -#: reviews/utils/review_actions.py:281 +#: reviews/utils/review_actions.py:282 msgid "Verberg aanvraag uit het archief" msgstr "Remove this application from the archive" @@ -4322,6 +4247,10 @@ msgstr "Remove this application from the archive" msgid "Plaats aanvraag in archief" msgstr "Add this application to the archive" +#: reviews/templates/reviews/vue_templates/review_list.html:122 +msgid "Reviewronde beëindigd: " +msgstr "Reviewing round ended: " + #: reviews/templatetags/documents_list.py:145 msgid "Hoofdtraject" msgstr "Main trajectory" @@ -4378,85 +4307,89 @@ msgstr "Information letter for the parents" msgid "Toestemmingsdocument observatie" msgstr "Consent document for observation" -#: reviews/utils/review_actions.py:129 +#: reviews/utils/review_actions.py:130 msgid "Geef jouw beslissing en/of commentaar door" msgstr "Provide feedback on this proposal" -#: reviews/utils/review_actions.py:155 +#: reviews/utils/review_actions.py:156 msgid "Deze aanvraag afsluiten" msgstr "Conclude this application" -#: reviews/utils/review_actions.py:185 +#: reviews/utils/review_actions.py:186 msgid "Beëindig definitief de afhandeling van deze aanvraag" msgstr "Discontinue assessment of this application" -#: reviews/utils/review_actions.py:215 +#: reviews/utils/review_actions.py:216 msgid "Verander aangestelde commissieleden" msgstr "Change appointment of committee members" -#: reviews/utils/review_actions.py:245 +#: reviews/utils/review_actions.py:246 msgid "Datum van bevestigingsbrief aanpassen" msgstr "Change date of confirmation letter" -#: reviews/utils/review_actions.py:283 +#: reviews/utils/review_actions.py:284 msgid "Plaats aanvraag in het archief." msgstr "Add this application to the archive" -#: reviews/utils/review_utils.py:54 +#: reviews/utils/review_actions.py:304 +msgid "Startdatum wijzigen" +msgstr "Edit start date" + +#: reviews/utils/review_utils.py:55 msgid "FETC-GW {}: bevestiging indienen concept-aanmelding" msgstr "FEtC-H {}: confirmation of draft application submission" -#: reviews/utils/review_utils.py:74 +#: reviews/utils/review_utils.py:75 msgid "FETC-GW {}: beoordelen als eindverantwoordelijke" msgstr "FEtC-H {}: assess as researcher with final responsibility" -#: reviews/utils/review_utils.py:124 +#: reviews/utils/review_utils.py:125 msgid "FETC-GW {}: aanmelding ontvangen" msgstr "FEtC-H {}: application received" -#: reviews/utils/review_utils.py:218 +#: reviews/utils/review_utils.py:219 msgid "FETC-GW {}: nieuwe aanvraag voor voortoetsing" msgstr "FEtC-H {}: new application for preliminary assessment" -#: reviews/utils/review_utils.py:232 +#: reviews/utils/review_utils.py:233 msgid "FETC-GW {}: bevestiging indienen aanvraag voor voortoetsing" msgstr "" "FEtC-H {}: confirmation of submission of application for preliminary " "assessment" -#: reviews/utils/review_utils.py:281 +#: reviews/utils/review_utils.py:282 msgid "FETC-GW {}: nieuwe aanvraag ingediend" msgstr "FEtC-H {}: new application submitted" -#: reviews/utils/review_utils.py:296 +#: reviews/utils/review_utils.py:297 msgid "FETC-GW {}: nieuwe beoordeling toegevoegd" msgstr "FEtC-H {}: new decision added" -#: reviews/utils/review_utils.py:312 +#: reviews/utils/review_utils.py:313 msgid "FETC-GW {}: eindverantwoordelijke heeft je aanvraag beoordeeld" msgstr "FEtC-H {}: a supervisor has reviewed your application" -#: reviews/utils/review_utils.py:338 +#: reviews/utils/review_utils.py:339 msgid "De aanvraag bevat het gebruik van wilsonbekwame volwassenen." msgstr "" "The application contains the participation of adults incapable of informed " "consent." -#: reviews/utils/review_utils.py:341 +#: reviews/utils/review_utils.py:342 msgid "De aanvraag bevat het gebruik van misleiding." msgstr "The application contains the use of misrepresentation." -#: reviews/utils/review_utils.py:344 +#: reviews/utils/review_utils.py:345 msgid "" "Er bestaat een hiërarchische relatie tussen de onderzoeker(s) en deelnemer(s)" msgstr "" "A hierarchal relationship between researcher(s) and participant(s) exists." -#: reviews/utils/review_utils.py:347 +#: reviews/utils/review_utils.py:348 msgid "Het onderzoek verzamelt bijzondere persoonsgegevens." msgstr "This study collects special or sensitive personal details." -#: reviews/utils/review_utils.py:350 +#: reviews/utils/review_utils.py:351 msgid "" "Het onderzoek selecteert deelnemers op bijzondere kenmerken die wellicht " "verhoogde kwetsbaarheid met zich meebrengen." @@ -4464,7 +4397,7 @@ msgstr "" "The study selects participants based on particular characteristics which " "might entail increased vulnerability." -#: reviews/utils/review_utils.py:356 +#: reviews/utils/review_utils.py:357 msgid "" "De onderzoeker geeft aan dat (of twijfelt erover of) het onderzoek op " "onderdelen of als geheel zodanig belastend is dat deze ondanks de verkregen " @@ -4474,7 +4407,7 @@ msgstr "" "study, in part or in its entirety, is so burdensome that despite acquiring " "informed consent it might raise questions." -#: reviews/utils/review_utils.py:360 +#: reviews/utils/review_utils.py:361 msgid "" "De onderzoeker geeft aan dat (of twijfelt erover of) de risico's op " "psychische of fysieke schade bij deelname aan het onderzoek meer dan " @@ -4484,7 +4417,7 @@ msgstr "" "psychological or physical harm in participating in the study are more than " "minimal." -#: reviews/utils/review_utils.py:367 +#: reviews/utils/review_utils.py:368 #, python-brace-format msgid "" "De totale duur van de taken in sessie {s}, exclusief pauzes en andere niet-" @@ -4495,14 +4428,14 @@ msgstr "" "non-task elements ({d} minutes) is greater than the task duration limit " "({max_d} minutes) for the age group {ag}." -#: reviews/utils/review_utils.py:384 +#: reviews/utils/review_utils.py:385 #, python-brace-format msgid "Het onderzoek observeert deelnemers in de volgende setting: {s}" msgstr "" "The application contains sessions with participants in the following " "setting: {s}" -#: reviews/utils/review_utils.py:388 +#: reviews/utils/review_utils.py:389 msgid "" "Het onderzoek observeert deelnemers in een niet-publieke ruimte en werkt met " "informed consent achteraf." @@ -4510,7 +4443,7 @@ msgstr "" "The study observes participants in a non-public space and works with " "retrospective informed consent." -#: reviews/utils/review_utils.py:390 +#: reviews/utils/review_utils.py:391 msgid "" "De onderzoeker begeeft zich \"under cover\" in een beheerde niet-publieke " "ruimte (bijv. een digitale gespreksgroep), en neemt actief aan de discussie " @@ -4520,11 +4453,11 @@ msgstr "" "(e.g. a digital discussion group), and takes part actively in the discussion " "and/or collects data which can be traced back to individuals." -#: reviews/utils/review_utils.py:395 +#: reviews/utils/review_utils.py:396 msgid "De aanvraag bevat het gebruik van {}" msgstr "The application makes use of {}" -#: reviews/utils/review_utils.py:416 +#: reviews/utils/review_utils.py:417 msgid "" "De aanvraag bevat psychofysiologische metingen bij kinderen onder de {} jaar." msgstr "" @@ -5633,6 +5566,10 @@ msgstr "Net duration (in minutes)" msgid "Feedback?" msgstr "Feedback?" +#: tasks/templates/tasks/task_list.html:21 +msgid "ja,nee" +msgstr "yes,no" + #: tasks/templates/tasks/task_list.html:27 msgid "Taak bewerken" msgstr "Edit task" @@ -5702,146 +5639,3 @@ msgstr "Task edited" #: tasks/views/task_views.py:50 msgid "Taak verwijderd" msgstr "Task deleted" - -#: proposals/forms.py:190 -msgid "Je dient een eindverantwoordelijke op te geven." -msgstr "You are required to specify the researcher with final responsibility." - -#: proposals/forms.py:579 -msgid "Nieuwe beoogde startdatum" -msgstr "New intended start date" - -#: proposals/models.py:517 -#: proposals/templates/proposals/vue_templates/proposal_archive_list.html:115 -#: proposals/templates/proposals/vue_templates/proposal_list.html:166 -msgid "Eindverantwoordelijke onderzoeker" -msgstr "Researcher with final responsibility" - -#: proposals/templates/proposals/proposal_update_date_start.html:14 -#: proposals/templates/proposals/proposal_update_date_start.html:28 -msgid "Startdatum aanpassen" -msgstr "Edit start date" - -#: proposals/templates/proposals/proposal_update_date_start.html:17 -msgid "" -"Op deze pagina kan de startdatum worden aangepast van de aanvraag %(title)s " -"(referentienummer %(ref_number)s). Let op! Als de review al " -"is afgerond, wordt de nieuwe startdatum niet automatisch weergegeven in de " -"PDF. Mocht je de PDF opnieuw willen genereren, neem hierover dan contact op " -"met" -msgstr "" -"On this page, the start date of proposal %(title)s (reference number " -"%(ref_number)s) can be edited. Note! If the review has " -"already been concluded, the new start date will not be displayed in the PDF. " -"If you would like the PDF to be generated with the new start date, please " -"reach out to " - -#: reviews/templates/reviews/vue_templates/review_list.html:122 -msgid "Reviewronde beëindigd: " -msgstr "Reviewing round ended: " - -#: reviews/utils/review_actions.py:304 -msgid "Startdatum wijzigen" -msgstr "Edit start date" - -#~ msgid "" -#~ "De revisie bevat interventieonderzoek, terwijl de originele aanvraag dat " -#~ "niet bevat." -#~ msgstr "" -#~ "This revision involves intervention research, whereas the original " -#~ "application does not." - -#~ msgid "" -#~ "De revisie bevat geen interventieonderzoek, terwijl de originele aanvraag " -#~ "dat wel bevat." -#~ msgstr "" -#~ "This revision does not involve intervention research, whereas the " -#~ "original application does include this." - -#~ msgid "" -#~ "De revisie en de originele aanvraag hebben beide een " -#~ "interventieonderzoek, maar deze zijn niet te vergelijken. Dit komt " -#~ "doordat de revisie een andere versie van het formulier gebruikt." -#~ msgstr "" -#~ "This revision and the original application both involve intervention " -#~ "research, but this aspect cannot be compared. The revision uses a newer " -#~ "version of the form than the original." - -#~ msgid "ja,nee," -#~ msgstr "yes,no," - -#~ msgid "" -#~ "De revisie bevat observatieonderzoek, terwijl de originele aanvraag dat " -#~ "niet bevat." -#~ msgstr "" -#~ "This revision involves observation research, whereas the original " -#~ "application does not." - -#~ msgid "" -#~ "De revisie bevat geen observatieonderzoek, terwijl de originele aanvraag " -#~ "dat wel bevat." -#~ msgstr "" -#~ "This revision does not involve intervention research, whereas the " -#~ "original application involve this." - -#~ msgid "" -#~ "De revisie en de originele aanvraag hebben beide een observatieonderzoek, " -#~ "maar deze zijn niet te vergelijken. Dit komt doordat de revisie een " -#~ "andere versie van het formulier gebruikt." -#~ msgstr "" -#~ "This revision and the original application both involve observation " -#~ "research, but this aspect cannot be compared. The revision uses a newer " -#~ "version of the form than the original." - -#~ msgid "" -#~ "De revisie bevat takenonderzoek, terwijl de originele aanvraag dat niet " -#~ "bevat." -#~ msgstr "" -#~ "This revision involves tasks research, whereas the original application " -#~ "does not." - -#~ msgid "" -#~ "De revisie bevat geen takenonderzoek, terwijl de originele aanvraag dat " -#~ "wel bevat." -#~ msgstr "" -#~ "This revision does not involve tasks research, whereas the original " -#~ "application does involve this." - -#~ msgid "Dit traject is nieuw in de revisie." -#~ msgstr "This trajectory was added in this revision." - -#~ msgid "Dit traject is weggehaald uit de revisie" -#~ msgstr "This trajectory was removed in this revision." - -#, python-format -#~ msgid "" -#~ "Klik hier om opnieuw in te loggen met je " -#~ "Solis-ID." -#~ msgstr "" -#~ "Click here to log in again with your Solis-" -#~ "ID." - -#~ msgid "" -#~ "Aan het einde van de procedure kan je deze aanvraag ter\n" -#~ " verificatie naar je eindverantwoordelijke sturen. De\n" -#~ " eindverantwoordelijke zal de aanvraag vervolgens kunnen aanpassen " -#~ "en\n" -#~ " indienen bij de FETC-GW.

    NB: als je je\n" -#~ " eindverantwoordelijke niet kunt vinden met dit veld, moeten zij\n" -#~ " waarschijnlijk eerst één keer inloggen in deze portal. Je kunt " -#~ "nog wel\n" -#~ " verder met de aanvraag, maar vergeet dit veld niet in te vullen " -#~ "voor je de\n" -#~ " aanvraag indient." -#~ msgstr "" -#~ "At the end of the procedure, you can send this application to the " -#~ "researcher with final responsibility for verification. The researcher " -#~ "with final responsibility can then make adjustments and submit the study " -#~ "to the FEtC-H. Note: if you cannot find your supervisor " -#~ "using this field, they may have to log into this portal at least once " -#~ "with their Solis-ID. You can continue filling in the application while " -#~ "you wait for them to do this, but remember to come back and fill in this " -#~ "field before submitting." - -#~ msgid "Werkverdeling overzicht van afgelopen jaar" -#~ msgstr "Workload overview of past year" diff --git a/proposals/templates/proposals/proposal_pdf.html b/proposals/templates/proposals/proposal_pdf.html index ec5b1216f..d88eb9442 100644 --- a/proposals/templates/proposals/proposal_pdf.html +++ b/proposals/templates/proposals/proposal_pdf.html @@ -87,6 +87,7 @@ {% blocktrans with title=proposal.title reference_number=proposal.reference_number submitter=proposal.created_by.get_full_name trimmed %} FETC-GW - {{ title }} (referentienummer {{ reference_number }}, ingediend door {{ submitter }}) {% endblocktrans %} + - {% trans proposal.reviewing_committee.name %} {% if proposal.is_revision %}
    From c3c459e2336da0708181fd288e2ae4d7fa599272 Mon Sep 17 00:00:00 2001 From: Edo Storm Date: Wed, 15 Nov 2023 12:10:25 +0100 Subject: [PATCH 4/6] fixes #491 --- locale/en/LC_MESSAGES/django.mo | Bin 147361 -> 147299 bytes locale/en/LC_MESSAGES/django.po | 112 +++++++++--------- proposals/forms.py | 12 +- .../0050_alter_proposal_avg_understood.py | 19 +++ proposals/models.py | 7 +- proposals/utils/pdf_diff_logic.py | 2 +- proposals/validators.py | 8 +- 7 files changed, 99 insertions(+), 61 deletions(-) create mode 100644 proposals/migrations/0050_alter_proposal_avg_understood.py diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 6b35444f66f139c54d711693a57edd18b9963a2f..eba2b348e36c7f4aaa3e8f23c90f91674b9f1bff 100644 GIT binary patch delta 11023 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\n" "Language-Team: \n" @@ -282,7 +282,7 @@ msgstr "Intervention saved" #: main/forms/conditional_form.py:11 main/forms/conditional_form.py:20 #: main/forms/conditional_form.py:29 main/forms/conditional_form.py:38 #: main/forms/conditional_form.py:48 main/forms/mixins.py:83 -#: proposals/forms.py:570 proposals/forms.py:643 proposals/forms.py:658 +#: proposals/forms.py:570 proposals/forms.py:653 proposals/forms.py:668 #: studies/forms.py:104 tasks/forms.py:87 msgid "Dit veld is verplicht." msgstr "This field is required." @@ -1153,7 +1153,7 @@ msgid "" msgstr "As might happen on forums where the researcher also has an account." #: observations/models.py:65 observations/models.py:75 -#: observations/models.py:88 proposals/models.py:737 studies/models.py:172 +#: observations/models.py:88 proposals/models.py:738 studies/models.py:172 #: studies/models.py:228 studies/models.py:358 msgid "Licht toe" msgstr "Explain" @@ -1379,11 +1379,11 @@ msgstr "" msgid "Ik maak een oefenaanvraag aan" msgstr "I am creating a practice application" -#: proposals/forms.py:286 proposals/models.py:538 +#: proposals/forms.py:286 proposals/models.py:539 msgid "Te kopiëren aanvraag" msgstr "Application to be copied" -#: proposals/forms.py:288 proposals/models.py:540 +#: proposals/forms.py:288 proposals/models.py:541 msgid "Dit veld toont enkel aanvragen waar je zelf een medeuitvoerende bent." msgstr "This field shows only applications in which you are involved." @@ -1423,7 +1423,8 @@ msgid "" "bent." msgstr "This field shows only approved applications in which you are involved." -#: proposals/forms.py:428 proposals/forms.py:558 proposals/forms.py:691 +#: proposals/forms.py:428 proposals/forms.py:558 proposals/forms.py:587 +#: proposals/forms.py:701 msgid "Dit veld is verplicht om verder te gaan." msgstr "This field is required to continue." @@ -1483,19 +1484,19 @@ msgstr "" "If different trajectories are used, at least two different trajectories " "should be filled in." -#: proposals/forms.py:588 +#: proposals/forms.py:598 msgid "Nieuwe beoogde startdatum" msgstr "New intended start date" -#: proposals/forms.py:650 +#: proposals/forms.py:660 msgid "Toestemmingsverklaring voor traject {} nog niet toegevoegd." msgstr "Declaration of consent for trajectory {} not yet added." -#: proposals/forms.py:654 +#: proposals/forms.py:664 msgid "Informatiebrief voor traject {} nog niet toegevoegd." msgstr "Information letter for trajectory {} not yet added." -#: proposals/forms.py:666 +#: proposals/forms.py:676 msgid "" "De embargo-periode kan maximaal 2 jaar zijn. Kies een datum binnen 2 jaar " "van vandaag." @@ -1503,7 +1504,7 @@ msgstr "" "The embargo-period can last a maximum of 2 years. Pick a date within 2 years " "from today." -#: proposals/forms.py:697 +#: proposals/forms.py:707 msgid "Vul in in welke talen de formulieren worden vertaald." msgstr "Please fill in the languages" @@ -1775,13 +1776,13 @@ msgstr "How many different trajectories are there?" #: proposals/models.py:403 msgid "" -"Ik heb kennis genomen van het bovenstaande en begrijp mijn " -"verantwoordelijkheden ten opzichte van de AVG." +"Ik heb mijn aanvraag en de documenten voor deelnemers besproken met de " +"privacy officer." msgstr "" -"I have read the information above and have considered my responsibilities " -"with regard to the AVG." +"I discussed my application and documents for participants with the " +"privacy officer." -#: proposals/models.py:410 +#: proposals/models.py:411 msgid "" "Als je een Data Management Plan hebt voor deze aanvraag, kan je kiezen om " "deze hier bij te voegen. Het aanleveren van een DMP vergemakkelijkt het " @@ -1791,24 +1792,24 @@ msgstr "" "include it here. Supplying a DMP can expedite ethical assessment of " "proposals." -#: proposals/models.py:422 proposals/utils/pdf_diff_logic.py:990 +#: proposals/models.py:423 proposals/utils/pdf_diff_logic.py:990 #: reviews/models.py:188 msgid "Ruimte voor eventuele opmerkingen" msgstr "Space for possible comments" -#: proposals/models.py:434 +#: proposals/models.py:435 msgid "Datum bevestigingsbrief verstuurd" msgstr "Date confirmation sent" -#: proposals/models.py:439 reviews/forms.py:110 +#: proposals/models.py:440 reviews/forms.py:110 msgid "Is er een revisie geweest na het indienen van deze aanvraag?" msgstr "Has this proposal been amended after it was submitted?" -#: proposals/models.py:444 +#: proposals/models.py:445 msgid "Leg uit" msgstr "Explain why" -#: proposals/models.py:450 +#: proposals/models.py:451 msgid "" "Wat zijn de belangrijkste ethische kwesties in dit onderzoek en beschrijf " "kort hoe ga je daarmee omgaat. Gebruik maximaal 1000 woorden." @@ -1817,23 +1818,23 @@ msgstr "" "please describe briefly how you will address them. Use a maximum of a 1000 " "words." -#: proposals/models.py:464 +#: proposals/models.py:465 msgid "In welke hoedanigheid ben je betrokken bij dit onderzoek?" msgstr "In what capacity are you involved in this application?" -#: proposals/models.py:472 +#: proposals/models.py:473 msgid "Wat is je studierichting?" msgstr "What is your course of study?" -#: proposals/models.py:479 +#: proposals/models.py:480 msgid "In welke context doe je dit onderzoek?" msgstr "In what capacity are you involved in this application?" -#: proposals/models.py:486 +#: proposals/models.py:487 msgid "Namelijk:" msgstr "Please specify:" -#: proposals/models.py:493 +#: proposals/models.py:494 msgid "" "Studenten (die mensgebonden onderzoek uitvoeren binnen hun studieprogramma) " "hoeven in principe geen aanvraag in te dienen bij de FETC-GW. Bespreek met " @@ -1847,7 +1848,7 @@ msgstr "" "do not not, you can terminate your proposal now. If you do, please explain " "what the reason is:" -#: proposals/models.py:510 +#: proposals/models.py:511 msgid "" "Uitvoerenden, inclusief uzelf. Let op! De andere onderzoekers moeten " "ten minste één keer zijn ingelogd op dit portaal om ze te kunnen selecteren." @@ -1856,13 +1857,13 @@ msgstr "" "researchers need to have logged into this portal at least once, in order to " "be selectable here." -#: proposals/models.py:517 +#: proposals/models.py:518 #: proposals/templates/proposals/vue_templates/proposal_archive_list.html:115 #: proposals/templates/proposals/vue_templates/proposal_list.html:166 msgid "Promotor/Begeleider" msgstr "Promotor/Supervisor" -#: proposals/models.py:520 +#: proposals/models.py:521 msgid "" "Je aanvraag moet, als je alles hebt ingevuld, via de portal \n" " naar je promotor of begeleider gestuurd worden. Deze " @@ -1892,53 +1893,53 @@ msgstr "" "you wait for them to do this, but remember to come back and fill in this " "field before submitting." -#: proposals/models.py:547 +#: proposals/models.py:548 msgid "" "Is deze aanvraag een revisie van of amendement op een ingediende aanvraag?" msgstr "" "Is this application a revision or an amendment of a previously submitted " "application?" -#: proposals/models.py:619 +#: proposals/models.py:620 msgid "Amendement" msgstr "Amendment" -#: proposals/models.py:619 reviews/api/views.py:39 reviews/api/views.py:328 +#: proposals/models.py:620 reviews/api/views.py:39 reviews/api/views.py:328 #: reviews/templates/reviews/committee_members_workload.html:36 #: reviews/templates/reviews/committee_members_workload.html:82 #: reviews/templates/reviews/review_detail_sidebar.html:106 msgid "Revisie" msgstr "Revision" -#: proposals/models.py:625 +#: proposals/models.py:626 msgid "Normaal" msgstr "Normal" -#: proposals/models.py:630 +#: proposals/models.py:631 msgid "Voortoetsing" msgstr "Preliminary assessment" -#: proposals/models.py:632 +#: proposals/models.py:633 msgid "Oefening" msgstr "Practice" -#: proposals/models.py:634 +#: proposals/models.py:635 msgid "Extern getoetst" msgstr "External approval" -#: proposals/models.py:722 +#: proposals/models.py:723 msgid "Geen beoordeling door METC noodzakelijk" msgstr "Assessment by METC not required" -#: proposals/models.py:723 +#: proposals/models.py:724 msgid "In afwachting beslissing METC" msgstr "Pending decision by METC" -#: proposals/models.py:724 +#: proposals/models.py:725 msgid "Beslissing METC geüpload" msgstr "METC decision uploaded" -#: proposals/models.py:728 +#: proposals/models.py:729 msgid "" "Vindt de dataverzameling plaats binnen het UMC Utrecht of andere instelling " "waar toetsing door een METC verplicht is gesteld?" @@ -1946,11 +1947,11 @@ msgstr "" "Will the data collection take place at the UMC Utrecht or another " "institution for which an assessment by a METC is required?" -#: proposals/models.py:742 +#: proposals/models.py:743 msgid "Welke instelling?" msgstr "Which institution?" -#: proposals/models.py:748 +#: proposals/models.py:749 msgid "" "Is de onderzoeksvraag medisch-wetenschappelijk van aard (zoals gedefinieerd " "door de WMO)?" @@ -1958,7 +1959,7 @@ msgstr "" "Is the nature of the research question medical (as defined by the Medical " "Research Involving Human Subjects Act (WMO))?" -#: proposals/models.py:750 +#: proposals/models.py:751 msgid "" "De definitie van medisch-wetenschappelijk onderzoek is: Medisch-" "wetenschappelijk onderzoek is onderzoek dat als doel heeft het beantwoorden " @@ -1979,7 +1980,7 @@ msgstr "" "Committee on Research Involving Human Subjects, Definition of medical " "research, 2005, ccmo.nl)" -#: proposals/models.py:766 +#: proposals/models.py:767 msgid "" "Je onderzoek moet beoordeeld worden door een METC, maar dient nog wel bij de " "FETC-GW te worden geregistreerd. Is dit onderzoek al aangemeld bij een METC?" @@ -1988,15 +1989,15 @@ msgstr "" "registered with the FEtC-H. Has an application for this project already been " "submitted to an METC?" -#: proposals/models.py:773 +#: proposals/models.py:774 msgid "Is de METC al tot een beslissing gekomen?" msgstr "Has the METC already come to a decision?" -#: proposals/models.py:778 +#: proposals/models.py:779 msgid "Upload hier de beslissing van het METC (in .pdf of .doc(x)-formaat)" msgstr "Please upload the decision of METC (in .pdf or .doc(x)-format) here" -#: proposals/models.py:816 +#: proposals/models.py:817 #, python-brace-format msgid "WMO {title}, status {status}" msgstr "WMO {title}, status {status}" @@ -2516,6 +2517,7 @@ msgstr "" "the archive." #: proposals/templates/proposals/proposal_pdf.html:87 +#, python-format msgid "" "FETC-GW - %(title)s (referentienummer %(reference_number)s, " "ingediend door %(submitter)s)" @@ -3413,12 +3415,9 @@ msgstr "Overview of task-based research: session {} (trajectory {})" msgid "AVG en Data Management" msgstr "AVG and Data Management" -#: proposals/validators.py:33 -msgid "" -"Je dient kennis genomen te hebben van de AVG om jouw aanvraag in te dienen" -msgstr "" -"You must confirm your understanding of the AVG before you can submit your " -"application." +#: proposals/validators.py:35 +msgid "Je dient deze vraag in te vullen om jouw aanvraag in te dienen" +msgstr "You must answer this question before you can submit your application" #: proposals/views/proposal_views.py:45 msgid "Publiek archief" @@ -5639,3 +5638,10 @@ msgstr "Task edited" #: tasks/views/task_views.py:50 msgid "Taak verwijderd" msgstr "Task deleted" + +#~ msgid "" +#~ "Ik heb kennis genomen van het bovenstaande en begrijp mijn " +#~ "verantwoordelijkheden ten opzichte van de AVG." +#~ msgstr "" +#~ "I have read the information above and have considered my responsibilities " +#~ "with regard to the AVG." diff --git a/proposals/forms.py b/proposals/forms.py index bb860fb6f..78b872f5f 100644 --- a/proposals/forms.py +++ b/proposals/forms.py @@ -574,8 +574,18 @@ class ProposalDataManagementForm(SoftValidationMixin, forms.ModelForm): class Meta: model = Proposal fields = ['avg_understood', 'dmp_file'] + widgets = { + 'avg_understood': forms.RadioSelect(choices=YES_NO), + } + + def clean(self): + cleaned_data = super(ProposalDataManagementForm, self).clean() - _soft_validation_fields = ['avg_understood'] + if cleaned_data['avg_understood'] is None: + self.add_error( + 'avg_understood', + _('Dit veld is verplicht om verder te gaan.') + ) class ProposalUpdateDataManagementForm(forms.ModelForm): class Meta: diff --git a/proposals/migrations/0050_alter_proposal_avg_understood.py b/proposals/migrations/0050_alter_proposal_avg_understood.py new file mode 100644 index 000000000..e90b6e4bf --- /dev/null +++ b/proposals/migrations/0050_alter_proposal_avg_understood.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.20 on 2023-11-15 10:56 + +from django.db import migrations, models +import proposals.validators + + +class Migration(migrations.Migration): + + dependencies = [ + ('proposals', '0049_alter_proposal_supervisor'), + ] + + operations = [ + migrations.AlterField( + model_name='proposal', + name='avg_understood', + field=models.BooleanField(blank=True, default=None, null=True, validators=[proposals.validators.AVGUnderstoodValidator], verbose_name='Ik heb mijn aanvraag en de documenten voor deelnemers besproken met de privacy officer.'), + ), + ] diff --git a/proposals/models.py b/proposals/models.py index 4c1cef382..7e7a2329f 100644 --- a/proposals/models.py +++ b/proposals/models.py @@ -400,9 +400,10 @@ class Proposal(models.Model): ) avg_understood = models.BooleanField( - _('Ik heb kennis genomen van het bovenstaande en begrijp mijn verantwoordelijkheden ten opzichte van de AVG.'), - default=False, - null=False, + _('Ik heb mijn aanvraag en de documenten voor deelnemers besproken met de privacy officer.'), + default=None, + null=True, + blank=True, validators=[AVGUnderstoodValidator], ) diff --git a/proposals/utils/pdf_diff_logic.py b/proposals/utils/pdf_diff_logic.py index f4c5e651d..7a3024472 100644 --- a/proposals/utils/pdf_diff_logic.py +++ b/proposals/utils/pdf_diff_logic.py @@ -963,7 +963,7 @@ class DMPFileSection(PageBreakMixin, BaseSection): section_title = _("Data Management Plan") - row_fields = ["dmp_file"] + row_fields = ["dmp_file", "avg_understood"] class EmbargoSection(BaseSection): diff --git a/proposals/validators.py b/proposals/validators.py index c70cd8f65..d73291e6b 100644 --- a/proposals/validators.py +++ b/proposals/validators.py @@ -27,9 +27,11 @@ def __call__(self, value): def AVGUnderstoodValidator(value): - - if value != True: +# This does not seem to do anything, so I removed it from the model, however, +# if I try to remove this validator entirely I get an error when making +# migrations? + if value is None: raise forms.ValidationError( - _('Je dient kennis genomen te hebben van de AVG om jouw aanvraag in ' + _('Je dient deze vraag in te vullen om jouw aanvraag in ' 'te dienen'), code='avg' ) From 7ef30eceb18ed6b0e619c9a84ec8604e0e29cbcc Mon Sep 17 00:00:00 2001 From: Edo Storm Date: Thu, 16 Nov 2023 11:11:48 +0100 Subject: [PATCH 5/6] Implemented requested changes on PR #579 --- proposals/forms.py | 8 +++---- .../migrations/0034_auto_20211213_1503.py | 8 +++++-- .../0050_alter_proposal_avg_understood.py | 19 --------------- .../migrations/0050_replace_avg_understood.py | 24 +++++++++++++++++++ proposals/models.py | 4 +--- .../templates/proposals/proposal_pdf.html | 5 ++-- proposals/utils/pdf_diff_logic.py | 2 +- proposals/validators.py | 11 --------- .../0013_is_commission_review_field.py | 1 + reviews/models.py | 3 ++- .../reviews/review_detail_sidebar.html | 2 +- reviews/views.py | 2 +- 12 files changed, 43 insertions(+), 46 deletions(-) delete mode 100644 proposals/migrations/0050_alter_proposal_avg_understood.py create mode 100644 proposals/migrations/0050_replace_avg_understood.py diff --git a/proposals/forms.py b/proposals/forms.py index 78b872f5f..21cabcf24 100644 --- a/proposals/forms.py +++ b/proposals/forms.py @@ -573,17 +573,17 @@ def clean(self): class ProposalDataManagementForm(SoftValidationMixin, forms.ModelForm): class Meta: model = Proposal - fields = ['avg_understood', 'dmp_file'] + fields = ['privacy_officer', 'dmp_file'] widgets = { - 'avg_understood': forms.RadioSelect(choices=YES_NO), + 'privacy_officer': forms.RadioSelect(choices=YES_NO), } def clean(self): cleaned_data = super(ProposalDataManagementForm, self).clean() - if cleaned_data['avg_understood'] is None: + if cleaned_data['privacy_officer'] is None: self.add_error( - 'avg_understood', + 'privacy_officer', _('Dit veld is verplicht om verder te gaan.') ) diff --git a/proposals/migrations/0034_auto_20211213_1503.py b/proposals/migrations/0034_auto_20211213_1503.py index f026a0ed4..a5afdc58d 100644 --- a/proposals/migrations/0034_auto_20211213_1503.py +++ b/proposals/migrations/0034_auto_20211213_1503.py @@ -5,8 +5,12 @@ import django.db.models.deletion import main.validators import proposals.utils.proposal_utils -import proposals.validators +def AVGUnderstoodValidator(): + '''This was formerly a validator, imported from proposals.validators, + but it is currently no longer required, so it has been removed. + To prevent an error, it has been replaced with this stub.''' + pass class Migration(migrations.Migration): @@ -18,7 +22,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='proposal', name='avg_understood', - field=models.BooleanField(default=False, validators=[proposals.validators.AVGUnderstoodValidator], verbose_name='Ik heb kennis genomen van het bovenstaande en begrijp mijn verantwoordelijkheden ten opzichte van de AVG.'), + field=models.BooleanField(default=False, validators=[AVGUnderstoodValidator], verbose_name='Ik heb kennis genomen van het bovenstaande en begrijp mijn verantwoordelijkheden ten opzichte van de AVG.'), ), migrations.AlterField( model_name='proposal', diff --git a/proposals/migrations/0050_alter_proposal_avg_understood.py b/proposals/migrations/0050_alter_proposal_avg_understood.py deleted file mode 100644 index e90b6e4bf..000000000 --- a/proposals/migrations/0050_alter_proposal_avg_understood.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 3.2.20 on 2023-11-15 10:56 - -from django.db import migrations, models -import proposals.validators - - -class Migration(migrations.Migration): - - dependencies = [ - ('proposals', '0049_alter_proposal_supervisor'), - ] - - operations = [ - migrations.AlterField( - model_name='proposal', - name='avg_understood', - field=models.BooleanField(blank=True, default=None, null=True, validators=[proposals.validators.AVGUnderstoodValidator], verbose_name='Ik heb mijn aanvraag en de documenten voor deelnemers besproken met de privacy officer.'), - ), - ] diff --git a/proposals/migrations/0050_replace_avg_understood.py b/proposals/migrations/0050_replace_avg_understood.py new file mode 100644 index 000000000..a9a9c9958 --- /dev/null +++ b/proposals/migrations/0050_replace_avg_understood.py @@ -0,0 +1,24 @@ +# Generated by Django 3.2.20 on 2023-11-16 09:41 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + replaces = [('proposals', '0050_alter_proposal_avg_understood'), ('proposals', '0051_auto_20231116_1030')] + + dependencies = [ + ('proposals', '0049_alter_proposal_supervisor'), + ] + + operations = [ + migrations.RemoveField( + model_name='proposal', + name='avg_understood', + ), + migrations.AddField( + model_name='proposal', + name='privacy_officer', + field=models.BooleanField(blank=True, default=None, null=True, verbose_name='Ik heb mijn aanvraag en de documenten voor deelnemers besproken met de privacy officer.'), + ), + ] diff --git a/proposals/models.py b/proposals/models.py index 7e7a2329f..09749e2b0 100644 --- a/proposals/models.py +++ b/proposals/models.py @@ -15,7 +15,6 @@ from main.models import YES, YES_NO_DOUBT from main.validators import MaxWordsValidator, validate_pdf_or_doc -from .validators import AVGUnderstoodValidator from .utils import available_urls, FilenameFactory, OverwriteStorage from datetime import date, timedelta @@ -399,12 +398,11 @@ class Proposal(models.Model): blank=True, ) - avg_understood = models.BooleanField( + privacy_officer = models.BooleanField( _('Ik heb mijn aanvraag en de documenten voor deelnemers besproken met de privacy officer.'), default=None, null=True, blank=True, - validators=[AVGUnderstoodValidator], ) dmp_file = models.FileField( diff --git a/proposals/templates/proposals/proposal_pdf.html b/proposals/templates/proposals/proposal_pdf.html index d88eb9442..2548b9eb4 100644 --- a/proposals/templates/proposals/proposal_pdf.html +++ b/proposals/templates/proposals/proposal_pdf.html @@ -84,10 +84,9 @@ {% block page_header %}
  • {% endif %} - {% if review.stage == review.SUPERVISOR %} + {% if review.is_commission_review == False %}
  • {% blocktrans trimmed %} diff --git a/reviews/views.py b/reviews/views.py index 9a08ce0c1..81c6bfba7 100644 --- a/reviews/views.py +++ b/reviews/views.py @@ -556,7 +556,7 @@ def form_valid(self, form): # Don't notify the secretary if this is a supervisor decision. # If it was a GO they the secretary will be notified anyway - if not review.stage == review.SUPERVISOR: + if review.is_commission_review == True: notify_secretary(form.instance) return super(DecisionUpdateView, self).form_valid(form) From 75ab28aee8f4ddba6c883a7ad015b8bcc280d872 Mon Sep 17 00:00:00 2001 From: Edo Storm Date: Thu, 16 Nov 2023 14:17:32 +0100 Subject: [PATCH 6/6] changed is_commission_review to is_committee_review + minor tweaks --- ..._understood.py => 0050_auto_20231116_1413.py} | 4 +--- proposals/templates/proposals/proposal_pdf.html | 2 +- ..._field.py => 0013_add_is_committee_review.py} | 16 +++++++++------- reviews/models.py | 4 ++-- .../templates/reviews/review_detail_sidebar.html | 2 +- reviews/tests.py | 6 +++--- reviews/utils/review_utils.py | 2 +- reviews/views.py | 2 +- 8 files changed, 19 insertions(+), 19 deletions(-) rename proposals/migrations/{0050_replace_avg_understood.py => 0050_auto_20231116_1413.py} (78%) rename reviews/migrations/{0013_is_commission_review_field.py => 0013_add_is_committee_review.py} (54%) diff --git a/proposals/migrations/0050_replace_avg_understood.py b/proposals/migrations/0050_auto_20231116_1413.py similarity index 78% rename from proposals/migrations/0050_replace_avg_understood.py rename to proposals/migrations/0050_auto_20231116_1413.py index a9a9c9958..2de122f4d 100644 --- a/proposals/migrations/0050_replace_avg_understood.py +++ b/proposals/migrations/0050_auto_20231116_1413.py @@ -1,12 +1,10 @@ -# Generated by Django 3.2.20 on 2023-11-16 09:41 +# Generated by Django 3.2.20 on 2023-11-16 13:13 from django.db import migrations, models class Migration(migrations.Migration): - replaces = [('proposals', '0050_alter_proposal_avg_understood'), ('proposals', '0051_auto_20231116_1030')] - dependencies = [ ('proposals', '0049_alter_proposal_supervisor'), ] diff --git a/proposals/templates/proposals/proposal_pdf.html b/proposals/templates/proposals/proposal_pdf.html index 2548b9eb4..9d1d10631 100644 --- a/proposals/templates/proposals/proposal_pdf.html +++ b/proposals/templates/proposals/proposal_pdf.html @@ -85,7 +85,7 @@ {% block page_header %}
  • {% endif %} - {% if review.is_commission_review == False %} + {% if not review.is_committee_review %}
  • {% blocktrans trimmed %} diff --git a/reviews/tests.py b/reviews/tests.py index 069d99910..60a4de5dc 100644 --- a/reviews/tests.py +++ b/reviews/tests.py @@ -154,7 +154,7 @@ def test_start_supervisor_review(self): # If the Relation on a Proposal requires a supervisor, a Review for the supervisor should be started. review = start_review(self.proposal) self.assertEqual(review.stage, Review.SUPERVISOR) - self.assertEqual(review.is_commission_review, False) + self.assertEqual(review.is_committee_review, False) self.assertEqual(Decision.objects.filter(reviewer=self.supervisor).count(), 1) self.assertEqual(Decision.objects.filter(review=review).count(), 1) self.assertEqual(review.decision_set.count(), 1) @@ -171,7 +171,7 @@ def test_start_review(self): review = start_review(self.proposal) self.assertEqual(review.stage, Review.ASSIGNMENT) - self.assertEqual(review.is_commission_review, True) + self.assertEqual(review.is_committee_review, True) self.assertEqual(Decision.objects.filter(reviewer=self.secretary).count(), 1) self.assertEqual(Decision.objects.filter(review=review).count(), 1) self.assertEqual(review.decision_set.count(), 1) @@ -198,7 +198,7 @@ def test_decision_supervisor(self): decision.save() review.refresh_from_db() self.assertEqual(review.go, True) - self.assertEqual(review.is_commission_review, False) + self.assertEqual(review.is_committee_review, False) self.assertEqual(len(mail.outbox), 2) self.check_subject_lines(mail.outbox) diff --git a/reviews/utils/review_utils.py b/reviews/utils/review_utils.py index dae480cdd..d0a568fd0 100644 --- a/reviews/utils/review_utils.py +++ b/reviews/utils/review_utils.py @@ -42,7 +42,7 @@ def start_supervisor_phase(proposal): """ review = Review.objects.create(proposal=proposal, date_start=timezone.now()) review.stage = Review.SUPERVISOR - review.is_commission_review = False + review.is_committee_review = False review.save() proposal.date_submitted_supervisor = timezone.now() diff --git a/reviews/views.py b/reviews/views.py index 81c6bfba7..260438ca5 100644 --- a/reviews/views.py +++ b/reviews/views.py @@ -556,7 +556,7 @@ def form_valid(self, form): # Don't notify the secretary if this is a supervisor decision. # If it was a GO they the secretary will be notified anyway - if review.is_commission_review == True: + if review.is_committee_review: notify_secretary(form.instance) return super(DecisionUpdateView, self).form_valid(form)