From 423313f008500cb6fe4ec69a2d5f21835a052cac Mon Sep 17 00:00:00 2001 From: Skia Date: Tue, 25 Apr 2017 09:16:38 +0200 Subject: [PATCH] Update stock translations --- counter/views.py | 8 +- locale/fr/LC_MESSAGES/django.mo | Bin 52664 -> 57274 bytes locale/fr/LC_MESSAGES/django.po | 1258 ++++++++++++++++++------------- sith/settings.py | 1 + stock/views.py | 2 +- 5 files changed, 745 insertions(+), 524 deletions(-) diff --git a/counter/views.py b/counter/views.py index d69db0f8..dc8bf1a8 100644 --- a/counter/views.py +++ b/counter/views.py @@ -118,7 +118,7 @@ class RefillForm(forms.ModelForm): class CounterTabsMixin(TabedViewMixin): def get_tabs_title(self): - if hasattr(self.object, 'stock_owner') : + if hasattr(self.object, 'stock_owner') : return self.object.stock_owner.counter else: return self.object @@ -132,19 +132,19 @@ class CounterTabsMixin(TabedViewMixin): }) if self.object.stock_owner.counter.type if hasattr(self.object, 'stock_owner') else self.object.type == "BAR": tab_list.append({ - 'url': reverse_lazy('counter:cash_summary', + 'url': reverse_lazy('counter:cash_summary', kwargs={'counter_id': self.object.stock_owner.counter.id if hasattr(self.object, 'stock_owner') else self.object.id}), 'slug': 'cash_summary', 'name': _("Cash summary"), }) tab_list.append({ - 'url': reverse_lazy('counter:last_ops', + 'url': reverse_lazy('counter:last_ops', kwargs={'counter_id': self.object.stock_owner.counter.id if hasattr(self.object, 'stock_owner') else self.object.id}), 'slug': 'last_ops', 'name': _("Last operations"), }) tab_list.append({ - 'url': reverse_lazy('stock:take_items', + 'url': reverse_lazy('stock:take_items', kwargs={'stock_id': self.object.stock.id if hasattr(self.object, 'stock') else self.object.stock_owner.id}), 'slug': 'take_items_from_stock', 'name': _("Take items from stock"), diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index d177ae604a75b73fdace82afd3beda176b6aa8d6..8f8ab2f5da26f3ca7add1c558a2529b46c78df8d 100644 GIT binary patch delta 23963 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 JviZLk{2y9dMf3mw delta 19785 zcmZYH37n1P|Nrs(%#3a9jD0&~U&by=LiClgjx~f~4u;vxVhNpy?1|eFN|unV8^v9dqMg)C$v49ge}gH~~2|XEtg87xmss%!gad zJs3~OCb*>|`=5`@egfLclc<4Dqb76_bK?!v1pYvEaM$W{ zbn?!!0P1K;S@{uEyI9n~%~1Vz!MxbZ92_L07c)^47>9cCMbv<^uszO2b#MW5;Z>}P zzo6Qc=h4Kx|GvU%2EDHfo-9`$kg z*!&E&V_#xn{1!Fwo2UVPNA18JRJ)isZ$hQbN~oQP#k~6bw<4o0>4dt~Nf@3Gh9`vT zXenyutF0VDt#rGU_hKQ+M^HO;0agDes-OF)oygVI+o=LrM4x{@8C{A-sFk+CLf8ql z0|QZ)FvAR@&Ta;(!(|p zLA~&zIUDuezZCV}GK|1gsENOgTKNXl%D14}?L!^iA=KUY2DQV#c4z;!<=J}JnV{}~ zA9ZF;P!nivcI}`ky zjArJ0)|*If)R~t;y;uRYvZ@wuit4x(>heB~+Mz?J_NP(rUqB6T6?G^6Yvo(0Bl{cK zfuM7rj8+!e+xxXz6tyGuP+R!~s=g~~B7;#A7>(*^f|Vzs2AYLh&?3~)t~B34O>C=` zKgB35;V_vPDvn`Qyn;HTe0{u$6h(DZ8P!2u)XEy0&CMrJXWbUZVt3Sg$5BUe7FB-( zwNtk+{Q18}rUZe)9JCtL!jjkw)vyO@LVZzZn1K2e%(MChsDWNbeGJ#2c5plDXbz)x z=3CSbUd5t#8-p4!|8w5T%AgulL=D^swbI9|z7=YKr%>(sq6SDoO=vvoNP?&dPedKn zbW}esmd4jmxBva;*#BZ=wh~as$5G`gsI$L^+PZxGycLu}O}L7c8=?kkg_>|X)XFR0l^;Gd_u0$!XMGIFFk671YY_ zpeFRU#iROr{S`+os1mBbMpkYSB%^^ln|-apP}H3mftuh9i_b^3UuyAns1ya^OXO}LtsgU!j*A!}#8`X`If9@woQzg59IPz@KLw(gPGs5e`Q6mxSss19g;Rv9Lb>K{D#lMRl|cHKBE=nQud_@F1$gb65nw zM}2SHLAA>_$g>QpznZ8ot|q7nv`6i1SF7)bIT_y>PUca}#HP3b%i=ZE%CjeU9mb%_ zityIK%-F;oq}5VLX5-}sH0pRVE;Aq&DP*!)PSF%Ui`wm zfZFPxQ3FH`_UiLu8_H!c8xBORY$$4C&!YwkqIO^g`tUW>L>3Qb|25O41oXm2)YffA zb+`}p={Stp@o&@-L=N$`yddfes}yRW`lxzZP{Sd z0HaZ7{}Sq!FSPPTEAK+R_zkN4In)5xF$eyP>hBg-!d!{o0&Amo?g`Y^cShO=oo-|z z2=qmD*dI0UF!M#!iWZ;-T8aAYwGOrQyHEq4MqT1dSPJi=+7%t<9ZfBaqud15-%PBe z&;KGa^$6_5^7w1Gf^8n|{gY8sRJ=d>aROGs6<8GyS^aNVopO;RZ{;oV5z2$H0!~Lw zcq6vKeOO(e|LA1zY#O4rwkc{yT3Wfa*$&lVC#;AWsFl8kI_oW{9olR0!>GR_uA%yk zNbzXv?8MhBT!p83Ugu5oQ8QRyQoXF95v8t)LCz|`km(IsQ%8N+FioR zcpdX#{#0)#N~f~_YS4gy255%bk#?wo4q`MOMZI_$wUt*bM1Jr`jPG-RWZG zZKw(C#u<1LwZQmv{vij4q6XfJIq^)8jJD=7YJl7s-oOP=cc7?Q0`;*ejcVsND_Oic zRw5pY+(V}u@|V5yDL#%RGQHm|y-;WGVtovT$Y_hMVKpq8_&M6>eI3x+u=>rL>rIdBd*i#N2V)*gIE{KjP_pWgnUAr zQK;XFmr=hJ%Z>5Ak{?G+I2Cndi%>`P7UstgYU}r)j_MHVj(utIitYq_By} z2Q}bv^J~<=XRLf3wW6QQKTs>aXXU(Oz4{`k9V&ypuq`&iWvKqX!Js<2Oh!BKBj&dm!~Xh%O6M8x3hA0bAZK%qgFl&3*dCrI7?6qeQO;1ua$4Mz(=SF z?MJQXDC&jt<~7v7zn}*G3pLRkY(~>9VDZbbTFT_ ziU4ZMQc*kbqQ$4726j;$FGCHq8nuvjP?vZsYJkJ2eok8XDry10pe7Xj$0{P(3B8aP z^|2|2YFHLaV@=e6?NAf$gqlbn)O$lw6G%t3)6S}&mrx(e>8SRLth^fOC+NIyfnBJM zj-gicEvm!sP#ykc@!wE8@|TsPUi8}MLA8%T4OGsoiMk6-Q17)v^&f}X^!e{iMl&3M zYLJS0VKmmksaD=<<%6gR-9=5JFSi?Z{8&ZPdgfCwg}x8iTrx zrO4=oSk%l~qE_~l8Heh)FKQx*7SBShFo+R288xA)7N3QhfQx!>snxHu_`4I?f318Q z0d;f$HSkf?4xB=DcowxYm&_kf?S4bOcMmmCrI#SQ+#L}VEJN)?2)W!r=W{Ze*;!OaKVc619d#ssTRGP>Z%YfJw!E6z28&bfkJE89>f;tk zK}S#=b737+|4mWjwZh{1{Kt{;6Bv#fcqT^UJk&sMVk~aM3U~t_!8|kUyBzgB(Hgb# zOw<5VQD?shHSi|XL_S3A$S%e8`9DrZm*$iLcnkG;{s*;XF*CgtRWTpKCx~~!CO8kZ z14mI4zJ{7W#4PXoqA+S=wNbaeHENu;7}Sh9lF`b0VH6HP%`kwf&q93>1ySu@!Dw87 z8fZECaWks@3DnBZq5An9HDJ^$-UM=^jwb&r?7wbf6$1UR7KV=iHNZTqk8fg5Jb~Jg zv#4K6Kcl|5^33+$D~sBR%BUl1ff{HKK8|Bi{cl6{vwJrCuMSRH#Whq1KciNV^Hr~5 zIaIlx*$%bR0ayTsp;kB+wSyBeH%`HP=$b1qKjrt#T|qLM;c?Why@7i1AJoo7&+*~~ zP~}Rf0cv1*tb=MFhk3Cd=D{S??}{-NpO3n{D^U~Jj|DLJH5qkq4YlRJVfgZ)I*OU= zZGCyOI_fgjM;$?1)J`Oz+NWT6Cr|@TM13>PMZLEPHQrvY9CVJ6(aJBQUbtiCa=jIl zK%H4b)K)e}O|-qmd!km--%LaGH^Isaun^@nsEKVecVYP7{~sWu0X|1f;G{LUf?C;+ z=AWo7b>?|1D2=TtR>j(wgv0Q4jKLi9z4uF_R$Li%MD|GJaW+4Ms{PCy^7 zK%Mnl7=de1pWh9r32#D8_#-PHu<|jiLi{3X!Z{asm%JkCtG5yA?sUdrVKV7tG^3YM z9WFsXuE!#H1S{irsEOuU=xupT)Ydjfz26yiGy&9INJC9{ywy)Y?Zg7q0#+>K^PfRx z9f2-b_BHS0mxlEyPs7IeG1kRDuqIYnn^}R3z)o~g=isP_8Zb1!n9W~KkusB98 z_9j|-F`s{RP=$cDst&5$-WqgAcF`Gtx@3Q%K887#cxRgzbu`6Lm$M}5$f{X97PSL) zQ3E$bKXycolNuzWnU6-za1!bW7NRcS8q^BjL*3r3R{qpHfa>TN7R1vQ|1X9=&Zr6f zgF2$f*S%k6#ZmRawq%NtiL<~k)PPy27ss0u%_*pzn29U#4b;k8z2Vszb<6vsb}AW5 zVg_oQS5OmOjpZ2M`G|~GaLT-d`mX)~^(m;f)SGDy)Madh>Zm;y#RSyOjYUoT6;!(g z7TUfNm zC!$t79km0ith^r8&web8XRv6H%x$a4zsze;5w)@=sJqb_HBevF9Z0}ZINY3qn!rlb z$~U0i-;G-7X;eQyp^oYfYN0uov;SIo5i$ytMBUaZW)0MUwNV{5Lan@m#XDQPC+Y}N zP`7*ns=vjk39LcgneC{{eZ)Mwoc%9D;70uLc?tEgTZr1(6+tpO+qI~H-ZOWhUO0}E@e1n2;j6rX zN21PjDrUoZs16sSwt6{6;%3wWKQND=#`z94vEZ*{!dt)E`?uF6P#v{FHFyTK;z6i8 zFadRoUo$sa{chBRE}B1@w=p~Ms5N|KF*kO>UKp#-|2i_dG^bHt9KV{*+ulm@p$066 z+JOeB3AaGK*Aa8z5Y#11MXhim>SH(;wIdr*XZ{K1#4{M9&;MmIn&BNBiq2YZOA|3C z#Z=VUjy5M_F3NLJNAx;s;7zD@dr(_{%*tPxmrx75iCW0t82;b?B4tRG>GR$1omq;ZiJt zZ)0xUjpgttYT%ow_p)v9CX@$NE`&OY5~!UkZ&pVwq(15>I$|~Kzk&VN3)2Yb<1z;| z;7-)X?J(+Nb`3Sa9rUBK(OXe@)LAz`O}q_i;Et$%dZOMNgu2YbP|5V-*o0Z=jr5k$5a>fUZ~&pGO_VOw<;-s2zCU;>S?m3*Vr2 z_7`k`1-5t-coH?iMSnyaU7B)aw6dD0l|P2M<*hKhRXB!nH`LZ2MNRZ1 z(wB1`)z7l6{HHeDh$XP%Hg9JiM;&21RR3wHyO6bw^Vi2>ECKlf>Z@~tHJpqZaJt3k z;3Jghqb9T!Q?dSb@85{5#O{=@Vm*B9W5;QUsn`%Vp?35tmc&9k*nd^j+Tm^aAgoFG z71S1OxA-wEP5CeEfW<%Y?!;h>qdW=g<2N`2bMN&2qg4h@qx=pIz{a0?{|ROh>SK8< zNM-<;yVwi+?D8tMU^B|+tz2@qcl+C50pdMSmu?7ZD@UR(**L48Waas&qj>{$lnMX)C7WBLS^#crsHWtd}8cjqN! z;z4Ht8C{CkQ5`L}@iP2JC`r*V{}&eILAl8gMRZ=T=(%M$ATe zC+5X{<_Qe{{=Y;SK2oi(&o)-quyY9F%LJ>Kmdi+taA69)Q}3VW^JB zqmF1AY64486M7Rh!4RsyZ3j4iO<*^H3U~r_Mt`CPiaO|ZTmrQ-HBs%GVK!`!>M#y9 zz_X}{C!^X=M(yN0RDW-wCb-qy7bK&tJZ^!rsE)5&`6lL~d>1w2s6*Za^PmPOi5j39 zYDb!2PV9u5ST9t6{ZU65K=qf7+Ogm`GIhz!M$K>+*2k|=9Yr7ZUM!4y(U0n|I%Dg zHRhpw7Iimnpf2-WR6qAocO&oT-Vv5ZyH_4xPa4(mXHDB544 z-B;u{;@?=AdOu#LoXz^%MgEYz_mgn&q+*nlX%m6fv8zq881Lx$#>067PtyKFlEx1|*J-qi zq<4mpVoB}7HQ|3A4d)8*g8r;(i91QPNV;%(qRBsa^3lm=`l@4rd)S%sD-X5#hp5YU`0dN9;pVb7J>s zf1cQE%G=3TBbH8C&$It`{rtyfg8I1WDM>>;A#3;Tba=x@7+pHdWN(&!cJjb&+55#OVn6EBhqlPWTy zF{md$`Kq+5Oe#isj>Q9%_3$Zl=38Fng0%lr=kKH8MNFac1M+RGQEu{+iFY6+l79sC z1j)~)&8OiK|8#72Ctin6A3UdMGmY2|yh?B)`CR0S;;)pqkq^GXkD9#nn7#NZm8qm% zG8Va#4CyuU zPm#vz{9Dkd4vqBGq_Pz02g;2}i^)HW)2Mr$)P%P6NPML`jfj7T$(W9ni0kjh5tN@I z{|WZs{X*n_Ca>oJb|t3Y2kkNZ`7fu8J-^c6QPO(Kg?aI7^6RMo-RcjLf1fmrw1%|L z;zwv#p8OYhlceWIQg!mftsD+M^y5+b59Xz^Bf%%JDIMw=i-k%0EvDx)>!1&gqpbhM z#3`&n2UUsPA>RwPVI|TZ)c;NS3tUP0b?iplCrQPL-zMn^Y5n=Ae1Sks0##_Bry%8L zFq<{}5#J-Zr1G@?1smXc)Ki=M9rDMNr;nF0nV6owq-xeK9IzjKs4pM>{Y&5+h2vJS zn8tf4_p)*cI&5N{O~P-9e{6NpHsSM>hmr2`ZZB(F5HFE(lHx3;*QV%)J-LI{K}&p{ zm%pH*H2MDIYhg3eWqY|F<{^Fvm(Z>jc|B2>PTELX;f4OcpI3-(tCfqe5ItWJdxxZFQv~Nf zl|q2@I4P1wYrMMf&&JvTa)U`Ns2@sat%;4dHvcolNzw}1Jb0FquRz;8q}v2rQr?7< zae=j~>*MoZhfcQ=c-3Y)(kchz2wr&GdYogfBc4Fp|Il#>^2f>lOnRDpckAO4Z5xp< zi(ley>f%W=NP1e3%JTldzyIr!Uq-`KH28yj4N^VQIm)w$>sd#dOg=B(AVpC3HffO6 z6LOv<-+|PPl%KSh`tTnW(1o;$bd&Vp3BFJ6T^jyI!~dY3HhRgP1;qYKYX4A7RriQJ zjxXacq`%0&WNpfkZ%pjLGlLwPekcyd^0D)+GbeDX_ZvzyeK{CaC& zP>p!9JoM9Be^DA7w3p{vW7Q5JmJRFMBozCR`i9o_JM#aKzePL~-=W-qwlCs0qz6w0 zYu}2xDda0q5g=vP_y0>Y{ER{lDi7iW%KyP@)?D7d{LkcL z@ib*U%WwkLCaoqNp>7ZA`H8%qv(~l}tegbtJZjcl4xqIFDL+CRV1t6YqXRs$g;bzjogOK28X9)crGVxx2G#4fjsha-qrH4*A??dpsA~-Q&qfH-GPQZd9M`c?PAX z3{Ff>j?YX?O>xWgy&Ee1+&*9E>Hc5&+=}tFL;d1!M7SLi+PO;-2D;IK(xG;NSAA~j zAv@eFLk7FuhyLcqC6)_~OxzS%AU%+gm=H+GbULR8MkWSEg@z`t@)aGDn2{Mscj5wG z#vkv`$_S)~TBbJhxpCWzhh9tj-j^rY>6(?C9G^bM>DD^5JiSOZcgLu{ZiUe?p(dl_ zBit>|j}DC+8|@2yFz$}eJ@!J)(4)ba2=~1S1Ks5lD~0+@Y!wk&IjNn`y*2r~d+z0- zp~NYDeAz~(CJqX?=cXpQ&rGXdC@U=?J~QAX#b>1?1kwYUnF05$X+7P@>91r<9hDMD zcaKc3>*ks9o%_d(W$ucZiJ=0sj{D}$ZjiTbt-AI6bsIKq(4qYEG+R3a8Uiz@Nt2?$2-O z_E_+RJ8)qYck#lSq2{kuh;Wk^j|oLA*&peCxwL1f?wh%M?%-vIOSOLJKKK)uXjWPp ztIXhfgw`%E<_jHK@p43H!>T$F?v*u9xsSiyDJC&9kWtNBQ9>X&J|$t#+JL+K?NV(6 zDc%Mpvecxk4Avg-*Q@DINKF~!&j@5C1;PugM<8*embzzMW_rLMugPmO;%()j`)`km za7V4L;J&%Ot9xhtRCmsXN}-DzX8YWU?-U`WyUpMI&W+tPGjw26Q=eO4bK_9w&F@7O zXK(+#l6%&UOw7oNPfFD7i~I0zpWAzDwb1gdYkY3!?SZHa)*9Nj{i3gxPQZ!d&8%ep zry<>1>pG_-Ft3MC<=6YE^Qqq*w(D@Vrvh2& zfl$-kJ$&xMJy~wiy=C2IdpqUiIK!vww%l9Qm*sBXTdi5TKdDOmAblSF6*_QH8Tvsh zT{?Cry#iawKKn2Ko4K2-l2XG?%pG@p+`UO6XE{!#mdk-$BsmVCY(s{ zxxajM-Mw&fMrg*@&-faLPdF{Wuz~PFC&l}d6H^kC\n" "Language-Team: AE info \n" @@ -16,161 +16,162 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: accounting/models.py:36 accounting/models.py:84 accounting/models.py:111 -#: accounting/models.py:170 club/models.py:18 counter/models.py:75 -#: counter/models.py:100 counter/models.py:135 forum/models.py:25 -#: launderette/models.py:13 launderette/models.py:58 launderette/models.py:83 +#: accounting/models.py:60 accounting/models.py:108 accounting/models.py:135 +#: accounting/models.py:194 club/models.py:42 counter/models.py:99 +#: counter/models.py:124 counter/models.py:159 forum/models.py:49 +#: launderette/models.py:37 launderette/models.py:82 launderette/models.py:107 +#: stock/models.py:13 stock/models.py:29 stock/models.py:52 stock/models.py:72 msgid "name" msgstr "nom" -#: accounting/models.py:37 +#: accounting/models.py:61 msgid "street" msgstr "rue" -#: accounting/models.py:38 +#: accounting/models.py:62 msgid "city" msgstr "ville" -#: accounting/models.py:39 +#: accounting/models.py:63 msgid "postcode" msgstr "code postal" -#: accounting/models.py:40 +#: accounting/models.py:64 msgid "country" msgstr "pays" -#: accounting/models.py:41 core/models.py:163 +#: accounting/models.py:65 core/models.py:187 msgid "phone" msgstr "téléphone" -#: accounting/models.py:42 +#: accounting/models.py:66 msgid "email" msgstr "email" -#: accounting/models.py:43 +#: accounting/models.py:67 msgid "website" msgstr "site internet" -#: accounting/models.py:46 +#: accounting/models.py:70 msgid "company" msgstr "entreprise" -#: accounting/models.py:85 +#: accounting/models.py:109 msgid "iban" msgstr "IBAN" -#: accounting/models.py:86 +#: accounting/models.py:110 msgid "account number" msgstr "numero de compte" -#: accounting/models.py:87 accounting/models.py:112 club/models.py:148 -#: com/models.py:37 com/models.py:122 counter/models.py:109 -#: counter/models.py:136 +#: accounting/models.py:111 accounting/models.py:136 club/models.py:172 +#: com/models.py:62 com/models.py:147 counter/models.py:133 +#: counter/models.py:160 msgid "club" msgstr "club" -#: accounting/models.py:90 +#: accounting/models.py:114 msgid "Bank account" msgstr "Compte en banque" -#: accounting/models.py:113 +#: accounting/models.py:137 msgid "bank account" msgstr "compte en banque" -#: accounting/models.py:116 +#: accounting/models.py:140 msgid "Club account" msgstr "Compte club" -#: accounting/models.py:161 +#: accounting/models.py:185 #, python-format msgid "%(club_account)s on %(bank_account)s" msgstr "%(club_account)s sur %(bank_account)s" -#: accounting/models.py:168 club/models.py:149 counter/models.py:404 -#: election/models.py:18 launderette/models.py:120 +#: accounting/models.py:192 club/models.py:173 counter/models.py:428 +#: election/models.py:18 launderette/models.py:144 msgid "start date" msgstr "date de début" -#: accounting/models.py:169 club/models.py:150 counter/models.py:405 +#: accounting/models.py:193 club/models.py:174 counter/models.py:429 #: election/models.py:19 msgid "end date" msgstr "date de fin" -#: accounting/models.py:171 +#: accounting/models.py:195 msgid "is closed" msgstr "est fermé" -#: accounting/models.py:172 accounting/models.py:390 +#: accounting/models.py:196 accounting/models.py:414 msgid "club account" msgstr "compte club" -#: accounting/models.py:173 accounting/models.py:229 counter/models.py:28 -#: counter/models.py:244 +#: accounting/models.py:197 accounting/models.py:253 counter/models.py:52 +#: counter/models.py:268 msgid "amount" msgstr "montant" -#: accounting/models.py:174 +#: accounting/models.py:198 msgid "effective_amount" msgstr "montant effectif" -#: accounting/models.py:177 +#: accounting/models.py:201 msgid "General journal" msgstr "Classeur" -#: accounting/models.py:227 +#: accounting/models.py:251 msgid "number" msgstr "numéro" -#: accounting/models.py:228 +#: accounting/models.py:252 msgid "journal" msgstr "classeur" -#: accounting/models.py:230 core/models.py:553 core/models.py:924 -#: core/models.py:964 counter/models.py:247 counter/models.py:295 -#: counter/models.py:421 eboutic/models.py:15 eboutic/models.py:48 -#: forum/models.py:170 forum/models.py:225 +#: accounting/models.py:254 core/models.py:577 core/models.py:948 +#: core/models.py:988 counter/models.py:271 counter/models.py:319 +#: counter/models.py:445 eboutic/models.py:39 eboutic/models.py:72 +#: forum/models.py:194 forum/models.py:249 stock/models.py:51 msgid "date" msgstr "date" -#: accounting/models.py:231 counter/models.py:422 +#: accounting/models.py:255 counter/models.py:446 stock/models.py:54 msgid "comment" msgstr "commentaire" -#: accounting/models.py:232 counter/models.py:248 counter/models.py:296 -#: subscription/models.py:29 +#: accounting/models.py:256 counter/models.py:272 counter/models.py:320 +#: subscription/models.py:53 msgid "payment method" msgstr "méthode de paiement" -#: accounting/models.py:233 +#: accounting/models.py:257 msgid "cheque number" msgstr "numéro de chèque" -#: accounting/models.py:234 eboutic/models.py:116 +#: accounting/models.py:258 eboutic/models.py:140 msgid "invoice" msgstr "facture" -#: accounting/models.py:235 +#: accounting/models.py:259 msgid "is done" msgstr "est fait" -#: accounting/models.py:237 +#: accounting/models.py:261 msgid "simple type" msgstr "type simplifié" -#: accounting/models.py:239 accounting/models.py:345 +#: accounting/models.py:263 accounting/models.py:369 msgid "accounting type" msgstr "type comptable" -#: accounting/models.py:241 accounting/models.py:340 accounting/models.py:366 -#: accounting/models.py:389 counter/models.py:287 +#: accounting/models.py:265 accounting/models.py:364 accounting/models.py:390 +#: accounting/models.py:413 counter/models.py:311 msgid "label" msgstr "étiquette" -#: accounting/models.py:242 +#: accounting/models.py:266 msgid "target type" msgstr "type de cible" -#: accounting/models.py:243 club/templates/club/club_members.jinja:8 +#: accounting/models.py:267 club/templates/club/club_members.jinja:8 #: club/templates/club/club_old_members.jinja:8 #: core/templates/core/user_clubs.jinja:15 #: core/templates/core/user_clubs.jinja:41 @@ -182,7 +183,7 @@ msgstr "type de cible" msgid "User" msgstr "Utilisateur" -#: accounting/models.py:243 club/templates/club/club_detail.jinja:5 +#: accounting/models.py:267 club/templates/club/club_detail.jinja:5 #: com/templates/com/news_admin_list.jinja:17 #: com/templates/com/news_admin_list.jinja:51 #: com/templates/com/weekmail.jinja:18 com/templates/com/weekmail.jinja:47 @@ -190,31 +191,32 @@ msgstr "Utilisateur" msgid "Club" msgstr "Club" -#: accounting/models.py:243 core/views/user.py:184 +#: accounting/models.py:267 core/views/user.py:208 msgid "Account" msgstr "Compte" -#: accounting/models.py:243 +#: accounting/models.py:267 msgid "Company" msgstr "Entreprise" -#: accounting/models.py:243 sith/settings.py:325 +#: accounting/models.py:267 sith/settings.py:350 +#: stock/templates/stock/shopping_list_items.jinja:37 msgid "Other" msgstr "Autre" -#: accounting/models.py:244 +#: accounting/models.py:268 msgid "target id" msgstr "id de la cible" -#: accounting/models.py:245 +#: accounting/models.py:269 msgid "target label" msgstr "nom de la cible" -#: accounting/models.py:246 +#: accounting/models.py:270 msgid "linked operation" msgstr "opération liée" -#: accounting/models.py:262 +#: accounting/models.py:286 #, python-format msgid "" "The date can not be before the start date of the journal, which is\n" @@ -223,16 +225,16 @@ msgstr "" "La date ne peut pas être avant la date de début du journal, qui est\n" "%(start_date)s." -#: accounting/models.py:265 +#: accounting/models.py:289 msgid "Target does not exists" msgstr "La cible n'existe pas." -#: accounting/models.py:267 +#: accounting/models.py:291 msgid "Please add a target label if you set no existing target" msgstr "" "Merci d'ajouter un nom de cible si vous ne spécifiez pas de cible existante" -#: accounting/models.py:269 +#: accounting/models.py:293 msgid "" "You need to provide ether a simplified accounting type or a standard " "accounting type" @@ -240,41 +242,41 @@ msgstr "" "Vous devez fournir soit un type comptable simplifié ou un type comptable " "standard" -#: accounting/models.py:335 counter/models.py:104 +#: accounting/models.py:359 counter/models.py:128 msgid "code" msgstr "code" -#: accounting/models.py:337 +#: accounting/models.py:361 msgid "An accounting type code contains only numbers" msgstr "Un code comptable ne contient que des numéros" -#: accounting/models.py:341 +#: accounting/models.py:365 msgid "movement type" msgstr "type de mouvement" -#: accounting/models.py:341 +#: accounting/models.py:365 #: accounting/templates/accounting/journal_statement_nature.jinja:8 #: accounting/templates/accounting/journal_statement_person.jinja:11 -#: accounting/views.py:431 +#: accounting/views.py:455 msgid "Credit" msgstr "Crédit" -#: accounting/models.py:341 +#: accounting/models.py:365 #: accounting/templates/accounting/journal_statement_nature.jinja:27 #: accounting/templates/accounting/journal_statement_person.jinja:39 -#: accounting/views.py:431 +#: accounting/views.py:455 msgid "Debit" msgstr "Débit" -#: accounting/models.py:342 +#: accounting/models.py:366 msgid "Neutral" msgstr "Neutre" -#: accounting/models.py:368 +#: accounting/models.py:392 msgid "simplified accounting types" msgstr "type simplifié" -#: accounting/models.py:371 +#: accounting/models.py:395 msgid "simplified type" msgstr "type simplifié" @@ -326,24 +328,25 @@ msgstr "Compte en banque : " #: core/templates/core/file_moderation.jinja:24 #: core/templates/core/group_list.jinja:13 core/templates/core/macros.jinja:49 #: core/templates/core/macros.jinja:68 -#: core/templates/core/pagerev_edit.jinja:26 +#: core/templates/core/pagerev_edit.jinja:28 #: core/templates/core/user_account_detail.jinja:38 #: core/templates/core/user_edit.jinja:19 #: counter/templates/counter/last_ops.jinja:29 #: counter/templates/counter/last_ops.jinja:59 #: election/templates/election/election_detail.jinja:280 #: election/templates/election/election_detail.jinja:329 -#: forum/templates/forum/macros.jinja:20 -#: forum/templates/forum/macros.jinja:110 +#: forum/templates/forum/macros.jinja:20 forum/templates/forum/macros.jinja:110 #: launderette/templates/launderette/launderette_admin.jinja:16 -#: launderette/views.py:154 sas/templates/sas/album.jinja:26 +#: launderette/views.py:178 sas/templates/sas/album.jinja:26 #: sas/templates/sas/moderation.jinja:18 sas/templates/sas/picture.jinja:74 -#: sas/templates/sas/picture.jinja:124 +#: sas/templates/sas/picture.jinja.py:124 +#: stock/templates/stock/stock_shopping_list.jinja:43 +#: stock/templates/stock/stock_shopping_list.jinja:69 msgid "Delete" msgstr "Supprimer" #: accounting/templates/accounting/bank_account_details.jinja:17 -#: club/views.py:33 core/views/user.py:130 sas/templates/sas/picture.jinja:86 +#: club/views.py:57 core/views/user.py:154 sas/templates/sas/picture.jinja:86 msgid "Infos" msgstr "Infos" @@ -362,12 +365,12 @@ msgstr "Nouveau compte club" #: accounting/templates/accounting/bank_account_details.jinja:26 #: accounting/templates/accounting/bank_account_list.jinja:21 #: accounting/templates/accounting/club_account_details.jinja:57 -#: accounting/templates/accounting/journal_details.jinja:83 club/views.py:55 +#: accounting/templates/accounting/journal_details.jinja:83 club/views.py:79 #: com/templates/com/news_admin_list.jinja:39 #: com/templates/com/news_admin_list.jinja:71 #: com/templates/com/weekmail.jinja:32 com/templates/com/weekmail.jinja:61 #: core/templates/core/file.jinja:38 core/templates/core/page.jinja:31 -#: core/templates/core/user_tools.jinja:38 core/views/user.py:152 +#: core/templates/core/user_tools.jinja:39 core/views/user.py:176 #: counter/templates/counter/cash_summary_list.jinja:53 #: counter/templates/counter/counter_list.jinja:17 #: counter/templates/counter/counter_list.jinja:32 @@ -547,7 +550,9 @@ msgstr "No" #: core/templates/core/user_account_detail.jinja:78 #: counter/templates/counter/cash_summary_list.jinja:34 #: counter/templates/counter/last_ops.jinja:14 -#: counter/templates/counter/last_ops.jinja:39 sas/views.py:257 +#: counter/templates/counter/last_ops.jinja:39 sas/views.py:281 +#: stock/templates/stock/stock_shopping_list.jinja:25 +#: stock/templates/stock/stock_shopping_list.jinja:54 msgid "Date" msgstr "Date" @@ -580,7 +585,7 @@ msgid "Done" msgstr "Effectuées" #: accounting/templates/accounting/journal_details.jinja:39 -#: counter/templates/counter/cash_summary_list.jinja:37 counter/views.py:756 +#: counter/templates/counter/cash_summary_list.jinja:37 counter/views.py:797 msgid "Comment" msgstr "Commentaire" @@ -676,21 +681,21 @@ msgid "Linked operation:" msgstr "Opération liée : " #: accounting/templates/accounting/operation_edit.jinja:51 -#: com/templates/com/news_edit.jinja:66 com/templates/com/weekmail.jinja:74 +#: com/templates/com/news_edit.jinja:56 com/templates/com/weekmail.jinja:74 #: core/templates/core/create.jinja:12 core/templates/core/edit.jinja:7 #: core/templates/core/edit.jinja.py:15 core/templates/core/edit.jinja:20 #: core/templates/core/file_edit.jinja:8 core/templates/core/page_prop.jinja:8 -#: core/templates/core/pagerev_edit.jinja:24 +#: core/templates/core/pagerev_edit.jinja:26 #: core/templates/core/user_godfathers.jinja:35 #: counter/templates/counter/cash_register_summary.jinja:22 -#: forum/templates/forum/reply.jinja:22 +#: forum/templates/forum/reply.jinja:31 #: subscription/templates/subscription/subscription.jinja:23 msgid "Save" msgstr "Sauver" #: accounting/templates/accounting/refound_account.jinja:4 #: accounting/templates/accounting/refound_account.jinja:8 -#: accounting/views.py:694 +#: accounting/views.py:718 msgid "Refound account" msgstr "Remboursement de compte" @@ -711,83 +716,83 @@ msgstr "Types simplifiés" msgid "New simplified type" msgstr "Nouveau type simplifié" -#: accounting/views.py:172 accounting/views.py:179 accounting/views.py:414 +#: accounting/views.py:196 accounting/views.py:203 accounting/views.py:438 msgid "Journal" msgstr "Classeur" -#: accounting/views.py:184 +#: accounting/views.py:208 msgid "Statement by nature" msgstr "Bilan par nature" -#: accounting/views.py:189 +#: accounting/views.py:213 msgid "Statement by person" msgstr "Bilan par personne" -#: accounting/views.py:194 +#: accounting/views.py:218 msgid "Accounting statement" msgstr "Bilan comptable" -#: accounting/views.py:408 accounting/views.py:414 +#: accounting/views.py:432 accounting/views.py:438 msgid "Operation" msgstr "Opération" -#: accounting/views.py:424 +#: accounting/views.py:448 msgid "Financial proof: " msgstr "Justificatif de libellé : " -#: accounting/views.py:425 +#: accounting/views.py:449 #, python-format msgid "Club: %(club_name)s" msgstr "Club : %(club_name)s" -#: accounting/views.py:426 +#: accounting/views.py:450 #, python-format msgid "Label: %(op_label)s" msgstr "Libellé : %(op_label)s" -#: accounting/views.py:427 +#: accounting/views.py:451 #, python-format msgid "Date: %(date)s" msgstr "Date : %(date)s" -#: accounting/views.py:433 +#: accounting/views.py:457 #, python-format msgid "Amount: %(amount).2f €" msgstr "Montant : %(amount).2f €" -#: accounting/views.py:445 +#: accounting/views.py:469 msgid "Debtor" msgstr "Débiteur" -#: accounting/views.py:445 +#: accounting/views.py:469 msgid "Creditor" msgstr "Créditeur" -#: accounting/views.py:447 +#: accounting/views.py:471 msgid "Comment:" msgstr "Commentaire :" -#: accounting/views.py:466 +#: accounting/views.py:490 msgid "Signature:" msgstr "Signature :" -#: accounting/views.py:520 +#: accounting/views.py:544 msgid "General statement" msgstr "Bilan général" -#: accounting/views.py:523 +#: accounting/views.py:547 msgid "No label operations" msgstr "Opérations sans étiquette" -#: accounting/views.py:656 +#: accounting/views.py:680 msgid "Refound this account" msgstr "Rembourser ce compte" -#: club/models.py:20 +#: club/models.py:44 msgid "unix name" msgstr "nom unix" -#: club/models.py:24 +#: club/models.py:48 msgid "" "Enter a valid unix name. This value may contain only letters, numbers ./-/_ " "characters." @@ -795,52 +800,52 @@ msgstr "" "Entrez un nom UNIX valide. Cette valeur peut contenir uniquement des " "lettres, des nombres, et les caractères ./-/_" -#: club/models.py:29 +#: club/models.py:53 msgid "A club with that unix name already exists." msgstr "Un club avec ce nom UNIX existe déjà." -#: club/models.py:32 core/models.py:165 +#: club/models.py:56 core/models.py:189 msgid "address" msgstr "Adresse" -#: club/models.py:38 core/models.py:126 +#: club/models.py:62 core/models.py:150 msgid "home" msgstr "home" -#: club/models.py:50 +#: club/models.py:74 msgid "You can not make loops in clubs" msgstr "Vous ne pouvez pas faire de boucles dans les clubs" -#: club/models.py:64 +#: club/models.py:88 msgid "A club with that unix_name already exists" msgstr "Un club avec ce nom UNIX existe déjà." -#: club/models.py:147 counter/models.py:402 counter/models.py:419 -#: eboutic/models.py:14 eboutic/models.py:47 election/models.py:130 -#: launderette/models.py:87 launderette/models.py:124 sas/models.py:132 +#: club/models.py:171 counter/models.py:426 counter/models.py:443 +#: eboutic/models.py:38 eboutic/models.py:71 election/models.py:130 +#: launderette/models.py:111 launderette/models.py:148 sas/models.py:156 msgid "user" msgstr "nom d'utilisateur" -#: club/models.py:151 core/models.py:145 election/models.py:129 +#: club/models.py:175 core/models.py:169 election/models.py:129 #: election/models.py:145 msgid "role" msgstr "rôle" -#: club/models.py:153 core/models.py:37 counter/models.py:76 -#: counter/models.py:101 election/models.py:15 election/models.py:82 -#: election/models.py:131 forum/models.py:26 forum/models.py:125 +#: club/models.py:177 core/models.py:61 counter/models.py:100 +#: counter/models.py:125 election/models.py:15 election/models.py:82 +#: election/models.py:131 forum/models.py:50 forum/models.py:149 msgid "description" msgstr "description" -#: club/models.py:158 +#: club/models.py:182 msgid "User must be subscriber to take part to a club" msgstr "L'utilisateur doit être cotisant pour faire partie d'un club" -#: club/models.py:160 +#: club/models.py:184 msgid "User is already member of that club" msgstr "L'utilisateur est déjà membre de ce club" -#: club/models.py:164 +#: club/models.py:188 msgid "past member" msgstr "Anciens membres" @@ -887,8 +892,8 @@ msgid "Mark as old" msgstr "Marquer comme ancien" #: club/templates/club/club_members.jinja:30 -#: core/templates/core/file_detail.jinja:19 core/views/forms.py:205 -#: launderette/views.py:154 +#: core/templates/core/file_detail.jinja:19 core/views/forms.py:229 +#: launderette/views.py:178 msgid "Add" msgstr "Ajouter" @@ -906,14 +911,13 @@ msgstr "Du" msgid "To" msgstr "Au" -#: club/templates/club/club_sellings.jinja:5 club/views.py:60 -#: club/views.py:223 counter/templates/counter/counter_main.jinja:19 +#: club/templates/club/club_sellings.jinja:5 club/views.py:84 club/views.py:247 +#: counter/templates/counter/counter_main.jinja:19 #: counter/templates/counter/last_ops.jinja:35 msgid "Sellings" msgstr "Ventes" -#: club/templates/club/club_sellings.jinja:9 -#: club/templates/club/stats.jinja:19 +#: club/templates/club/club_sellings.jinja:9 club/templates/club/stats.jinja:19 #: counter/templates/counter/cash_summary_list.jinja:15 msgid "Show" msgstr "Montrer" @@ -934,10 +938,10 @@ msgstr "unités" msgid "Benefit: " msgstr "Bénéfice : " -#: club/templates/club/club_sellings.jinja:21 club/views.py:173 +#: club/templates/club/club_sellings.jinja:21 club/views.py:197 #: core/templates/core/user_account_detail.jinja:18 #: core/templates/core/user_account_detail.jinja:51 -#: counter/templates/counter/cash_summary_list.jinja:33 counter/views.py:103 +#: counter/templates/counter/cash_summary_list.jinja:33 counter/views.py:131 msgid "Counter" msgstr "Comptoir" @@ -981,7 +985,7 @@ msgid "Payment method" msgstr "Méthode de paiement" #: club/templates/club/club_tools.jinja:4 -#: core/templates/core/user_tools.jinja:86 +#: core/templates/core/user_tools.jinja:95 msgid "Club tools" msgstr "Outils club" @@ -1013,146 +1017,147 @@ msgstr "Gestion des laveries" msgid "Club stats" msgstr "Statistiques du club" -#: club/views.py:39 +#: club/views.py:63 msgid "Members" msgstr "Membres" -#: club/views.py:44 +#: club/views.py:68 msgid "Old members" msgstr "Anciens membres" -#: club/views.py:50 core/templates/core/base.jinja:64 core/views/user.py:146 +#: club/views.py:74 core/templates/core/base.jinja:64 core/views/user.py:170 #: sas/templates/sas/picture.jinja:95 msgid "Tools" msgstr "Outils" -#: club/views.py:66 counter/templates/counter/counter_list.jinja:21 -#: counter/templates/counter/counter_list.jinja:36 -#: counter/templates/counter/counter_list.jinja:51 +#: club/views.py:90 counter/templates/counter/counter_list.jinja:21 +#: counter/templates/counter/counter_list.jinja:42 +#: counter/templates/counter/counter_list.jinja:57 msgid "Props" msgstr "Propriétés" -#: club/views.py:107 core/views/forms.py:206 counter/views.py:68 +#: club/views.py:131 core/views/forms.py:230 counter/views.py:92 msgid "Select user" msgstr "Choisir un utilisateur" -#: club/views.py:156 sas/views.py:82 sas/views.py:133 sas/views.py:204 +#: club/views.py:180 sas/views.py:106 sas/views.py:157 sas/views.py:228 msgid "You do not have the permission to do that" msgstr "Vous n'avez pas la permission de faire cela" -#: club/views.py:171 counter/views.py:977 +#: club/views.py:195 counter/views.py:1018 msgid "Begin date" msgstr "Date de début" -#: club/views.py:172 com/views.py:99 counter/views.py:978 +#: club/views.py:196 com/views.py:123 counter/views.py:1019 #: election/views.py:131 msgid "End date" msgstr "Date de fin" -#: club/views.py:186 core/templates/core/user_stats.jinja:27 -#: counter/views.py:1064 +#: club/views.py:210 core/templates/core/user_stats.jinja:27 +#: counter/views.py:1105 msgid "Product" msgstr "Produit" -#: com/models.py:13 +#: com/models.py:38 msgid "alert message" msgstr "message d'alerte" -#: com/models.py:14 +#: com/models.py:39 msgid "info message" msgstr "message d'info" -#: com/models.py:15 +#: com/models.py:40 msgid "index page" msgstr "page d'accueil" -#: com/models.py:16 +#: com/models.py:41 msgid "weekmail destinations" msgstr "destinataires du weekmail" -#: com/models.py:25 +#: com/models.py:50 msgid "Notice" msgstr "Information" -#: com/models.py:26 +#: com/models.py:51 msgid "Event" msgstr "Événement" -#: com/models.py:27 com/templates/com/news_list.jinja:79 +#: com/models.py:52 com/templates/com/news_list.jinja:81 msgid "Weekly" msgstr "Hebdomadaire" -#: com/models.py:28 +#: com/models.py:53 msgid "Call" msgstr "Appel" -#: com/models.py:33 com/models.py:75 com/models.py:119 election/models.py:14 -#: election/models.py:81 election/models.py:118 forum/models.py:168 +#: com/models.py:58 com/models.py:100 com/models.py:144 election/models.py:14 +#: election/models.py:81 election/models.py:118 forum/models.py:192 msgid "title" msgstr "titre" -#: com/models.py:34 +#: com/models.py:59 msgid "summary" msgstr "résumé" -#: com/models.py:35 com/models.py:120 +#: com/models.py:60 com/models.py:145 msgid "content" msgstr "contenu de la nouvelle" -#: com/models.py:36 core/models.py:963 launderette/models.py:60 -#: launderette/models.py:85 launderette/models.py:121 +#: com/models.py:61 core/models.py:987 launderette/models.py:84 +#: launderette/models.py:109 launderette/models.py:145 stock/models.py:34 +#: stock/models.py:73 msgid "type" msgstr "type" -#: com/models.py:38 com/models.py:121 +#: com/models.py:63 com/models.py:146 msgid "author" msgstr "auteur" -#: com/models.py:39 core/models.py:554 +#: com/models.py:64 core/models.py:578 msgid "is moderated" msgstr "est modéré" -#: com/models.py:40 +#: com/models.py:65 msgid "moderator" msgstr "modérateur" -#: com/models.py:64 +#: com/models.py:89 msgid "news_date" msgstr "date de la nouvelle" -#: com/models.py:65 +#: com/models.py:90 msgid "start_date" msgstr "date de début" -#: com/models.py:66 +#: com/models.py:91 msgid "end_date" msgstr "date de fin" -#: com/models.py:76 +#: com/models.py:101 msgid "intro" msgstr "intro" -#: com/models.py:77 +#: com/models.py:102 msgid "joke" msgstr "blague" -#: com/models.py:78 +#: com/models.py:103 msgid "protip" msgstr "astuce" -#: com/models.py:79 +#: com/models.py:104 msgid "conclusion" msgstr "conclusion" -#: com/models.py:80 +#: com/models.py:105 msgid "sent" msgstr "envoyé" -#: com/models.py:118 +#: com/models.py:143 msgid "weekmail" msgstr "weekmail" -#: com/models.py:123 +#: com/models.py:148 msgid "rank" msgstr "rang" @@ -1173,7 +1178,7 @@ msgstr "Nouvelles affichées" #: com/templates/com/news_admin_list.jinja:14 #: com/templates/com/news_admin_list.jinja:48 #: launderette/templates/launderette/launderette_admin.jinja:42 -#: launderette/views.py:156 +#: launderette/views.py:180 msgid "Type" msgstr "Type" @@ -1181,6 +1186,7 @@ msgstr "Type" #: com/templates/com/news_admin_list.jinja:49 #: com/templates/com/weekmail.jinja:19 com/templates/com/weekmail.jinja:48 #: forum/templates/forum/forum.jinja:26 forum/templates/forum/forum.jinja:44 +#: forum/views.py:127 msgid "Title" msgstr "Titre" @@ -1216,7 +1222,7 @@ msgstr "Modérer" msgid "Back to news" msgstr "Retour aux nouvelles" -#: com/templates/com/news_detail.jinja:22 com/templates/com/news_edit.jinja:34 +#: com/templates/com/news_detail.jinja:22 com/templates/com/news_edit.jinja:24 msgid "Author: " msgstr "Auteur : " @@ -1228,24 +1234,24 @@ msgstr "Modérateur : " msgid "Edit (will be remoderated)" msgstr "Éditer (sera resoumise à modération)" -#: com/templates/com/news_edit.jinja:6 com/templates/com/news_edit.jinja:38 +#: com/templates/com/news_edit.jinja:6 com/templates/com/news_edit.jinja:28 msgid "Edit news" msgstr "Éditer la nouvelle" -#: com/templates/com/news_edit.jinja:8 com/templates/com/news_edit.jinja:40 -#: core/templates/core/user_tools.jinja:72 +#: com/templates/com/news_edit.jinja:8 com/templates/com/news_edit.jinja:30 +#: core/templates/core/user_tools.jinja:81 msgid "Create news" msgstr "Créer nouvelle" -#: com/templates/com/news_edit.jinja:48 +#: com/templates/com/news_edit.jinja:38 msgid "Notice: Information, election result - no date" msgstr "Information, resultat d'élection - sans date" -#: com/templates/com/news_edit.jinja:49 +#: com/templates/com/news_edit.jinja:39 msgid "Event: punctual event, associated with one date" msgstr "Événement : événement ponctuel associé à une date" -#: com/templates/com/news_edit.jinja:50 +#: com/templates/com/news_edit.jinja:40 msgid "" "Weekly: recurrent event, associated with many dates (specify the first one, " "and a deadline)" @@ -1253,15 +1259,16 @@ msgstr "" "Hebdomadaire : événement récurrent, associé à plusieurs dates (spécifier la " "première, ainsi que la date de fin)" -#: com/templates/com/news_edit.jinja:51 +#: com/templates/com/news_edit.jinja:41 msgid "" "Call: long time event, associated with a long date (election appliance, ...)" msgstr "" "Appel : événement de longue durée, associé à une longue date (candidature, " "concours, ...)" -#: com/templates/com/news_edit.jinja:65 com/templates/com/weekmail.jinja:10 -#: core/templates/core/pagerev_edit.jinja:23 +#: com/templates/com/news_edit.jinja:55 com/templates/com/weekmail.jinja:10 +#: core/templates/core/pagerev_edit.jinja:25 +#: forum/templates/forum/reply.jinja:30 msgid "Preview" msgstr "Prévisualiser" @@ -1269,12 +1276,12 @@ msgstr "Prévisualiser" msgid "Events today and the next few days" msgstr "Événement aujourd'hui et dans les prochains jours" -#: com/templates/com/news_list.jinja:65 +#: com/templates/com/news_list.jinja:67 msgid "Coming soon... don't miss!" msgstr "Prochainement... à ne pas rater!" #: com/templates/com/weekmail.jinja:5 com/templates/com/weekmail.jinja.py:9 -#: com/views.py:37 core/templates/core/user_tools.jinja:70 +#: com/views.py:61 core/templates/core/user_tools.jinja:79 msgid "Weekmail" msgstr "Weekmail" @@ -1317,7 +1324,8 @@ msgstr "Supprimer du Weekmail" #: com/templates/com/weekmail_preview.jinja:9 #: core/templates/core/user_account_detail.jinja:11 -#: core/templates/core/user_account_detail.jinja:104 launderette/views.py:154 +#: core/templates/core/user_account_detail.jinja:104 launderette/views.py:178 +#: stock/templates/stock/shopping_list_items.jinja:9 msgid "Back" msgstr "Retour" @@ -1358,74 +1366,78 @@ msgstr "Astuce" msgid "Final word" msgstr "Le mot de la fin" -#: com/views.py:30 +#: com/views.py:54 msgid "Communication administration" msgstr "Administration de la communication" -#: com/views.py:42 core/templates/core/user_tools.jinja:71 +#: com/views.py:66 core/templates/core/user_tools.jinja:80 msgid "Weekmail destinations" msgstr "Destinataires du Weekmail" -#: com/views.py:47 +#: com/views.py:71 msgid "Index page" msgstr "Page d'accueil" -#: com/views.py:52 +#: com/views.py:76 msgid "Info message" msgstr "Message d'info" -#: com/views.py:57 +#: com/views.py:81 msgid "Alert message" msgstr "Message d'alerte" -#: com/views.py:98 election/views.py:130 +#: com/views.py:122 election/views.py:130 msgid "Start date" msgstr "Date de début" -#: com/views.py:100 +#: com/views.py:124 msgid "Until" msgstr "Jusqu'à" -#: com/views.py:101 +#: com/views.py:125 msgid "Automoderation" msgstr "Automodération" -#: com/views.py:107 com/views.py:109 com/views.py:111 +#: com/views.py:131 com/views.py:133 com/views.py:137 msgid "This field is required." msgstr "Ce champ est obligatoire." -#: com/views.py:264 +#: com/views.py:135 +msgid "You crazy? You can not finish an event before starting it." +msgstr "T'es fou? Un événement ne peut pas finir avant même de commencer." + +#: com/views.py:290 msgid "Delete and save to regenerate" msgstr "Supprimer et sauver pour regénérer" -#: com/views.py:272 +#: com/views.py:298 msgid "Weekmail of the " msgstr "Weekmail du " -#: core/models.py:33 +#: core/models.py:57 msgid "meta group status" msgstr "status du meta-groupe" -#: core/models.py:35 +#: core/models.py:59 msgid "Whether a group is a meta group or not" msgstr "Si un groupe est un meta-groupe ou pas" -#: core/models.py:67 +#: core/models.py:91 #, python-format msgid "%(value)s is not a valid promo (between 0 and %(end)s)" msgstr "%(value)s n'est pas une promo valide (doit être entre 0 et %(end)s)" -#: core/models.py:83 +#: core/models.py:107 msgid "username" msgstr "nom d'utilisateur" -#: core/models.py:86 +#: core/models.py:110 msgid "Required. 254 characters or fewer. Letters, digits and ./+/-/_ only." msgstr "" "Requis. Pas plus de 254 caractères. Uniquement des lettres, numéros, et ./" "+/-/_" -#: core/models.py:90 +#: core/models.py:114 msgid "" "Enter a valid username. This value may contain only letters, numbers and ./" "+/-/_ characters." @@ -1433,43 +1445,43 @@ msgstr "" "Entrez un nom d'utilisateur correct. Uniquement des lettres, numéros, et ./" "+/-/_" -#: core/models.py:95 +#: core/models.py:119 msgid "A user with that username already exists." msgstr "Un utilisateur de ce nom existe déjà" -#: core/models.py:98 +#: core/models.py:122 msgid "first name" msgstr "Prénom" -#: core/models.py:99 +#: core/models.py:123 msgid "last name" msgstr "Nom" -#: core/models.py:100 +#: core/models.py:124 msgid "email address" msgstr "adresse email" -#: core/models.py:101 +#: core/models.py:125 msgid "date of birth" msgstr "date de naissance" -#: core/models.py:102 +#: core/models.py:126 msgid "nick name" msgstr "surnom" -#: core/models.py:104 +#: core/models.py:128 msgid "staff status" msgstr "status \"staff\"" -#: core/models.py:106 +#: core/models.py:130 msgid "Designates whether the user can log into this admin site." msgstr "Est-ce que l'utilisateur peut se logger à la partie admin du site." -#: core/models.py:109 +#: core/models.py:133 msgid "active" msgstr "actif" -#: core/models.py:112 +#: core/models.py:136 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1477,270 +1489,271 @@ msgstr "" "Est-ce que l'utilisateur doit être traité comme actif. Déselectionnez au " "lieu de supprimer les comptes." -#: core/models.py:116 +#: core/models.py:140 msgid "date joined" msgstr "date d'inscription" -#: core/models.py:117 +#: core/models.py:141 msgid "last update" msgstr "dernière mise à jour" -#: core/models.py:119 +#: core/models.py:143 msgid "superuser" msgstr "super-utilisateur" -#: core/models.py:122 +#: core/models.py:146 msgid "Designates whether this user is a superuser. " msgstr "Est-ce que l'utilisateur est super-utilisateur." -#: core/models.py:128 +#: core/models.py:152 msgid "profile" msgstr "profil" -#: core/models.py:130 +#: core/models.py:154 msgid "avatar" msgstr "avatar" -#: core/models.py:132 +#: core/models.py:156 msgid "scrub" msgstr "blouse" -#: core/models.py:134 +#: core/models.py:158 msgid "sex" msgstr "sexe" -#: core/models.py:134 +#: core/models.py:158 msgid "Man" msgstr "Homme" -#: core/models.py:134 +#: core/models.py:158 msgid "Woman" msgstr "Femme" -#: core/models.py:135 +#: core/models.py:159 msgid "tshirt size" msgstr "taille de tshirt" -#: core/models.py:136 +#: core/models.py:160 msgid "-" msgstr "-" -#: core/models.py:137 +#: core/models.py:161 msgid "XS" msgstr "XS" -#: core/models.py:138 +#: core/models.py:162 msgid "S" msgstr "S" -#: core/models.py:139 +#: core/models.py:163 msgid "M" msgstr "M" -#: core/models.py:140 +#: core/models.py:164 msgid "L" msgstr "L" -#: core/models.py:141 +#: core/models.py:165 msgid "XL" msgstr "XL" -#: core/models.py:142 +#: core/models.py:166 msgid "XXL" msgstr "XXL" -#: core/models.py:143 +#: core/models.py:167 msgid "XXXL" msgstr "XXXL" -#: core/models.py:146 +#: core/models.py:170 msgid "Student" msgstr "Étudiant" -#: core/models.py:147 +#: core/models.py:171 msgid "Administrative agent" msgstr "Personnel administratif" -#: core/models.py:148 +#: core/models.py:172 msgid "Teacher" msgstr "Enseignant" -#: core/models.py:149 +#: core/models.py:173 msgid "Agent" msgstr "Personnel" -#: core/models.py:150 +#: core/models.py:174 msgid "Doctor" msgstr "Doctorant" -#: core/models.py:151 +#: core/models.py:175 msgid "Former student" msgstr "Ancien étudiant" -#: core/models.py:152 +#: core/models.py:176 msgid "Service" msgstr "Service" -#: core/models.py:154 +#: core/models.py:178 msgid "department" msgstr "département" -#: core/models.py:156 +#: core/models.py:180 msgid "dpt option" msgstr "Filière" -#: core/models.py:157 +#: core/models.py:181 msgid "semester" msgstr "semestre" -#: core/models.py:158 +#: core/models.py:182 msgid "quote" msgstr "citation" -#: core/models.py:159 +#: core/models.py:183 msgid "school" msgstr "école" -#: core/models.py:160 +#: core/models.py:184 msgid "promo" msgstr "promo" -#: core/models.py:161 +#: core/models.py:185 msgid "forum signature" msgstr "signature du forum" -#: core/models.py:162 +#: core/models.py:186 msgid "second email address" msgstr "adresse email secondaire" -#: core/models.py:164 +#: core/models.py:188 msgid "parent phone" msgstr "téléphone des parents" -#: core/models.py:166 +#: core/models.py:190 msgid "parent address" msgstr "adresse des parents" -#: core/models.py:167 +#: core/models.py:191 msgid "is subscriber viewable" msgstr "profil visible par les cotisants" -#: core/models.py:306 +#: core/models.py:330 msgid "A user with that username already exists" msgstr "Un utilisateur de ce nom d'utilisateur existe déjà" -#: core/models.py:431 core/templates/core/macros.jinja:17 +#: core/models.py:455 core/templates/core/macros.jinja:17 #: core/templates/core/user_detail.jinja:14 #: core/templates/core/user_detail.jinja:16 #: core/templates/core/user_edit.jinja:17 #: election/templates/election/election_detail.jinja:316 #: forum/templates/forum/macros.jinja:87 forum/templates/forum/macros.jinja:89 +#: forum/templates/forum/reply.jinja:36 forum/templates/forum/reply.jinja:38 msgid "Profile" msgstr "Profil" -#: core/models.py:511 +#: core/models.py:535 msgid "Visitor" msgstr "Visiteur" -#: core/models.py:516 +#: core/models.py:540 msgid "do you want to receive the weekmail" msgstr "voulez-vous recevoir le Weekmail" -#: core/models.py:521 +#: core/models.py:545 msgid "define if we show a users stats" msgstr "Definit si l'on montre les statistiques de l'utilisateur" -#: core/models.py:523 +#: core/models.py:547 msgid "Show your account statistics to others" msgstr "Montrez vos statistiques de compte aux autres" -#: core/models.py:542 +#: core/models.py:566 msgid "file name" msgstr "nom du fichier" -#: core/models.py:543 core/models.py:751 +#: core/models.py:567 core/models.py:775 msgid "parent" msgstr "parent" -#: core/models.py:544 core/models.py:560 +#: core/models.py:568 core/models.py:584 msgid "file" msgstr "fichier" -#: core/models.py:545 +#: core/models.py:569 msgid "compressed file" msgstr "version allégée" -#: core/models.py:546 +#: core/models.py:570 msgid "thumbnail" msgstr "miniature" -#: core/models.py:547 core/models.py:555 +#: core/models.py:571 core/models.py:579 msgid "owner" msgstr "propriétaire" -#: core/models.py:548 core/models.py:757 core/views/files.py:122 +#: core/models.py:572 core/models.py:781 core/views/files.py:146 msgid "edit group" msgstr "groupe d'édition" -#: core/models.py:549 core/models.py:758 core/views/files.py:123 +#: core/models.py:573 core/models.py:782 core/views/files.py:147 msgid "view group" msgstr "groupe de vue" -#: core/models.py:550 +#: core/models.py:574 msgid "is folder" msgstr "est un dossier" -#: core/models.py:551 +#: core/models.py:575 msgid "mime type" msgstr "type mime" -#: core/models.py:552 +#: core/models.py:576 msgid "size" msgstr "taille" -#: core/models.py:556 +#: core/models.py:580 msgid "asked for removal" msgstr "retrait demandé" -#: core/models.py:557 +#: core/models.py:581 msgid "is in the SAS" msgstr "est dans le SAS" -#: core/models.py:596 +#: core/models.py:620 msgid "Character '/' not authorized in name" msgstr "Le caractère '/' n'est pas autorisé dans les noms de fichier" -#: core/models.py:599 core/models.py:604 +#: core/models.py:623 core/models.py:628 msgid "Loop in folder tree" msgstr "Boucle dans l'arborescence des dossiers" -#: core/models.py:608 +#: core/models.py:632 msgid "You can not make a file be a children of a non folder file" msgstr "" "Vous ne pouvez pas mettre un fichier enfant de quelque chose qui n'est pas " "un dossier" -#: core/models.py:612 +#: core/models.py:636 msgid "Duplicate file" msgstr "Un fichier de ce nom existe déjà" -#: core/models.py:626 +#: core/models.py:650 msgid "You must provide a file" msgstr "Vous devez fournir un fichier" -#: core/models.py:692 +#: core/models.py:716 msgid "Folder: " msgstr "Dossier : " -#: core/models.py:694 +#: core/models.py:718 msgid "File: " msgstr "Fichier : " -#: core/models.py:742 +#: core/models.py:766 msgid "page unix name" msgstr "nom unix de la page" -#: core/models.py:746 +#: core/models.py:770 msgid "" "Enter a valid page name. This value may contain only unaccented letters, " "numbers and ./+/-/_ characters." @@ -1748,51 +1761,51 @@ msgstr "" "Entrez un nom de page correct. Uniquement des lettres non accentuées, " "numéros, et ./+/-/_" -#: core/models.py:754 +#: core/models.py:778 msgid "page name" msgstr "nom de la page" -#: core/models.py:755 +#: core/models.py:779 msgid "owner group" msgstr "groupe propriétaire" -#: core/models.py:759 +#: core/models.py:783 msgid "lock user" msgstr "utilisateur bloquant" -#: core/models.py:760 +#: core/models.py:784 msgid "lock_timeout" msgstr "décompte du déblocage" -#: core/models.py:787 +#: core/models.py:811 msgid "Duplicate page" msgstr "Une page de ce nom existe déjà" -#: core/models.py:793 +#: core/models.py:817 msgid "Loop in page tree" msgstr "Boucle dans l'arborescence des pages" -#: core/models.py:921 +#: core/models.py:945 msgid "revision" msgstr "révision" -#: core/models.py:922 +#: core/models.py:946 msgid "page title" msgstr "titre de la page" -#: core/models.py:923 +#: core/models.py:947 msgid "page content" msgstr "contenu de la page" -#: core/models.py:961 +#: core/models.py:985 msgid "url" msgstr "url" -#: core/models.py:962 +#: core/models.py:986 msgid "param" msgstr "param" -#: core/models.py:965 +#: core/models.py:989 msgid "viewed" msgstr "vue" @@ -1825,8 +1838,7 @@ msgstr "S'enregister" msgid "View more" msgstr "Voir plus" -#: core/templates/core/base.jinja:62 -#: forum/templates/forum/last_unread.jinja:15 +#: core/templates/core/base.jinja:62 forum/templates/forum/last_unread.jinja:15 msgid "Mark all as read" msgstr "Marquer tout commme lu" @@ -1858,8 +1870,8 @@ msgstr "SAS" #: core/templates/core/base.jinja:94 forum/templates/forum/forum.jinja:10 #: forum/templates/forum/last_unread.jinja:12 -#: forum/templates/forum/main.jinja:6 forum/templates/forum/main.jinja:11 -#: forum/templates/forum/main.jinja:13 forum/templates/forum/reply.jinja:10 +#: forum/templates/forum/main.jinja:6 forum/templates/forum/main.jinja.py:11 +#: forum/templates/forum/main.jinja:13 forum/templates/forum/reply.jinja:15 #: forum/templates/forum/topic.jinja:30 msgid "Forum" msgstr "Forum" @@ -1869,7 +1881,7 @@ msgid "Services" msgstr "Services" #: core/templates/core/base.jinja:96 core/templates/core/file.jinja:20 -#: core/views/files.py:51 +#: core/views/files.py:75 msgid "Files" msgstr "Fichiers" @@ -2089,7 +2101,7 @@ msgstr "Cotisant jusqu'au %(subscription_end)s" msgid "Account number: " msgstr "Numero de compte : " -#: core/templates/core/macros.jinja:44 launderette/models.py:127 +#: core/templates/core/macros.jinja:44 launderette/models.py:151 msgid "Slot" msgstr "Créneau" @@ -2196,7 +2208,7 @@ msgstr "Il n'y a pas de page sur ce site web." msgid "Page properties" msgstr "Propriétés de la page" -#: core/templates/core/pagerev_edit.jinja:19 +#: core/templates/core/pagerev_edit.jinja:21 msgid "Edit page" msgstr "Éditer la page" @@ -2297,7 +2309,7 @@ msgstr "Résultat de la recherche" msgid "Users" msgstr "Utilisateurs" -#: core/templates/core/search.jinja:18 core/views/user.py:163 +#: core/templates/core/search.jinja:18 core/views/user.py:187 #: counter/templates/counter/stats.jinja:17 msgid "Clubs" msgstr "Clubs" @@ -2339,7 +2351,7 @@ msgid "Eboutic invoices" msgstr "Facture eboutic" #: core/templates/core/user_account.jinja:53 -#: core/templates/core/user_tools.jinja:33 counter/views.py:519 +#: core/templates/core/user_tools.jinja:33 counter/views.py:560 msgid "Etickets" msgstr "Etickets" @@ -2437,7 +2449,7 @@ msgstr "Changer le mot de passe" msgid "%(user_name)s's godfathers" msgstr "Parrains de %(user_name)s" -#: core/templates/core/user_godfathers.jinja:10 core/views/user.py:135 +#: core/templates/core/user_godfathers.jinja:10 core/views/user.py:159 msgid "Godfathers" msgstr "Parrains" @@ -2497,7 +2509,7 @@ msgstr "Outils utilisateurs" msgid "Sith management" msgstr "Gestion de Sith" -#: core/templates/core/user_tools.jinja:14 core/views/user.py:169 +#: core/templates/core/user_tools.jinja:14 core/views/user.py:193 msgid "Groups" msgstr "Groupes" @@ -2510,8 +2522,8 @@ msgstr "Fusionner deux utilisateurs" msgid "Subscriptions" msgstr "Cotisations" -#: core/templates/core/user_tools.jinja:24 counter/views.py:489 -#: counter/views.py:643 +#: core/templates/core/user_tools.jinja:24 counter/views.py:530 +#: counter/views.py:684 msgid "Counters" msgstr "Comptoirs" @@ -2532,16 +2544,16 @@ msgid "Product types management" msgstr "Gestion des types de produit" #: core/templates/core/user_tools.jinja:31 -#: counter/templates/counter/cash_summary_list.jinja:23 counter/views.py:509 +#: counter/templates/counter/cash_summary_list.jinja:23 counter/views.py:550 msgid "Cash register summaries" msgstr "Relevés de caisse" #: core/templates/core/user_tools.jinja:32 -#: counter/templates/counter/invoices_call.jinja:4 counter/views.py:514 +#: counter/templates/counter/invoices_call.jinja:4 counter/views.py:555 msgid "Invoices call" msgstr "Appels à facture" -#: core/templates/core/user_tools.jinja:39 core/views/user.py:179 +#: core/templates/core/user_tools.jinja:40 core/views/user.py:203 #: counter/templates/counter/counter_list.jinja:18 #: counter/templates/counter/counter_list.jinja:33 #: counter/templates/counter/counter_list.jinja:54 @@ -2576,78 +2588,78 @@ msgstr "Compte club : " msgid "Communication" msgstr "Communication" -#: core/templates/core/user_tools.jinja:69 +#: core/templates/core/user_tools.jinja:78 msgid "Create weekmail article" msgstr "Rédiger un nouvel article dans le Weekmail" -#: core/templates/core/user_tools.jinja:73 +#: core/templates/core/user_tools.jinja:82 msgid "Moderate news" msgstr "Modérer les nouvelles" -#: core/templates/core/user_tools.jinja:74 +#: core/templates/core/user_tools.jinja:83 msgid "Edit index page" msgstr "Éditer la page d'accueil" -#: core/templates/core/user_tools.jinja:75 +#: core/templates/core/user_tools.jinja:84 msgid "Edit alert message" msgstr "Éditer le message d'alerte" -#: core/templates/core/user_tools.jinja:76 +#: core/templates/core/user_tools.jinja:85 msgid "Edit information message" msgstr "Éditer le message d'informations" -#: core/templates/core/user_tools.jinja:77 +#: core/templates/core/user_tools.jinja:86 msgid "Moderate files" msgstr "Modérer les fichiers" -#: core/templates/core/user_tools.jinja:80 +#: core/templates/core/user_tools.jinja:89 msgid "Moderate pictures" msgstr "Modérer les photos" -#: core/templates/core/user_tools.jinja:93 +#: core/templates/core/user_tools.jinja:102 msgid "Elections" msgstr "Élections" -#: core/templates/core/user_tools.jinja:95 +#: core/templates/core/user_tools.jinja:104 msgid "See available elections" msgstr "Voir les élections disponibles" -#: core/templates/core/user_tools.jinja:97 +#: core/templates/core/user_tools.jinja:106 msgid "Create a new election" msgstr "Créer une nouvelle élection" -#: core/views/files.py:50 +#: core/views/files.py:74 msgid "Add a new folder" msgstr "Ajouter un nouveau dossier" -#: core/views/files.py:63 +#: core/views/files.py:87 #, python-format msgid "Error creating folder %(folder_name)s: %(msg)s" msgstr "Erreur de création du dossier %(folder_name)s : %(msg)s" -#: core/views/files.py:73 core/views/forms.py:183 core/views/forms.py:187 -#: sas/views.py:53 +#: core/views/files.py:97 core/views/forms.py:207 core/views/forms.py:211 +#: sas/views.py:77 #, python-format msgid "Error uploading file %(file_name)s: %(msg)s" msgstr "Erreur d'envoi du fichier %(file_name)s : %(msg)s" -#: core/views/files.py:124 sas/views.py:260 +#: core/views/files.py:148 sas/views.py:284 msgid "Apply rights recursively" msgstr "Appliquer les droits récursivement" -#: core/views/forms.py:60 core/views/forms.py:63 +#: core/views/forms.py:84 core/views/forms.py:87 msgid "Choose file" msgstr "Choisir un fichier" -#: core/views/forms.py:74 core/views/forms.py:77 +#: core/views/forms.py:98 core/views/forms.py:101 msgid "Choose user" msgstr "Choisir un utilisateur" -#: core/views/forms.py:99 +#: core/views/forms.py:123 msgid "Username, email, or account number" msgstr "Nom d'utilisateur, email, ou numéro de compte AE" -#: core/views/forms.py:141 +#: core/views/forms.py:165 msgid "" "Profile: you need to be visible on the picture, in order to be recognized (e." "g. by the barmen)" @@ -2655,180 +2667,180 @@ msgstr "" "Photo de profil: vous devez être visible sur la photo afin d'être reconnu " "(par exemple par les barmen)" -#: core/views/forms.py:142 +#: core/views/forms.py:166 msgid "Avatar: used on the forum" msgstr "Avatar : utilisé sur le forum" -#: core/views/forms.py:143 +#: core/views/forms.py:167 msgid "Scrub: let other know how your scrub looks like!" msgstr "Blouse : montrez aux autres à quoi ressemble votre blouse !" -#: core/views/forms.py:188 +#: core/views/forms.py:212 msgid "Bad image format, only jpeg, png, and gif are accepted" msgstr "Mauvais format d'image, seuls les jpeg, png, et gif sont acceptés" -#: core/views/forms.py:205 +#: core/views/forms.py:229 msgid "Godfather" msgstr "Parrain" -#: core/views/forms.py:205 +#: core/views/forms.py:229 msgid "Godchild" msgstr "Fillot" -#: core/views/user.py:140 +#: core/views/user.py:164 msgid "Pictures" msgstr "Photos" -#: core/views/user.py:157 +#: core/views/user.py:181 msgid "Preferences" msgstr "Préférences" -#: core/views/user.py:331 +#: core/views/user.py:355 msgid "User already has a profile picture" msgstr "L'utilisateur a déjà une photo de profil" -#: counter/models.py:27 +#: counter/models.py:51 msgid "account id" msgstr "numéro de compte" -#: counter/models.py:31 +#: counter/models.py:55 msgid "customer" msgstr "client" -#: counter/models.py:32 +#: counter/models.py:56 msgid "customers" msgstr "clients" -#: counter/models.py:52 counter/templates/counter/counter_click.jinja:48 +#: counter/models.py:76 counter/templates/counter/counter_click.jinja:48 #: counter/templates/counter/counter_click.jinja:82 msgid "Not enough money" msgstr "Solde insuffisant" -#: counter/models.py:80 counter/models.py:102 +#: counter/models.py:104 counter/models.py:126 msgid "product type" msgstr "type du produit" -#: counter/models.py:105 +#: counter/models.py:129 msgid "purchase price" msgstr "prix d'achat" -#: counter/models.py:106 +#: counter/models.py:130 msgid "selling price" msgstr "prix de vente" -#: counter/models.py:107 +#: counter/models.py:131 msgid "special selling price" msgstr "prix de vente spécial" -#: counter/models.py:108 +#: counter/models.py:132 msgid "icon" msgstr "icône" -#: counter/models.py:110 +#: counter/models.py:134 msgid "limit age" msgstr "âge limite" -#: counter/models.py:111 +#: counter/models.py:135 msgid "tray price" msgstr "prix plateau" -#: counter/models.py:112 +#: counter/models.py:136 msgid "parent product" msgstr "produit parent" -#: counter/models.py:114 +#: counter/models.py:138 msgid "buying groups" msgstr "groupe d'achat" -#: counter/models.py:115 +#: counter/models.py:139 msgid "archived" msgstr "archivé" -#: counter/models.py:118 counter/models.py:502 +#: counter/models.py:142 counter/models.py:526 msgid "product" msgstr "produit" -#: counter/models.py:137 +#: counter/models.py:161 msgid "products" msgstr "produits" -#: counter/models.py:138 +#: counter/models.py:162 msgid "counter type" msgstr "type de comptoir" -#: counter/models.py:140 +#: counter/models.py:164 msgid "Bar" msgstr "Bar" -#: counter/models.py:140 +#: counter/models.py:164 msgid "Office" msgstr "Bureau" -#: counter/models.py:140 counter/templates/counter/counter_list.jinja:11 +#: counter/models.py:164 counter/templates/counter/counter_list.jinja:11 #: eboutic/templates/eboutic/eboutic_main.jinja:4 #: eboutic/templates/eboutic/eboutic_main.jinja:24 #: eboutic/templates/eboutic/eboutic_makecommand.jinja:8 #: eboutic/templates/eboutic/eboutic_payment_result.jinja:4 -#: sith/settings.py:324 sith/settings.py:332 +#: sith/settings.py:349 sith/settings.py:357 msgid "Eboutic" msgstr "Eboutic" -#: counter/models.py:141 +#: counter/models.py:165 msgid "sellers" msgstr "vendeurs" -#: counter/models.py:144 launderette/models.py:123 +#: counter/models.py:168 launderette/models.py:147 msgid "token" msgstr "jeton" -#: counter/models.py:147 counter/models.py:403 counter/models.py:420 -#: launderette/models.py:14 +#: counter/models.py:171 counter/models.py:427 counter/models.py:444 +#: launderette/models.py:38 stock/models.py:14 msgid "counter" msgstr "comptoir" -#: counter/models.py:250 +#: counter/models.py:274 msgid "bank" msgstr "banque" -#: counter/models.py:252 counter/models.py:298 +#: counter/models.py:276 counter/models.py:322 msgid "is validated" msgstr "est validé" -#: counter/models.py:255 +#: counter/models.py:279 msgid "refilling" msgstr "rechargement" -#: counter/models.py:291 eboutic/models.py:103 +#: counter/models.py:315 eboutic/models.py:127 msgid "unit price" msgstr "prix unitaire" -#: counter/models.py:292 counter/models.py:492 eboutic/models.py:104 +#: counter/models.py:316 counter/models.py:516 eboutic/models.py:128 msgid "quantity" msgstr "quantité" -#: counter/models.py:297 +#: counter/models.py:321 msgid "Sith account" msgstr "Compte utilisateur" -#: counter/models.py:297 sith/settings.py:317 sith/settings.py:322 -#: sith/settings.py:344 +#: counter/models.py:321 sith/settings.py:342 sith/settings.py:347 +#: sith/settings.py:369 msgid "Credit card" msgstr "Carte bancaire" -#: counter/models.py:301 +#: counter/models.py:325 msgid "selling" msgstr "vente" -#: counter/models.py:320 +#: counter/models.py:344 msgid "Unknown event" msgstr "Événement inconnu" -#: counter/models.py:321 +#: counter/models.py:345 #, python-format msgid "Eticket bought for the event %(event)s" msgstr "Eticket acheté pour l'événement %(event)s" -#: counter/models.py:323 counter/models.py:335 +#: counter/models.py:347 counter/models.py:359 #, python-format msgid "" "You bought an eticket for the event %(event)s.\n" @@ -2837,51 +2849,51 @@ msgstr "" "Vous avez acheté un Eticket pour l'événement %(event)s.\n" "Vous pouvez le télécharger sur cette page: %(url)s" -#: counter/models.py:406 +#: counter/models.py:430 msgid "last activity date" msgstr "dernière activité" -#: counter/models.py:409 +#: counter/models.py:433 msgid "permanency" msgstr "permanence" -#: counter/models.py:423 +#: counter/models.py:447 msgid "emptied" msgstr "coffre vidée" -#: counter/models.py:426 +#: counter/models.py:450 msgid "cash register summary" msgstr "relevé de caisse" -#: counter/models.py:490 +#: counter/models.py:514 msgid "cash summary" msgstr "relevé" -#: counter/models.py:491 +#: counter/models.py:515 msgid "value" msgstr "valeur" -#: counter/models.py:493 +#: counter/models.py:517 msgid "check" msgstr "chèque" -#: counter/models.py:496 +#: counter/models.py:520 msgid "cash register summary item" msgstr "élément de relevé de caisse" -#: counter/models.py:503 +#: counter/models.py:527 msgid "banner" msgstr "bannière" -#: counter/models.py:504 +#: counter/models.py:528 msgid "event date" msgstr "date de l'événement" -#: counter/models.py:505 +#: counter/models.py:529 msgid "event title" msgstr "titre de l'événement" -#: counter/models.py:506 +#: counter/models.py:530 msgid "secret" msgstr "secret" @@ -2920,6 +2932,10 @@ msgstr "Le comptoir est fermé" msgid "Make a cash register summary" msgstr "Faire un relevé de caisse" +#: counter/templates/counter/cash_register_summary.jinja:22 +msgid "Are you sure ?" +msgstr "Êtes vous sûr?" + #: counter/templates/counter/cash_summary_list.jinja:5 #: counter/templates/counter/cash_summary_list.jinja:10 msgid "Cash register summary list" @@ -2929,7 +2945,7 @@ msgstr "Liste des relevés de caisse" msgid "Theoric sums" msgstr "Sommes théoriques" -#: counter/templates/counter/cash_summary_list.jinja:36 counter/views.py:757 +#: counter/templates/counter/cash_summary_list.jinja:36 counter/views.py:798 msgid "Emptied" msgstr "Coffre vidé" @@ -3150,141 +3166,149 @@ msgstr "Temps" msgid "Top 100 barman %(counter_name)s (all semesters)" msgstr "Top 100 barman %(counter_name)s (tous les semestres)" -#: counter/views.py:82 +#: counter/views.py:106 msgid "User not found" msgstr "Utilisateur non trouvé" -#: counter/views.py:109 +#: counter/views.py:138 msgid "Cash summary" msgstr "Relevé de caisse" -#: counter/views.py:114 +#: counter/views.py:144 msgid "Last operations" msgstr "Dernières opérations" -#: counter/views.py:148 +#: counter/views.py:150 +msgid "Take items from stock" +msgstr "Prendre des éléments du stock" + +#: counter/views.py:184 msgid "Bad credentials" msgstr "Mauvais identifiants" -#: counter/views.py:150 +#: counter/views.py:186 msgid "User is not barman" msgstr "L'utilisateur n'est pas barman." -#: counter/views.py:154 +#: counter/views.py:190 msgid "Bad location, someone is already logged in somewhere else" msgstr "Mauvais comptoir, quelqu'un est déjà connecté ailleurs" -#: counter/views.py:356 +#: counter/views.py:392 msgid "END" msgstr "FIN" -#: counter/views.py:358 +#: counter/views.py:394 msgid "CAN" msgstr "ANN" -#: counter/views.py:388 +#: counter/views.py:424 msgid "You have not enough money to buy all the basket" msgstr "Vous n'avez pas assez d'argent pour acheter le panier" -#: counter/views.py:484 +#: counter/views.py:520 msgid "Counter administration" msgstr "Administration des comptoirs" -#: counter/views.py:494 +#: counter/views.py:525 +msgid "Stocks" +msgstr "Stocks" + +#: counter/views.py:535 msgid "Products" msgstr "Produits" -#: counter/views.py:499 +#: counter/views.py:540 msgid "Archived products" msgstr "Produits archivés" -#: counter/views.py:504 +#: counter/views.py:545 msgid "Product types" msgstr "Types de produit" -#: counter/views.py:640 +#: counter/views.py:681 msgid "Parent product" msgstr "Produit parent" -#: counter/views.py:641 +#: counter/views.py:682 msgid "Buying groups" msgstr "Groupes d'achat" -#: counter/views.py:736 +#: counter/views.py:777 msgid "10 cents" msgstr "10 centimes" -#: counter/views.py:737 +#: counter/views.py:778 msgid "20 cents" msgstr "20 centimes" -#: counter/views.py:738 +#: counter/views.py:779 msgid "50 cents" msgstr "50 centimes" -#: counter/views.py:739 +#: counter/views.py:780 msgid "1 euro" msgstr "1 €" -#: counter/views.py:740 +#: counter/views.py:781 msgid "2 euros" msgstr "2 €" -#: counter/views.py:741 +#: counter/views.py:782 msgid "5 euros" msgstr "5 €" -#: counter/views.py:742 +#: counter/views.py:783 msgid "10 euros" msgstr "10 €" -#: counter/views.py:743 +#: counter/views.py:784 msgid "20 euros" msgstr "20 €" -#: counter/views.py:744 +#: counter/views.py:785 msgid "50 euros" msgstr "50 €" -#: counter/views.py:745 +#: counter/views.py:786 msgid "100 euros" msgstr "100 €" -#: counter/views.py:746 counter/views.py:748 counter/views.py:750 -#: counter/views.py:752 counter/views.py:754 +#: counter/views.py:787 counter/views.py:789 counter/views.py:791 +#: counter/views.py:793 counter/views.py:795 msgid "Check amount" msgstr "Montant du chèque" -#: counter/views.py:747 counter/views.py:749 counter/views.py:751 -#: counter/views.py:753 counter/views.py:755 +#: counter/views.py:788 counter/views.py:790 counter/views.py:792 +#: counter/views.py:794 counter/views.py:796 msgid "Check quantity" msgstr "Nombre de chèque" -#: counter/views.py:1135 +#: counter/views.py:1176 msgid "people(s)" msgstr "personne(s)" -#: eboutic/models.py:49 +#: eboutic/models.py:73 msgid "validated" msgstr "validé" -#: eboutic/models.py:62 +#: eboutic/models.py:86 msgid "Invoice already validated" msgstr "Facture déjà validée" -#: eboutic/models.py:100 +#: eboutic/models.py:124 msgid "product id" msgstr "ID du produit" -#: eboutic/models.py:101 +#: eboutic/models.py:125 msgid "product name" msgstr "nom du produit" -#: eboutic/models.py:102 +#: eboutic/models.py:126 msgid "product type id" msgstr "id du type du produit" -#: eboutic/models.py:113 +#: eboutic/models.py:137 msgid "basket" msgstr "panier" @@ -3323,7 +3347,7 @@ msgstr "Le paiement a été effectué" msgid "Return to eboutic" msgstr "Retourner à l'eboutic" -#: eboutic/views.py:145 +#: eboutic/views.py:169 msgid "You do not have enough money to buy the basket" msgstr "Vous n'avez pas assez d'argent pour acheter le panier" @@ -3490,47 +3514,47 @@ msgstr "Début des candidatures" msgid "End candidature" msgstr "Fin des candidatures" -#: forum/models.py:27 +#: forum/models.py:51 msgid "is a category" msgstr "est une catégorie" -#: forum/models.py:29 +#: forum/models.py:53 msgid "owner club" msgstr "club propriétaire" -#: forum/models.py:35 +#: forum/models.py:59 msgid "number to choose a specific forum ordering" msgstr "numéro spécifiant l'ordre d'affichage" -#: forum/models.py:79 +#: forum/models.py:103 msgid "You can not make loops in forums" msgstr "Vous ne pouvez pas faire de boucles dans les forums" -#: forum/models.py:169 +#: forum/models.py:193 msgid "message" msgstr "message" -#: forum/models.py:171 +#: forum/models.py:195 msgid "readers" msgstr "lecteurs" -#: forum/models.py:217 +#: forum/models.py:241 msgid "Message edited by" msgstr "Message édité par" -#: forum/models.py:218 +#: forum/models.py:242 msgid "Message deleted by" msgstr "Message supprimé par" -#: forum/models.py:219 +#: forum/models.py:243 msgid "Message undeleted by" msgstr "Message restauré par" -#: forum/models.py:226 +#: forum/models.py:250 msgid "action" msgstr "action" -#: forum/models.py:235 +#: forum/models.py:259 msgid "last read date" msgstr "dernière date de lecture" @@ -3538,7 +3562,8 @@ msgstr "dernière date de lecture" msgid "New forum" msgstr "Nouveau forum" -#: forum/templates/forum/forum.jinja:21 +#: forum/templates/forum/forum.jinja:21 forum/templates/forum/reply.jinja:8 +#: forum/templates/forum/reply.jinja:25 msgid "New topic" msgstr "Nouveau sujet" @@ -3575,7 +3600,7 @@ msgstr "Restaurer" msgid " the " msgstr " le " -#: forum/templates/forum/macros.jinja:137 +#: forum/templates/forum/macros.jinja:138 msgid "Deleted or unreadable message." msgstr "Message supprimé ou non-visible." @@ -3583,52 +3608,52 @@ msgstr "Message supprimé ou non-visible." msgid "View last unread messages" msgstr "Voir les derniers messages non lus" -#: forum/templates/forum/reply.jinja:5 forum/templates/forum/reply.jinja:18 +#: forum/templates/forum/reply.jinja:6 forum/templates/forum/reply.jinja:23 #: forum/templates/forum/topic.jinja:39 forum/templates/forum/topic.jinja:58 msgid "Reply" msgstr "Répondre" -#: forum/views.py:68 +#: forum/views.py:92 msgid "Apply rights and club owner recursively" msgstr "Appliquer les droits et le club propriétaire récursivement" -#: forum/views.py:206 +#: forum/views.py:230 #, python-format msgid "%(author)s said" msgstr "Citation de %(author)s" -#: launderette/models.py:17 +#: launderette/models.py:41 #: launderette/templates/launderette/launderette_book.jinja:5 #: launderette/templates/launderette/launderette_book_choose.jinja:4 #: launderette/templates/launderette/launderette_main.jinja:4 msgid "Launderette" msgstr "Laverie" -#: launderette/models.py:59 launderette/models.py:84 +#: launderette/models.py:83 launderette/models.py:108 msgid "launderette" msgstr "laverie" -#: launderette/models.py:61 +#: launderette/models.py:85 msgid "is working" msgstr "fonctionne" -#: launderette/models.py:64 +#: launderette/models.py:88 msgid "Machine" msgstr "Machine" -#: launderette/models.py:86 +#: launderette/models.py:110 msgid "borrow date" msgstr "date d'emprunt" -#: launderette/models.py:90 +#: launderette/models.py:114 msgid "Token" msgstr "Jeton" -#: launderette/models.py:96 +#: launderette/models.py:120 msgid "Token name can not be blank" msgstr "Le nom du jeton ne peut pas être vide" -#: launderette/models.py:122 +#: launderette/models.py:146 msgid "machine" msgstr "machine" @@ -3653,12 +3678,12 @@ msgid "Washing and drying" msgstr "Lavage et séchage" #: launderette/templates/launderette/launderette_book.jinja:27 -#: sith/settings.py:482 +#: sith/settings.py:507 msgid "Washing" msgstr "Lavage" #: launderette/templates/launderette/launderette_book.jinja:31 -#: sith/settings.py:482 +#: sith/settings.py:507 msgid "Drying" msgstr "Séchage" @@ -3683,29 +3708,29 @@ msgstr "Éditer la page de présentation" msgid "Book launderette slot" msgstr "Réserver un créneau de laverie" -#: launderette/views.py:155 +#: launderette/views.py:179 msgid "Action" msgstr "Action" -#: launderette/views.py:158 +#: launderette/views.py:182 msgid "Tokens, separated by spaces" msgstr "Jetons, séparés par des espaces" -#: launderette/views.py:173 launderette/views.py:187 +#: launderette/views.py:197 launderette/views.py:211 #, python-format msgid "Token %(token_name)s does not exists" msgstr "Le jeton %(token_name)s n'existe pas" -#: launderette/views.py:181 +#: launderette/views.py:205 #, python-format msgid "Token %(token_name)s already exists" msgstr "Un jeton %(token_name)s existe déjà" -#: launderette/views.py:237 +#: launderette/views.py:261 msgid "User has booked no slot" msgstr "L'utilisateur n'a pas réservé de créneau" -#: launderette/views.py:327 +#: launderette/views.py:351 msgid "Token not found" msgstr "Jeton non trouvé" @@ -3717,15 +3742,15 @@ msgstr "Fusionner deux utilisateurs" msgid "Merge" msgstr "Fusion" -#: rootplace/views.py:65 +#: rootplace/views.py:89 msgid "User that will be kept" msgstr "Utilisateur qui sera conservé" -#: rootplace/views.py:66 +#: rootplace/views.py:90 msgid "User that will be deleted" msgstr "Utilisateur qui sera supprimé" -#: sas/models.py:133 +#: sas/models.py:157 msgid "picture" msgstr "photo" @@ -3783,277 +3808,472 @@ msgstr "Demander le retrait" msgid "Asked for removal" msgstr "Retrait demandé" -#: sas/views.py:27 +#: sas/views.py:51 msgid "Add a new album" msgstr "Ajouter un nouvel album" -#: sas/views.py:28 +#: sas/views.py:52 msgid "Upload images" msgstr "Envoyer les images" -#: sas/views.py:40 +#: sas/views.py:64 #, python-format msgid "Error creating album %(album)s: %(msg)s" msgstr "Erreur de création de l'album %(album)s : %(msg)s" -#: sas/views.py:64 +#: sas/views.py:88 msgid "Add user" msgstr "Ajouter une personne" -#: sith/settings.py:180 +#: sith/settings.py:205 msgid "English" msgstr "Anglais" -#: sith/settings.py:181 +#: sith/settings.py:206 msgid "French" msgstr "Français" -#: sith/settings.py:298 +#: sith/settings.py:323 msgid "TC" msgstr "TC" -#: sith/settings.py:299 +#: sith/settings.py:324 msgid "IMSI" msgstr "IMSI" -#: sith/settings.py:300 +#: sith/settings.py:325 msgid "IMAP" msgstr "IMAP" -#: sith/settings.py:301 +#: sith/settings.py:326 msgid "INFO" msgstr "INFO" -#: sith/settings.py:302 +#: sith/settings.py:327 msgid "GI" msgstr "GI" -#: sith/settings.py:303 +#: sith/settings.py:328 msgid "E" msgstr "E" -#: sith/settings.py:304 +#: sith/settings.py:329 msgid "EE" msgstr "EE" -#: sith/settings.py:305 +#: sith/settings.py:330 msgid "GESC" msgstr "GESC" -#: sith/settings.py:306 +#: sith/settings.py:331 msgid "GMC" msgstr "GMC" -#: sith/settings.py:307 +#: sith/settings.py:332 msgid "MC" msgstr "MC" -#: sith/settings.py:308 +#: sith/settings.py:333 msgid "EDIM" msgstr "EDIM" -#: sith/settings.py:309 +#: sith/settings.py:334 msgid "Humanities" msgstr "Humanités" -#: sith/settings.py:310 +#: sith/settings.py:335 msgid "N/A" msgstr "N/A" -#: sith/settings.py:314 sith/settings.py:321 sith/settings.py:342 +#: sith/settings.py:339 sith/settings.py:346 sith/settings.py:367 msgid "Check" msgstr "Chèque" -#: sith/settings.py:315 sith/settings.py:323 sith/settings.py:343 +#: sith/settings.py:340 sith/settings.py:348 sith/settings.py:368 msgid "Cash" msgstr "Espèces" -#: sith/settings.py:316 +#: sith/settings.py:341 msgid "Transfert" msgstr "Virement" -#: sith/settings.py:329 +#: sith/settings.py:354 msgid "Belfort" msgstr "Belfort" -#: sith/settings.py:330 +#: sith/settings.py:355 msgid "Sevenans" msgstr "Sevenans" -#: sith/settings.py:331 +#: sith/settings.py:356 msgid "Montbéliard" msgstr "Montbéliard" -#: sith/settings.py:375 +#: sith/settings.py:400 msgid "One semester" msgstr "Un semestre, 15 €" -#: sith/settings.py:380 +#: sith/settings.py:405 msgid "Two semesters" msgstr "Deux semestres, 28 €" -#: sith/settings.py:385 +#: sith/settings.py:410 msgid "Common core cursus" msgstr "Cursus tronc commun, 45 €" -#: sith/settings.py:390 +#: sith/settings.py:415 msgid "Branch cursus" msgstr "Cursus branche, 45 €" -#: sith/settings.py:395 +#: sith/settings.py:420 msgid "Alternating cursus" msgstr "Cursus alternant, 30 €" -#: sith/settings.py:400 +#: sith/settings.py:425 msgid "Honorary member" msgstr "Membre honoraire, 0 €" -#: sith/settings.py:405 +#: sith/settings.py:430 msgid "Assidu member" msgstr "Membre d'Assidu, 0 €" -#: sith/settings.py:410 +#: sith/settings.py:435 msgid "Amicale/DOCEO member" msgstr "Membre de l'Amicale/DOCEO, 0 €" -#: sith/settings.py:415 +#: sith/settings.py:440 msgid "UT network member" msgstr "Cotisant du réseau UT, 0 €" -#: sith/settings.py:420 +#: sith/settings.py:445 msgid "CROUS member" msgstr "Membres du CROUS, 0 €" -#: sith/settings.py:425 +#: sith/settings.py:450 msgid "Sbarro/ESTA member" msgstr "Membre de Sbarro ou de l'ESTA, 15 €" -#: sith/settings.py:447 +#: sith/settings.py:472 msgid "President" msgstr "Président" -#: sith/settings.py:448 +#: sith/settings.py:473 msgid "Vice-President" msgstr "Vice-Président" -#: sith/settings.py:449 +#: sith/settings.py:474 msgid "Treasurer" msgstr "Trésorier" -#: sith/settings.py:450 +#: sith/settings.py:475 msgid "Communication supervisor" msgstr "Responsable communication" -#: sith/settings.py:451 +#: sith/settings.py:476 msgid "Secretary" msgstr "Secrétaire" -#: sith/settings.py:452 +#: sith/settings.py:477 msgid "IT supervisor" msgstr "Responsable info" -#: sith/settings.py:453 +#: sith/settings.py:478 msgid "Board member" msgstr "Membre du bureau" -#: sith/settings.py:454 +#: sith/settings.py:479 msgid "Active member" msgstr "Membre actif" -#: sith/settings.py:455 +#: sith/settings.py:480 msgid "Curious" msgstr "Curieux" -#: sith/settings.py:489 +#: sith/settings.py:514 msgid "A fresh new to be moderated" msgstr "Une nouvelle toute neuve à modérer" -#: sith/settings.py:490 +#: sith/settings.py:515 msgid "New files to be moderated" msgstr "Nouveaux fichiers à modérer" -#: sith/settings.py:491 +#: sith/settings.py:516 msgid "New pictures/album to be moderated in the SAS" msgstr "Nouvelles photos/albums à modérer dans le SAS" -#: sith/settings.py:492 +#: sith/settings.py:517 msgid "You've been identified on some pictures" msgstr "Vous avez été identifié sur des photos" -#: sith/settings.py:493 +#: sith/settings.py:518 #, python-format msgid "You just refilled of %s €" msgstr "Vous avez rechargé votre compte de %s €" -#: sith/settings.py:494 +#: sith/settings.py:519 #, python-format msgid "You just bought %s" msgstr "Vous avez acheté %s" -#: sith/settings.py:495 +#: sith/settings.py:520 msgid "You have a notification" msgstr "Vous avez une notification" -#: sith/settings.py:499 +#: sith/settings.py:524 msgid "Success!" msgstr "Succès !" -#: sith/settings.py:500 +#: sith/settings.py:525 msgid "Fail!" msgstr "Échec !" -#: sith/settings.py:501 +#: sith/settings.py:526 msgid "You successfully posted an article in the Weekmail" msgstr "Article posté avec succès dans le Weekmail" -#: sith/settings.py:502 +#: sith/settings.py:527 msgid "You successfully edited an article in the Weekmail" msgstr "Article édité avec succès dans le Weekmail" -#: sith/settings.py:503 +#: sith/settings.py:528 msgid "You successfully sent the Weekmail" msgstr "Weekmail envoyé avec succès" -#: subscription/models.py:16 +#: stock/models.py:30 +msgid "unit quantity" +msgstr "quantité unitaire" + +#: stock/models.py:30 +msgid "number of element in one box" +msgstr "nombre d'éléments par boîte" + +#: stock/models.py:31 +msgid "effective quantity" +msgstr "quantité effective" + +#: stock/models.py:31 +msgid "number of box" +msgstr "nombre de boîtes" + +#: stock/models.py:32 +msgid "minimal quantity" +msgstr "quantité minimale" + +#: stock/models.py:33 +msgid "" +"if the effective quantity is less than the minimal, item is added to the " +"shopping list" +msgstr "" +"si la quantité effective est en dessous du minima, l'item est ajouté àla " +"liste de courses" + +#: stock/models.py:53 +msgid "todo" +msgstr "à faire" + +#: stock/models.py:70 +msgid "shopping lists" +msgstr "listes de courses" + +#: stock/models.py:75 +msgid "quantity to buy" +msgstr "quantité à acheter" + +#: stock/models.py:75 +msgid "quantity to buy during the next shopping session" +msgstr "quantité à acheter pendant les prochaines courses" + +#: stock/models.py:76 +msgid "quantity bought" +msgstr "quantité achetée" + +#: stock/models.py:76 +msgid "quantity bought during the last shopping session" +msgstr "quantité achetée pendant les dernières courses" + +#: stock/templates/stock/shopping_list_items.jinja:4 +#, python-format +msgid "%(shoppinglist)s's items" +msgstr "éléments de %(shoppinglist)s" + +#: stock/templates/stock/shopping_list_items.jinja:21 +msgid "Quantity asked" +msgstr "Quantité demandée" + +#: stock/templates/stock/shopping_list_items.jinja:22 +msgid "Quantity bought" +msgstr "Quantité achetée" + +#: stock/templates/stock/shopping_list_items.jinja:42 stock/views.py:181 +msgid "Comments" +msgstr "Commentaires" + +#: stock/templates/stock/shopping_list_quantity.jinja:4 +#: stock/templates/stock/shopping_list_quantity.jinja:8 +#, python-format +msgid "%(s)s's quantity to buy" +msgstr "quantité à acheter de %(s)s" + +#: stock/templates/stock/shopping_list_quantity.jinja:13 +#: stock/templates/stock/stock_shopping_list.jinja:9 +msgid "Create shopping list" +msgstr "Créer une liste de courses" + +#: stock/templates/stock/stock_item_list.jinja:10 +msgid "New item" +msgstr "Nouvel élément" + +#: stock/templates/stock/stock_item_list.jinja:19 +#: stock/templates/stock/stock_item_list.jinja:26 +msgid "left" +msgstr "restant" + +#: stock/templates/stock/stock_item_list.jinja:23 +msgid "Others" +msgstr "Autres" + +#: stock/templates/stock/stock_item_list.jinja:30 +msgid "There is no items in this stock." +msgstr "Il n'y a pas d'élements dans ce stock." + +#: stock/templates/stock/stock_list.jinja:4 +#: stock/templates/stock/stock_list.jinja:9 +msgid "Stock list" +msgstr "Liste des stocks" + +#: stock/templates/stock/stock_list.jinja:22 +msgid "There is no stocks in this website." +msgstr "Il n'y a pas de stocks sur ce site web." + +#: stock/templates/stock/stock_shopping_list.jinja:11 +#, python-format +msgid "Shopping lists history for %(s)s" +msgstr "Historique des listes de course pour %(s)s" + +#: stock/templates/stock/stock_shopping_list.jinja:14 +msgid "Information :" +msgstr "Information : " + +#: stock/templates/stock/stock_shopping_list.jinja:16 +msgid "" +"Use the \"update stock\" action when you get back from shopping to add the " +"effective quantity bought for each shopping list item." +msgstr "" +"Utilisez la fonction \"mettre à jour le stock\" quand vous revenez de " +"courses pour ajouter la quantité effectivement achetée pour chaque élément " +"de la liste" + +#: stock/templates/stock/stock_shopping_list.jinja:18 +msgid "" +"For example, 3 Cheeseburger (boxes) are aksing in the list, but there were " +"only 2 so, 2 have to be added in the stock quantity." +msgstr "" +"Par exemple, 3 Cheeseburger (boîtes) sont demandés dans la liste, mais il " +"n'y en avait que 2, donc il faut mettre 2 dans la quantité en stock." + +#: stock/templates/stock/stock_shopping_list.jinja:21 +msgid "To do" +msgstr "À faire" + +#: stock/templates/stock/stock_shopping_list.jinja:27 +#: stock/templates/stock/stock_shopping_list.jinja:56 +msgid "Number of items" +msgstr "Nombre d'éléments" + +#: stock/templates/stock/stock_shopping_list.jinja:37 +msgid "Update stock" +msgstr "Mettre à jour le stock" + +#: stock/templates/stock/stock_shopping_list.jinja:40 +msgid "Mark as done" +msgstr "Marquer comme fait" + +#: stock/templates/stock/stock_shopping_list.jinja:66 +msgid "Mark as to do" +msgstr "Marquer comme à faire" + +#: stock/templates/stock/stock_take_items.jinja:5 +#: stock/templates/stock/stock_take_items.jinja:9 +#, python-format +msgid "Take items from %(s)s" +msgstr "Prendre des éléments de %(s)s" + +#: stock/templates/stock/stock_take_items.jinja:14 +msgid "Take items" +msgstr "Prendre les éléments" + +#: stock/templates/stock/update_after_shopping.jinja:4 +#: stock/templates/stock/update_after_shopping.jinja:8 +#, python-format +msgid "Update %(s)s's quantity after shopping" +msgstr "Mettre à jour les quantités de %(s)s après les courses" + +#: stock/templates/stock/update_after_shopping.jinja:13 +msgid "Update stock quantities" +msgstr "Mettre à jour les quantités en stock" + +#: stock/views.py:173 +msgid "Shopping list name" +msgstr "Nom de la liste de courses" + +#: stock/views.py:179 +msgid " left" +msgstr " restant" + +#: stock/views.py:180 +msgid "" +"Add here, items to buy that are not reference as a stock item (example : " +"sponge, knife, mugs ...)" +msgstr "" +"Ajouter ici les éléments non référencé comme élément de stock (example : " +"éponge, couteau, mugs ...)" + +#: stock/views.py:309 +msgid " asked" +msgstr " demandé" + +#: stock/views.py:376 +#, python-format +msgid "%(effective_quantity)s left" +msgstr "%(effective_quantity)s restant" + +#: subscription/models.py:40 msgid "Bad subscription type" msgstr "Mauvais type de cotisation" -#: subscription/models.py:20 +#: subscription/models.py:44 msgid "Bad payment method" msgstr "Mauvais type de paiement" -#: subscription/models.py:24 +#: subscription/models.py:48 msgid "subscription type" msgstr "type d'inscription" -#: subscription/models.py:27 +#: subscription/models.py:51 msgid "subscription start" msgstr "début de la cotisation" -#: subscription/models.py:28 +#: subscription/models.py:52 msgid "subscription end" msgstr "fin de la cotisation" -#: subscription/models.py:31 +#: subscription/models.py:55 msgid "location" msgstr "lieu" -#: subscription/models.py:40 +#: subscription/models.py:64 msgid "You can not subscribe many time for the same period" msgstr "Vous ne pouvez pas cotiser plusieurs fois pour la même période" -#: subscription/models.py:44 +#: subscription/models.py:68 msgid "Subscription error" msgstr "Erreur de cotisation" -#: subscription/views.py:50 +#: subscription/views.py:74 msgid "A user with that email address already exists" msgstr "Un utilisateur avec cette adresse email existe déjà" -#: subscription/views.py:66 +#: subscription/views.py:90 msgid "You must either choose an existing user or create a new one properly" msgstr "" "Vous devez soit choisir un utilisateur existant, soit en créer un proprement" - -#~ msgid "CB refillilngs" -#~ msgstr "Rechargements Carte Bancaire" diff --git a/sith/settings.py b/sith/settings.py index 5ebf4b0d..eccb36bc 100644 --- a/sith/settings.py +++ b/sith/settings.py @@ -85,6 +85,7 @@ INSTALLED_APPS = ( 'com', 'election', 'forum', + 'stock', ) MIDDLEWARE_CLASSES = ( diff --git a/stock/views.py b/stock/views.py index 5d242c25..64984661 100644 --- a/stock/views.py +++ b/stock/views.py @@ -373,7 +373,7 @@ class StockTakeItemsBaseFormView(CounterTabsMixin, CanEditMixin, DetailView, Bas for i in self.stock.items.filter(type=t).order_by('name').all(): field_name = "item-%s" % (str(i.id)) fields[field_name] = forms.IntegerField(required=False, label=str(i), initial=0, min_value=0, max_value=i.effective_quantity, - help_text=_("(%(effective_quantity)s left" % {"effective_quantity": str(i.effective_quantity)})) + help_text=_("%(effective_quantity)s left" % {"effective_quantity": str(i.effective_quantity)})) kwargs[field_name] = i.effective_quantity kwargs['stock_id'] = self.stock.id kwargs['counter_id'] = self.stock.counter.id