From ba370a0b74ec00f614af334b3ea3f6d95c47aa53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?=
Html->link(__d('users', 'Reset Password'), ['action' => 'requestResetPassword']); } ?> -
= implode(' ', $this->User->socialLoginList()); ?> = $this->Form->button(__d('Users', 'Login')); ?> diff --git a/src/Template/Users/register.ctp b/src/Template/Users/register.ctp index f217de2f4..2c1467db3 100644 --- a/src/Template/Users/register.ctp +++ b/src/Template/Users/register.ctp @@ -24,7 +24,9 @@ use Cake\Core\Configure; if (Configure::read('Users.Tos.required')) { echo $this->Form->input('tos', ['type' => 'checkbox', 'label' => __d('Users', 'Accept TOS conditions?'), 'required' => true]); } - echo $this->User->addReCaptcha(); + if (Configure::read('Users.reCaptcha.registration')) { + echo $this->User->addReCaptcha(); + } ?> = $this->Form->button(__d('Users', 'Submit')) ?> diff --git a/src/Template/Users/social_email.ctp b/src/Template/Users/social_email.ctp index 4ac0f9071..52cc6086e 100644 --- a/src/Template/Users/social_email.ctp +++ b/src/Template/Users/social_email.ctp @@ -16,7 +16,6 @@ = $this->Form->input('email') ?> - = $this->User->addReCaptcha(); ?> = $this->Form->button(__d('Users', 'Submit')); ?> = $this->Form->end() ?> diff --git a/src/View/Helper/UserHelper.php b/src/View/Helper/UserHelper.php index fe4511716..049f053b4 100644 --- a/src/View/Helper/UserHelper.php +++ b/src/View/Helper/UserHelper.php @@ -33,19 +33,6 @@ class UserHelper extends Helper */ protected $_defaultConfig = []; - /** - * beforeLayout callback loads reCaptcha if enabled - * - * @param Event $event event - * @return void - */ - public function beforeLayout(Event $event) - { - if (Configure::read('Users.Registration.reCaptcha')) { - $this->addReCaptchaScript(); - } - } - /** * Social login link * @@ -170,16 +157,14 @@ public function addReCaptchaScript() */ public function addReCaptcha() { - if (!Configure::read('Users.Registration.reCaptcha')) { - return false; - } - if (!Configure::read('reCaptcha.key')) { - return $this->Html->tag('p', __d('Users', 'reCaptcha is not configured! Please configure reCaptcha.key or set Users.Registration.reCaptcha to false')); + if (!Configure::read('Users.reCaptcha.key')) { + return $this->Html->tag('p', __d('Users', 'reCaptcha is not configured! Please configure Users.reCaptcha.key')); } + $this->addReCaptchaScript(); $this->Form->unlockField('g-recaptcha-response'); return $this->Html->tag('div', '', [ 'class' => 'g-recaptcha', - 'data-sitekey' => Configure::read('reCaptcha.key') + 'data-sitekey' => Configure::read('Users.reCaptcha.key') ]); } } diff --git a/tests/TestCase/Controller/Traits/RegisterTraitTest.php b/tests/TestCase/Controller/Traits/RegisterTraitTest.php index 0ea8e721e..1454e212b 100644 --- a/tests/TestCase/Controller/Traits/RegisterTraitTest.php +++ b/tests/TestCase/Controller/Traits/RegisterTraitTest.php @@ -63,8 +63,40 @@ public function testValidateEmail() * * @return void */ - public function testRegisterHappy() + public function testRegister() { + $this->assertEquals(0, $this->table->find()->where(['username' => 'testRegistration'])->count()); + $this->_mockRequestPost(); + $this->_mockAuth(); + $this->_mockFlash(); + $this->_mockDispatchEvent(); + $this->Trait->Flash->expects($this->once()) + ->method('success') + ->with('Please validate your account before log in'); + $this->Trait->expects($this->once()) + ->method('redirect') + ->with(['action' => 'login']); + $this->Trait->request->data = [ + 'username' => 'testRegistration', + 'password' => 'password', + 'email' => 'test-registration@example.com', + 'password_confirm' => 'password', + 'tos' => 1 + ]; + + $this->Trait->register(); + + $this->assertEquals(1, $this->table->find()->where(['username' => 'testRegistration'])->count()); + } + + /** + * test + * + * @return void + */ + public function testRegisterReCaptcha() + { + Configure::write('Users.reCaptcha.registration', true); $this->assertEquals(0, $this->table->find()->where(['username' => 'testRegistration'])->count()); $this->_mockRequestPost(); $this->_mockAuth(); @@ -90,6 +122,7 @@ public function testRegisterHappy() $this->Trait->register(); $this->assertEquals(1, $this->table->find()->where(['username' => 'testRegistration'])->count()); + Configure::write('Users.reCaptcha.registration', false); } /** @@ -99,6 +132,7 @@ public function testRegisterHappy() */ public function testRegisterValidationErrors() { + Configure::write('Users.reCaptcha.registration', true); $this->assertEquals(0, $this->table->find()->where(['username' => 'testRegistration'])->count()); $this->_mockRequestPost(); $this->_mockAuth(); @@ -123,6 +157,7 @@ public function testRegisterValidationErrors() $this->Trait->register(); $this->assertEquals(0, $this->table->find()->where(['username' => 'testRegistration'])->count()); + Configure::write('Users.reCaptcha.registration', false); } /** @@ -132,6 +167,7 @@ public function testRegisterValidationErrors() */ public function testRegisterRecaptchaNotValid() { + Configure::write('Users.reCaptcha.registration', true); $this->assertEquals(0, $this->table->find()->where(['username' => 'testRegistration'])->count()); $this->_mockRequestPost(); $this->_mockAuth(); @@ -139,7 +175,7 @@ public function testRegisterRecaptchaNotValid() $this->_mockDispatchEvent(); $this->Trait->Flash->expects($this->once()) ->method('error') - ->with('The reCaptcha could not be validated'); + ->with('Invalid reCaptcha'); $this->Trait->expects($this->once()) ->method('validateRecaptcha') ->will($this->returnValue(false)); @@ -154,6 +190,7 @@ public function testRegisterRecaptchaNotValid() $this->Trait->register(); $this->assertEquals(0, $this->table->find()->where(['username' => 'testRegistration'])->count()); + Configure::write('Users.reCaptcha.registration', false); } /** diff --git a/tests/TestCase/View/Helper/UserHelperTest.php b/tests/TestCase/View/Helper/UserHelperTest.php index 6da81b94f..5e5038f70 100644 --- a/tests/TestCase/View/Helper/UserHelperTest.php +++ b/tests/TestCase/View/Helper/UserHelperTest.php @@ -206,11 +206,9 @@ public function testWelcomeNotLoggedInUser() */ public function testAddReCaptcha() { - $siteKey = Configure::read('reCaptcha.key'); - Configure::write('reCaptcha.key', 'testKey'); + Configure::write('Users.reCaptcha.key', 'testKey'); $result = $this->User->addReCaptcha(); $this->assertEquals('', $result); - Configure::write('reCaptcha.key', $siteKey); } /** @@ -220,11 +218,11 @@ public function testAddReCaptcha() */ public function testAddReCaptchaEmpty() { - Configure::write('Users.Registration.reCaptcha', false); $result = $this->User->addReCaptcha(); - $this->assertFalse($result); + $expected = 'reCaptcha is not configured! Please configure Users.reCaptcha.key
'; + $this->assertEquals($expected, $result); } - + /** * Test add ReCaptcha field * From 300d54157040ba1302d817708beed3327c520c61 Mon Sep 17 00:00:00 2001 From: Alejandro Ibarrapifn^C)cF8z#8%s5_IMaIfm4`;=THM)!VP#Gb^k27 zan75}EKD8y8SBeT`c2HzWti-jqqG8g+aZ>Oozo0eWy9_G1K3pay)2ZTJy6N-EfF z;2zXC$CEU)!U@y^r%^Mzh^*vVG8x?^SI|i^q`(oi*?w9HQ0lLn7{#i zkL}n@biL8!B#kXJW-)|Mu?hd#HZrLP_o4 -Cgmy(y{dV8;u-2qd_aACpHVAX#jRLiWGdT -pCAU#eb04;$^WW z7DWAoy{Li5uo wk`o_#O2e zPi?012HZzKWcN>_CU^t&{mDZbTImaWVhIiUKhTM8%GbA0g8f*7emsu`rcf(g#-sQX zHPN>E%-iWiJ--{bV;|}#zKqsPPG|8H9sPA=kV)%zPS_E*`dqhjV~kDkPgs9lZyb_- zmAjH(Zid5SiD=xIGDjmrW;`+$HAW-R5$m33$Z9B?EetgI_Zt3|{ehMpyZ!0qGN-%h hP;}G`4;$lV%(S<~jLC!%P7FumruDXN+8VDv{2z0ji-!OJ delta 1147 zcmXZaUr5tY6u|MbrfpW!wsOv9`AauTWiXXiCYnT$DEJT=jL2MzU}TeQldy0_)I-r9 z_yrLJNsM|a3I~B8^-vTNBtlS7QPfLGWe^cQM17CH-(Y<1pWi*_o_p^^&t%Voyfe2$ zMDpb#Mfern_yb+|2dnWP2C>>NQipAL(jjsHm(l-FA+iDI(1*T&NEL>03vS1?cmg&4 zb!4gB3P^5oVv>Q?47|pr_zlbO7nY#2QluU|sPmg~6?WL}vd0ghZr}(O<0;gH=Wr!n zMqNLSrFf?@XMOmP0bMwSy3-ldioYX!kdiglhH6m9n^6Pxq9*9WCD@NCOrR!wfgSh` z2_-=m8@LHI&z>9&tuTWca13>4XHie!Dr$l}YDM=jjs?`C_i)Z044}rT!w^QX2K#V7 z9>;z72Df31?0TZP5gO}gjAJ`K#t8nkZDdjd$59g|QLid(_s<}o$|Y>WyV!|e(7<{g z5YI=tQP&M1&qT7wMssqJh91>~J@EwfB;KMv!cV9b&Ea}1Gpx#*u$%sF)DyXhTJZvs zTdMe2H`a!Fg>lrx!`Oo7v6%ewh{g&Ao}w3L(ZJ7Ghebr~!bV)YDr~1ehI%4XsIUJy zZp3-iIDuNL@&;_B-)Z+pQ8#!6_5I0x8d~YJJu!<0{h#PWFXii7D961R#wI+C1{Sav zU!iWWHf+6_2x{CIQj2t80}h~G@dY$*xVpSqI{MpbA;acxSJH9JjJvOCJUPlgV=lO7 z93zG4l8?*HXXX7BiDYspo6Z;`iNVytL?$(qHU?Aa!)DNb+tU(>wi?Y%TcfeYXteOs S?<_UvL!;*Vkk5>V \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -258,8 +258,8 @@ msgid "Email not present" msgstr "No se encuentra el email" #: Model/Table/UsersTable.php:541 -msgid "{0}Your account validation link" -msgstr "{0} Enlace para validar su cuenta" +msgid "Your account validation link" +msgstr "Enlace para validar su cuenta" #: Model/Table/UsersTable.php:561 msgid "{0}Your reset password link" From 259a850db4186ca2a22cf93c987b808d69d25d28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20M=2E=20Gonz=C3=A1lez=20Mart=C3=ADn?= Date: Mon, 18 Apr 2016 15:24:26 +0100 Subject: [PATCH 0039/1079] update version to 3.2.0 --- .semver | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.semver b/.semver index 63e74f429..24895fae3 100644 --- a/.semver +++ b/.semver @@ -1,5 +1,5 @@ --- :major: 3 -:minor: 1 -:patch: 5 +:minor: 2 +:patch: 0 :special: '' From a80ed8bceb367d14b30e80189ef97e9aab7269c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20M=2E=20Gonz=C3=A1lez=20Mart=C3=ADn?= Date: Mon, 18 Apr 2016 15:26:08 +0100 Subject: [PATCH 0040/1079] update composer requirements --- composer.json | 1 - 1 file changed, 1 deletion(-) diff --git a/composer.json b/composer.json index ce4106d22..0102ca750 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,6 @@ "source": "https://github.com/CakeDC/users" }, "require": { - "php": ">=5.4.16", "cakephp/cakephp": "~3.2" }, "require-dev": { From e47038847ea7c1f9753fe14a69a5c0d54d54dc9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20M=2E=20Gonz=C3=A1lez=20Mart=C3=ADn?= Date: Mon, 18 Apr 2016 16:10:15 +0100 Subject: [PATCH 0041/1079] Update required versions --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 063256b15..54bd0a84a 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ CakeDC Users Plugin [](https://packagist.org/packages/CakeDC/users) [](https://packagist.org/packages/CakeDC/users) -IMPORTANT: 3.1.x version is BETA status now, we are still improving and testing it. +IMPORTANT: 3.2.x version is BETA status now. Versions and branches --------------------- @@ -46,8 +46,8 @@ Another decision made was limiting the plugin dependencies on other packages as Requirements ------------ -* CakePHP 3.1+ -* PHP 5.4.16+ Note CakePHP 3.2 requires PHP 5.5 so 5.4 compatibility would be dropped sooner than later... +* CakePHP 3.2+ +* PHP 5.5.9+ Documentation ------------- From 6b65be1628519da8565e8e38f96015466cdf9563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Teixeira?= Date: Tue, 19 Apr 2016 09:53:23 -0300 Subject: [PATCH 0042/1079] pt_BR translation files --- src/Locale/pt_BR/pt_BR.mo | Bin 0 -> 9535 bytes src/Locale/pt_BR/pt_BR.po | 537 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 537 insertions(+) create mode 100644 src/Locale/pt_BR/pt_BR.mo create mode 100644 src/Locale/pt_BR/pt_BR.po diff --git a/src/Locale/pt_BR/pt_BR.mo b/src/Locale/pt_BR/pt_BR.mo new file mode 100644 index 0000000000000000000000000000000000000000..e6fce0f98abef586b7228728a780b09638bc5cca GIT binary patch literal 9535 zcmbW6TZ~;-dB;~mE-(p&1eZ%2%Bo3Xo6L;Imn6 ^XbQnQfo5 z_sQP-%q3AoB#2OvD59uMA83VTq=X ;1541%MytHc7i`w6R zt-bfTcnm6AUgx*>y0342-?zRse&f!Y{?zcSlI|kC{x)N-!Y|y)56{*KWB6yb@$+7| z8-4&j0e=TNI0HXfeSZV0=?~#=!Pnu3;J?Fn!S~%}%q?&Wd^? oyL3^?uY891vQW7pyvA` *ZB`#pFM z{6|Pv=A8&x`t?Dmb }SE|k7}4(^4o!Bg-p_}g&bouQwnpya&_HIL6h z>F29(7Je5>uKx`Yp}FxrVV>`Xs(&w>g!`e!=|IWh6)5?<2BmL*2Q{ysRJ@r*@@lq0 zL~QoKDR>+*lzA3vUY~)Q&nr; &qLMw43wNc52YVpgwnI`K<)1vkbmZ1D&E2-NKO_?PWM3B?=*C92UPzr z!He)^sQzw6h+6MGP~VS3t#1jczZ`136{z{X2xZ5A2DRQRQ2P4SD*u0=>c5>$)I8n` zCHD_O&G!*_20jTt2EPJl;q45rbv_E|!nEQ2@Dot_@vVyg4At)k=v3oxhSJYzD7hYl zR56dkJ#Y!`f>)sQ@kdbecnh+1=2iwpWsHT|&j+FO=jkfH1GPV&fExGHP=4X_kS@%( zq2~JroP+-f&%uXnDE|}463uH+<9;7Xul@;YKmH4DgSTNM+V}gR^l&fKJWfLkFT&06 z1$Yo%g__S#;coZ~sQPzPNq%k@)OtP&HQpzo*838C7=8_E{%=*h9i!*f+y}MKC!yqZ z5pIPmQ2YKxh-)%mfxid;8cNRZLWx+qc??>(1RsZg1U1heR{VRYeflZX{C*BK-%Whn z0QKx39rADCXLacPJnu(HlI3ZVWQU6|Pm#2KJ<9?9T+wSmlFvFz(%wBmib)qpCrOUf zAz6}iS@K^Y9V2P&h}P^Q>G?y_l79<7DOe qv6N48Zzle|1l+FWJGKS;M^pFNWNseFy} zdxE6r{Uqt J4x+uISaFg=^@kyacs{O zE;n<%#LjD4W-j;rGlS}7B|-*eW@FcJjQwHB4dF16C^v_eqO|So>8L1HvOKQ8d(AhZ zlf(}7^W4!-Q@|`DbJ%xTAxz{5;y3!KJ|!S?M8C~GxYeX6iz;(u3vyR5$VMeY`P!A< zNKH1Uj}X$R>#DY@KDq}-le{SHNmY3)kqFGO*c@B*yV^<8%Qh*zBD69V+A2G1HcpCO zCt7pyr0sQFR5+BYx8@rxW}Qy9lB8`L#W7PUEc@g)b;T{%g*;nfI$@C1>qNcT=2-pR z>)9gel#@29-fXwe1kuB&v>L9oJMVwME+l1Px9-|$7uHHwY(pi|cGF3thue{WSH+Es zDs`$9uBlULt8}Vd>p62=gL(-aM 1qd;T h}LX4WRc3+aK8ch++H1{o0yU%?L$D)#RH} Jo2 z{f*bF{okmATX48fCvS$CnA3T-oW!`SGj0*jm$n>l9XXkSvYl~V*Ii&;SnC=2gxH=B z&RfbAR-*iYKdOB4h>Fy+iG3f})LlVgnku8(68atyMR3DslXfaw_o{L #}6T|4{p5lI`bawqo`V4ugm^I7vDRNVR#ki&DqUmR&16QV{7GF?c{3r zsT!>@&u-()1y|UO%GQ$aCF7K=_j;r9rYv}*k=3+a>hKCKp0<_pmHC>D+7Y^-@kgCg zJ;NZTrb%nuZgn6hX;J3=aJEi+SE2r-prfv$h?emyD#PMNi^7?Box;&}jei+$(-buI zQFbX;gsSE_6Xh_KGT>#}!7{2fr>^ACz1$oQ;Q;r)_Q+~4!6HrgszVs(bD6J?Kt|+D zWykLO0!?YGNsx=z+cXQ-GE~_+PT#|bAzWAf)3hx@Byui|7CKH2B!nwo{(hXiHgLZ; zIy)?9u4i==jc!I`jH7j$?2)Neb*j*=vMS$q6SajZ&F8NQ;(TN6Thk(RAf+KVsO334 zl!~rx;o}hXrkAE&74 )Dd?qWN}=|w-8r-4 zfvK6@Q#&5AGka!t-9I(6Yi5RuQ)if;y4axJL$kYghkC~eu=`QlP0hQg+YI)wq7GE) zK#RfS)-;>_$i#_bCyorJwPSi_;t;hs;iu+_&t`3jRJIe7Ch1;9IXMQu@7(;+sXc>w zd6X6$t5Zi%rx<@TYxfXBPMq!#nRTX)W_h=mwQ0|P7W;PYCA3w^zOAW!#O~O(cjC#Z zM}x!8@>zR2bBg45Oz)X~a6;kX)Vv1Zv{va{8t3a@w(~Aobx9uChnE~-@d55dTr%DGe@a1)Ag&F?PW2V zi7yFTOL1u73kfHvnMZNtJM_N`NgA!ctfn+9y?=C73=vw^9r-5fudXI#X69(|4czY> z(VGlGJ!uNjGyP;JGwN%5l2$c9t$eDa3z9}ela@oVZ%5a0(n4uibHC`XU})n%mpF z>)IAawR<+Q&k&Qwc=b!_hr1gsMlWwC`jQ;s(NbiF-w)+U6ldnF3K+j1b(oFB?eA+* zUUM)3UD(JE7|I^Hy)m(Vk(pCLbYpvw6L>HCK{qb1OOJ$$ATA2MuI_61rW98vSv3L) z^{Q5WU+_i5;h8x}RdcF?dSLOo!<}`OqenNmpaDfm8P0Ygi51&(n=5g{42P4$=PpLe zSw2ZYFHyt7wfhN$cvfOkxBha*`p9KY_{%m@3-`F7DM`A#eno#oFlV{DS+p$bb(-C; zOS4IJyg`N7NtaMvmfCZjjPN$)7~SBWR~^l6JHn}ac{Oylwb(XX8q~5 o7DaT9YUy6? zhZ(4oAIf_LY!}C}u@BK=f6W2LnkM{3OpC>TX3LtE+(pwhfk!BAWHBh4yta_7LQu6p z!UD#69Bnmj+E!8@nZac6 FbDGd2UWE z }N3HM|cldi-H_s2D?QR|mR0 zhyDaQv?D=8ql;+E!ZTvUfg$VcmFzzb=pt-Y=f2$xD!0lyS3m8Tjv zG^P@`_+=f4*xOi1IIa=hMuo%87PAD!)Y;xtR#vF;Sk~vf=y&}svc5#hbq>Ojuy;Wx zjlVM1q0Z G <>o#a^@#6j1cTITr3wnp2+MfH5vT7Pv&_Dj)1(otl| zfx6h~uU-?6^f2ad0OJ4$7gzmtC)`{^kKx*yXZ_kwR?*-{NLQT|9Cg$(p&{Wj?uB4w z(6ovN&T{nos1aotIu{hvDGVT#Xk4`y?2s30ww8z|?*@Y#QTcJd)XUfZYBlL*hX0Ad d8aTtWoz;zYcp|kmjh;lRJzQ&}=~iCc{2#6!t?vK; literal 0 HcmV?d00001 diff --git a/src/Locale/pt_BR/pt_BR.po b/src/Locale/pt_BR/pt_BR.po new file mode 100644 index 000000000..a0ad95366 --- /dev/null +++ b/src/Locale/pt_BR/pt_BR.po @@ -0,0 +1,537 @@ +# LANGUAGE translation of CakePHP Application +# Copyright 2010 - 2015, Cake Development Corporation (http://cakedc.com) +# +msgid "" +msgstr "" +"Project-Id-Version: CakeDC Users\n" +"POT-Creation-Date: 2016-04-19 08:35-0300\n" +"PO-Revision-Date: 2016-04-19 09:44-0300\n" +"Language-Team: CakeDC \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 1.8.7\n" +"Last-Translator: André Teixeira \n" +"Language: pt_BR\n" + +#: Auth/SimpleRbacAuthorize.php:132 +msgid "" +"Missing configuration file: \"config/{0}.php\". Using default permissions" +msgstr "" +"Arquivo de configuração ausente: \"config/{0}.php\". Usando permissões padrão" + +#: Controller/SocialAccountsController.php:52 +msgid "Account validated successfully" +msgstr "Conta validada com êxito" + +#: Controller/SocialAccountsController.php:54 +msgid "Account could not be validated" +msgstr "A conta não pode ser validada" + +#: Controller/SocialAccountsController.php:57 +msgid "Invalid token and/or social account" +msgstr "Token e/ou conta social inválido(s)" + +#: Controller/SocialAccountsController.php:59 +msgid "SocialAccount already active" +msgstr "Conta social já ativa" + +#: Controller/SocialAccountsController.php:61 +msgid "Social Account could not be validated" +msgstr "A conta social não pode ser validada" + +#: Controller/SocialAccountsController.php:79 +msgid "Email sent successfully" +msgstr "Email enviado com sucesso" + +#: Controller/SocialAccountsController.php:81 +msgid "Email could not be sent" +msgstr "O email não pode ser enviado" + +#: Controller/SocialAccountsController.php:84 +msgid "Invalid account" +msgstr "Conta inválida" + +#: Controller/SocialAccountsController.php:86 +msgid "Social Account already active" +msgstr "Conta social já ativa" + +#: Controller/SocialAccountsController.php:88 +msgid "Email could not be resent" +msgstr "O email não pode ser reenviado" + +#: Controller/Component/RememberMeComponent.php:70 +msgid "Invalid app salt, app salt must be at least 256 bits (32 bytes) long" +msgstr "" +"Salt da aplicação inválido, o salt da aplicação deve ser de pelo menos 256 " +"bits (32 bytes)" + +#: Controller/Component/UsersAuthComponent.php:156 +msgid "You can't enable email validation workflow if use_email is false" +msgstr "" +"Você não pode habilitar o fluxo de validação por email se use_email for false" + +#: Controller/Traits/LoginTrait.php:55 +msgid "" +"The social account is not active. Please check your email for instructions. " +"{0}" +msgstr "" +"A conta social não está ativa. Por favor verifique seu email para " +"instruções. {0}" + +#: Controller/Traits/LoginTrait.php:58 Template/Users/social_email.ctp:16 +msgid "Please enter your email" +msgstr "Por favor indique seu email" + +#: Controller/Traits/LoginTrait.php:82 +msgid "Username or password is incorrect" +msgstr "Nome de usuário e/ou senha incorreto(s)" + +#: Controller/Traits/LoginTrait.php:93 +msgid "There was an error associating your social network account" +msgstr "Houve um erro associando sua conta social" + +#: Controller/Traits/LoginTrait.php:113 +msgid "You've successfully logged out" +msgstr "Você desconectou-se com êxito" + +#: Controller/Traits/PasswordManagementTrait.php:53 +msgid "Password has been changed successfully" +msgstr "Senha alterada com êxito" + +#: Controller/Traits/PasswordManagementTrait.php:56;63 +msgid "Password could not be changed" +msgstr "A senha não pode ser alterada" + +#: Controller/Traits/PasswordManagementTrait.php:59 +#: Controller/Traits/ProfileTrait.php:46 +msgid "User was not found" +msgstr "O usuário não foi encontrado" + +#: Controller/Traits/PasswordManagementTrait.php:61 +msgid "The current password does not match" +msgstr "A senha atual não corresponde" + +#: Controller/Traits/PasswordManagementTrait.php:93 +msgid "Please check your email to continue with password reset process" +msgstr "" +"Por favor, verifique seu email para continuar o processo de redefinição de " +"senha" + +#: Controller/Traits/PasswordManagementTrait.php:96 +msgid "The password token could not be generated. Please try again" +msgstr "O token de senha não pode ser gerado. Por favor, tente novamente" + +#: Controller/Traits/PasswordManagementTrait.php:101 +#: Controller/Traits/UserValidationTrait.php:94 +msgid "User {0} was not found" +msgstr "O usuário {0} não foi encontrado" + +#: Controller/Traits/PasswordManagementTrait.php:103 +#: Controller/Traits/UserValidationTrait.php:90;98 +msgid "Token could not be reset" +msgstr "O token não pode ser redefinido" + +#: Controller/Traits/RegisterTrait.php:66 +msgid "The user could not be saved" +msgstr "O usuário não pode ser salvo" + +#: Controller/Traits/RegisterTrait.php:82 +msgid "You have registered successfully, please log in" +msgstr "Você registrou-se com sucesso, por favor, autentique-se" + +#: Controller/Traits/RegisterTrait.php:84 +msgid "Please validate your account before log in" +msgstr "Por favor, valide sua conta antes de autenticar" + +#: Controller/Traits/SimpleCrudTrait.php:75;103 +msgid "The {0} has been saved" +msgstr "O {0} foi salvo" + +#: Controller/Traits/SimpleCrudTrait.php:78;106 +msgid "The {0} could not be saved" +msgstr "O {0} não pode ser salvo" + +#: Controller/Traits/SimpleCrudTrait.php:125 +msgid "The {0} has been deleted" +msgstr "O {0} foi deletado" + +#: Controller/Traits/SimpleCrudTrait.php:127 +msgid "The {0} could not be deleted" +msgstr "O {0} não pode ser deletado" + +#: Controller/Traits/UserValidationTrait.php:43 +msgid "User account validated successfully" +msgstr "Conta de usuário validada com êxito" + +#: Controller/Traits/UserValidationTrait.php:45 +msgid "User account could not be validated" +msgstr "A conta de usuário não pode ser validada" + +#: Controller/Traits/UserValidationTrait.php:48 +msgid "User already active" +msgstr "Usuário já ativo" + +#: Controller/Traits/UserValidationTrait.php:54 +msgid "Reset password token was validated successfully" +msgstr "Token de redefinição de senha validado com êxito" + +#: Controller/Traits/UserValidationTrait.php:58 +msgid "Reset password token could not be validated" +msgstr "O token de redefinição de senha não pode ser validado" + +#: Controller/Traits/UserValidationTrait.php:65 +msgid "Invalid token and/or email" +msgstr "Token e/ou email inválido(s)" + +#: Controller/Traits/UserValidationTrait.php:67 +msgid "Token already expired" +msgstr "Token expirado" + +#: Controller/Traits/UserValidationTrait.php:69 +msgid "Invalid validation type" +msgstr "Tipo de validação inválido" + +#: Controller/Traits/UserValidationTrait.php:88 +msgid "Token has been reset successfully. Please check your email." +msgstr "O token foi redefinido com êxito. Por favor, verifique seu email." + +#: Controller/Traits/UserValidationTrait.php:96 +msgid "User {0} is already active" +msgstr "O usuário {0} já está ativo" + +#: Model/Table/SocialAccountsTable.php:208 +msgid "{0}Your social account validation link" +msgstr "{0}Seu link de validação da conta social" + +#: Model/Table/SocialAccountsTable.php:235;263 +msgid "Account already validated" +msgstr "Conta já validada" + +#: Model/Table/SocialAccountsTable.php:238;266 +msgid "Account not found for the given token and email." +msgstr "Conta não encontrada com a combinação de token e email" + +#: Model/Table/UsersTable.php:84 +msgid "Your password does not match your confirm password. Please try again" +msgstr "" +"Sua senha não corresponde com a confirmação. Por favor, tente novamente" + +#: Model/Table/UsersTable.php:178 +msgid "Username already exists" +msgstr "Nome de usuário em uso" + +#: Model/Table/UsersTable.php:184 +msgid "Email already exists" +msgstr "Email em uso" + +#: Model/Table/UsersTable.php:213 +msgid "The \"tos\" property is not present" +msgstr "A propriedade “tos” não está presente" + +#: Model/Table/UsersTable.php:271 +msgid "Token has already expired user with no token" +msgstr "Token expirado, usuário sem token" + +#: Model/Table/UsersTable.php:274 +msgid "User not found for the given token and email." +msgstr "Usuário não encontrado com a combinação de token e email" + +#: Model/Table/UsersTable.php:341 +msgid "User not found" +msgstr "Usuário não encontrado" + +#: Model/Table/UsersTable.php:368 +msgid "+ {0} secs" +msgstr "+ {0} segundos" + +#: Model/Table/UsersTable.php:420 +msgid "Unable to login user with reference {0}" +msgstr "Incapaz de autenticar usuário com a referência {0}" + +#: Model/Table/UsersTable.php:453 +msgid "Email not present" +msgstr "Email ausente" + +#: Model/Table/UsersTable.php:541 +msgid "Your account validation link" +msgstr "Seu link de validação da conta" + +#: Model/Table/UsersTable.php:561 +msgid "{0}Your reset password link" +msgstr "{0}Seu link de redefinição de senha" + +#: Model/Table/UsersTable.php:585 +msgid "The old password does not match" +msgstr "A senha antiga não confere" + +#: Template/Email/html/reset_password.ctp:21 +#: Template/Email/html/social_account_validation.ctp:14 +#: Template/Email/html/validation.ctp:21 +#: Template/Email/text/reset_password.ctp:20 +#: Template/Email/text/social_account_validation.ctp:22 +#: Template/Email/text/validation.ctp:20 +msgid "Hi {0}" +msgstr "Olá {0}" + +#: Template/Email/html/reset_password.ctp:24 +msgid "Reset your password here" +msgstr "Redefina sua senha aqui" + +#: Template/Email/html/reset_password.ctp:27 +#: Template/Email/html/social_account_validation.ctp:32 +#: Template/Email/html/validation.ctp:27 +msgid "" +"If the link is not correctly displayed, please copy the following address in " +"your web browser {0}" +msgstr "" +"Se o link não está exibido corretamente, por favor, copie o seguinte " +"endereço em seu navegador {0}" + +#: Template/Email/html/reset_password.ctp:30 +#: Template/Email/html/social_account_validation.ctp:35 +#: Template/Email/html/validation.ctp:30 +#: Template/Email/text/reset_password.ctp:24 +#: Template/Email/text/social_account_validation.ctp:26 +#: Template/Email/text/validation.ctp:24 +msgid "Thank you" +msgstr "Obrigado" + +#: Template/Email/html/social_account_validation.ctp:18 +msgid "Activate your social login here" +msgstr "Ative sua autenticação social aqui" + +#: Template/Email/html/validation.ctp:24 +msgid "Activate your account here" +msgstr "Ative sua conta aqui" + +#: Template/Email/text/reset_password.ctp:22 +#: Template/Email/text/validation.ctp:22 +msgid "Please copy the following address in your web browser {0}" +msgstr "Por favor, copie o endereço a seguir em seu navegador {0}" + +#: Template/Email/text/social_account_validation.ctp:24 +msgid "" +"Please copy the following address in your web browser to activate your " +"social login {0}" +msgstr "" +"Por favor, copie o endereço a seguir em seu navegador para ativar sua " +"autenticação social {0}" + +#: Template/Users/add.ctp:13 Template/Users/edit.ctp:13 +#: Template/Users/index.ctp:13;26 Template/Users/view.ctp:13;77 +msgid "Actions" +msgstr "Ações" + +#: Template/Users/add.ctp:15 Template/Users/edit.ctp:21 +#: Template/Users/view.ctp:17 +msgid "List Users" +msgstr "Listar usuários" + +#: Template/Users/add.ctp:16 Template/Users/edit.ctp:22 +#: Template/Users/view.ctp:19 +msgid "List Accounts" +msgstr "Listar contas" + +#: Template/Users/add.ctp:22 Template/Users/register.ctp:15 +msgid "Add User" +msgstr "Adicionar usuário" + +#: Template/Users/add.ctp:32 Template/Users/change_password.ctp:13 +#: Template/Users/edit.ctp:42 Template/Users/register.ctp:26 +#: Template/Users/request_reset_password.ctp:8 +#: Template/Users/resend_token_validation.ctp:20 +#: Template/Users/social_email.ctp:19 +msgid "Submit" +msgstr "Enviar" + +#: Template/Users/change_password.ctp:5 +msgid "Please enter the new password" +msgstr "Por favor, indique a nova senha" + +#: Template/Users/change_password.ctp:7 +msgid "Current password" +msgstr "Senha atual" + +#: Template/Users/edit.ctp:16 Template/Users/index.ctp:40 +#: Template/Users/view.ctp:99 +msgid "Delete" +msgstr "Deletar" + +#: Template/Users/edit.ctp:18 Template/Users/index.ctp:40 +#: Template/Users/view.ctp:16;99 +msgid "Are you sure you want to delete # {0}?" +msgstr "Tem certeza que deseja deletar # {0}?" + +#: Template/Users/edit.ctp:28 Template/Users/view.ctp:15 +msgid "Edit User" +msgstr "Editar usuário" + +#: Template/Users/index.ctp:15 +msgid "New {0}" +msgstr "Novo {0}" + +#: Template/Users/index.ctp:37 Template/Users/view.ctp:95 +msgid "View" +msgstr "Visualizar" + +#: Template/Users/index.ctp:38 +msgid "Change password" +msgstr "Mudar senha" + +#: Template/Users/index.ctp:39 Template/Users/view.ctp:97 +msgid "Edit" +msgstr "Editar" + +#: Template/Users/index.ctp:49 +msgid "previous" +msgstr "anterior" + +#: Template/Users/index.ctp:51 +msgid "next" +msgstr "próximo" + +#: Template/Users/login.ctp:19 +msgid "Please enter your username and password" +msgstr "Por favor, indique seu nome de usuário e senha" + +#: Template/Users/login.ctp:26 +msgid "Remember me" +msgstr "Lembrar" + +#: Template/Users/login.ctp:49 +msgid "Login" +msgstr "Autenticar" + +#: Template/Users/profile.ctp:18 +msgid "{0} {1}" +msgstr "{0} {1}" + +#: Template/Users/profile.ctp:23 +msgid "Change Password" +msgstr "Mudar senha" + +#: Template/Users/profile.ctp:26 Template/Users/view.ctp:28;68 +msgid "Username" +msgstr "Nome de usuário" + +#: Template/Users/profile.ctp:28 Template/Users/view.ctp:30 +msgid "Email" +msgstr "Email" + +#: Template/Users/profile.ctp:33 +msgid "Social Accounts" +msgstr "Contas sociais" + +#: Template/Users/profile.ctp:37 Template/Users/view.ctp:70 +msgid "Avatar" +msgstr "Avatar" + +#: Template/Users/profile.ctp:38 Template/Users/view.ctp:67 +msgid "Provider" +msgstr "Provedor" + +#: Template/Users/profile.ctp:39 +msgid "Link" +msgstr "Link" + +#: Template/Users/register.ctp:23 +msgid "Accept TOS conditions?" +msgstr "Concordar com TOS?" + +#: Template/Users/request_reset_password.ctp:5 +msgid "Please enter your email to reset your password" +msgstr "Por favor, indique seu email para redefinir sua senha" + +#: Template/Users/resend_token_validation.ctp:15 +msgid "Resend Validation email" +msgstr "Reenviar email de validação" + +#: Template/Users/resend_token_validation.ctp:17 +msgid "Email or username" +msgstr "Email ou nome de usuário" + +#: Template/Users/view.ctp:16 +msgid "Delete User" +msgstr "Deletar usuário" + +#: Template/Users/view.ctp:18 +msgid "New User" +msgstr "Novo usuário" + +#: Template/Users/view.ctp:26;65 +msgid "Id" +msgstr "Id" + +#: Template/Users/view.ctp:32 +msgid "First Name" +msgstr "Nome" + +#: Template/Users/view.ctp:34 +msgid "Last Name" +msgstr "Sobrenome" + +#: Template/Users/view.ctp:36;71 +msgid "Token" +msgstr "Token" + +#: Template/Users/view.ctp:38 +msgid "Api Token" +msgstr "Api Token" + +#: Template/Users/view.ctp:42;73 +msgid "Active" +msgstr "Ativo" + +#: Template/Users/view.ctp:46;72 +msgid "Token Expires" +msgstr "Expiração do token" + +#: Template/Users/view.ctp:48 +msgid "Activation Date" +msgstr "Data de ativação" + +#: Template/Users/view.ctp:50 +msgid "Tos Date" +msgstr "Data TOS" + +#: Template/Users/view.ctp:52;75 +msgid "Created" +msgstr "Criado" + +#: Template/Users/view.ctp:54;76 +msgid "Modified" +msgstr "Modificado" + +#: Template/Users/view.ctp:61 +msgid "Related Accounts" +msgstr "Contas relacionadas" + +#: Template/Users/view.ctp:66 +msgid "User Id" +msgstr "Id de usuário" + +#: Template/Users/view.ctp:69 +msgid "Reference" +msgstr "Referência" + +#: Template/Users/view.ctp:74 +msgid "Data" +msgstr "Dados" + +#: View/Helper/UserHelper.php:43 +msgid "Sign in with Facebook" +msgstr "Inscrever-se com Facebook" + +#: View/Helper/UserHelper.php:57 +msgid "Sign in with Twitter" +msgstr "Inscrever-se com Twitter" + +#: View/Helper/UserHelper.php:71 +msgid "Logout" +msgstr "Desconectar" + +#: View/Helper/UserHelper.php:109 +msgid "Welcome, {0}" +msgstr "Bem-vindo(a), {0}" From 876906e1c37e738c0b4e1194fdf5d0617d4b8669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Teixeira?= Date: Tue, 19 Apr 2016 09:54:17 -0300 Subject: [PATCH 0043/1079] Improving flash message --- src/Controller/Traits/LoginTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Controller/Traits/LoginTrait.php b/src/Controller/Traits/LoginTrait.php index 9d9e0a19b..bbde330f0 100644 --- a/src/Controller/Traits/LoginTrait.php +++ b/src/Controller/Traits/LoginTrait.php @@ -206,7 +206,7 @@ protected function _afterIdentifyUser($user, $socialLogin = false) return $this->redirect($url); } else { if (!$socialLogin) { - $message = __d('Users', 'Username or password is incorrect'); + $message = __d('Users', 'Username and/or password is incorrect'); $this->Flash->error($message, 'default', [], 'auth'); } From d787d009d3c113253290e495d87c82fa62a81348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Teixeira?= Date: Tue, 19 Apr 2016 09:54:41 -0300 Subject: [PATCH 0044/1079] Adding missing "space" --- src/Controller/SocialAccountsController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Controller/SocialAccountsController.php b/src/Controller/SocialAccountsController.php index 5606f204b..c83b462f1 100644 --- a/src/Controller/SocialAccountsController.php +++ b/src/Controller/SocialAccountsController.php @@ -56,7 +56,7 @@ public function validateAccount($provider, $reference, $token) } catch (RecordNotFoundException $exception) { $this->Flash->error(__d('Users', 'Invalid token and/or social account')); } catch (AccountAlreadyActiveException $exception) { - $this->Flash->error(__d('Users', 'SocialAccount already active')); + $this->Flash->error(__d('Users', 'Social Account already active')); } catch (Exception $exception) { $this->Flash->error(__d('Users', 'Social Account could not be validated')); } From b8a20b0ee7c59194988ac585357bd435b4a011c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Teixeira?= Date: Tue, 19 Apr 2016 10:16:42 -0300 Subject: [PATCH 0045/1079] Rollback --- src/Controller/Traits/LoginTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Controller/Traits/LoginTrait.php b/src/Controller/Traits/LoginTrait.php index bbde330f0..9d9e0a19b 100644 --- a/src/Controller/Traits/LoginTrait.php +++ b/src/Controller/Traits/LoginTrait.php @@ -206,7 +206,7 @@ protected function _afterIdentifyUser($user, $socialLogin = false) return $this->redirect($url); } else { if (!$socialLogin) { - $message = __d('Users', 'Username and/or password is incorrect'); + $message = __d('Users', 'Username or password is incorrect'); $this->Flash->error($message, 'default', [], 'auth'); } From 6cd3ae6359595b514ef45f7a50ac5df19b70de33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Teixeira?= Date: Tue, 19 Apr 2016 10:38:21 -0300 Subject: [PATCH 0046/1079] Updating default plugin .pot file --- src/Locale/Users.pot | 398 ++++++++++++++++++++++++++++++++----------- 1 file changed, 298 insertions(+), 100 deletions(-) diff --git a/src/Locale/Users.pot b/src/Locale/Users.pot index 3efabc9f5..2efe2c07e 100644 --- a/src/Locale/Users.pot +++ b/src/Locale/Users.pot @@ -1,11 +1,11 @@ # LANGUAGE translation of CakePHP Application -# Copyright 2010 - 2015, Cake Development Corporation (http://cakedc.com) +# Copyright 2010 - 2016, Cake Development Corporation (http://cakedc.com) # #, fuzzy msgid "" msgstr "" "Project-Id-Version: CakeDC Users\n" -"POT-Creation-Date: 2015-08-04 10:52+0000\n" +"POT-Creation-Date: 2016-04-19 13:13+0000\n" "PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\n" "Last-Translator: CakeDC \n" "Language-Team: CakeDC \n" @@ -14,10 +14,34 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: Auth/SimpleRbacAuthorize.php:132 +#: Auth/ApiKeyAuthenticate.php:55 +msgid "Type {0} is not valid" +msgstr "" + +#: Auth/ApiKeyAuthenticate.php:59 +msgid "Type {0} has no associated callable" +msgstr "" + +#: Auth/ApiKeyAuthenticate.php:68 +msgid "SSL is required for ApiKey Authentication" +msgstr "" + +#: Auth/SimpleRbacAuthorize.php:141 msgid "Missing configuration file: \"config/{0}.php\". Using default permissions" msgstr "" +#: Auth/SocialAuthenticate.php:410 +msgid "Provider cannot be empty" +msgstr "" + +#: Auth/Rules/AbstractRule.php:77 +msgid "Table alias is empty, please define a table alias, we could not extract a default table from the request" +msgstr "" + +#: Auth/Rules/Owner.php:67;70 +msgid "Missing column {0} in table {1} while checking ownership permissions for user {2}" +msgstr "" + #: Controller/SocialAccountsController.php:52 msgid "Account validated successfully" msgstr "" @@ -30,8 +54,8 @@ msgstr "" msgid "Invalid token and/or social account" msgstr "" -#: Controller/SocialAccountsController.php:59 -msgid "SocialAccount already active" +#: Controller/SocialAccountsController.php:59;86 +msgid "Social Account already active" msgstr "" #: Controller/SocialAccountsController.php:61 @@ -50,208 +74,371 @@ msgstr "" msgid "Invalid account" msgstr "" -#: Controller/SocialAccountsController.php:86 -msgid "Social Account already active" -msgstr "" - #: Controller/SocialAccountsController.php:88 msgid "Email could not be resent" msgstr "" -#: Controller/Component/RememberMeComponent.php:70 +#: Controller/Component/RememberMeComponent.php:69 msgid "Invalid app salt, app salt must be at least 256 bits (32 bytes) long" msgstr "" -#: Controller/Component/UsersAuthComponent.php:156 +#: Controller/Component/UsersAuthComponent.php:157 msgid "You can't enable email validation workflow if use_email is false" msgstr "" -#: Controller/Traits/LoginTrait.php:55 -msgid "The social account is not active. Please check your email for instructions. {0}" +#: Controller/Traits/LoginTrait.php:95 +msgid "Issues trying to log in with your social account" msgstr "" -#: Controller/Traits/LoginTrait.php:58 +#: Controller/Traits/LoginTrait.php:100 #: Template/Users/social_email.ctp:16 msgid "Please enter your email" msgstr "" -#: Controller/Traits/LoginTrait.php:82 -msgid "Username or password is incorrect" +#: Controller/Traits/LoginTrait.php:106 +msgid "Your user has not been validated yet. Please check your inbox for instructions" msgstr "" -#: Controller/Traits/LoginTrait.php:93 -msgid "There was an error associating your social network account" +#: Controller/Traits/LoginTrait.php:108 +msgid "Your social account has not been validated yet. Please check your inbox for instructions" msgstr "" -#: Controller/Traits/LoginTrait.php:113 -msgid "You've successfully logged out" +#: Controller/Traits/LoginTrait.php:157 +#: Controller/Traits/RegisterTrait.php:73 +msgid "Invalid reCaptcha" msgstr "" -#: Controller/Traits/PasswordManagementTrait.php:53 -msgid "Password has been changed successfully" +#: Controller/Traits/LoginTrait.php:165 +msgid "You are already logged in" msgstr "" -#: Controller/Traits/PasswordManagementTrait.php:56;63 +#: Controller/Traits/LoginTrait.php:209 +msgid "Username or password is incorrect" +msgstr "" + +#: Controller/Traits/LoginTrait.php:230 +msgid "You've successfully logged out" +msgstr "" + +#: Controller/Traits/PasswordManagementTrait.php:53;60;68 msgid "Password could not be changed" msgstr "" -#: Controller/Traits/PasswordManagementTrait.php:59 -#: Controller/Traits/ProfileTrait.php:46 +#: Controller/Traits/PasswordManagementTrait.php:57 +msgid "Password has been changed successfully" +msgstr "" + +#: Controller/Traits/PasswordManagementTrait.php:64 +#: Controller/Traits/ProfileTrait.php:49 msgid "User was not found" msgstr "" -#: Controller/Traits/PasswordManagementTrait.php:61 +#: Controller/Traits/PasswordManagementTrait.php:66 msgid "The current password does not match" msgstr "" -#: Controller/Traits/PasswordManagementTrait.php:93 +#: Controller/Traits/PasswordManagementTrait.php:108 msgid "Please check your email to continue with password reset process" msgstr "" -#: Controller/Traits/PasswordManagementTrait.php:96 +#: Controller/Traits/PasswordManagementTrait.php:111 +#: Shell/UsersShell.php:266 msgid "The password token could not be generated. Please try again" msgstr "" -#: Controller/Traits/PasswordManagementTrait.php:101 -#: Controller/Traits/UserValidationTrait.php:94 +#: Controller/Traits/PasswordManagementTrait.php:116 +#: Controller/Traits/UserValidationTrait.php:98 msgid "User {0} was not found" msgstr "" -#: Controller/Traits/PasswordManagementTrait.php:103 -#: Controller/Traits/UserValidationTrait.php:90;98 +#: Controller/Traits/PasswordManagementTrait.php:118 +msgid "The user is not active" +msgstr "" + +#: Controller/Traits/PasswordManagementTrait.php:120 +#: Controller/Traits/UserValidationTrait.php:94;102 msgid "Token could not be reset" msgstr "" -#: Controller/Traits/RegisterTrait.php:66 +#: Controller/Traits/ProfileTrait.php:52 +msgid "Not authorized, please login first" +msgstr "" + +#: Controller/Traits/RegisterTrait.php:79 msgid "The user could not be saved" msgstr "" -#: Controller/Traits/RegisterTrait.php:82 +#: Controller/Traits/RegisterTrait.php:111 msgid "You have registered successfully, please log in" msgstr "" -#: Controller/Traits/RegisterTrait.php:84 +#: Controller/Traits/RegisterTrait.php:113 msgid "Please validate your account before log in" msgstr "" -#: Controller/Traits/SimpleCrudTrait.php:75;103 +#: Controller/Traits/SimpleCrudTrait.php:76;105 msgid "The {0} has been saved" msgstr "" -#: Controller/Traits/SimpleCrudTrait.php:78;106 +#: Controller/Traits/SimpleCrudTrait.php:79;108 msgid "The {0} could not be saved" msgstr "" -#: Controller/Traits/SimpleCrudTrait.php:125 +#: Controller/Traits/SimpleCrudTrait.php:128 msgid "The {0} has been deleted" msgstr "" -#: Controller/Traits/SimpleCrudTrait.php:127 +#: Controller/Traits/SimpleCrudTrait.php:130 msgid "The {0} could not be deleted" msgstr "" -#: Controller/Traits/UserValidationTrait.php:43 +#: Controller/Traits/SocialTrait.php:39 +msgid "The reCaptcha could not be validated" +msgstr "" + +#: Controller/Traits/UserValidationTrait.php:42 msgid "User account validated successfully" msgstr "" -#: Controller/Traits/UserValidationTrait.php:45 +#: Controller/Traits/UserValidationTrait.php:44 msgid "User account could not be validated" msgstr "" -#: Controller/Traits/UserValidationTrait.php:48 +#: Controller/Traits/UserValidationTrait.php:47 msgid "User already active" msgstr "" -#: Controller/Traits/UserValidationTrait.php:54 +#: Controller/Traits/UserValidationTrait.php:53 msgid "Reset password token was validated successfully" msgstr "" -#: Controller/Traits/UserValidationTrait.php:58 +#: Controller/Traits/UserValidationTrait.php:57 msgid "Reset password token could not be validated" msgstr "" -#: Controller/Traits/UserValidationTrait.php:65 -msgid "Invalid token and/or email" +#: Controller/Traits/UserValidationTrait.php:61 +msgid "Invalid validation type" msgstr "" -#: Controller/Traits/UserValidationTrait.php:67 -msgid "Token already expired" +#: Controller/Traits/UserValidationTrait.php:64 +msgid "Invalid token or user account already validated" msgstr "" -#: Controller/Traits/UserValidationTrait.php:69 -msgid "Invalid validation type" +#: Controller/Traits/UserValidationTrait.php:66 +msgid "Token already expired" msgstr "" -#: Controller/Traits/UserValidationTrait.php:88 +#: Controller/Traits/UserValidationTrait.php:92 msgid "Token has been reset successfully. Please check your email." msgstr "" -#: Controller/Traits/UserValidationTrait.php:96 +#: Controller/Traits/UserValidationTrait.php:100 msgid "User {0} is already active" msgstr "" -#: Model/Table/SocialAccountsTable.php:208 +#: Email/EmailSender.php:39 +msgid "Your account validation link" +msgstr "" + +#: Mailer/UsersMailer.php:55 +msgid "{0}Your reset password link" +msgstr "" + +#: Mailer/UsersMailer.php:78 msgid "{0}Your social account validation link" msgstr "" -#: Model/Table/SocialAccountsTable.php:235;263 +#: Model/Behavior/PasswordBehavior.php:56 +msgid "Reference cannot be null" +msgstr "" + +#: Model/Behavior/PasswordBehavior.php:61 +msgid "Token expiration cannot be empty" +msgstr "" + +#: Model/Behavior/PasswordBehavior.php:67;115 +msgid "User not found" +msgstr "" + +#: Model/Behavior/PasswordBehavior.php:71 +#: Model/Behavior/RegisterBehavior.php:110 +msgid "User account already validated" +msgstr "" + +#: Model/Behavior/PasswordBehavior.php:78 +msgid "User not active" +msgstr "" + +#: Model/Behavior/PasswordBehavior.php:120 +msgid "The old password does not match" +msgstr "" + +#: Model/Behavior/RegisterBehavior.php:88 +msgid "User not found for the given token and email." +msgstr "" + +#: Model/Behavior/RegisterBehavior.php:91 +msgid "Token has already expired user with no token" +msgstr "" + +#: Model/Behavior/SocialAccountBehavior.php:101;128 msgid "Account already validated" msgstr "" -#: Model/Table/SocialAccountsTable.php:238;266 +#: Model/Behavior/SocialAccountBehavior.php:104;131 msgid "Account not found for the given token and email." msgstr "" -#: Model/Table/UsersTable.php:84 +#: Model/Behavior/SocialBehavior.php:56 +msgid "Unable to login user with reference {0}" +msgstr "" + +#: Model/Behavior/SocialBehavior.php:97 +msgid "Email not present" +msgstr "" + +#: Model/Table/UsersTable.php:81 msgid "Your password does not match your confirm password. Please try again" msgstr "" -#: Model/Table/UsersTable.php:178 +#: Model/Table/UsersTable.php:159 msgid "Username already exists" msgstr "" -#: Model/Table/UsersTable.php:184 +#: Model/Table/UsersTable.php:165 msgid "Email already exists" msgstr "" -#: Model/Table/UsersTable.php:213 -msgid "The \"tos\" property is not present" +#: Shell/UsersShell.php:54 +msgid "Utilities for CakeDC Users Plugin" msgstr "" -#: Model/Table/UsersTable.php:271 -msgid "Token has already expired user with no token" +#: Shell/UsersShell.php:55 +msgid "Activate an specific user" msgstr "" -#: Model/Table/UsersTable.php:274 -msgid "User not found for the given token and email." +#: Shell/UsersShell.php:56 +msgid "Add a new superadmin user for testing purposes" msgstr "" -#: Model/Table/UsersTable.php:341 -msgid "User not found" +#: Shell/UsersShell.php:57 +msgid "Add a new user" msgstr "" -#: Model/Table/UsersTable.php:368 -msgid "+ {0} secs" +#: Shell/UsersShell.php:58 +msgid "Change the role for an specific user" msgstr "" -#: Model/Table/UsersTable.php:420 -msgid "Unable to login user with reference {0}" +#: Shell/UsersShell.php:59 +msgid "Deactivate an specific user" msgstr "" -#: Model/Table/UsersTable.php:453 -msgid "Email not present" +#: Shell/UsersShell.php:60 +msgid "Delete an specific user" msgstr "" -#: Model/Table/UsersTable.php:541 -msgid "Your account validation link" +#: Shell/UsersShell.php:61 +msgid "Reset the password via email" msgstr "" -#: Model/Table/UsersTable.php:561 -msgid "{0}Your reset password link" +#: Shell/UsersShell.php:62 +msgid "Reset the password for all users" msgstr "" -#: Model/Table/UsersTable.php:585 -msgid "The old password does not match" +#: Shell/UsersShell.php:63 +msgid "Reset the password for an specific user" +msgstr "" + +#: Shell/UsersShell.php:97 +msgid "User added:" +msgstr "" + +#: Shell/UsersShell.php:98;126 +msgid "Id: {0}" +msgstr "" + +#: Shell/UsersShell.php:99;127 +msgid "Username: {0}" +msgstr "" + +#: Shell/UsersShell.php:100;128 +msgid "Email: {0}" +msgstr "" + +#: Shell/UsersShell.php:101;129 +msgid "Password: {0}" +msgstr "" + +#: Shell/UsersShell.php:125 +msgid "Superuser added:" +msgstr "" + +#: Shell/UsersShell.php:131 +msgid "Superuser could not be added:" +msgstr "" + +#: Shell/UsersShell.php:134 +msgid "Field: {0} Error: {1}" +msgstr "" + +#: Shell/UsersShell.php:152;178 +msgid "Please enter a password." +msgstr "" + +#: Shell/UsersShell.php:156 +msgid "Password changed for all users" +msgstr "" + +#: Shell/UsersShell.php:157;185 +msgid "New password: {0}" +msgstr "" + +#: Shell/UsersShell.php:175;203;281;321 +msgid "Please enter a username." +msgstr "" + +#: Shell/UsersShell.php:184 +msgid "Password changed for user: {0}" +msgstr "" + +#: Shell/UsersShell.php:206 +msgid "Please enter a role." +msgstr "" + +#: Shell/UsersShell.php:212 +msgid "Role changed for user: {0}" +msgstr "" + +#: Shell/UsersShell.php:213 +msgid "New role: {0}" +msgstr "" + +#: Shell/UsersShell.php:228 +msgid "User was activated: {0}" +msgstr "" + +#: Shell/UsersShell.php:243 +msgid "User was de-activated: {0}" +msgstr "" + +#: Shell/UsersShell.php:255 +msgid "Please enter a username or email." +msgstr "" + +#: Shell/UsersShell.php:263 +msgid "Please ask the user to check the email to continue with password reset process" +msgstr "" + +#: Shell/UsersShell.php:300 +msgid "The user was not found." +msgstr "" + +#: Shell/UsersShell.php:329 +msgid "The user {0} was not deleted. Please try again" +msgstr "" + +#: Shell/UsersShell.php:331 +msgid "The user {0} was deleted successfully" msgstr "" #: Template/Email/html/reset_password.ctp:21 @@ -269,8 +456,7 @@ msgstr "" #: Template/Email/html/reset_password.ctp:27 #: Template/Email/html/social_account_validation.ctp:32 -#: Template/Email/html/validation.ctp:27 -msgid "If the link is not correctly displayed, please copy the following address in your web browser {0}" +msgid "If the link is not correcly displayed, please copy the following address in your web browser {0}" msgstr "" #: Template/Email/html/reset_password.ctp:30 @@ -290,6 +476,10 @@ msgstr "" msgid "Activate your account here" msgstr "" +#: Template/Email/html/validation.ctp:27 +msgid "If the link is not correctly displayed, please copy the following address in your web browser {0}" +msgstr "" + #: Template/Email/text/reset_password.ctp:22 #: Template/Email/text/validation.ctp:22 msgid "Please copy the following address in your web browser {0}" @@ -319,14 +509,14 @@ msgid "List Accounts" msgstr "" #: Template/Users/add.ctp:22 -#: Template/Users/register.ctp:15 +#: Template/Users/register.ctp:16 msgid "Add User" msgstr "" #: Template/Users/add.ctp:32 -#: Template/Users/change_password.ctp:13 +#: Template/Users/change_password.ctp:17 #: Template/Users/edit.ctp:42 -#: Template/Users/register.ctp:26 +#: Template/Users/register.ctp:32 #: Template/Users/request_reset_password.ctp:8 #: Template/Users/resend_token_validation.ctp:20 #: Template/Users/social_email.ctp:19 @@ -337,7 +527,7 @@ msgstr "" msgid "Please enter the new password" msgstr "" -#: Template/Users/change_password.ctp:7 +#: Template/Users/change_password.ctp:10 msgid "Current password" msgstr "" @@ -388,51 +578,56 @@ msgstr "" msgid "Please enter your username and password" msgstr "" -#: Template/Users/login.ctp:26 +#: Template/Users/login.ctp:29 msgid "Remember me" msgstr "" -#: Template/Users/login.ctp:49 +#: Template/Users/login.ctp:48 msgid "Login" msgstr "" #: Template/Users/profile.ctp:18 +#: View/Helper/UserHelper.php:51 msgid "{0} {1}" msgstr "" -#: Template/Users/profile.ctp:23 +#: Template/Users/profile.ctp:24 msgid "Change Password" msgstr "" -#: Template/Users/profile.ctp:26 +#: Template/Users/profile.ctp:27 #: Template/Users/view.ctp:28;68 msgid "Username" msgstr "" -#: Template/Users/profile.ctp:28 +#: Template/Users/profile.ctp:29 #: Template/Users/view.ctp:30 msgid "Email" msgstr "" -#: Template/Users/profile.ctp:33 +#: Template/Users/profile.ctp:34 msgid "Social Accounts" msgstr "" -#: Template/Users/profile.ctp:37 +#: Template/Users/profile.ctp:38 #: Template/Users/view.ctp:70 msgid "Avatar" msgstr "" -#: Template/Users/profile.ctp:38 +#: Template/Users/profile.ctp:39 #: Template/Users/view.ctp:67 msgid "Provider" msgstr "" -#: Template/Users/profile.ctp:39 +#: Template/Users/profile.ctp:40 msgid "Link" msgstr "" -#: Template/Users/register.ctp:23 +#: Template/Users/profile.ctp:47 +msgid "Link to {0}" +msgstr "" + +#: Template/Users/register.ctp:25 msgid "Accept TOS conditions?" msgstr "" @@ -516,19 +711,22 @@ msgstr "" msgid "Data" msgstr "" -#: View/Helper/UserHelper.php:43 -msgid "Sign in with Facebook" +#: View/Helper/UserHelper.php:49 +msgid "fa fa-{0}" msgstr "" -#: View/Helper/UserHelper.php:57 -msgid "Sign in with Twitter" +#: View/Helper/UserHelper.php:52 +msgid "btn btn-social btn-{0} " msgstr "" -#: View/Helper/UserHelper.php:71 +#: View/Helper/UserHelper.php:90 msgid "Logout" msgstr "" -#: View/Helper/UserHelper.php:109 +#: View/Helper/UserHelper.php:139 msgid "Welcome, {0}" msgstr "" +#: View/Helper/UserHelper.php:161 +msgid "reCaptcha is not configured! Please configure Users.reCaptcha.key" +msgstr "" From 3e6a968e9b1a509d7840dbc33c974da41b536927 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Teixeira?= Date: Tue, 19 Apr 2016 10:38:43 -0300 Subject: [PATCH 0047/1079] New pt_BR translations after plugin .pot file update --- src/Locale/pt_BR/pt_BR.mo | Bin 9535 -> 14231 bytes src/Locale/pt_BR/pt_BR.po | 497 ++++++++++++++++++++++++++++---------- 2 files changed, 371 insertions(+), 126 deletions(-) diff --git a/src/Locale/pt_BR/pt_BR.mo b/src/Locale/pt_BR/pt_BR.mo index e6fce0f98abef586b7228728a780b09638bc5cca..12049d19a9a0cf269b75d83cd67fdcd9665fb602 100644 GIT binary patch literal 14231 zcmb`N50G8eUB^!m3Zy{Fe-LRe0ZIbdO*RxrHiTr!A4v1J$tF;wz}@%m?%w3RcOUoO zw|{~NXwilOih>rX*nmKx;!LM9YOOlDRmZkdN1cM5>6EFhZJlv+nAUcxMg4rwIrqMI z-|n_W`zGgo-@WJG@BIFs-{vc49RHZ%^8)Q>X!R3}`5O4UOZeim_B3P80oQ@&gL}bu zfQP`<;8FklDey#|zXWRBSHYhK{|kI4c+OH|_-C%>>#g86@FZ{-I0zmD8EWnaPX-?a z-vvGeYW!b<{4<~T_+{`Cp8plpzNf$482*{_`8poF9J~Nr1#12d@NM8e@LcdVP~)aR z?ROW*(artfS>T62o#UgR#(xSt9sGNbU-$373yM{z(Rns_KB(tap!OXGj{`?Q(YXb@ z1KbIQ;7g#+we$@7z;}YYGIj7`a0*-nJ^_l3&w{JLe*#7KnP<9lTnOrX%fM5?K~QvD z3+h}qfTCv?_+D@nya9X;lpOxe 9<00@uo{xg>0-pyp z?+f5=@XO#v@Cul76L=V02hM@#fp35eG3TIU7lBuRdcO #NBf=$YTPB@BzQe2`aTXyzAuBak1v7i!S938 z>#NvI`g;q=5zQ0`Y33nN`#lSaAD;t7=YN9yGv_i163iM<^LBue{}?E_OoFi7Oo1Br zAQ*tpf-Awl0@s7z2F2G^EG|0Nf|_?LDE_3N^x_Fn`tUTUaewadpF#2aWDbu?nX^Ih zX9XxbUk46=H-b9X6e#*122pMEf`9%rsB^puT0I3d{(GSGWhtBMTtlFqH-fV35IhAO z2Vtqnz)j#opyd4pkbmaC`GQn)AwrP-4TCp>_khyhe+0GPWr361Mo{Z-2Sv|ra0I*w z6h9sZVVyY!${zj%yyq>(d>z!e>KKu58r1#|fa|~)K+*X%Q0u(m`%i$WvX4tZ>BTxw z^KSzs*E{|5G^lkR0L918fYP(qz)Qh@0i~BqSwwO<$Kx_k@*D)!f6%{wKdAL%P<%~5 z(e(%@y?z{oHReT7^F9kozJCX5-d92K|C^x3eFsEj<}8Sjyw-p^? PYW^oc(eq~>{}w!n=hwhB z;I}~8+XXli@%Khh`fvyoUyg#>?-?)#e-GRTo`=)B13U~4gP#X=o)d9q(&J0P)!_9Y zq?rs9|DOb OU(W{`&`|se@;ORIq+4qg0 bmEQkr2Z~FcvFh%_ A6#xDP)PCOpWoKr{ z$?;6^1RgI2rJpOn)4=P%0Ne#43ey6$@8jV0;HN>+`9B~gXih@-=YcE1cY|9&t#bs_ zIgWx_=VPGw@eiQ(`#yLEcp6N8J9rVOb=H8Qe+MZ4{6YWzDNyVEfyY-s(e)po=AXyr zlE(@VRWu`@<{tvJ@4es>@Hy~w@Drf;HwV5Kd<~S`hfpT*^AH$-4}k9hKMqFVcfk<6 z6=6%xe+r%qei0O3Ui0`Za3{~NgVL|-u5om11I3R9_!dx~TOC;al&${)O*BK2{oKd5 zbmc+XbF?RDn`phCbNs_JC_eoL?G)N}+ATEco<5laa}W3=?OFePuSfA>FYR||H_%WU z^Xs$&G<_bRiQlq?kJ9wfdBjUhz~)2^P`nzY6`$YY$8Q%8;KMXnV13>}a05;Hs?UdL zchVlC-9|f1JAw8-8fIeS0bmk+@sZs0IYPq?*pGb0qqGif8}0qH57MNwAD~I5zev;P zItS({kFuAa^1mfJL~d@RJ>%c~vd0# XH3HCQtF@21~=1WPqOV@G<~GMzeJ1mz(;nphc-f+r2Ps_pCz=PrJbt>K94&v zId~UMdVZAFrfsDuUdRW^&Ue!EnV?Cp^*KZvqixXxpEGG6v%k7u5ApME+IreP|9aMA z4ctw;!#{r*#C*-q)9U_R0B-cZFY DDC#lCY>}0J>ip48ufK$Ni7Z=K_i)nTS0F>M-H~I zwi^%B>%jrLG(W 9J83(~qRh^7!yRGmI2hG&%}5#r zP{%6%$8-p9^CYN8jfgW{9Ne|~ZkWyi!_;h^3|kXXus6)I=_IWe&+Wcv@ia{uk)>rG zS2iOziEDEwO(QldXLHcdY>7hnx-dVtSeh7ONwa+LzvpeT6@4-Ka_rhFi5mM|Do!*L zXL;sdR&*wfG6-9!r{}%Ys9hO}Hi^5fuo?Ne8eUZzOTw_2YPQ8uqi%l&Thla2`8lMw zX_g1OwZ@IH9k;!1w!3j=`?%HDM%+3a#F {uM0j`K;!=Dv-0>M&Ns zJCUT(m!?SoJJHF&ySU6fNzeHy-=OcLlbc;}mT9kA(i>nyCHqa15J6iGu0Lm|wNY zsCHPxlIa#pOvdd1SJBj5JgGHK>1%M;n!9^eY>megoivnh3&vSyI9P`J<>e~28Ej9s zmknZ5TDBgIhn)si&|TE*O6vGOta~@E$y%s>6ejKzUvK0dx=%X!ZtN-SdY Bgi63G@8;*mR%Q;LEgf&7QuNTRS}_IkUO+??Y4-{!wLyN9~c MX&JHTh`tWVLZPu>b9Fa+M!Vi( z? a!eBvv z-L5fj>@ =_aGzfct hE2IZ`Cz2v%fReBrn;o zl+8K|;&D_T?s-vJ$oGy~zmEK1IJ8@}D1$ssIBpRmz4y1HRtD3G{zVoX&EzR$Gp6v^ zE>euANz-~Maf6J}jN(?U j&kCIaWrjiiW;?~8LhN}eIFOvkQiHRjT$Ih zWUP8n?aT5Ya!TS7EH5zyNA9(U$GI&9@wim`b~gY5$HPVz*##!?FnFg4QgtG8)kl nwRx^{y_bu!(uvEE!qaRo9c+9ehSt=(w{e z-K_}uU2UC>@^XP5!;D*F$&BTG+{*H_ {e=Rqbw*uOLCsjYCU1mIl z^ZIF8#4*E-dn!&kndwFcZ~N|&LK&leQ4vqdS59FD%Q=IGqgkWnb>jx@S)7|H`E5l| z^z|{YUs5D*hoV|Ou)RKT5Y0r7hAXPNWbdBQ0bBQ=Yd{5^;b6_`p{oa0zk6V4T`;tI zc<7pe)mN@w&A@?uoKQ sj zkYRMoNoXTc7?Pd#yyRN!5>vN-p^O@&nwbb9YEL=x>^zpN$2F8loBADlUp0xSQ%Tvy z)@2c~9ilztl*)mSD?U!;!*a2{nTF&!u*rcLjhaC%O7rMQ7?4jgJ&O*BII4A!QLQBI z>PTALOsLh&|IPJFDLe!$#<9(59M%)FUkh;fPS}7I^(3P>m|0#d&g?CYAXi50<&W=J zbWfEN!_-z4d#7#fsV%~SPL`NGPBHp4Eydk(dx7kQ`-@(?Ahi%x4~t47ajQjqvn(m( z>Bjk4R_h2e)DaR_eRT12bJ%Pr_NT2f@(Y)@o2AU22F4-B+EZZM&t*H1=X0d1j68*n z=mv?#&ctIeXajZ5#T@d8cZB8fa4Jbx($S8!0HX `$cAfH;|I3 zFv(h$dRLh2u>m|p;i6JmAfpI}*ve)Klr6hJq0gv*uBuclY^4$^Q84| qXrfd%M=$#)7eu9>!Z` z=!#3GhN{I4M~qa15+`zm#jc`h z$S6vCaTI$~m5h66elr{NO^x|urViU_dd;GI*=2jT7q+5ii*@#g1Gx*!*&lbpg5$`J zN`>!Ig(q_)m-6ZMt(@QK^r4VD;RB}56MFBG^Uku6l7x6~-glEEe807vQeLi#8WCQI zu&5w~Ao$v!?j4B}d^D-(+>0#=3Z#X$Ea0B{MpIt(iJ@wSjnJl4vc{d%S5q9^J{Qw{ zfm-gU$1g*LOB8usaHDDkecSmIvWORpPb&uE{7Ng{=j}{h-f~;i IzS@P@st~TrTK7t43%7+MQ2eO6DV1Qkso0`ps(ixPUlBkYgW3p=iv&TJNHwx| z`=C$Hy)h~xT8k}{df(A6Y(@Mcx5wM6f)w*NU*%zGQFiqSdFYeedNPdQY(`uV-Y2H& zNc1v956iGd(qwNP=vgHQcz(fbKLhF5K)90SKS_ TuK(pWhatZ-tt>9AYQrfON6|31P09VohS(-Zy{q}Zwdj?km1ZjCA*ClrGc ziUVCYrQCwQvfwOi9>@yi?YfU!g|0GW5q^?zO(`j^b~`>w%JciilbEzm5yukNI~Qk5 zu_8wKb?>n0YH1=pTWFX)WbfD?al=d3h{0fq?m)#j*M+@`JUp8{+Oywsc!uF{`Ci zSD3XI2j@_#;wgNK)d4rwyBWXCJc%5^@7Y~ZGz!KxUn#kt5h3k15bCxQsohO_oKA&d z3xx4OcR}SwZfxFKGAU;d?7N9^7L{Ghv^oYSQRL6tTeYwq9+5}udi$=v$P3CUN~iAc zH5y+W%R7*sHw#w>dIwb5>=n7F6!Z=(x_Ve+4iq>2UUyNxEIe4!9Y=w|DtkG`Zr@e& z?#R9lyX%iCQk1J|69n$^z49%$^-4#Nso3450zIVkbW5f>%_8<%io9 3>0P ziSU$ oli`>O);0?sZ**qn-PIJ?T-MB0pj%;9b=#Gg-HNWhoF*OJ z7^L6+ZeIy0m3xIJ1wrB$xqfx0mT7*+-R;p_r?B2j__7o6u*e+jd3u6JsbO5T(x!7# z72EF*2U<$*nFZb7Q7H{#>ZK|b22)w2$AM^i7|+<+7Li6*ASXOmgNAUG)%J4(>6B)+ z;11QO^`>`NxGYUodcaqu+v(gVXX0jJ_ h52LM0jn5hau;DFo7}A5w^{R7qPUUlLW7C`pi-woxEoTD9u^|Ll$_Rge7c z@6337F7J6~eLB3>K6tYz?|DNzPRt^1+-J;rJUf;TT1|m5{FqukO0fl}<7S+V9ya1r z@%5XiKm7=2;0>IEf5FK(ZGtgluo}l1Gid7RjOWG@oR4ks1Kp@U2xA9P13!mT@HFP( z1=N7AAwTA7eE&LX+;=e_Kg1IJ7`1^fa2oTQyotsXa${C(Jx=3#HL_^44>dsoN8?d+ zu@|+#4{;rSg4*%iNyb#+D%3a$)IuIdEqDm|G0*T(!2IS69j)*@YN8+E2E2r%$ow^S z)cv^(6ks{`i%=PB#8tQ#_u^?>hF_tct7Vm1$Of#(Ls*U9!NCXU{Dh7s`V6(wFHkA| z6Otv9&xHmk#06N34Y(W2a0sX33#b%dMNRxZ&coj$LzzjWSv6LU+UW8^@~;WoxKV+d zQK{=i70oGJftPU`-o}~OT9g}TKPu(@sD+$D73oD>j_;r{`wt|EW^{3Gp;J)L&o3tb zb#zv7LlY%YnYe&T(PdQ8{RXwL&tmi0CS6mDWZAUhLfnGPWxj!0*t4hwT|kX{4VB6F zP#gYqkdBICH2I@`%vfBFC74Yy>NOierS2tEvAu)(yD^NefhV9AT7t^ZEL3eQ#lcaW zIclMwFuN9bCw6cYdC&wUsG?~`y&k=&0l$T;(L9H9@g>v%@1s(CBfh?cI?6wz&ivn~ zGoHs_s-e2rrKtPsa@T`qGaU`I7d7EQq+X1Ndaxf=JWrsWdlr=`i>i?qQN?y0b;dW5 zAM<7G7|ubNa!{F?hkA|c(bN0iL`M^x#zXiDYQVANQ9GW8x^749up2dCgqm;wwcsJt z_r>>7J3fah+SlUy|3p1Mj&syPN^v&xn>lo};)iet?!(9MRa}k}nO!^GfQ(^|;9`6d zRU71t)P>CwidQ@iDAdi@KT#DT|*i7df9aZJWsD<1{j?au`R_ew$s54!H zDx!n&{Uqv$o ?P)G82 zti=huD?0ndsA61!TF7>E@DNtwNnC^HQ49JUTktE?^K*GfUwF-^4Lw>pn49n^ZfM7+ zaV1_t?cjFoL|%TnW&!G~J5U)rgf%#TI{O!q? 7#@)u!}fC+(+n0?rlolQDO^`AeIqoN_i*IMyw%J?Rrzx@(304 z!^B1+*O)(|cZ|po^ND?g+Cw?A|5{ZGYJ4@^ZJdmGkWis=I;NLsB-Hd8H)MOp96+BK zA787$)m9Vrx&7z9)2q3m*JCuHc8FL(gu0+nOLyBMdQ0M~;@CM@NVvpf#7NT{Hqz?o z93(2^8yoaRp#sx;+DGWCRbM))@&ZDwj8KvG=z^wqeychQoW~oVa8h0(WtZOnhRvJ2 z(>_0WpDmg)XHwEjduE*{oZU8>a@IB!mfF_~e^!(Zd%VDLgRX`!a=c#GPufh;!rA?9 z((iK9ei%6E6Mdf9;-=D0hucff4|?pv;wF2kc$Xb2X}5J#Z`xGp)$u#L!(QYC3D0&; zJJWh1%tTI~n@SCYQJ2%rZ_G~rNZ|N^GvKGYorm3o*BORA|9f{Aze{_OeXDFwewgsx zq`g*F)|Bb&_0wiow;S|0j7!gRD$`-A(&>xBJ}*k2aQu`LglVq5lozD!)#*c EF$cd*7yfi!S8JXU?Gu!R2W+rVktJQumt8Gj&^4zWy zwyC_szEM7C-Pxt~)a*Nx0`GX*u#0{_%%toY=iB*>OP4nsFj{ ob`VHUQ z-Nq8`8Tg*Zvg1=n)WBi4pHG(TANG%BJa#jZv_3a-<8m5)W%x}mE~oL0mG+m7` mq?9 \n" "Language-Team: CakeDC \n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 1.8.7\n" -"Last-Translator: André Teixeira \n" -"Language: pt_BR\n" -#: Auth/SimpleRbacAuthorize.php:132 +#: Auth/ApiKeyAuthenticate.php:55 +msgid "Type {0} is not valid" +msgstr "Tipo {0} não é válido" + +#: Auth/ApiKeyAuthenticate.php:59 +msgid "Type {0} has no associated callable" +msgstr "Tipo {0} não tem chamada associada" + +#: Auth/ApiKeyAuthenticate.php:68 +msgid "SSL is required for ApiKey Authentication" +msgstr "SSL é requerido para autenticação por chave da API." + +#: Auth/SimpleRbacAuthorize.php:141 msgid "" "Missing configuration file: \"config/{0}.php\". Using default permissions" msgstr "" "Arquivo de configuração ausente: \"config/{0}.php\". Usando permissões padrão" +#: Auth/SocialAuthenticate.php:410 +msgid "Provider cannot be empty" +msgstr "O provedor não pode ser vazio" + +#: Auth/Rules/AbstractRule.php:77 +msgid "" +"Table alias is empty, please define a table alias, we could not extract a " +"default table from the request" +msgstr "" +"O alias da tabela está vazio, por favor, defina um alias de tabela, nós não " +"pudemos extrair uma tabela padrão da requisição" + +#: Auth/Rules/Owner.php:67;70 +msgid "" +"Missing column {0} in table {1} while checking ownership permissions for " +"user {2}" +msgstr "" +"Coluna {0} ausente na tabela {1} ao verificar permissões de propriedade do " +"usuário {2}" + #: Controller/SocialAccountsController.php:52 msgid "Account validated successfully" msgstr "Conta validada com êxito" @@ -33,8 +65,8 @@ msgstr "A conta não pode ser validada" msgid "Invalid token and/or social account" msgstr "Token e/ou conta social inválido(s)" -#: Controller/SocialAccountsController.php:59 -msgid "SocialAccount already active" +#: Controller/SocialAccountsController.php:59;86 +msgid "Social Account already active" msgstr "Conta social já ativa" #: Controller/SocialAccountsController.php:61 @@ -53,218 +85,387 @@ msgstr "O email não pode ser enviado" msgid "Invalid account" msgstr "Conta inválida" -#: Controller/SocialAccountsController.php:86 -msgid "Social Account already active" -msgstr "Conta social já ativa" - #: Controller/SocialAccountsController.php:88 msgid "Email could not be resent" msgstr "O email não pode ser reenviado" -#: Controller/Component/RememberMeComponent.php:70 +#: Controller/Component/RememberMeComponent.php:69 msgid "Invalid app salt, app salt must be at least 256 bits (32 bytes) long" msgstr "" "Salt da aplicação inválido, o salt da aplicação deve ser de pelo menos 256 " "bits (32 bytes)" -#: Controller/Component/UsersAuthComponent.php:156 +#: Controller/Component/UsersAuthComponent.php:157 msgid "You can't enable email validation workflow if use_email is false" msgstr "" "Você não pode habilitar o fluxo de validação por email se use_email for false" -#: Controller/Traits/LoginTrait.php:55 -msgid "" -"The social account is not active. Please check your email for instructions. " -"{0}" -msgstr "" -"A conta social não está ativa. Por favor verifique seu email para " -"instruções. {0}" +#: Controller/Traits/LoginTrait.php:95 +msgid "Issues trying to log in with your social account" +msgstr "Problemas ao tentar autenticar a partir da sua conta social" -#: Controller/Traits/LoginTrait.php:58 Template/Users/social_email.ctp:16 +#: Controller/Traits/LoginTrait.php:100 Template/Users/social_email.ctp:16 msgid "Please enter your email" msgstr "Por favor indique seu email" -#: Controller/Traits/LoginTrait.php:82 +#: Controller/Traits/LoginTrait.php:106 +msgid "" +"Your user has not been validated yet. Please check your inbox for " +"instructions" +msgstr "" +"Seu usuário ainda não foi validado. Por favor, verifique sua caixa de " +"entrada para instruções" + +#: Controller/Traits/LoginTrait.php:108 +msgid "" +"Your social account has not been validated yet. Please check your inbox for " +"instructions" +msgstr "" +"Sua conta social ainda não foi validada. Por favor, verifique sua caixa de " +"entrada para instruções" + +#: Controller/Traits/LoginTrait.php:157 Controller/Traits/RegisterTrait.php:73 +msgid "Invalid reCaptcha" +msgstr "ReCaptcha inválido" + +#: Controller/Traits/LoginTrait.php:165 +msgid "You are already logged in" +msgstr "Você já está autenticado" + +#: Controller/Traits/LoginTrait.php:209 msgid "Username or password is incorrect" msgstr "Nome de usuário e/ou senha incorreto(s)" -#: Controller/Traits/LoginTrait.php:93 -msgid "There was an error associating your social network account" -msgstr "Houve um erro associando sua conta social" - -#: Controller/Traits/LoginTrait.php:113 +#: Controller/Traits/LoginTrait.php:230 msgid "You've successfully logged out" msgstr "Você desconectou-se com êxito" -#: Controller/Traits/PasswordManagementTrait.php:53 -msgid "Password has been changed successfully" -msgstr "Senha alterada com êxito" - -#: Controller/Traits/PasswordManagementTrait.php:56;63 +#: Controller/Traits/PasswordManagementTrait.php:53;60;68 msgid "Password could not be changed" msgstr "A senha não pode ser alterada" -#: Controller/Traits/PasswordManagementTrait.php:59 -#: Controller/Traits/ProfileTrait.php:46 +#: Controller/Traits/PasswordManagementTrait.php:57 +msgid "Password has been changed successfully" +msgstr "Senha alterada com êxito" + +#: Controller/Traits/PasswordManagementTrait.php:64 +#: Controller/Traits/ProfileTrait.php:49 msgid "User was not found" msgstr "O usuário não foi encontrado" -#: Controller/Traits/PasswordManagementTrait.php:61 +#: Controller/Traits/PasswordManagementTrait.php:66 msgid "The current password does not match" msgstr "A senha atual não corresponde" -#: Controller/Traits/PasswordManagementTrait.php:93 +#: Controller/Traits/PasswordManagementTrait.php:108 msgid "Please check your email to continue with password reset process" msgstr "" "Por favor, verifique seu email para continuar o processo de redefinição de " "senha" -#: Controller/Traits/PasswordManagementTrait.php:96 +#: Controller/Traits/PasswordManagementTrait.php:111 Shell/UsersShell.php:266 msgid "The password token could not be generated. Please try again" msgstr "O token de senha não pode ser gerado. Por favor, tente novamente" -#: Controller/Traits/PasswordManagementTrait.php:101 -#: Controller/Traits/UserValidationTrait.php:94 +#: Controller/Traits/PasswordManagementTrait.php:116 +#: Controller/Traits/UserValidationTrait.php:98 msgid "User {0} was not found" msgstr "O usuário {0} não foi encontrado" -#: Controller/Traits/PasswordManagementTrait.php:103 -#: Controller/Traits/UserValidationTrait.php:90;98 +#: Controller/Traits/PasswordManagementTrait.php:118 +msgid "The user is not active" +msgstr "O usuário não está ativo" + +#: Controller/Traits/PasswordManagementTrait.php:120 +#: Controller/Traits/UserValidationTrait.php:94;102 msgid "Token could not be reset" msgstr "O token não pode ser redefinido" -#: Controller/Traits/RegisterTrait.php:66 +#: Controller/Traits/ProfileTrait.php:52 +msgid "Not authorized, please login first" +msgstr "Não autorizado, por favor, autentique-se primeiro" + +#: Controller/Traits/RegisterTrait.php:79 msgid "The user could not be saved" msgstr "O usuário não pode ser salvo" -#: Controller/Traits/RegisterTrait.php:82 +#: Controller/Traits/RegisterTrait.php:111 msgid "You have registered successfully, please log in" msgstr "Você registrou-se com sucesso, por favor, autentique-se" -#: Controller/Traits/RegisterTrait.php:84 +#: Controller/Traits/RegisterTrait.php:113 msgid "Please validate your account before log in" msgstr "Por favor, valide sua conta antes de autenticar" -#: Controller/Traits/SimpleCrudTrait.php:75;103 +#: Controller/Traits/SimpleCrudTrait.php:76;105 msgid "The {0} has been saved" msgstr "O {0} foi salvo" -#: Controller/Traits/SimpleCrudTrait.php:78;106 +#: Controller/Traits/SimpleCrudTrait.php:79;108 msgid "The {0} could not be saved" msgstr "O {0} não pode ser salvo" -#: Controller/Traits/SimpleCrudTrait.php:125 +#: Controller/Traits/SimpleCrudTrait.php:128 msgid "The {0} has been deleted" msgstr "O {0} foi deletado" -#: Controller/Traits/SimpleCrudTrait.php:127 +#: Controller/Traits/SimpleCrudTrait.php:130 msgid "The {0} could not be deleted" msgstr "O {0} não pode ser deletado" -#: Controller/Traits/UserValidationTrait.php:43 +#: Controller/Traits/SocialTrait.php:39 +msgid "The reCaptcha could not be validated" +msgstr "O reCaptcha não pode ser validado" + +#: Controller/Traits/UserValidationTrait.php:42 msgid "User account validated successfully" msgstr "Conta de usuário validada com êxito" -#: Controller/Traits/UserValidationTrait.php:45 +#: Controller/Traits/UserValidationTrait.php:44 msgid "User account could not be validated" msgstr "A conta de usuário não pode ser validada" -#: Controller/Traits/UserValidationTrait.php:48 +#: Controller/Traits/UserValidationTrait.php:47 msgid "User already active" msgstr "Usuário já ativo" -#: Controller/Traits/UserValidationTrait.php:54 +#: Controller/Traits/UserValidationTrait.php:53 msgid "Reset password token was validated successfully" msgstr "Token de redefinição de senha validado com êxito" -#: Controller/Traits/UserValidationTrait.php:58 +#: Controller/Traits/UserValidationTrait.php:57 msgid "Reset password token could not be validated" msgstr "O token de redefinição de senha não pode ser validado" -#: Controller/Traits/UserValidationTrait.php:65 -msgid "Invalid token and/or email" -msgstr "Token e/ou email inválido(s)" +#: Controller/Traits/UserValidationTrait.php:61 +msgid "Invalid validation type" +msgstr "Tipo de validação inválido" + +#: Controller/Traits/UserValidationTrait.php:64 +msgid "Invalid token or user account already validated" +msgstr "Token inválido ou conta já validada" -#: Controller/Traits/UserValidationTrait.php:67 +#: Controller/Traits/UserValidationTrait.php:66 msgid "Token already expired" msgstr "Token expirado" -#: Controller/Traits/UserValidationTrait.php:69 -msgid "Invalid validation type" -msgstr "Tipo de validação inválido" - -#: Controller/Traits/UserValidationTrait.php:88 +#: Controller/Traits/UserValidationTrait.php:92 msgid "Token has been reset successfully. Please check your email." msgstr "O token foi redefinido com êxito. Por favor, verifique seu email." -#: Controller/Traits/UserValidationTrait.php:96 +#: Controller/Traits/UserValidationTrait.php:100 msgid "User {0} is already active" msgstr "O usuário {0} já está ativo" -#: Model/Table/SocialAccountsTable.php:208 +#: Email/EmailSender.php:39 +msgid "Your account validation link" +msgstr "Seu link de validação da conta" + +#: Mailer/UsersMailer.php:55 +msgid "{0}Your reset password link" +msgstr "{0}Seu link de redefinição de senha" + +#: Mailer/UsersMailer.php:78 msgid "{0}Your social account validation link" msgstr "{0}Seu link de validação da conta social" -#: Model/Table/SocialAccountsTable.php:235;263 +#: Model/Behavior/PasswordBehavior.php:56 +msgid "Reference cannot be null" +msgstr "A referência não pode ser nula" + +#: Model/Behavior/PasswordBehavior.php:61 +msgid "Token expiration cannot be empty" +msgstr "A expiração do token não pode ser vazia" + +#: Model/Behavior/PasswordBehavior.php:67;115 +msgid "User not found" +msgstr "Usuário não encontrado" + +#: Model/Behavior/PasswordBehavior.php:71 +#: Model/Behavior/RegisterBehavior.php:110 +msgid "User account already validated" +msgstr "Conta de usuário já validada" + +#: Model/Behavior/PasswordBehavior.php:78 +msgid "User not active" +msgstr "Usuário inativo" + +#: Model/Behavior/PasswordBehavior.php:120 +msgid "The old password does not match" +msgstr "A senha antiga não confere" + +#: Model/Behavior/RegisterBehavior.php:88 +msgid "User not found for the given token and email." +msgstr "Usuário não encontrado com a combinação de token e email" + +#: Model/Behavior/RegisterBehavior.php:91 +msgid "Token has already expired user with no token" +msgstr "Token expirado, usuário sem token" + +#: Model/Behavior/SocialAccountBehavior.php:101;128 msgid "Account already validated" msgstr "Conta já validada" -#: Model/Table/SocialAccountsTable.php:238;266 +#: Model/Behavior/SocialAccountBehavior.php:104;131 msgid "Account not found for the given token and email." msgstr "Conta não encontrada com a combinação de token e email" -#: Model/Table/UsersTable.php:84 +#: Model/Behavior/SocialBehavior.php:56 +msgid "Unable to login user with reference {0}" +msgstr "Incapaz de autenticar usuário com a referência {0}" + +#: Model/Behavior/SocialBehavior.php:97 +msgid "Email not present" +msgstr "Email ausente" + +#: Model/Table/UsersTable.php:81 msgid "Your password does not match your confirm password. Please try again" msgstr "" "Sua senha não corresponde com a confirmação. Por favor, tente novamente" -#: Model/Table/UsersTable.php:178 +#: Model/Table/UsersTable.php:159 msgid "Username already exists" msgstr "Nome de usuário em uso" -#: Model/Table/UsersTable.php:184 +#: Model/Table/UsersTable.php:165 msgid "Email already exists" msgstr "Email em uso" -#: Model/Table/UsersTable.php:213 -msgid "The \"tos\" property is not present" -msgstr "A propriedade “tos” não está presente" +#: Shell/UsersShell.php:54 +msgid "Utilities for CakeDC Users Plugin" +msgstr "Utilitários para CakeDC Users Plugin" -#: Model/Table/UsersTable.php:271 -msgid "Token has already expired user with no token" -msgstr "Token expirado, usuário sem token" +#: Shell/UsersShell.php:55 +msgid "Activate an specific user" +msgstr "Ativar um usuário específico" -#: Model/Table/UsersTable.php:274 -msgid "User not found for the given token and email." -msgstr "Usuário não encontrado com a combinação de token e email" +#: Shell/UsersShell.php:56 +msgid "Add a new superadmin user for testing purposes" +msgstr "Adicionar um novo usuário superadmin para fins de testes" -#: Model/Table/UsersTable.php:341 -msgid "User not found" -msgstr "Usuário não encontrado" +#: Shell/UsersShell.php:57 +msgid "Add a new user" +msgstr "Adicionar um novo usuário" -#: Model/Table/UsersTable.php:368 -msgid "+ {0} secs" -msgstr "+ {0} segundos" +#: Shell/UsersShell.php:58 +msgid "Change the role for an specific user" +msgstr "Mudar o role de um usuário específico" -#: Model/Table/UsersTable.php:420 -msgid "Unable to login user with reference {0}" -msgstr "Incapaz de autenticar usuário com a referência {0}" +#: Shell/UsersShell.php:59 +msgid "Deactivate an specific user" +msgstr "Desativar um usuário específico" -#: Model/Table/UsersTable.php:453 -msgid "Email not present" -msgstr "Email ausente" +#: Shell/UsersShell.php:60 +msgid "Delete an specific user" +msgstr "Deletar um usuário específico" -#: Model/Table/UsersTable.php:541 -msgid "Your account validation link" -msgstr "Seu link de validação da conta" +#: Shell/UsersShell.php:61 +msgid "Reset the password via email" +msgstr "Redefinir a senha via email" -#: Model/Table/UsersTable.php:561 -msgid "{0}Your reset password link" -msgstr "{0}Seu link de redefinição de senha" +#: Shell/UsersShell.php:62 +msgid "Reset the password for all users" +msgstr "Redefinir a senha de todos usuários" -#: Model/Table/UsersTable.php:585 -msgid "The old password does not match" -msgstr "A senha antiga não confere" +#: Shell/UsersShell.php:63 +msgid "Reset the password for an specific user" +msgstr "Redefinir a senha de um usuário específico" + +#: Shell/UsersShell.php:97 +msgid "User added:" +msgstr "Usuário adicionado:" + +#: Shell/UsersShell.php:98;126 +msgid "Id: {0}" +msgstr "Id: {0}" + +#: Shell/UsersShell.php:99;127 +msgid "Username: {0}" +msgstr "Nome de usuário: {0}" + +#: Shell/UsersShell.php:100;128 +msgid "Email: {0}" +msgstr "Email: {0}" + +#: Shell/UsersShell.php:101;129 +msgid "Password: {0}" +msgstr "Senha: {0}" + +#: Shell/UsersShell.php:125 +msgid "Superuser added:" +msgstr "Superusuário adicionado:" + +#: Shell/UsersShell.php:131 +msgid "Superuser could not be added:" +msgstr "O superusuário não pode ser adicionado:" + +#: Shell/UsersShell.php:134 +msgid "Field: {0} Error: {1}" +msgstr "Campo: {0} Erro: {1}" + +#: Shell/UsersShell.php:152;178 +msgid "Please enter a password." +msgstr "Por favor, indique uma senha." + +#: Shell/UsersShell.php:156 +msgid "Password changed for all users" +msgstr "As senhas de todos usuários foram alteradas" + +#: Shell/UsersShell.php:157;185 +msgid "New password: {0}" +msgstr "Nova senha: {0}" + +#: Shell/UsersShell.php:175;203;281;321 +msgid "Please enter a username." +msgstr "Por favor, indique um nome de usuário." + +#: Shell/UsersShell.php:184 +msgid "Password changed for user: {0}" +msgstr "Senha alterada para usuário: {0}" + +#: Shell/UsersShell.php:206 +msgid "Please enter a role." +msgstr "Por favor, indique um papel." + +#: Shell/UsersShell.php:212 +msgid "Role changed for user: {0}" +msgstr "Papel alterado para usuário: {0}" + +#: Shell/UsersShell.php:213 +msgid "New role: {0}" +msgstr "Novo papel: {0}" + +#: Shell/UsersShell.php:228 +msgid "User was activated: {0}" +msgstr "Usuário ativado: {0}" + +#: Shell/UsersShell.php:243 +msgid "User was de-activated: {0}" +msgstr "Usuário desativado: {0}" + +#: Shell/UsersShell.php:255 +msgid "Please enter a username or email." +msgstr "Por favor, indique um nome de usuário ou senha." + +#: Shell/UsersShell.php:263 +msgid "" +"Please ask the user to check the email to continue with password reset " +"process" +msgstr "" +"Por favor, peça ao usuário para verificar seu email para continuar o " +"processo de redefinição de senha" + +#: Shell/UsersShell.php:300 +msgid "The user was not found." +msgstr "O usuário não foi encontrado." + +#: Shell/UsersShell.php:329 +msgid "The user {0} was not deleted. Please try again" +msgstr "O usuário {0} não foi deletado. Por favor, tente novamente" + +#: Shell/UsersShell.php:331 +msgid "The user {0} was deleted successfully" +msgstr "O usuário {0} foi deletado com êxito" #: Template/Email/html/reset_password.ctp:21 #: Template/Email/html/social_account_validation.ctp:14 @@ -281,13 +482,12 @@ msgstr "Redefina sua senha aqui" #: Template/Email/html/reset_password.ctp:27 #: Template/Email/html/social_account_validation.ctp:32 -#: Template/Email/html/validation.ctp:27 msgid "" -"If the link is not correctly displayed, please copy the following address in " +"If the link is not correcly displayed, please copy the following address in " "your web browser {0}" msgstr "" -"Se o link não está exibido corretamente, por favor, copie o seguinte " -"endereço em seu navegador {0}" +"Se o link não estiver sendo exibido corretamente, por favor, copie o " +"endereço a seguir no seu navegador {0}" #: Template/Email/html/reset_password.ctp:30 #: Template/Email/html/social_account_validation.ctp:35 @@ -306,6 +506,14 @@ msgstr "Ative sua autenticação social aqui" msgid "Activate your account here" msgstr "Ative sua conta aqui" +#: Template/Email/html/validation.ctp:27 +msgid "" +"If the link is not correctly displayed, please copy the following address in " +"your web browser {0}" +msgstr "" +"Se o link não está exibido corretamente, por favor, copie o seguinte " +"endereço em seu navegador {0}" + #: Template/Email/text/reset_password.ctp:22 #: Template/Email/text/validation.ctp:22 msgid "Please copy the following address in your web browser {0}" @@ -334,12 +542,12 @@ msgstr "Listar usuários" msgid "List Accounts" msgstr "Listar contas" -#: Template/Users/add.ctp:22 Template/Users/register.ctp:15 +#: Template/Users/add.ctp:22 Template/Users/register.ctp:16 msgid "Add User" msgstr "Adicionar usuário" -#: Template/Users/add.ctp:32 Template/Users/change_password.ctp:13 -#: Template/Users/edit.ctp:42 Template/Users/register.ctp:26 +#: Template/Users/add.ctp:32 Template/Users/change_password.ctp:17 +#: Template/Users/edit.ctp:42 Template/Users/register.ctp:32 #: Template/Users/request_reset_password.ctp:8 #: Template/Users/resend_token_validation.ctp:20 #: Template/Users/social_email.ctp:19 @@ -350,7 +558,7 @@ msgstr "Enviar" msgid "Please enter the new password" msgstr "Por favor, indique a nova senha" -#: Template/Users/change_password.ctp:7 +#: Template/Users/change_password.ctp:10 msgid "Current password" msgstr "Senha atual" @@ -396,47 +604,51 @@ msgstr "próximo" msgid "Please enter your username and password" msgstr "Por favor, indique seu nome de usuário e senha" -#: Template/Users/login.ctp:26 +#: Template/Users/login.ctp:29 msgid "Remember me" msgstr "Lembrar" -#: Template/Users/login.ctp:49 +#: Template/Users/login.ctp:48 msgid "Login" msgstr "Autenticar" -#: Template/Users/profile.ctp:18 +#: Template/Users/profile.ctp:18 View/Helper/UserHelper.php:51 msgid "{0} {1}" msgstr "{0} {1}" -#: Template/Users/profile.ctp:23 +#: Template/Users/profile.ctp:24 msgid "Change Password" msgstr "Mudar senha" -#: Template/Users/profile.ctp:26 Template/Users/view.ctp:28;68 +#: Template/Users/profile.ctp:27 Template/Users/view.ctp:28;68 msgid "Username" msgstr "Nome de usuário" -#: Template/Users/profile.ctp:28 Template/Users/view.ctp:30 +#: Template/Users/profile.ctp:29 Template/Users/view.ctp:30 msgid "Email" msgstr "Email" -#: Template/Users/profile.ctp:33 +#: Template/Users/profile.ctp:34 msgid "Social Accounts" msgstr "Contas sociais" -#: Template/Users/profile.ctp:37 Template/Users/view.ctp:70 +#: Template/Users/profile.ctp:38 Template/Users/view.ctp:70 msgid "Avatar" msgstr "Avatar" -#: Template/Users/profile.ctp:38 Template/Users/view.ctp:67 +#: Template/Users/profile.ctp:39 Template/Users/view.ctp:67 msgid "Provider" msgstr "Provedor" -#: Template/Users/profile.ctp:39 +#: Template/Users/profile.ctp:40 msgid "Link" msgstr "Link" -#: Template/Users/register.ctp:23 +#: Template/Users/profile.ctp:47 +msgid "Link to {0}" +msgstr "Link para {0}" + +#: Template/Users/register.ctp:25 msgid "Accept TOS conditions?" msgstr "Concordar com TOS?" @@ -520,18 +732,51 @@ msgstr "Referência" msgid "Data" msgstr "Dados" -#: View/Helper/UserHelper.php:43 -msgid "Sign in with Facebook" -msgstr "Inscrever-se com Facebook" +#: View/Helper/UserHelper.php:49 +msgid "fa fa-{0}" +msgstr "fa-fa-{0}" -#: View/Helper/UserHelper.php:57 -msgid "Sign in with Twitter" -msgstr "Inscrever-se com Twitter" +#: View/Helper/UserHelper.php:52 +msgid "btn btn-social btn-{0} " +msgstr "btn btn-social btn-{0}" -#: View/Helper/UserHelper.php:71 +#: View/Helper/UserHelper.php:90 msgid "Logout" msgstr "Desconectar" -#: View/Helper/UserHelper.php:109 +#: View/Helper/UserHelper.php:139 msgid "Welcome, {0}" msgstr "Bem-vindo(a), {0}" + +#: View/Helper/UserHelper.php:161 +msgid "reCaptcha is not configured! Please configure Users.reCaptcha.key" +msgstr "" +"O reCaptcha não está configurado! Por favor, configure Users.reCaptcha.key" + +#~ msgid "SocialAccount already active" +#~ msgstr "Conta social já ativa" + +#~ msgid "" +#~ "The social account is not active. Please check your email for " +#~ "instructions. {0}" +#~ msgstr "" +#~ "A conta social não está ativa. Por favor verifique seu email para " +#~ "instruções. {0}" + +#~ msgid "There was an error associating your social network account" +#~ msgstr "Houve um erro associando sua conta social" + +#~ msgid "Invalid token and/or email" +#~ msgstr "Token e/ou email inválido(s)" + +#~ msgid "The \"tos\" property is not present" +#~ msgstr "A propriedade “tos” não está presente" + +#~ msgid "+ {0} secs" +#~ msgstr "+ {0} segundos" + +#~ msgid "Sign in with Facebook" +#~ msgstr "Inscrever-se com Facebook" + +#~ msgid "Sign in with Twitter" +#~ msgstr "Inscrever-se com Twitter" From 3b2183ea9ae8742eabba02eef6c09a90c0d1c91c Mon Sep 17 00:00:00 2001 From: Alejandro Ibarra Date: Tue, 19 Apr 2016 19:29:57 -0500 Subject: [PATCH 0048/1079] Avoid using the same password as old/new. Improving messages --- src/Controller/Traits/PasswordManagementTrait.php | 2 +- src/Model/Behavior/PasswordBehavior.php | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Controller/Traits/PasswordManagementTrait.php b/src/Controller/Traits/PasswordManagementTrait.php index 5c76767d1..9807df795 100644 --- a/src/Controller/Traits/PasswordManagementTrait.php +++ b/src/Controller/Traits/PasswordManagementTrait.php @@ -63,7 +63,7 @@ public function changePassword() } catch (UserNotFoundException $exception) { $this->Flash->error(__d('Users', 'User was not found')); } catch (WrongPasswordException $wpe) { - $this->Flash->error(__d('Users', 'The current password does not match')); + $this->Flash->error(__d('Users', '{0}', $wpe->getMessage())); } catch (Exception $exception) { $this->Flash->error(__d('Users', 'Password could not be changed')); } diff --git a/src/Model/Behavior/PasswordBehavior.php b/src/Model/Behavior/PasswordBehavior.php index 0169fabdf..726927875 100644 --- a/src/Model/Behavior/PasswordBehavior.php +++ b/src/Model/Behavior/PasswordBehavior.php @@ -117,7 +117,10 @@ public function changePassword(EntityInterface $user) if (!empty($user->current_password)) { if (!$user->checkPassword($user->current_password, $currentUser->password)) { - throw new WrongPasswordException(__d('Users', 'The old password does not match')); + throw new WrongPasswordException(__d('Users', 'The current password does not match')); + } + if ($user->current_password === $user->password_confirm) { + throw new WrongPasswordException(__d('Users', 'You cannot use the current password as the new one')); } } $user = $this->_table->save($user); From f3fada67446ce84f1ff5f200834b007c90d72fef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Teixeira?= Date: Wed, 20 Apr 2016 09:40:27 -0300 Subject: [PATCH 0049/1079] Fixing tests --- tests/TestCase/Controller/SocialAccountsControllerTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/TestCase/Controller/SocialAccountsControllerTest.php b/tests/TestCase/Controller/SocialAccountsControllerTest.php index 7b269638a..c85dc2e86 100644 --- a/tests/TestCase/Controller/SocialAccountsControllerTest.php +++ b/tests/TestCase/Controller/SocialAccountsControllerTest.php @@ -123,7 +123,7 @@ public function testValidateAccountAlreadyActive() ->method('redirect') ->with(['plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'login']); $this->Controller->validateAccount('Twitter', 'reference-1-1234', 'token-1234'); - $this->assertEquals('SocialAccount already active', $this->Controller->request->session()->read('Flash.flash.0.message')); + $this->assertEquals('Social Account already active', $this->Controller->request->session()->read('Flash.flash.0.message')); } /** @@ -197,6 +197,6 @@ public function testResendValidationAlreadyActive() ->method('redirect') ->with(['plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'login']); $this->Controller->validateAccount('Twitter', 'reference-1-1234', 'token-1234'); - $this->assertEquals('SocialAccount already active', $this->Controller->request->session()->read('Flash.flash.0.message')); + $this->assertEquals('Social Account already active', $this->Controller->request->session()->read('Flash.flash.0.message')); } } From 3277c685cd52725216e71309d7b77327c6f00e8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Teixeira?= Date: Wed, 20 Apr 2016 09:51:58 -0300 Subject: [PATCH 0050/1079] Preparing es localization file for future translations --- src/Locale/es/Users.mo | Bin 9650 -> 8934 bytes src/Locale/es/Users.po | 482 ++++++++++++++++++++++++++++++----------- 2 files changed, 357 insertions(+), 125 deletions(-) diff --git a/src/Locale/es/Users.mo b/src/Locale/es/Users.mo index 421ce4ba1bf00309b9e9566221553c1181222840..b5a47db8fb6c5722299eb21d3248b5ca82af35ad 100644 GIT binary patch delta 2661 zcmYk-du)?c7{~F$IwqHmZ3V|=;9eLPxpXUAfo(9h;RcLxbE_c2z?ZE+S!tmyxFukn zhD43VkOmVY2q9S(k)WY5QNYV$lthd{g=qL=(Wq#Q_XJT4(eJN)XFS={&v{SZp38I2 z`|e!Jji$t)JNu}i>?I}>$6Us!Ve(ykQ1*^ArU>`pM0^tO!BgnP0q6R6)K3aW88Znd zVhQ>%AN`nvoj3x!ke?(>oXSiZ9(8W$L;c{4<3&`*A7KGr#ccc*)!`2~8h>-z?;stU zEE Hl9XJFgMqjMx2bLXrnql zjGDl4)I|F+56__bJ&&5$` @e!PW{iq4Oi!*Q# z`7_ycqKu70^;?X}%na07XvW1D#A56#Apbga12pK+459}33w7w+g_%^%Miyzx@oua| z-PeZmFof#(1=Px}p;kPI%3zK=Gm$Zl6*!jm4Q}#JHq34sJlKQ$nSMSrq4TJTTtjvI zBPugDaVqA~i}tu2**)XKdThXQd>r+(oI@@26V#dc8TGr$1V>XHSD|LwfJ#j>YOe$M z(lBG5L9J*mvtex0hU#z!R^bz h2lzINJgBVCvY%wAjML2X&WM@4(ph_i96 zb3->WNt19)I_>?a37kcp;sMlvmylgES5O0dh05&rsQYfAes>2o(E|35g(gfH7479J zJ~X3_%oiqx>gYMt0MDZy!xI?9Q>X!Rd8n7-6tr*)YJfwig}sRCrw=uuGpKPc;0Qhc zm#JumS8)?wM?I%L4uB3_9jc=>I2||QG(3pg@C3HwKUjzDEK8X@j@tW6Sc^AMXKXtA zCR=eN $n&{!+Ol8(ZcmeHqAcN#GXQB 2z!;wl`=>=J6&N<}m6<%93cNhG`GZPWmtqcZdh>XhF^o-C79l9|XjoXPb9T!~vy z8SBGZd=<68pHPSRPrMf`i~OsjW-IetZ^mk__c_ Y1t{>-V? lHhxCgI%obu3k)!=hRgTJWrTlp4Bl+|hd_w@fo4WnnTgpFC2osLHq8=EW fN?fln=0$wr4n8Q28Dsb}O?)iGc3gse zxC~v);*;t1FHk>y5AVV2xE%k3b8*ouW2$it-f2wHv{1Q=h7Mef+tV9HP(KJ#i>QvD z!5VxHEAbMl!&i_$b2V*$6V>l;unOPB1^7N{0XK0G WO=6Ncb;ftt&Ucz3y zjHJkXmOA6^Bm)_&r+pqOV_EFM{kR{W!_D|9>b@pssfqMr3m(Qb_+u=trScjT4fHW; zrZ-V3{uh!ZQ^kcksKs^Igd6Y?T#To&4$q-dd=)kD@9_eq)40UME;1;}s1NaGk3A^Vd9UVZWd;&F*GpIxQGIrrLRA#?Gl4xemPbOM} zx_|Y2^1q%+4-Fb9kIKX)REn;k4&4W+iG7?}#WJayCM3(I8=J8o8OwYVHL<5r6S{=z z_YG7g-$pI?qaqa@ikak(^JDJ7ZMXo-DMmeJr%|c9h&pW7P`|6DcXd1qHPHpA3@t^S zjZXa54E7v#n6ERs7Ip(Q(c)b4ppF}`6MIm5cLLS%Pm$l6^J)8Q$ehi4s6G4}YH$CE z+DbiJO^`u--;T=Emehf?J%>!7XpT|Q9zB5?@O#L4F+W0ea2A!~i>UjiP&0oWHPPRr zR(unggQ+I(n$U7o`vz1$eW?ETpdRCc=;`@?jEV+)8@J*INMB|#zqYs$HP9exg~w4H zo Tfo zQ2rmo`Z-vH1{oyue(xiOi2a0S=@NOu5(9+J#w76|p){@_lxCH05F_PU^5MhdL`+l> zox~hMg{>`*Urtp!4cha^2xVX|F-$0}UnXuZI!woiej-O`%T#s~M~UskR|utg6QNQ` z=tcGbp)-;c#t*3-CkliP(W8XQ)`apSs579#tKn8*=gfVC_M6=?V?>rv*+Xn7*Npi( zdW5!FMK3RvZA445{^Xs$hK5IonS{z=LeFWS3(Crb^5;fAJJRd @lcdx1j-<~PyDRTHk!y1!Zm!&EXv=fAj|U;sj^ePu;DH~tXoaPVHQ(Pn z;)brBbRz5c)(u1MbE5JXvF8tKUZG8g^xb$e2uG)fo@%T;SJBbdob9k1vt4bQ)@3P~ zT?5T~+zBsYkmmcH*zMxW*87^X?ai&5Y->kXd&jzLYc^YIty^Cjt2@7<--+Vpy`ker zc_$9SE}Q9h{NaK#%rD*O@Q%UKtc5mn+lH)N*jX|E 9Ec>kDzev)$^#A|> diff --git a/src/Locale/es/Users.po b/src/Locale/es/Users.po index 70e84f892..e6a31e11b 100644 --- a/src/Locale/es/Users.po +++ b/src/Locale/es/Users.po @@ -4,25 +4,53 @@ msgid "" msgstr "" "Project-Id-Version: CakeDC Users\n" -"POT-Creation-Date: 2016-03-07 20:35+0000\n" -"PO-Revision-Date: 2016-04-15 17:47+0100\n" +"POT-Creation-Date: 2016-04-20 09:48-0300\n" +"PO-Revision-Date: 2016-04-20 09:49-0300\n" +"Last-Translator: André Teixeira \n" "Language-Team: CakeDC \n" +"Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.7\n" -"Last-Translator: \n" -"Language: es_ES\n" "X-Poedit-SourceCharset: UTF-8\n" -#: Auth/SimpleRbacAuthorize.php:132 +#: Auth/ApiKeyAuthenticate.php:55 +msgid "Type {0} is not valid" +msgstr "" + +#: Auth/ApiKeyAuthenticate.php:59 +msgid "Type {0} has no associated callable" +msgstr "" + +#: Auth/ApiKeyAuthenticate.php:68 +msgid "SSL is required for ApiKey Authentication" +msgstr "" + +#: Auth/SimpleRbacAuthorize.php:141 msgid "" "Missing configuration file: \"config/{0}.php\". Using default permissions" msgstr "" "Falta el archivo de configuración: \"config/{0}.php\". Utilizando permisos " "predeterminados" +#: Auth/SocialAuthenticate.php:410 +msgid "Provider cannot be empty" +msgstr "" + +#: Auth/Rules/AbstractRule.php:77 +msgid "" +"Table alias is empty, please define a table alias, we could not extract a " +"default table from the request" +msgstr "" + +#: Auth/Rules/Owner.php:67;70 +msgid "" +"Missing column {0} in table {1} while checking ownership permissions for " +"user {2}" +msgstr "" + #: Controller/SocialAccountsController.php:52 msgid "Account validated successfully" msgstr "Cuenta validada correctamente" @@ -35,8 +63,8 @@ msgstr "No se pudo validar la cuenta" msgid "Invalid token and/or social account" msgstr "Token o cuenta social incorrecta" -#: Controller/SocialAccountsController.php:59 -msgid "SocialAccount already active" +#: Controller/SocialAccountsController.php:59;86 +msgid "Social Account already active" msgstr "Cuenta social ya activa" #: Controller/SocialAccountsController.php:61 @@ -55,219 +83,382 @@ msgstr "No se puede enviar el email" msgid "Invalid account" msgstr "Cuenta inválida" -#: Controller/SocialAccountsController.php:86 -msgid "Social Account already active" -msgstr "Cuenta social ya activa" - #: Controller/SocialAccountsController.php:88 msgid "Email could not be resent" msgstr "No se puede reenviar el Email" -#: Controller/Component/RememberMeComponent.php:70 +#: Controller/Component/RememberMeComponent.php:69 msgid "Invalid app salt, app salt must be at least 256 bits (32 bytes) long" msgstr "App salt inválido, debe contener al menos 256 bits (32 bytes)" -#: Controller/Component/UsersAuthComponent.php:156 +#: Controller/Component/UsersAuthComponent.php:157 msgid "You can't enable email validation workflow if use_email is false" msgstr "" "No es posible activar el flujo de trabajo para la validación de email si " "use_mail es falso" -#: Controller/Traits/LoginTrait.php:55 -msgid "" -"The social account is not active. Please check your email for instructions. " -"{0}" +#: Controller/Traits/LoginTrait.php:95 +msgid "Issues trying to log in with your social account" msgstr "" -"La cuenta social está inactiva. Por favor, compruebe las instrucciones en su " -"correo. {0}" -#: Controller/Traits/LoginTrait.php:58 Template/Users/social_email.ctp:16 +#: Controller/Traits/LoginTrait.php:100 Template/Users/social_email.ctp:16 msgid "Please enter your email" msgstr "Por favor, introduzca su email" -#: Controller/Traits/LoginTrait.php:82 +#: Controller/Traits/LoginTrait.php:106 +msgid "" +"Your user has not been validated yet. Please check your inbox for " +"instructions" +msgstr "" + +#: Controller/Traits/LoginTrait.php:108 +msgid "" +"Your social account has not been validated yet. Please check your inbox for " +"instructions" +msgstr "" + +#: Controller/Traits/LoginTrait.php:157 Controller/Traits/RegisterTrait.php:73 +msgid "Invalid reCaptcha" +msgstr "" + +#: Controller/Traits/LoginTrait.php:165 +msgid "You are already logged in" +msgstr "" + +#: Controller/Traits/LoginTrait.php:209 msgid "Username or password is incorrect" msgstr "Usuario o contraseña incorrecta" -#: Controller/Traits/LoginTrait.php:93 -msgid "There was an error associating your social network account" -msgstr "Hubo un error al asociar su cuenta de la red social" - -#: Controller/Traits/LoginTrait.php:113 +#: Controller/Traits/LoginTrait.php:230 msgid "You've successfully logged out" msgstr "Ha cerrado sesión correctamente" -#: Controller/Traits/PasswordManagementTrait.php:53 -msgid "Password has been changed successfully" -msgstr "Contraseña cambiada correctamente" - -#: Controller/Traits/PasswordManagementTrait.php:56;63 +#: Controller/Traits/PasswordManagementTrait.php:53;60;68 msgid "Password could not be changed" msgstr "No es posible cambiar la contraseña" -#: Controller/Traits/PasswordManagementTrait.php:59 -#: Controller/Traits/ProfileTrait.php:46 +#: Controller/Traits/PasswordManagementTrait.php:57 +msgid "Password has been changed successfully" +msgstr "Contraseña cambiada correctamente" + +#: Controller/Traits/PasswordManagementTrait.php:64 +#: Controller/Traits/ProfileTrait.php:49 msgid "User was not found" msgstr "Usuario no encontrado" -#: Controller/Traits/PasswordManagementTrait.php:61 +#: Controller/Traits/PasswordManagementTrait.php:66 msgid "The current password does not match" msgstr "La contraseña actual no coincide" -#: Controller/Traits/PasswordManagementTrait.php:93 +#: Controller/Traits/PasswordManagementTrait.php:108 msgid "Please check your email to continue with password reset process" msgstr "" "Por favor, compruebe su correo para continuar con el proceso de " "restablecimiento de contraseña" -#: Controller/Traits/PasswordManagementTrait.php:96 +#: Controller/Traits/PasswordManagementTrait.php:111 Shell/UsersShell.php:266 msgid "The password token could not be generated. Please try again" msgstr "" "No se pudo generar el token de contraseña. Por favor, inténtelo de nuevo" -#: Controller/Traits/PasswordManagementTrait.php:101 -#: Controller/Traits/UserValidationTrait.php:94 +#: Controller/Traits/PasswordManagementTrait.php:116 +#: Controller/Traits/UserValidationTrait.php:98 msgid "User {0} was not found" msgstr "Usuario {0} no encontrado" -#: Controller/Traits/PasswordManagementTrait.php:103 -#: Controller/Traits/UserValidationTrait.php:90;98 +#: Controller/Traits/PasswordManagementTrait.php:118 +msgid "The user is not active" +msgstr "" + +#: Controller/Traits/PasswordManagementTrait.php:120 +#: Controller/Traits/UserValidationTrait.php:94;102 msgid "Token could not be reset" msgstr "No se puede restablecer el token" -#: Controller/Traits/RegisterTrait.php:66 +#: Controller/Traits/ProfileTrait.php:52 +msgid "Not authorized, please login first" +msgstr "" + +#: Controller/Traits/RegisterTrait.php:79 msgid "The user could not be saved" msgstr "No se ha podido guardar el usuario" -#: Controller/Traits/RegisterTrait.php:82 +#: Controller/Traits/RegisterTrait.php:111 msgid "You have registered successfully, please log in" msgstr "Se ha registrado correctamente, por favor ingrese" -#: Controller/Traits/RegisterTrait.php:84 +#: Controller/Traits/RegisterTrait.php:113 msgid "Please validate your account before log in" msgstr "Por favor, valide su cuenta antes de ingresar" -#: Controller/Traits/SimpleCrudTrait.php:75;103 +#: Controller/Traits/SimpleCrudTrait.php:76;105 msgid "The {0} has been saved" msgstr "El {0} ha sido guardado" -#: Controller/Traits/SimpleCrudTrait.php:78;106 +#: Controller/Traits/SimpleCrudTrait.php:79;108 msgid "The {0} could not be saved" msgstr "El {0} no ha podido guardarse" -#: Controller/Traits/SimpleCrudTrait.php:125 +#: Controller/Traits/SimpleCrudTrait.php:128 msgid "The {0} has been deleted" msgstr "El {0} ha sido eliminado" -#: Controller/Traits/SimpleCrudTrait.php:127 +#: Controller/Traits/SimpleCrudTrait.php:130 msgid "The {0} could not be deleted" msgstr "El {0} no ha podido eliminarse" -#: Controller/Traits/UserValidationTrait.php:43 +#: Controller/Traits/SocialTrait.php:39 +msgid "The reCaptcha could not be validated" +msgstr "" + +#: Controller/Traits/UserValidationTrait.php:42 msgid "User account validated successfully" msgstr "Cuenta de usuario validada correctamente" -#: Controller/Traits/UserValidationTrait.php:45 +#: Controller/Traits/UserValidationTrait.php:44 msgid "User account could not be validated" msgstr "No se pudo validar la cuenta de usuario" -#: Controller/Traits/UserValidationTrait.php:48 +#: Controller/Traits/UserValidationTrait.php:47 msgid "User already active" msgstr "Usuario ya activo" -#: Controller/Traits/UserValidationTrait.php:54 +#: Controller/Traits/UserValidationTrait.php:53 msgid "Reset password token was validated successfully" msgstr "Restablecimiento del token de contraseña validado correctamente" -#: Controller/Traits/UserValidationTrait.php:58 +#: Controller/Traits/UserValidationTrait.php:57 msgid "Reset password token could not be validated" msgstr "Restablecimiento del token de contraseña no pudo validarse" -#: Controller/Traits/UserValidationTrait.php:65 -msgid "Invalid token and/or email" -msgstr "Token y/o email inválido" +#: Controller/Traits/UserValidationTrait.php:61 +msgid "Invalid validation type" +msgstr "Tipo de validación inválido" -#: Controller/Traits/UserValidationTrait.php:67 +#: Controller/Traits/UserValidationTrait.php:64 +msgid "Invalid token or user account already validated" +msgstr "" + +#: Controller/Traits/UserValidationTrait.php:66 msgid "Token already expired" msgstr "Token ya expirado" -#: Controller/Traits/UserValidationTrait.php:69 -msgid "Invalid validation type" -msgstr "Tipo de validación inválido" - -#: Controller/Traits/UserValidationTrait.php:88 +#: Controller/Traits/UserValidationTrait.php:92 msgid "Token has been reset successfully. Please check your email." msgstr "" "Se ha restablecido el token correctamente. Por favor compruebe su email." -#: Controller/Traits/UserValidationTrait.php:96 +#: Controller/Traits/UserValidationTrait.php:100 msgid "User {0} is already active" msgstr "El usuario {0} ya está activo" -#: Model/Table/SocialAccountsTable.php:208 +#: Email/EmailSender.php:39 +msgid "Your account validation link" +msgstr "Enlace para validar su cuenta" + +#: Mailer/UsersMailer.php:55 +msgid "{0}Your reset password link" +msgstr "{0} Enlace para restablecer su contraseña" + +#: Mailer/UsersMailer.php:78 msgid "{0}Your social account validation link" msgstr "{0} Enlace de validación de su cuenta social" -#: Model/Table/SocialAccountsTable.php:235;263 +#: Model/Behavior/PasswordBehavior.php:56 +msgid "Reference cannot be null" +msgstr "" + +#: Model/Behavior/PasswordBehavior.php:61 +msgid "Token expiration cannot be empty" +msgstr "" + +#: Model/Behavior/PasswordBehavior.php:67;115 +msgid "User not found" +msgstr "Usuario no encontrado" + +#: Model/Behavior/PasswordBehavior.php:71 +#: Model/Behavior/RegisterBehavior.php:110 +msgid "User account already validated" +msgstr "" + +#: Model/Behavior/PasswordBehavior.php:78 +msgid "User not active" +msgstr "" + +#: Model/Behavior/PasswordBehavior.php:120 +msgid "The old password does not match" +msgstr "La antigua contraseña no coincide" + +#: Model/Behavior/RegisterBehavior.php:88 +msgid "User not found for the given token and email." +msgstr "Usuario no encontrado para el token y email proporcionado" + +#: Model/Behavior/RegisterBehavior.php:91 +msgid "Token has already expired user with no token" +msgstr "El token ha expirado usuario sin token" + +#: Model/Behavior/SocialAccountBehavior.php:101;128 msgid "Account already validated" msgstr "Cuenta ya activada" -#: Model/Table/SocialAccountsTable.php:238;266 +#: Model/Behavior/SocialAccountBehavior.php:104;131 msgid "Account not found for the given token and email." msgstr "Cuenta no encontrada para el token y email proporcionado" -#: Model/Table/UsersTable.php:84 +#: Model/Behavior/SocialBehavior.php:56 +msgid "Unable to login user with reference {0}" +msgstr "No se puede iniciar sesión con el usuario con referencia {0}" + +#: Model/Behavior/SocialBehavior.php:97 +msgid "Email not present" +msgstr "No se encuentra el email" + +#: Model/Table/UsersTable.php:81 msgid "Your password does not match your confirm password. Please try again" msgstr "" "Su contraseña y la comprobación no concuerdan. Por favor inténtelo de nuevo" -#: Model/Table/UsersTable.php:178 +#: Model/Table/UsersTable.php:159 msgid "Username already exists" msgstr "Nombre de usuario ya existente" -#: Model/Table/UsersTable.php:184 +#: Model/Table/UsersTable.php:165 msgid "Email already exists" msgstr "Email ya existente" -#: Model/Table/UsersTable.php:213 -msgid "The \"tos\" property is not present" -msgstr "La propiedad \"tos\" no está presente" +#: Shell/UsersShell.php:54 +msgid "Utilities for CakeDC Users Plugin" +msgstr "" -#: Model/Table/UsersTable.php:271 -msgid "Token has already expired user with no token" -msgstr "El token ha expirado usuario sin token" +#: Shell/UsersShell.php:55 +msgid "Activate an specific user" +msgstr "" -#: Model/Table/UsersTable.php:274 -msgid "User not found for the given token and email." -msgstr "Usuario no encontrado para el token y email proporcionado" +#: Shell/UsersShell.php:56 +msgid "Add a new superadmin user for testing purposes" +msgstr "" -#: Model/Table/UsersTable.php:341 -msgid "User not found" -msgstr "Usuario no encontrado" +#: Shell/UsersShell.php:57 +msgid "Add a new user" +msgstr "" -#: Model/Table/UsersTable.php:368 -msgid "+ {0} secs" -msgstr "+ {0} secs" +#: Shell/UsersShell.php:58 +msgid "Change the role for an specific user" +msgstr "" -#: Model/Table/UsersTable.php:420 -msgid "Unable to login user with reference {0}" -msgstr "No se puede iniciar sesión con el usuario con referencia {0}" +#: Shell/UsersShell.php:59 +msgid "Deactivate an specific user" +msgstr "" -#: Model/Table/UsersTable.php:453 -msgid "Email not present" -msgstr "No se encuentra el email" +#: Shell/UsersShell.php:60 +msgid "Delete an specific user" +msgstr "" -#: Model/Table/UsersTable.php:541 -msgid "Your account validation link" -msgstr "Enlace para validar su cuenta" +#: Shell/UsersShell.php:61 +msgid "Reset the password via email" +msgstr "" -#: Model/Table/UsersTable.php:561 -msgid "{0}Your reset password link" -msgstr "{0} Enlace para restablecer su contraseña" +#: Shell/UsersShell.php:62 +msgid "Reset the password for all users" +msgstr "" -#: Model/Table/UsersTable.php:585 -msgid "The old password does not match" -msgstr "La antigua contraseña no coincide" +#: Shell/UsersShell.php:63 +msgid "Reset the password for an specific user" +msgstr "" + +#: Shell/UsersShell.php:97 +msgid "User added:" +msgstr "" + +#: Shell/UsersShell.php:98;126 +msgid "Id: {0}" +msgstr "" + +#: Shell/UsersShell.php:99;127 +msgid "Username: {0}" +msgstr "" + +#: Shell/UsersShell.php:100;128 +msgid "Email: {0}" +msgstr "" + +#: Shell/UsersShell.php:101;129 +msgid "Password: {0}" +msgstr "" + +#: Shell/UsersShell.php:125 +msgid "Superuser added:" +msgstr "" + +#: Shell/UsersShell.php:131 +msgid "Superuser could not be added:" +msgstr "" + +#: Shell/UsersShell.php:134 +msgid "Field: {0} Error: {1}" +msgstr "" + +#: Shell/UsersShell.php:152;178 +msgid "Please enter a password." +msgstr "" + +#: Shell/UsersShell.php:156 +msgid "Password changed for all users" +msgstr "" + +#: Shell/UsersShell.php:157;185 +msgid "New password: {0}" +msgstr "" + +#: Shell/UsersShell.php:175;203;281;321 +msgid "Please enter a username." +msgstr "" + +#: Shell/UsersShell.php:184 +msgid "Password changed for user: {0}" +msgstr "" + +#: Shell/UsersShell.php:206 +msgid "Please enter a role." +msgstr "" + +#: Shell/UsersShell.php:212 +msgid "Role changed for user: {0}" +msgstr "" + +#: Shell/UsersShell.php:213 +msgid "New role: {0}" +msgstr "" + +#: Shell/UsersShell.php:228 +msgid "User was activated: {0}" +msgstr "" + +#: Shell/UsersShell.php:243 +msgid "User was de-activated: {0}" +msgstr "" + +#: Shell/UsersShell.php:255 +msgid "Please enter a username or email." +msgstr "" + +#: Shell/UsersShell.php:263 +msgid "" +"Please ask the user to check the email to continue with password reset " +"process" +msgstr "" + +#: Shell/UsersShell.php:300 +msgid "The user was not found." +msgstr "" + +#: Shell/UsersShell.php:329 +msgid "The user {0} was not deleted. Please try again" +msgstr "" + +#: Shell/UsersShell.php:331 +msgid "The user {0} was deleted successfully" +msgstr "" #: Template/Email/html/reset_password.ctp:21 #: Template/Email/html/social_account_validation.ctp:14 @@ -284,13 +475,10 @@ msgstr "Restablezca su contraseña aquí" #: Template/Email/html/reset_password.ctp:27 #: Template/Email/html/social_account_validation.ctp:32 -#: Template/Email/html/validation.ctp:27 msgid "" -"If the link is not correctly displayed, please copy the following address in " +"If the link is not correcly displayed, please copy the following address in " "your web browser {0}" msgstr "" -"Si el enlace no se muestra correctamente, por favor copie la siguiente " -"dirección en su navegador web {0}" #: Template/Email/html/reset_password.ctp:30 #: Template/Email/html/social_account_validation.ctp:35 @@ -309,6 +497,14 @@ msgstr "Active su acceso social aquí" msgid "Activate your account here" msgstr "Active su cuenta aquí" +#: Template/Email/html/validation.ctp:27 +msgid "" +"If the link is not correctly displayed, please copy the following address in " +"your web browser {0}" +msgstr "" +"Si el enlace no se muestra correctamente, por favor copie la siguiente " +"dirección en su navegador web {0}" + #: Template/Email/text/reset_password.ctp:22 #: Template/Email/text/validation.ctp:22 msgid "Please copy the following address in your web browser {0}" @@ -337,12 +533,12 @@ msgstr "Listar Usuarios" msgid "List Accounts" msgstr "Listar Cuentas" -#: Template/Users/add.ctp:22 Template/Users/register.ctp:15 +#: Template/Users/add.ctp:22 Template/Users/register.ctp:16 msgid "Add User" msgstr "Añadir Usuario" -#: Template/Users/add.ctp:32 Template/Users/change_password.ctp:13 -#: Template/Users/edit.ctp:42 Template/Users/register.ctp:26 +#: Template/Users/add.ctp:32 Template/Users/change_password.ctp:17 +#: Template/Users/edit.ctp:42 Template/Users/register.ctp:32 #: Template/Users/request_reset_password.ctp:8 #: Template/Users/resend_token_validation.ctp:20 #: Template/Users/social_email.ctp:19 @@ -353,7 +549,7 @@ msgstr "Enviar" msgid "Please enter the new password" msgstr "Por favor introduzca la nueva contraseña" -#: Template/Users/change_password.ctp:7 +#: Template/Users/change_password.ctp:10 msgid "Current password" msgstr "Contraseña actual" @@ -399,47 +595,51 @@ msgstr "siguiente" msgid "Please enter your username and password" msgstr "Por favor introduzca su usuario y contraseña" -#: Template/Users/login.ctp:26 +#: Template/Users/login.ctp:29 msgid "Remember me" msgstr "Recordarme" -#: Template/Users/login.ctp:49 +#: Template/Users/login.ctp:48 msgid "Login" msgstr "Ingresar" -#: Template/Users/profile.ctp:18 +#: Template/Users/profile.ctp:18 View/Helper/UserHelper.php:51 msgid "{0} {1}" msgstr "{0} {1}" -#: Template/Users/profile.ctp:23 +#: Template/Users/profile.ctp:24 msgid "Change Password" msgstr "Cambiar contraseña" -#: Template/Users/profile.ctp:26 Template/Users/view.ctp:28;68 +#: Template/Users/profile.ctp:27 Template/Users/view.ctp:28;68 msgid "Username" msgstr "Usuario" -#: Template/Users/profile.ctp:28 Template/Users/view.ctp:30 +#: Template/Users/profile.ctp:29 Template/Users/view.ctp:30 msgid "Email" msgstr "Email" -#: Template/Users/profile.ctp:33 +#: Template/Users/profile.ctp:34 msgid "Social Accounts" msgstr "Cuentas sociales" -#: Template/Users/profile.ctp:37 Template/Users/view.ctp:70 +#: Template/Users/profile.ctp:38 Template/Users/view.ctp:70 msgid "Avatar" msgstr "Avatar" -#: Template/Users/profile.ctp:38 Template/Users/view.ctp:67 +#: Template/Users/profile.ctp:39 Template/Users/view.ctp:67 msgid "Provider" msgstr "Proveedor" -#: Template/Users/profile.ctp:39 +#: Template/Users/profile.ctp:40 msgid "Link" msgstr "Enlace" -#: Template/Users/register.ctp:23 +#: Template/Users/profile.ctp:47 +msgid "Link to {0}" +msgstr "" + +#: Template/Users/register.ctp:25 msgid "Accept TOS conditions?" msgstr "¿Acepta las condiciones del servicios?" @@ -523,18 +723,50 @@ msgstr "Referencia" msgid "Data" msgstr "Datos" -#: View/Helper/UserHelper.php:43 -msgid "Sign in with Facebook" -msgstr "Ingresar con Facebook" +#: View/Helper/UserHelper.php:49 +msgid "fa fa-{0}" +msgstr "" -#: View/Helper/UserHelper.php:57 -msgid "Sign in with Twitter" -msgstr "Ingresar con Twitter" +#: View/Helper/UserHelper.php:52 +msgid "btn btn-social btn-{0} " +msgstr "" -#: View/Helper/UserHelper.php:71 +#: View/Helper/UserHelper.php:90 msgid "Logout" msgstr "Salir" -#: View/Helper/UserHelper.php:109 +#: View/Helper/UserHelper.php:139 msgid "Welcome, {0}" msgstr "Bienvenido, {0}" + +#: View/Helper/UserHelper.php:161 +msgid "reCaptcha is not configured! Please configure Users.reCaptcha.key" +msgstr "" + +#~ msgid "SocialAccount already active" +#~ msgstr "Cuenta social ya activa" + +#~ msgid "" +#~ "The social account is not active. Please check your email for " +#~ "instructions. {0}" +#~ msgstr "" +#~ "La cuenta social está inactiva. Por favor, compruebe las instrucciones en " +#~ "su correo. {0}" + +#~ msgid "There was an error associating your social network account" +#~ msgstr "Hubo un error al asociar su cuenta de la red social" + +#~ msgid "Invalid token and/or email" +#~ msgstr "Token y/o email inválido" + +#~ msgid "The \"tos\" property is not present" +#~ msgstr "La propiedad \"tos\" no está presente" + +#~ msgid "+ {0} secs" +#~ msgstr "+ {0} secs" + +#~ msgid "Sign in with Facebook" +#~ msgstr "Ingresar con Facebook" + +#~ msgid "Sign in with Twitter" +#~ msgstr "Ingresar con Twitter" From 005da158c6dcdf94e8e4ce18824987eb0bf3fb02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Teixeira?= Date: Wed, 20 Apr 2016 09:52:15 -0300 Subject: [PATCH 0051/1079] Preparing sv localization file for future translations --- src/Locale/sv/Users.mo | Bin 12917 -> 12834 bytes src/Locale/sv/Users.po | 198 +++++++++++++++++++++++++---------------- 2 files changed, 121 insertions(+), 77 deletions(-) diff --git a/src/Locale/sv/Users.mo b/src/Locale/sv/Users.mo index 07925b46d0f1ae067550b7a334e34f0b255ca2b6..aafbf4428eee29c8ffcbcaf0581cf4738ff1e766 100644 GIT binary patch delta 3287 zcmY+^dr(wm7{~D!L@v9Fih`g>ZsLt(X%Ub>M7*Gxf}>(crML+yfuM*NAY02zUQ*Me zW{R4QF_Y7z4o+Ss`==(gQYX_XE2SA79V^Z0W*2Mv{&r7)bY`FZyyxtm_kG^yeb4!| zVt 6^d5tKY%@{U$DoQe1LLsD zKKG*rUWcK$8I|Z(oQW;yV|?>B4aP9#^gbHvFd2{HqxdCipvbPllDkm}PeRS~Y1GVS zBCBC)Pzg1mCbSBb$a)-$TaeP5uh6f?bsCIeen55b4=PhvH)e~ms5Q^FeG-#6UxfY9 zLfv-~i}4H&$9T$Eilvx?hcE$eBOenQNBtkB5l`LpLk_Cr$*396$244n1MnC=g6*ip z9qdfq*9}#XRQr4gQdBb$1C>GbSA&CaC91NAyHkHRjc>W20Ydnfo`Muq$74{txEz&O z6ZXR$s3m(JRoe5Y0WYKecN3LR7@cS-J7I4ej6-oUYV&UN)6gz$L+&vbPy^gT%{-bN zsD$!RiIgEfnFb_hvjMfn2T)6J5Gjs1j{4tubmJ{d#Yj3)0$HdE`WMj9%$rbaz8|&L z2T_@ywY`HXWenM}ye0{GGEF*qumClITI8>0HL{J&KKuMAD&Y&Lfo~%J_nRMSXb(g% zP0b($b)Jpd-DT*)8CZbTsI_|=mFPFf$Na^Yo}L8iKMkj&Hsiaf#5(e4ElCop-vJn@ z=RcK(W}b!QVuqo1br~)WF=jccl=oRc{ochLoM9@ab3PVT@s7!sRrKv_e&lakKJ*fX3!W2A(>hKn7Y3`zC7|OFt z(?p KHDI)-A7eV&J PB}~PuI1nBEgJz&g_zd!7 znPyZ1+pq)=U?Kj2n&5EOF%5U3#yN``_o| 9_hqY}A|kr>H_(9;ludZnkK1}d g5E@g)q$>!>CA4(Y;l;5{3L9%Qx5U}SYoDL#hH$dl5jDU))WA;a zu7n1mDpHPm%$A@^xB>MF-iICW2x`rbp(=L ZTFls_V>C|0UW{+1 z(_qr33H5xoqHZ{WD&ZCEjMwl9yo=;ya+rqJcn)ew8Zir7(1#bX3^RF4DdCM6g{`P1 zJB)>z@i7_^_#vv}Pm%p-{=^Vek}BP1LPtU1o5WEaZL>x=x>YsM8cjS-=uoXj5etZM z#3Vwa>?U+*x2y@Yf(tj9_IUfe8E4t;*D%L!i 919d0KyYaJ7aCZZFu&>H8QlC+YRjyj@|(B3a5GKe|W31@P@4YY<5 zI$jDASbsHNu+Lkp5LaUQ3eLvZSBh*G;S#$&0_WRpvC}GY#mDWXHJfk~T0R|%twvX3 z&K6oz0_VZ6ji7~JM!ZT?652@r9WT<@LF}^5xe~KB(b9h0N@#yCCuR`!gkC-Ds=%?H z?{$Q>(p)PkI==9^!1drJtf4)P=u3 ~(u{a F;xd`06;9D@I%Zb;{Db&zE_3I}suff{%T-j6FV0^2be zH=*v|hcS2%?f5B1FuplWLj(SVOx|3=zIYWi6ZNValCTfvT8^`>SE7p5fQh)mI^TpE zcsq8--Ka$0!g=^1x*6ZZ(JNz_MjVF$Ov5j6I9^62&_6z0awjTbH)^JJsF^KBR>QQQ z5^6_HXbUQl9XJv9Af-2dVnB_*X)uPli|U|PLO9cb_#o$lQENWYvIbK)Z^a?F7j@rp zoQgl-7|fuIGqDy6@H6a>w~>#DPo(~XXk<_~{ZNkTcs^>zYcK~pFawWaCSF4&p2W`7 zeQBtQjIz!rAk{T )|%(74V84bX>w=_x2cbzF(s#f_-M+A$s9 zLoHbs>i_3aCBB0ixH~uN{|TtXT&N{2!c?4#MHmRs&@MiL+N~FmKFnRzKz-SPsz4!X zATKJRHsmj6H xf4}^cQFc2qSpKj zD)WCVlgLsfEk>5vOh%qiGY7MA5o!WEkXuYAvaL*)b$$_*@LgowfJtClx?vz{FXW+S zP-&feP`kVhV{rqPU 5JkG*))TaCuHBK&n){;!d(DOf?hAQwR zYUcBi Ex|@C#!gfMe_=Mp@QA2F1*n9}Q1_Rk5}bvq zR5fbm&8UP{q4q>uI`vm(-*Z8wJcr8sDyoD3P&dSqMHVLFP#kMnhpOOa n zbUcgW(Z%{{g3B-mzeSDHEkJJ?I1#m3(ol~_8EUuAMwQry+8gVUoXqE_jxM7rU}pm; zkwMrKOHfZkIqKD3gBoYKb-fMMUtli{k~HU0uhvMu9!4iR(1S{>6&cICjY-&rYy)!z zHRD*`tGb?yJ#YkSsYWARn@WtpHOT6jR%EpU<^vidxzL3?q9%$u%XCzSWvB$^pb}e+ zs?0&u<8~ZX$_uDh@=c7y2sVh;-iE4RGO9vO)Px_!JjOT8G@M-6htYTzN8s-miz(Du z?}JQK<`YmI)u9G%M N&lQx*?V n%$Qh zp0N$}RM=4+ry?8HOu=rrhR7pcC3KX8zKwYr)z8+T%a-6>N^2Z3iO`{1l@UIooOqnj zC_4!q+AS}HTH%Fzg7zcUc?(uq?G7xk+T!`(ew%&3W?GHJ3PRgSTWB<~J$TNRk^dsC zxrB~*qJfw}=(YG7p>@_#L98Tt5&mF7%(RqNS~?aJ&k%YBrV`qU3xe;*q@}+^tBBC? zT$s@MtEuJH@ka1QOtNbotqGy?@as*@W@5Q@trVA7ZLuRbI@X@Ji&ib+AhdismIb}B z$pt}L(?aLruT7wZUroG1)DYT8_l{?2Y$IL|eiECU|1vG@$1Q~R_gZ2O(M0GK#I6e+ z8~NTqXe)VxadGzXb)oCwO}L2mEMhP*mUxqBC-exeC#s2wgpO52J+Y8z>-5Ie*diON zyzctoT6_P_llI?w#N}qYMmk)1g)ZkXrz?2$f#fOouH@!%#p$$FxSRah(|zuSrh2!( z(O2l0QSbBCIi`Ja$W!gB^;I`GMlIEq5|6jm>vz}JH2NEBeeRm-hMcDA&Xm++F#|$l dmR40YE^Y8TeAOOzgTr0t_cr@Gf5|L~`X9UlUhDt> diff --git a/src/Locale/sv/Users.po b/src/Locale/sv/Users.po index b13668079..4f5da4c53 100644 --- a/src/Locale/sv/Users.po +++ b/src/Locale/sv/Users.po @@ -4,9 +4,9 @@ msgid "" msgstr "" "Project-Id-Version: Users\n" -"POT-Creation-Date: 2016-02-18 14:10+0100\n" -"PO-Revision-Date: 2016-02-18 14:24+0100\n" -"Last-Translator: Ulrik Södergren \n" +"POT-Creation-Date: 2016-04-20 09:50-0300\n" +"PO-Revision-Date: 2016-04-20 09:50-0300\n" +"Last-Translator: André Teixeira \n" "Language-Team: CakeDC \n" "Language: sv\n" "MIME-Version: 1.0\n" @@ -15,17 +15,41 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.7\n" -#: Auth/SimpleRbacAuthorize.php:133 +#: Auth/ApiKeyAuthenticate.php:55 +msgid "Type {0} is not valid" +msgstr "" + +#: Auth/ApiKeyAuthenticate.php:59 +msgid "Type {0} has no associated callable" +msgstr "" + +#: Auth/ApiKeyAuthenticate.php:68 +msgid "SSL is required for ApiKey Authentication" +msgstr "" + +#: Auth/SimpleRbacAuthorize.php:141 msgid "" "Missing configuration file: \"config/{0}.php\". Using default permissions" msgstr "" "Saknad konfigurationsfil: \"config / {0} .php\". Använder " "standardbehörigheter" -#: Auth/SocialAuthenticate.php:153 +#: Auth/SocialAuthenticate.php:410 msgid "Provider cannot be empty" msgstr "Leverantör kan inte vara tomt" +#: Auth/Rules/AbstractRule.php:77 +msgid "" +"Table alias is empty, please define a table alias, we could not extract a " +"default table from the request" +msgstr "" + +#: Auth/Rules/Owner.php:67;70 +msgid "" +"Missing column {0} in table {1} while checking ownership permissions for " +"user {2}" +msgstr "" + #: Controller/SocialAccountsController.php:52 msgid "Account validated successfully" msgstr "Kontot har validerats" @@ -38,8 +62,8 @@ msgstr "Konto kunde inte valideras" msgid "Invalid token and/or social account" msgstr "Ogiltig token och / eller social konto" -#: Controller/SocialAccountsController.php:59 -msgid "SocialAccount already active" +#: Controller/SocialAccountsController.php:59;86 +msgid "Social Account already active" msgstr "SocialAccount redan aktivt" #: Controller/SocialAccountsController.php:61 @@ -58,10 +82,6 @@ msgstr "Epsot kunde inte skickas" msgid "Invalid account" msgstr "Ogiltigt konto" -#: Controller/SocialAccountsController.php:86 -msgid "Social Account already active" -msgstr "SocialAccount redan aktivt" - #: Controller/SocialAccountsController.php:88 msgid "Email could not be resent" msgstr "E-post kan inte skickas om" @@ -76,15 +96,15 @@ msgid "You can't enable email validation workflow if use_email is false" msgstr "" "Du kan inte aktivera epost-validering arbetsflöde om use_email är falskt" -#: Controller/Traits/LoginTrait.php:92 +#: Controller/Traits/LoginTrait.php:95 msgid "Issues trying to log in with your social account" msgstr "Problem vid inloggning med ditt sociala konto" -#: Controller/Traits/LoginTrait.php:96 Template/Users/social_email.ctp:16 +#: Controller/Traits/LoginTrait.php:100 Template/Users/social_email.ctp:16 msgid "Please enter your email" msgstr "Lägg till din epost" -#: Controller/Traits/LoginTrait.php:102 +#: Controller/Traits/LoginTrait.php:106 msgid "" "Your user has not been validated yet. Please check your inbox for " "instructions" @@ -92,7 +112,7 @@ msgstr "" "Ditt konto har inte verifierats ännu. Vänligen kontrollera din inbox för " "instruktioner" -#: Controller/Traits/LoginTrait.php:104 +#: Controller/Traits/LoginTrait.php:108 msgid "" "Your social account has not been validated yet. Please check your inbox for " "instructions" @@ -100,45 +120,57 @@ msgstr "" "Din sociala hänsyn har inte validerats ännu. Vänligen kontrollera din inbox " "för instruktioner" -#: Controller/Traits/LoginTrait.php:177 +#: Controller/Traits/LoginTrait.php:157 Controller/Traits/RegisterTrait.php:73 +msgid "Invalid reCaptcha" +msgstr "" + +#: Controller/Traits/LoginTrait.php:165 +msgid "You are already logged in" +msgstr "" + +#: Controller/Traits/LoginTrait.php:209 msgid "Username or password is incorrect" msgstr "Användarnamn eller lösenord är felaktigt" -#: Controller/Traits/LoginTrait.php:198 +#: Controller/Traits/LoginTrait.php:230 msgid "You've successfully logged out" msgstr "Du har loggats ut" -#: Controller/Traits/PasswordManagementTrait.php:53 -msgid "Password has been changed successfully" -msgstr "Lösenordsbytet lyckades!" - -#: Controller/Traits/PasswordManagementTrait.php:56;63 +#: Controller/Traits/PasswordManagementTrait.php:53;60;68 msgid "Password could not be changed" msgstr "Lösenordet kunde inte ändras" -#: Controller/Traits/PasswordManagementTrait.php:59 +#: Controller/Traits/PasswordManagementTrait.php:57 +msgid "Password has been changed successfully" +msgstr "Lösenordsbytet lyckades!" + +#: Controller/Traits/PasswordManagementTrait.php:64 #: Controller/Traits/ProfileTrait.php:49 msgid "User was not found" msgstr "Användaren hittades inte." -#: Controller/Traits/PasswordManagementTrait.php:61 +#: Controller/Traits/PasswordManagementTrait.php:66 msgid "The current password does not match" msgstr "Den nuvarande lösenord matchar inte" -#: Controller/Traits/PasswordManagementTrait.php:102 +#: Controller/Traits/PasswordManagementTrait.php:108 msgid "Please check your email to continue with password reset process" msgstr "Kontrollera din epost för att fortsätta lösenordsåterställningen" -#: Controller/Traits/PasswordManagementTrait.php:105 Shell/UsersShell.php:266 +#: Controller/Traits/PasswordManagementTrait.php:111 Shell/UsersShell.php:266 msgid "The password token could not be generated. Please try again" msgstr "Lösenordstoken kunde inte skapas. Var god försök igen" -#: Controller/Traits/PasswordManagementTrait.php:110 +#: Controller/Traits/PasswordManagementTrait.php:116 #: Controller/Traits/UserValidationTrait.php:98 msgid "User {0} was not found" msgstr "Användaren {0} hittades inte" -#: Controller/Traits/PasswordManagementTrait.php:112 +#: Controller/Traits/PasswordManagementTrait.php:118 +msgid "The user is not active" +msgstr "" + +#: Controller/Traits/PasswordManagementTrait.php:120 #: Controller/Traits/UserValidationTrait.php:94;102 msgid "Token could not be reset" msgstr "Token kunde inte återställas" @@ -147,19 +179,15 @@ msgstr "Token kunde inte återställas" msgid "Not authorized, please login first" msgstr "Inte auktoriserad, vänligen logga in först" -#: Controller/Traits/RegisterTrait.php:74 Controller/Traits/SocialTrait.php:38 -msgid "The reCaptcha could not be validated" -msgstr "reCAPTCHA angavs inte korrekt" - -#: Controller/Traits/RegisterTrait.php:80 +#: Controller/Traits/RegisterTrait.php:79 msgid "The user could not be saved" msgstr "Användaren kunde inte sparas" -#: Controller/Traits/RegisterTrait.php:113 +#: Controller/Traits/RegisterTrait.php:111 msgid "You have registered successfully, please log in" msgstr "Din registrering är klar, vänligen logga in" -#: Controller/Traits/RegisterTrait.php:115 +#: Controller/Traits/RegisterTrait.php:113 msgid "Please validate your account before log in" msgstr "Vänligen validera ditt konto innan inloggning" @@ -179,6 +207,10 @@ msgstr "{0} har tagits bort" msgid "The {0} could not be deleted" msgstr "{0} kunde inte tas bort" +#: Controller/Traits/SocialTrait.php:39 +msgid "The reCaptcha could not be validated" +msgstr "reCAPTCHA angavs inte korrekt" + #: Controller/Traits/UserValidationTrait.php:42 msgid "User account validated successfully" msgstr "Användarkontot har validerats" @@ -219,51 +251,56 @@ msgstr "Token har återställts. Kontrollera din e-post." msgid "User {0} is already active" msgstr "Användaren {0} är redan aktiv" -#: Model/Behavior/PasswordBehavior.php:42 +#: Email/EmailSender.php:39 +msgid "Your account validation link" +msgstr "Din länk för att validera kontot" + +#: Mailer/UsersMailer.php:55 +msgid "{0}Your reset password link" +msgstr "{0} Din länk för att återställa lösenord" + +#: Mailer/UsersMailer.php:78 +msgid "{0}Your social account validation link" +msgstr "{0} Din sociala konto svalideringslänk" + +#: Model/Behavior/PasswordBehavior.php:56 msgid "Reference cannot be null" msgstr "Referens får inte vara null" -#: Model/Behavior/PasswordBehavior.php:47 +#: Model/Behavior/PasswordBehavior.php:61 msgid "Token expiration cannot be empty" msgstr "Giltighet för token kan inte vara tom" -#: Model/Behavior/PasswordBehavior.php:53 +#: Model/Behavior/PasswordBehavior.php:67;115 msgid "User not found" msgstr "Användaren hittades inte" -#: Model/Behavior/PasswordBehavior.php:95 -msgid "{0}Your reset password link" -msgstr "{0} Din länk för att återställa lösenord" +#: Model/Behavior/PasswordBehavior.php:71 +#: Model/Behavior/RegisterBehavior.php:110 +msgid "User account already validated" +msgstr "Kontot är redan aktiverat!" + +#: Model/Behavior/PasswordBehavior.php:78 +msgid "User not active" +msgstr "" -#: Model/Behavior/PasswordBehavior.php:119 +#: Model/Behavior/PasswordBehavior.php:120 msgid "The old password does not match" msgstr "Det gamla lösenordet stämmer inte" -#: Model/Behavior/RegisterBehavior.php:65 -msgid "Your account validation link" -msgstr "Din länk för att validera kontot" - -#: Model/Behavior/RegisterBehavior.php:86 +#: Model/Behavior/RegisterBehavior.php:88 msgid "User not found for the given token and email." msgstr "Hittade ingen användare som matchar angivet token eller epost" -#: Model/Behavior/RegisterBehavior.php:89 +#: Model/Behavior/RegisterBehavior.php:91 msgid "Token has already expired user with no token" msgstr "Token har redan gått ut eller användare utan token" -#: Model/Behavior/RegisterBehavior.php:108 -msgid "User account already validated" -msgstr "Kontot är redan aktiverat!" - -#: Model/Behavior/SocialAccountBehavior.php:82 -msgid "{0}Your social account validation link" -msgstr "{0} Din sociala konto svalideringslänk" - -#: Model/Behavior/SocialAccountBehavior.php:109;136 +#: Model/Behavior/SocialAccountBehavior.php:101;128 msgid "Account already validated" msgstr "Kontot är redan aktiverat!" -#: Model/Behavior/SocialAccountBehavior.php:112;139 +#: Model/Behavior/SocialAccountBehavior.php:104;131 msgid "Account not found for the given token and email." msgstr "Kontot hittades inte för givet token och e-post." @@ -271,19 +308,19 @@ msgstr "Kontot hittades inte för givet token och e-post." msgid "Unable to login user with reference {0}" msgstr "Det går inte att logga in användaren med refrens {0}" -#: Model/Behavior/SocialBehavior.php:98 +#: Model/Behavior/SocialBehavior.php:97 msgid "Email not present" msgstr "Epost saknas" -#: Model/Table/UsersTable.php:80 +#: Model/Table/UsersTable.php:81 msgid "Your password does not match your confirm password. Please try again" msgstr "Dina lösenord matchar inte. Vänligen försök igen." -#: Model/Table/UsersTable.php:158 +#: Model/Table/UsersTable.php:159 msgid "Username already exists" msgstr "Användarnamnet är upptaget" -#: Model/Table/UsersTable.php:164 +#: Model/Table/UsersTable.php:165 msgid "Email already exists" msgstr "E-postadressen finns redan" @@ -415,14 +452,14 @@ msgstr "" msgid "The user was not found." msgstr "Användaren hittades inte." -#: Shell/UsersShell.php:327 -msgid "The user {0} was deleted successfully" -msgstr "Användaren {0} har tagits bort" - #: Shell/UsersShell.php:329 msgid "The user {0} was not deleted. Please try again" msgstr "Användaren {0} raderades ej. Var god försök igen" +#: Shell/UsersShell.php:331 +msgid "The user {0} was deleted successfully" +msgstr "Användaren {0} har tagits bort" + #: Template/Email/html/reset_password.ctp:21 #: Template/Email/html/social_account_validation.ctp:14 #: Template/Email/html/validation.ctp:21 @@ -498,15 +535,15 @@ msgstr "Lista användare" msgid "List Accounts" msgstr "Lista konton" -#: Template/Users/add.ctp:22 Template/Users/register.ctp:15 +#: Template/Users/add.ctp:22 Template/Users/register.ctp:16 msgid "Add User" msgstr "Ny användare" #: Template/Users/add.ctp:32 Template/Users/change_password.ctp:17 -#: Template/Users/edit.ctp:42 Template/Users/register.ctp:27 +#: Template/Users/edit.ctp:42 Template/Users/register.ctp:32 #: Template/Users/request_reset_password.ctp:8 #: Template/Users/resend_token_validation.ctp:20 -#: Template/Users/social_email.ctp:20 +#: Template/Users/social_email.ctp:19 msgid "Submit" msgstr "Skicka" @@ -560,15 +597,15 @@ msgstr "nästa" msgid "Please enter your username and password" msgstr "Ange ditt användarnamn och lösenord" -#: Template/Users/login.ctp:26 +#: Template/Users/login.ctp:29 msgid "Remember me" msgstr "Kom ihåg mig" -#: Template/Users/login.ctp:55 +#: Template/Users/login.ctp:48 msgid "Login" msgstr "Loggin" -#: Template/Users/profile.ctp:18 View/Helper/UserHelper.php:63 +#: Template/Users/profile.ctp:18 View/Helper/UserHelper.php:51 msgid "{0} {1}" msgstr "{0} {1}" @@ -604,7 +641,7 @@ msgstr "Länk" msgid "Link to {0}" msgstr "Länk till {0}" -#: Template/Users/register.ctp:23 +#: Template/Users/register.ctp:25 msgid "Accept TOS conditions?" msgstr "Jag accepterar villkoren" @@ -688,22 +725,29 @@ msgstr "Referens" msgid "Data" msgstr "Data" -#: View/Helper/UserHelper.php:62 +#: View/Helper/UserHelper.php:49 msgid "fa fa-{0}" msgstr "fa fa-{0}" -#: View/Helper/UserHelper.php:64 +#: View/Helper/UserHelper.php:52 msgid "btn btn-social btn-{0} " msgstr "btn btn-social btn-{0} " -#: View/Helper/UserHelper.php:77 +#: View/Helper/UserHelper.php:90 msgid "Logout" msgstr "Logga ut" -#: View/Helper/UserHelper.php:115 +#: View/Helper/UserHelper.php:139 msgid "Welcome, {0}" msgstr "Välkommen, {0}" +#: View/Helper/UserHelper.php:161 +msgid "reCaptcha is not configured! Please configure Users.reCaptcha.key" +msgstr "" + +#~ msgid "SocialAccount already active" +#~ msgstr "SocialAccount redan aktivt" + #~ msgid "There was an error associating your social network account" #~ msgstr "Det gick inte att associera ditt sociala nätverkskonto" From 95744169529c26670324451afcc450f6e677fd9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20M=2E=20Gonz=C3=A1lez=20Mart=C3=ADn?= Date: Wed, 20 Apr 2016 14:50:04 +0100 Subject: [PATCH 0052/1079] Update Home.md --- Docs/Home.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Docs/Home.md b/Docs/Home.md index 4250dea39..fc5bc4658 100644 --- a/Docs/Home.md +++ b/Docs/Home.md @@ -28,3 +28,4 @@ Documentation * [UserHelper](Documentation/UserHelper.md) * [Events](Documentation/Events.md) * [Extending the Plugin](Documentation/Extending-the-Plugin.md) +* [Translations](Documentation/Translations.md) From 5d7ec8e337cede1ee0daab62b5c2713f423fb74d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20M=2E=20Gonz=C3=A1lez=20Mart=C3=ADn?= Date: Wed, 20 Apr 2016 14:59:42 +0100 Subject: [PATCH 0053/1079] Create Translations.md --- Docs/Documentation/Translations.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Docs/Documentation/Translations.md diff --git a/Docs/Documentation/Translations.md b/Docs/Documentation/Translations.md new file mode 100644 index 000000000..aad67deb0 --- /dev/null +++ b/Docs/Documentation/Translations.md @@ -0,0 +1,9 @@ +Translations +============ + +The Plugin is translated into several languages: + +* Swedish (sv) by @digitalfotografen +* Spanish (es) by @florenciohernandez +* Brazillian Portuguese (pt_BR) by @andtxr + From 5e3107d4fe1097b4d13f354f589ea163f1daee1c Mon Sep 17 00:00:00 2001 From: Maicon Amarante Date: Mon, 25 Apr 2016 09:23:58 -0300 Subject: [PATCH 0054/1079] Enable Stateless Authentication following http://book.cakephp.org/3.0/en/controllers/components/authentication.html#creating-stateless-authentication-systems --- src/Auth/ApiKeyAuthenticate.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/Auth/ApiKeyAuthenticate.php b/src/Auth/ApiKeyAuthenticate.php index e667d29bb..51d279ac8 100644 --- a/src/Auth/ApiKeyAuthenticate.php +++ b/src/Auth/ApiKeyAuthenticate.php @@ -49,6 +49,24 @@ class ApiKeyAuthenticate extends BaseAuthenticate * @return mixed */ public function authenticate(Request $request, Response $response) + { + return $this->getUser($request); + } + + /** + * Stateless Authentication System + * http://book.cakephp.org/3.0/en/controllers/components/authentication.html#creating-stateless-authentication-systems + * + * Config: + * $this->Auth->config('storage', 'Memory'); + * $this->Auth->config('unauthorizedRedirect', 'false'); + * $this->Auth->config('checkAuthIn', 'Controller.initialize'); + * $this->Auth->config('loginAction', false); + * + * @param Request $request Cake request object. + * @return mixed + */ + public function getUser(Request $request) { $type = $this->config('type'); if (!in_array($type, $this->types)) { From 636a7658398d10f53c06537083f1151d3148e3c2 Mon Sep 17 00:00:00 2001 From: Maicon Amarante Date: Mon, 25 Apr 2016 09:24:20 -0300 Subject: [PATCH 0055/1079] How to enable Stateless Authentication --- Docs/Documentation/ApiKeyAuthenticate.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Docs/Documentation/ApiKeyAuthenticate.md b/Docs/Documentation/ApiKeyAuthenticate.md index 9befe32b2..80f331c4c 100644 --- a/Docs/Documentation/ApiKeyAuthenticate.md +++ b/Docs/Documentation/ApiKeyAuthenticate.md @@ -27,3 +27,11 @@ $config['Auth']['authenticate']['CakeDC/Users.ApiKey'] = [ ]; ``` +In order to allow stateless authentication, enable these configuration: + +```php + $this->Auth->config('storage', 'Memory'); + $this->Auth->config('unauthorizedRedirect', 'false'); + $this->Auth->config('checkAuthIn', 'Controller.initialize'); + $this->Auth->config('loginAction', false); +``` \ No newline at end of file From 88dafece53f85e905f69c1c5978c44c609818902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20P=C3=A9rez?= Date: Mon, 25 Apr 2016 16:34:30 +0100 Subject: [PATCH 0056/1079] Fix validation string to be able to have translations --- src/Locale/Users.pot | 3 +++ src/Locale/es/Users.mo | Bin 9650 -> 9713 bytes src/Locale/es/Users.po | 6 +++++- src/Model/Behavior/RegisterBehavior.php | 2 +- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Locale/Users.pot b/src/Locale/Users.pot index 3efabc9f5..8c48fb11f 100644 --- a/src/Locale/Users.pot +++ b/src/Locale/Users.pot @@ -532,3 +532,6 @@ msgstr "" msgid "Welcome, {0}" msgstr "" +#: Model/Behavior/RegisterBehavior.php:147 +msgid "This field is required" +msgstr "" diff --git a/src/Locale/es/Users.mo b/src/Locale/es/Users.mo index 421ce4ba1bf00309b9e9566221553c1181222840..a6b1929d8213292857f5d16805d83bd9bb6b945a 100644 GIT binary patch delta 2391 zcmX}te@s ;#^1x<)@f}6tHEP5Fv#zB_osz+)`1l7&zG7TIE)2 zWjC6-mZRFJ=3IHJ85>(pa&EM#fAn)J`$0dp+Q{`siZy$GxTnte-q&-Ud(QKGpYM6j z z@0f>)H<;asg}4ycqSq{JwKRNmY{2E%;$AR_x*_cP0&3u6n1 `KXH3V;%Nj z8;)Z&UPoP5O_oZe4NI{P3-L7!ub^?3h9 @Z(CX#xe}xO*o2~ zcmh@8Db&PY;WGRS8Pakov-VgCYM~A3)L#>}(Ba2+ROv=gn`R7a@H95#KbV6}8L@$a zsFFW}N@NVRNhfd}UUbis7sV=EfE3k=PzkSHME!MR6CK6ajhZlms>pd%slG&&UdvO0 zUe{veE8B!r+q$p>L&)4VhDz{#RAT2* MqnC>A>MQDuvqA9#*Y|g;QxL(>17pH)0ibqn_b0 z)WDO-y>`~^{|3q3uA!b~8t;^zaTe;47Ge=rpuTTMRcgEI{#bw5o~5A#4x!$HH&GM5 zgX|lNq6U~km3SI;-Pfr5zC$JYCu+s%)SH~F1eMS|sQ!mg pyOPGY!* z#swPnn4A||X%n)qY&Yu0r%=1~2rAL{P?h@J?f(T;iR-A%x6p}Qmx|ilm8gYn#s(Zj zRpg9A{q;pISCNC&qcZD2J;M>y#IIl_o^a29K$Uh5^|ojbei|$V9n8b!SdaH&52_;X zqAE6ls?3%AaO^ek@KWDK$4b;dt*8ogV>J%D=O3aH{S>qDH`Iy~D2w`2(7|H#U=wOj zv|u}SVg*j3gR@mMwBod7X7^($&ObZUCOU|k;6+@4hf&Y?Oyo#nPTWxBgT#XHR?f8n zbvzMc{{M%X`v_hCAfcb`Mj}A85t^@?*hM%*Goi;lNNglj5I>=c>DWdD=UcIlKIq|> z!v<(15LHA9p+k>L&-h_tHKE7YL1;0pL~rDIZ%+2(wC*Fi2-R6f3$Y_|+FRxe(dsAm zN3MG7a(B}zCv-eOl+Cwdb$u+d*;na%lpgKpJ&{AcGXHj3oy30!Z_)pUe(N8JeDBMO z+Z(y+%Zu9?%}$!}X7&a{PIoY{v&*5;AJ{t(><@HBuVtL`cvs!-RIFK7SstBU@<&qE c-JyK}XGiC*J$+6fc4eSH*wq)E@L%!#3(W2B=>Px# delta 2329 zcmX}te@xVM9LMqZ@$>E!m0uzOar_WCQx1XxVdvr2hIK9mmPCeVL@7$7rn0EMtz>PM zHFhieLuyX{09Ok;b91#NTRPjC&P})6Sn5_|v7FjkHrF3LUw7a7?%wzKe82boem?Kd z`}6t2-RM_Q=jWWXkBno4C?;l8&5q%bOujg3{APSC$k$SA#6pbXgE)Y7c)&gX8ujQE zd;n*$6z}0;ELdQcfz{|WbF7wzj|)v$g=^g#wxJ#vc6Cr4e~3%)Fs9)os>3gkkDYR_ zpGEb14%6`x=HXS;1m>}T@hxqkSvD7nU2Cy`^EM=Ddj>T?Kc?UyZp9%~f|u|yypEc2 zWtLe5Mo|6qqY@cKB|L_F>>yu$# r;!rb->#lT$qM+fgzGt|iq&BR zyRjP&<7&K(x-UqUN~9fYu@9^919Vo NR=#|6LpY{4`C2P_%trV zG0ewLQ6)Zw8u$lXj&n#?mPMJh$4XEWZONwo8gMNa$}oy5-4JTijAJXF#16cLMHtRW zcGQC^`94%4 S%P|4JGWE@+^gs7g$tN^}yn>8_y? zyXl(FG-+B8sj`J}6|P6dve!_F9YQ5EiR$+|R3$H JTDDpZWx8_oE-hc!oS=2=G9#O6?mI*X};Ixfd%jG)$T z1l94!$g}pDd;K($vt2>0;cuw5y@Ogxy<0)>qkeBhRjSps!@b^*B;eQ}4Xx1|r~%(W z_KUrb>R QB-1YqXryD4R92d=n3q>X;kU`lv$fFAJtC rmDYFv$B_k2Gp!9%D$@i}Uy=iTcUF~IpPOvOb^Uwa`3 zH(@!} YXK{OMz}MjGqos{J96Ra@m2IW9h4}B_?fL&$Nvk(@*H_?qCFb*& kdUnKv{$ITD%G~p*-ug!Z^-V2}P4PdL-toupm)%SK7w \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -538,3 +538,7 @@ msgstr "Salir" #: View/Helper/UserHelper.php:109 msgid "Welcome, {0}" msgstr "Bienvenido, {0}" + +#: Model/Behavior/RegisterBehavior.php:147 +msgid "This field is required" +msgstr "Este campo es requerido" diff --git a/src/Model/Behavior/RegisterBehavior.php b/src/Model/Behavior/RegisterBehavior.php index 36bc66688..f42f43aad 100644 --- a/src/Model/Behavior/RegisterBehavior.php +++ b/src/Model/Behavior/RegisterBehavior.php @@ -144,7 +144,7 @@ protected function _emailValidator(Validator $validator, $validateEmail) $this->validateEmail = $validateEmail; $validator ->add('email', 'valid', ['rule' => 'email']) - ->notEmpty('email', 'This field is required', function ($context) { + ->notEmpty('email', __d('Users', 'This field is required'), function ($context) { return $this->validateEmail; }); return $validator; From 19508350e0df72f7307d24eeadaeb38645bad541 Mon Sep 17 00:00:00 2001 From: Alejandro Ibarra Date: Fri, 29 Apr 2016 09:28:57 -0500 Subject: [PATCH 0057/1079] Improve coverage --- tests/Fixture/UsersFixture.php | 16 +++--- .../Traits/PasswordManagementTraitTest.php | 50 +++++++++++++++++++ 2 files changed, 58 insertions(+), 8 deletions(-) diff --git a/tests/Fixture/UsersFixture.php b/tests/Fixture/UsersFixture.php index 4521f5270..1577a0783 100644 --- a/tests/Fixture/UsersFixture.php +++ b/tests/Fixture/UsersFixture.php @@ -151,19 +151,19 @@ class UsersFixture extends TestFixture ], [ 'id' => '00000000-0000-0000-0000-000000000006', - 'username' => 'Lorem ipsum dolor sit amet', - 'email' => 'Lorem ipsum dolor sit amet', - 'password' => 'Lorem ipsum dolor sit amet', - 'first_name' => 'Lorem ipsum dolor sit amet', - 'last_name' => 'Lorem ipsum dolor sit amet', - 'token' => 'Lorem ipsum dolor sit amet', + 'username' => 'user-6', + 'email' => '6@example.com', + 'password' => '$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC', + 'first_name' => 'first-user-6', + 'last_name' => 'firts name 6', + 'token' => 'token-6', 'token_expires' => '2015-06-24 17:33:54', - 'api_token' => 'Lorem ipsum dolor sit amet', + 'api_token' => '', 'activation_date' => '2015-06-24 17:33:54', 'tos_date' => '2015-06-24 17:33:54', 'active' => true, 'is_superuser' => false, - 'role' => 'Lorem ipsum dolor sit amet', + 'role' => 'user', 'created' => '2015-06-24 17:33:54', 'modified' => '2015-06-24 17:33:54' ], diff --git a/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php b/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php index bbd83d76c..b7c97c036 100644 --- a/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php +++ b/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php @@ -92,6 +92,56 @@ public function testChangePasswordWithError() $this->Trait->changePassword(); } + /** + * test + * + * @return void + */ + public function testChangePasswordWithSamePassword() + { + $this->assertEquals('$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC', + $this->table->get('00000000-0000-0000-0000-000000000006')->password); + $this->_mockRequestPost(); + $this->_mockAuthLoggedIn(['id' => '00000000-0000-0000-0000-000000000006', 'password' => '$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC']); + $this->_mockFlash(); + $this->Trait->request->expects($this->once()) + ->method('data') + ->will($this->returnValue([ + 'current_password' => '12345', + 'password' => '12345', + 'password_confirm' => '12345', + ])); + $this->Trait->Flash->expects($this->once()) + ->method('error') + ->with('You cannot use the current password as the new one'); + $this->Trait->changePassword(); + } + + /** + * test + * + * @return void + */ + public function testChangePasswordWithWrongCurrentPassword() + { + $this->assertEquals('$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC', + $this->table->get('00000000-0000-0000-0000-000000000006')->password); + $this->_mockRequestPost(); + $this->_mockAuthLoggedIn(['id' => '00000000-0000-0000-0000-000000000006', 'password' => '$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC']); + $this->_mockFlash(); + $this->Trait->request->expects($this->once()) + ->method('data') + ->will($this->returnValue([ + 'current_password' => 'wrong-password', + 'password' => '12345', + 'password_confirm' => '12345', + ])); + $this->Trait->Flash->expects($this->once()) + ->method('error') + ->with('The current password does not match'); + $this->Trait->changePassword(); + } + /** * test * From 17be3984a296103a0a51596424393a9a0d2c9afa Mon Sep 17 00:00:00 2001 From: Alejandro Ibarra Date: Fri, 29 Apr 2016 09:55:46 -0500 Subject: [PATCH 0058/1079] Fix PHP Cs --- .../Traits/PasswordManagementTraitTest.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php b/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php index b7c97c036..523eb2820 100644 --- a/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php +++ b/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php @@ -99,8 +99,10 @@ public function testChangePasswordWithError() */ public function testChangePasswordWithSamePassword() { - $this->assertEquals('$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC', - $this->table->get('00000000-0000-0000-0000-000000000006')->password); + $this->assertEquals( + '$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC', + $this->table->get('00000000-0000-0000-0000-000000000006')->password + ); $this->_mockRequestPost(); $this->_mockAuthLoggedIn(['id' => '00000000-0000-0000-0000-000000000006', 'password' => '$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC']); $this->_mockFlash(); @@ -124,8 +126,10 @@ public function testChangePasswordWithSamePassword() */ public function testChangePasswordWithWrongCurrentPassword() { - $this->assertEquals('$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC', - $this->table->get('00000000-0000-0000-0000-000000000006')->password); + $this->assertEquals( + '$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC', + $this->table->get('00000000-0000-0000-0000-000000000006')->password + ); $this->_mockRequestPost(); $this->_mockAuthLoggedIn(['id' => '00000000-0000-0000-0000-000000000006', 'password' => '$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC']); $this->_mockFlash(); From 5d6ca8a372c49b1bdc592b82cf10f7d0fe8b813a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Wed, 4 May 2016 23:10:28 +0100 Subject: [PATCH 0059/1079] remove deprecated findAllBy --- src/Model/Behavior/PasswordBehavior.php | 2 +- tests/TestCase/Model/Behavior/PasswordBehaviorTest.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Model/Behavior/PasswordBehavior.php b/src/Model/Behavior/PasswordBehavior.php index 726927875..b5a17ab78 100644 --- a/src/Model/Behavior/PasswordBehavior.php +++ b/src/Model/Behavior/PasswordBehavior.php @@ -95,7 +95,7 @@ public function resetToken($reference, array $options = []) */ protected function _getUser($reference) { - return $this->_table->findAllByUsernameOrEmail($reference, $reference)->first(); + return $this->_table->findByUsernameOrEmail($reference, $reference)->first(); } /** diff --git a/tests/TestCase/Model/Behavior/PasswordBehaviorTest.php b/tests/TestCase/Model/Behavior/PasswordBehaviorTest.php index 18b4c3290..c864aa211 100644 --- a/tests/TestCase/Model/Behavior/PasswordBehaviorTest.php +++ b/tests/TestCase/Model/Behavior/PasswordBehaviorTest.php @@ -69,7 +69,7 @@ public function tearDown() */ public function testResetToken() { - $user = $this->table->findAllByUsername('user-1')->first(); + $user = $this->table->findByUsername('user-1')->first(); $token = $user->token; $this->Behavior->Email->expects($this->never()) ->method('sendResetPasswordEmail') @@ -89,7 +89,7 @@ public function testResetToken() */ public function testResetTokenSendEmail() { - $user = $this->table->findAllByUsername('user-1')->first(); + $user = $this->table->findByUsername('user-1')->first(); $token = $user->token; $tokenExpires = $user->token_expires; $this->Behavior->Email->expects($this->once()) @@ -134,7 +134,7 @@ public function testResetTokenNotExistingUser() */ public function testResetTokenUserAlreadyActive() { - $activeUser = TableRegistry::get('CakeDC/Users.Users')->findAllByUsername('user-4')->first(); + $activeUser = TableRegistry::get('CakeDC/Users.Users')->findByUsername('user-4')->first(); $this->assertTrue($activeUser->active); $this->table = $this->getMockForModel('CakeDC/Users.Users', ['save']); $this->table->expects($this->never()) @@ -154,7 +154,7 @@ public function testResetTokenUserAlreadyActive() */ public function testResetTokenUserNotActive() { - $user = TableRegistry::get('CakeDC/Users.Users')->findAllByUsername('user-1')->first(); + $user = TableRegistry::get('CakeDC/Users.Users')->findByUsername('user-1')->first(); $this->Behavior->resetToken('user-1', [ 'ensureActive' => true, 'expiration' => 3600 From 1413cfc85d2f997a8ba762364239f07842dc3cc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Wed, 4 May 2016 23:28:57 +0100 Subject: [PATCH 0060/1079] improving coverage --- .../TestCase/Model/Behavior/PasswordBehaviorTest.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/TestCase/Model/Behavior/PasswordBehaviorTest.php b/tests/TestCase/Model/Behavior/PasswordBehaviorTest.php index c864aa211..46de31714 100644 --- a/tests/TestCase/Model/Behavior/PasswordBehaviorTest.php +++ b/tests/TestCase/Model/Behavior/PasswordBehaviorTest.php @@ -115,6 +115,17 @@ public function testResetTokenWithNullParams() $this->Behavior->resetToken(null); } + /** + * Test resetTokenNoExpiration + * + * @expectedException InvalidArgumentException + * @expectedExceptionMessage Token expiration cannot be empty + */ + public function testResetTokenNoExpiration() + { + $this->Behavior->resetToken('ref'); + } + /** * Test resetToken * From 566339c9563337baf3f372b2348dd3ccea832ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20P=C3=A9rez?= Date: Fri, 3 Jun 2016 17:46:26 +0100 Subject: [PATCH 0061/1079] refs #303 add custom finder to log in using either username or email --- README.md | 2 +- composer.json | 2 +- config/users.php | 4 ++-- src/Model/Table/UsersTable.php | 24 +++++++++++++++++++++++- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 54bd0a84a..1940faa42 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Another decision made was limiting the plugin dependencies on other packages as Requirements ------------ -* CakePHP 3.2+ +* CakePHP 3.2.9+ * PHP 5.5.9+ Documentation diff --git a/composer.json b/composer.json index 0102ca750..756639eb0 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,7 @@ "source": "https://github.com/CakeDC/users" }, "require": { - "cakephp/cakephp": "~3.2" + "cakephp/cakephp": ">=3.2.9 <4.0.0" }, "require-dev": { "phpunit/phpunit": "*", diff --git a/config/users.php b/config/users.php index 52fa057ee..172c13d41 100644 --- a/config/users.php +++ b/config/users.php @@ -91,7 +91,7 @@ ] ], ], -//default configuration used to auto-load the Auth Component, override to change the way Auth works + //default configuration used to auto-load the Auth Component, override to change the way Auth works 'Auth' => [ 'loginAction' => [ 'plugin' => 'CakeDC/Users', @@ -101,7 +101,7 @@ ], 'authenticate' => [ 'all' => [ - 'finder' => 'active', + 'finder' => 'auth', ], 'CakeDC/Users.ApiKey', 'CakeDC/Users.RememberMe', diff --git a/src/Model/Table/UsersTable.php b/src/Model/Table/UsersTable.php index 7eac44ee3..da54831f5 100644 --- a/src/Model/Table/UsersTable.php +++ b/src/Model/Table/UsersTable.php @@ -178,7 +178,29 @@ public function buildRules(RulesChecker $rules) */ public function findActive(Query $query, array $options = []) { - $query->where(["{$this->_alias}.active" => 1]); + $query->where([$this->aliasField('active') => 1]); + return $query; + } + + /** + * Custom finder to log in users + * + * @param Query $query Query object to modify + * @param array $options Query options + * @return Query + * @throws \BadMethodCallException + */ + public function findAuth(Query $query, array $options = []) + { + $identifier = Hash::get($options, 'username'); + if (empty($identifier)) { + throw new \BadMethodCallException(__d('Users', 'Missing \'username\' in options data')); + } + + $query + ->orWhere([$this->aliasField('email') => $identifier]) + ->find('active', $options); + return $query; } } From f0f5dda9d5bcb02bb7627fbc1b98defafad35e20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20P=C3=A9rez?= Date: Mon, 6 Jun 2016 09:52:34 +0100 Subject: [PATCH 0062/1079] refs #303 added unit tests for finder auth --- src/Locale/Users.pot | 6 +++- src/Locale/es/Users.mo | Bin 8934 -> 9035 bytes src/Locale/es/Users.po | 6 +++- tests/TestCase/Model/Table/UsersTableTest.php | 32 ++++++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/Locale/Users.pot b/src/Locale/Users.pot index 2efe2c07e..61e6c7acc 100644 --- a/src/Locale/Users.pot +++ b/src/Locale/Users.pot @@ -309,6 +309,10 @@ msgstr "" msgid "Email already exists" msgstr "" +#: Model/Table/UsersTable.php:197 +msgid "Missing \'username\' in options data" +msgstr "" + #: Shell/UsersShell.php:54 msgid "Utilities for CakeDC Users Plugin" msgstr "" @@ -729,4 +733,4 @@ msgstr "" #: View/Helper/UserHelper.php:161 msgid "reCaptcha is not configured! Please configure Users.reCaptcha.key" -msgstr "" +msgstr "" \ No newline at end of file diff --git a/src/Locale/es/Users.mo b/src/Locale/es/Users.mo index b5a47db8fb6c5722299eb21d3248b5ca82af35ad..ffe80c6b57938b0790c026bbef1c06b602649ec1 100644 GIT binary patch delta 2558 zcmYk;drXye9LMpWh$Oc_F3};;Cqa(f 4%a*qF{yfjmt>4b~dHtT>d7j_> zci>*j7pvTFbCQo5(jYOL7@uy;F|2%y3+Yg*F;Cza2JjTl!HXEeoAy2}%^1B>hJ{#z zbFl-nZ~#+q1ZU#w$g8e7Os15Ax9kI#Q7>Gx-au9SJ!a$2n2i6TDojc@hL1_*qVjyC zVpE7Sumtn495sM27T`9VMf+yZ%g`hH#Zjbg^FFG93z&pgFoIW69W2Q(W+m2QG44lI z{5Gls=TRNHf|+;?Rqt1*j@`l(+Be^knTPkW6*GBSQ`BkQftrC{EW!k8#@@g%p2IEp z2R35I s0^tiVyM# fMZ*p`EBbaR8U%csBF@6q(x;X!AWpZJxj^zkyoR=39%JvL0lR zrXTZhAF3lquo6$BD!zdlSayy-;s9y}SD-r5W{u@A|G5;rNddEB-o+|BhkVQw7j@`Q zR7bLTSQQ6RGZVt6aW!hK`;k>N32ep@tj5czQ}YXIpc(8)?VU20j9!eRDjq`hbObds z2T*H$3QtZm<}=h9zD#e_!6T>&-@yj_2(=`Cqw342mt@TxRCygzh1rN&B6klNtyu!K zRxXy|n0;UZ>9o0M{nD0Cp*rv*YH1##8cbq6SVfbLYG5{MW{XkJEkeE5fON<;?PN64 zKICH#a#4p)+VV4~iatj*a2<6VzrjAdg=(;s!`*~i(ZOS=5nn(JY!X$^ZB&PTz$~5r zzsRWK6c$=N%tFmTK5oM>>f9bjZN70-g=et@FQJa_9qh(rM$?5o7{;rp`jS{D?SV>M zj_p`Q`({iT`~X$)T~vd=q1Ngjd!NN{G@?Q-OR)i)aTpyukF0{3M0M;})Xe14szzRd z+FKQ iCI4)d?w+(p3xJcz334C;J;jEy*H@3ZN)I#!CTnrT6esN0tJB9EF; z yNOXg6AnXgzD+ns6BB9)xdo$$KO#)Rm88zG}J~? zdWq18H|d7dPwet?998TgRDUheODJt83TWS3i*}We77;tVoIiESzGCm2a0AgoX!?~l z`gm83RQn=9XxWt35zi6YfNUdgR=`WGTwR^TB>DA)D3gA=VNsn>St0qNbg}dp{;y zaDZ4sJW9*S=qFgSr@s~R3H@&9#Bf5rq%~hp^!c}1V%J-5-D{d-_KQ`h9sDSDlL^}! zErXV3F~N!Rc6JADCUz4_5g+d#6dmC;_Pz^~iB6)9SfKO2lT4J@ODM&OW@T(zi1kE} z&}L-my|lvm3=R_M_FfxJdt@uoV9Tme8&=0rNymDbGMbu|%8+!F9A!u^OvF-S(+h*I z4Mks#M`F>S(-(IVdx!fH@gb)tG8~z>o>4S2v%V@+?}Qqc)P*WSH4_i=?j{%i@0DoW W8Ay1K>l)?#-Mk+inz$LrO#Kf#jN+RB delta 2470 zcmYk-eN5F=9LMpm7ra8 {{=sUcYpv(aRc@}{pZhy^>x}Pxo!_~?dmg^$ z{C @D4N0tr9azj1`gmXd>!w_(-_Awcl{^oC%Jc-72qr^ z#sp5o4H(3&n1wr$pLq5nmH9Nh;%*p5{b0m-8P)Npn1fd_6K|k8{0Z;IKV17Aq+<)v zI2l8jhY{2Q%J3d+z+A?+u2h8?xi9u1eb^9cfKwR2B=+JN)C5Bzvqmh!66{5FJcydW zanwYU7{(D)zn4%G`xt|aZ{t)};+Lq@6mYjJL9Kid&c*~PQ*Bs>d$1GV!y3$;>fhIj znn)j3;(jc{bGQJ%LG_=(Dm=|JL`A8cfh^9-P#sj`LTtqtzJxO|iJH(ySc((KpJmdC zGM0zxw-A+?Qq);!!R6S8g*co;{&ncaXwadVKn?H@>d-}U{Zy4Bi?kT#V=d~wc3gzJ zP#qsZt?U|V#S^Fu1|$ANraG%|I_(`1@=rEw2Mrat2l=xkADYl5)I_eKI{q1znOisq z!}Ov(jv>2e39QEkjNxmjr{z3qp hC)8XWzT_+ejBSli6#FDo|VIC8%hx8nGPLxf@ yn^hSeU2L7J5*+WMBVon>UVcg6U|}&Sg2=}RJ50?`Ou8E_+Quy zsE*!34R9Fs7@ovFJdGMK#6$fM&c-NqqXyWATG&xkKf|aAjiAPPAG7rQk5kbMuVNQo zM?I$r4uB3_9jc?XI1f8 M?>!V3~D78a5;X3^*D{jD6U7cX#=Q 1z1)Wm _%m57;Eue)B=A& z9pb<7K8!}mzdCA(`p@-7tl@gVUB82jWn;*$*te(^-A1(sSQb^AgZ$sJ6{x*!#*Ns4 z_v3kt;t!|=PG;5Xuw<_1&-8g3bjbFi1{lNz_$F$vF5)C?CAJfFL<{iyL32r z5SxfF(MG8B_}Et5>FVuHZL5m5)vez@)w+C8ACx784p6#OQqdEkH{$ \n" "Language-Team: CakeDC \n" "Language: es_ES\n" @@ -326,6 +326,10 @@ msgstr "Nombre de usuario ya existente" msgid "Email already exists" msgstr "Email ya existente" +#: Model/Table/UsersTable.php:197 +msgid "Missing 'username' in options data" +msgstr "Falta 'username' en los datos de opciones" + #: Shell/UsersShell.php:54 msgid "Utilities for CakeDC Users Plugin" msgstr "" diff --git a/tests/TestCase/Model/Table/UsersTableTest.php b/tests/TestCase/Model/Table/UsersTableTest.php index e316eebe5..b7f4459f3 100644 --- a/tests/TestCase/Model/Table/UsersTableTest.php +++ b/tests/TestCase/Model/Table/UsersTableTest.php @@ -324,4 +324,36 @@ public function testFindActive() $this->assertCount(8, Hash::extract($actual, '{n}[active=1]')); $this->assertCount(0, Hash::extract($actual, '{n}[active=0]')); } + + /** + * Test findAuth method. + * + * @expectedException \BadMethodCallException + * @expectedExceptionMessage Missing 'username' in options data + */ + public function testFindAuthBadMethodCallException() + { + $user = $this->Users->find('auth'); + } + + /** + * Test findAuth method. + * + * @expected + */ + public function testFindAuth() + { + $user = $this->Users + ->find('auth', ['username' => 'not-exist@email.com']) + ->toArray(); + $this->assertEmpty($user); + + $user = $this->Users + ->find('auth', ['username' => 'user-2@test.com']) + ->first() + ->toArray(); + + $this->assertSame('00000000-0000-0000-0000-000000000002', Hash::get($user, 'id')); + $this->assertSame('user-2', Hash::get($user, 'username')); + } } From 05298923f1592cb4375e01b48868eebb9bae918c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20P=C3=A9rez?= Date: Thu, 16 Jun 2016 13:07:46 +0100 Subject: [PATCH 0063/1079] refs #374 added not empty validation for current_password --- .../Traits/PasswordManagementTrait.php | 7 +++++- src/Model/Table/UsersTable.php | 14 +++++++++++ .../Traits/PasswordManagementTraitTest.php | 23 +++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/Controller/Traits/PasswordManagementTrait.php b/src/Controller/Traits/PasswordManagementTrait.php index 9807df795..6f7bcd62a 100644 --- a/src/Controller/Traits/PasswordManagementTrait.php +++ b/src/Controller/Traits/PasswordManagementTrait.php @@ -15,6 +15,7 @@ use CakeDC\Users\Exception\UserNotFoundException; use CakeDC\Users\Exception\WrongPasswordException; use Cake\Core\Configure; +use Cake\Validation\Validator; use Exception; /** @@ -48,7 +49,11 @@ public function changePassword() $this->set('validatePassword', $validatePassword); if ($this->request->is('post')) { try { - $user = $this->getUsersTable()->patchEntity($user, $this->request->data(), ['validate' => 'passwordConfirm']); + $validator = $this->getUsersTable()->validationPasswordConfirm(new Validator()); + if (!empty($id)) { + $validator = $this->getUsersTable()->validationCurrentPassword($validator); + } + $user = $this->getUsersTable()->patchEntity($user, $this->request->data(), ['validate' => $validator]); if ($user->errors()) { $this->Flash->error(__d('Users', 'Password could not be changed')); } else { diff --git a/src/Model/Table/UsersTable.php b/src/Model/Table/UsersTable.php index da54831f5..ad045cf83 100644 --- a/src/Model/Table/UsersTable.php +++ b/src/Model/Table/UsersTable.php @@ -86,6 +86,20 @@ public function validationPasswordConfirm(Validator $validator) return $validator; } + /** + * Adds rules for current password + * + * @param Validator $validator Cake validator object. + * @return Validator + */ + public function validationCurrentPassword(Validator $validator) + { + $validator + ->notEmpty('current_password'); + + return $validator; + } + /** * Default validation rules. * diff --git a/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php b/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php index 523eb2820..f49051f31 100644 --- a/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php +++ b/tests/TestCase/Controller/Traits/PasswordManagementTraitTest.php @@ -119,6 +119,29 @@ public function testChangePasswordWithSamePassword() $this->Trait->changePassword(); } + /** + * test + * + * @return void + */ + public function testChangePasswordWithEmptyCurrentPassword() + { + $this->_mockRequestPost(); + $this->_mockAuthLoggedIn(['id' => '00000000-0000-0000-0000-000000000006', 'password' => '$2y$10$IPPgJNSfvATsMBLbv/2r8OtpyTBibyM1g5GDxD4PivW9qBRwRkRbC']); + $this->_mockFlash(); + $this->Trait->request->expects($this->once()) + ->method('data') + ->will($this->returnValue([ + 'current_password' => '', + 'password' => '54321', + 'password_confirm' => '54321', + ])); + $this->Trait->Flash->expects($this->once()) + ->method('error') + ->with('Password could not be changed'); + $this->Trait->changePassword(); + } + /** * test * From 4fd1ca9f3ed3f339d6deb05b246f867619e92a21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20P=C3=A9rez?= Date: Thu, 16 Jun 2016 14:38:08 +0100 Subject: [PATCH 0064/1079] refs #381 updated deprecated methods from phpunit --- .../TestCase/Auth/ApiKeyAuthenticateTest.php | 9 ++--- .../Auth/RememberMeAuthenticateTest.php | 9 ++--- .../TestCase/Auth/SimpleRbacAuthorizeTest.php | 18 ++++----- .../TestCase/Auth/SocialAuthenticateTest.php | 17 ++++---- .../TestCase/Auth/SuperuserAuthorizeTest.php | 9 ++--- .../Component/UsersAuthComponentTest.php | 8 +++- .../Traits/CustomUsersTableTraitTest.php | 7 ++-- .../Controller/Traits/RecaptchaTraitTest.php | 20 ++++++++-- .../Controller/Traits/SocialTraitTest.php | 40 +++++++++++++------ tests/TestCase/Shell/UsersShellTest.php | 11 +++-- tests/TestCase/View/Helper/UserHelperTest.php | 22 +++++++--- 11 files changed, 104 insertions(+), 66 deletions(-) diff --git a/tests/TestCase/Auth/ApiKeyAuthenticateTest.php b/tests/TestCase/Auth/ApiKeyAuthenticateTest.php index 3008c98ce..90a95c28e 100644 --- a/tests/TestCase/Auth/ApiKeyAuthenticateTest.php +++ b/tests/TestCase/Auth/ApiKeyAuthenticateTest.php @@ -38,11 +38,10 @@ public function setUp() $request = new Request(); $response = new Response(); - $controller = $this->getMock( - 'Cake\Controller\Controller', - null, - [$request, $response] - ); + $controller = $this->getMockBuilder('Cake\Controller\Controller') + ->setMethods(null) + ->setConstructorArgs([$request, $response]) + ->getMock(); $registry = new ComponentRegistry($controller); $this->apiKey = new ApiKeyAuthenticate($registry, ['require_ssl' => false]); } diff --git a/tests/TestCase/Auth/RememberMeAuthenticateTest.php b/tests/TestCase/Auth/RememberMeAuthenticateTest.php index 150e00f37..4a5eb09b7 100644 --- a/tests/TestCase/Auth/RememberMeAuthenticateTest.php +++ b/tests/TestCase/Auth/RememberMeAuthenticateTest.php @@ -41,11 +41,10 @@ public function setUp() $request = new Request(); $response = new Response(); - $this->controller = $this->getMock( - 'Cake\Controller\Controller', - null, - [$request, $response] - ); + $this->controller = $this->getMockBuilder('Cake\Controller\Controller') + ->setMethods(null) + ->setConstructorArgs([$request, $response]) + ->getMock(); $registry = new ComponentRegistry($this->controller); $this->rememberMe = new RememberMeAuthenticate($registry); } diff --git a/tests/TestCase/Auth/SimpleRbacAuthorizeTest.php b/tests/TestCase/Auth/SimpleRbacAuthorizeTest.php index 7f84f7878..e654e59cf 100644 --- a/tests/TestCase/Auth/SimpleRbacAuthorizeTest.php +++ b/tests/TestCase/Auth/SimpleRbacAuthorizeTest.php @@ -63,11 +63,10 @@ public function setUp() $request = new Request(); $response = new Response(); - $this->controller = $this->getMock( - 'Cake\Controller\Controller', - null, - [$request, $response] - ); + $this->controller = $this->getMockBuilder('Cake\Controller\Controller') + ->setMethods(null) + ->setConstructorArgs([$request, $response]) + ->getMock(); $this->registry = new ComponentRegistry($this->controller); } @@ -112,11 +111,10 @@ public function testLoadPermissions() */ public function testConstructMissingPermissionsFile() { - $this->simpleRbacAuthorize = $this->getMock( - 'CakeDC\Users\Auth\SimpleRbacAuthorize', - null, - [$this->registry, ['autoload_config' => 'does-not-exist']] - ); + $this->simpleRbacAuthorize = $this->getMockBuilder('CakeDC\Users\Auth\SimpleRbacAuthorize') + ->setMethods(null) + ->setConstructorArgs([$this->registry, ['autoload_config' => 'does-not-exist']]) + ->getMock(); //we should have the default permissions $this->assertEquals($this->defaultPermissions, $this->simpleRbacAuthorize->config('permissions')); } diff --git a/tests/TestCase/Auth/SocialAuthenticateTest.php b/tests/TestCase/Auth/SocialAuthenticateTest.php index 80e40ab20..95df2ed87 100644 --- a/tests/TestCase/Auth/SocialAuthenticateTest.php +++ b/tests/TestCase/Auth/SocialAuthenticateTest.php @@ -50,11 +50,10 @@ public function setUp() ->disableOriginalConstructor() ->getMock(); - $this->controller = $this->getMock( - 'Cake\Controller\Controller', - ['failedSocialLogin'], - [$request, $response] - ); + $this->controller = $this->getMockBuilder('Cake\Controller\Controller') + ->setMethods(['failedSocialLogin']) + ->setConstructorArgs([$request, $response]) + ->getMock(); $this->Request = $request; $this->SocialAuthenticate = $this->_getSocialAuthenticateMockMethods(['_authenticate', '_getProviderName', @@ -178,7 +177,9 @@ public function testGetUserSessionData() $this->SocialAuthenticate = $this->_getSocialAuthenticateMockMethods(['_authenticate', '_getProviderName', '_mapUser', '_touch', '_validateConfig' ]); - $session = $this->getMock('Cake\Network\Session', ['read', 'delete']); + $session = $this->getMockBuilder('Cake\Network\Session') + ->setMethods(['read', 'delete']) + ->getMock(); $session->expects($this->once()) ->method('read') ->with('Users.social') @@ -188,7 +189,9 @@ public function testGetUserSessionData() ->method('delete') ->with('Users.social'); - $this->Request = $this->getMock('Cake\Network\Request', ['session']); + $this->Request = $this->getMockBuilder('Cake\Network\Request') + ->setMethods(['session']) + ->getMock(); $this->Request->expects($this->any()) ->method('session') ->will($this->returnValue($session)); diff --git a/tests/TestCase/Auth/SuperuserAuthorizeTest.php b/tests/TestCase/Auth/SuperuserAuthorizeTest.php index bde73f341..29d12d1b9 100644 --- a/tests/TestCase/Auth/SuperuserAuthorizeTest.php +++ b/tests/TestCase/Auth/SuperuserAuthorizeTest.php @@ -36,11 +36,10 @@ public function setUp() $request = new Request(); $response = new Response(); - $this->controller = $this->getMock( - 'Cake\Controller\Controller', - null, - [$request, $response] - ); + $this->controller = $this->getMockBuilder('Cake\Controller\Controller') + ->setMethods(null) + ->setConstructorArgs([$request, $response]) + ->getMock(); $registry = new ComponentRegistry($this->controller); $this->superuserAuthorize = new SuperuserAuthorize($registry); } diff --git a/tests/TestCase/Controller/Component/UsersAuthComponentTest.php b/tests/TestCase/Controller/Component/UsersAuthComponentTest.php index 3138bb384..7baae563a 100644 --- a/tests/TestCase/Controller/Component/UsersAuthComponentTest.php +++ b/tests/TestCase/Controller/Component/UsersAuthComponentTest.php @@ -59,9 +59,13 @@ public function setUp() ]); Security::salt('YJfIxfs2guVoUubWDYhG93b0qyJfIxfs2guwvniR2G0FgaC9mi'); Configure::write('App.namespace', 'Users'); - $this->request = $this->getMock('Cake\Network\Request', ['is', 'method']); + $this->request = $this->getMockBuilder('Cake\Network\Request') + ->setMethods(['is', 'method']) + ->getMock(); $this->request->expects($this->any())->method('is')->will($this->returnValue(true)); - $this->response = $this->getMock('Cake\Network\Response', ['stop']); + $this->response = $this->getMockBuilder('Cake\Network\Response') + ->setMethods(['stop']) + ->getMock(); $this->Controller = new Controller($this->request, $this->response); $this->Registry = $this->Controller->components(); $this->Controller->UsersAuth = new UsersAuthComponent($this->Registry); diff --git a/tests/TestCase/Controller/Traits/CustomUsersTableTraitTest.php b/tests/TestCase/Controller/Traits/CustomUsersTableTraitTest.php index 90f142699..89c000651 100644 --- a/tests/TestCase/Controller/Traits/CustomUsersTableTraitTest.php +++ b/tests/TestCase/Controller/Traits/CustomUsersTableTraitTest.php @@ -19,10 +19,9 @@ class CustomUsersTableTraitTest extends TestCase public function setUp() { parent::setUp(); - $this->controller = $this->getMock( - 'Cake\Controller\Controller', - ['header', 'redirect', 'render', '_stop'] - ); + $this->controller = $this->getMockBuilder('Cake\Controller\Controller') + ->setMethods(['header', 'redirect', 'render', '_stop']) + ->getMock(); $this->controller->Trait = $this->getMockForTrait('CakeDC\Users\Controller\Traits\CustomUsersTableTrait'); } diff --git a/tests/TestCase/Controller/Traits/RecaptchaTraitTest.php b/tests/TestCase/Controller/Traits/RecaptchaTraitTest.php index 655e83c18..8ce79ab38 100644 --- a/tests/TestCase/Controller/Traits/RecaptchaTraitTest.php +++ b/tests/TestCase/Controller/Traits/RecaptchaTraitTest.php @@ -45,8 +45,14 @@ public function tearDown() */ public function testValidateValidReCaptcha() { - $ReCaptcha = $this->getMock('ReCaptcha\ReCaptcha', ['verify'], [], '', false); - $Response = $this->getMock('ReCaptcha\Response', ['isSuccess'], [], '', false); + $ReCaptcha = $this->getMockBuilder('ReCaptcha\ReCaptcha') + ->setMethods(['verify']) + ->disableOriginalConstructor() + ->getMock(); + $Response = $this->getMockBuilder('ReCaptcha\Response') + ->setMethods(['isSuccess']) + ->disableOriginalConstructor() + ->getMock(); $Response->expects($this->any()) ->method('isSuccess') ->will($this->returnValue(true)); @@ -67,8 +73,14 @@ public function testValidateValidReCaptcha() */ public function testValidateInvalidReCaptcha() { - $ReCaptcha = $this->getMock('ReCaptcha\ReCaptcha', ['verify'], [], '', false); - $Response = $this->getMock('ReCaptcha\Response', ['isSuccess'], [], '', false); + $ReCaptcha = $this->getMockBuilder('ReCaptcha\ReCaptcha') + ->setMethods(['verify']) + ->disableOriginalConstructor() + ->getMock(); + $Response = $this->getMockBuilder('ReCaptcha\Response') + ->setMethods(['isSuccess']) + ->disableOriginalConstructor() + ->getMock(); $Response->expects($this->any()) ->method('isSuccess') ->will($this->returnValue(false)); diff --git a/tests/TestCase/Controller/Traits/SocialTraitTest.php b/tests/TestCase/Controller/Traits/SocialTraitTest.php index e5e02bbf5..584292905 100644 --- a/tests/TestCase/Controller/Traits/SocialTraitTest.php +++ b/tests/TestCase/Controller/Traits/SocialTraitTest.php @@ -19,10 +19,10 @@ class SocialTraitTest extends TestCase public function setUp() { parent::setUp(); - $this->controller = $this->getMock( - 'Cake\Controller\Controller', - ['header', 'redirect', 'render', '_stop'] - ); + $this->controller = $this->getMockBuilder('Cake\Controller\Controller') + ->setMethods(['header', 'redirect', 'render', '_stop']) + ->getMock(); + $this->controller->Trait = $this->getMockForTrait( 'CakeDC\Users\Controller\Traits\SocialTrait', [], @@ -45,7 +45,9 @@ public function tearDown() */ public function testSocialEmail() { - $session = $this->getMock('Cake\Network\Session', ['check', 'delete']); + $session = $this->getMockBuilder('Cake\Network\Session') + ->setMethods(['check', 'delete']) + ->getMock(); $session->expects($this->at(0)) ->method('check') ->with('Users.social') @@ -55,7 +57,9 @@ public function testSocialEmail() ->method('delete') ->with('Flash.auth'); - $this->controller->Trait->request = $this->getMock('Cake\Network\Request', ['session']); + $this->controller->Trait->request = $this->getMockBuilder('Cake\Network\Request') + ->setMethods(['session']) + ->getMock(); $this->controller->Trait->request->expects($this->any()) ->method('session') ->will($this->returnValue($session)); @@ -70,13 +74,17 @@ public function testSocialEmail() */ public function testSocialEmailInvalid() { - $session = $this->getMock('Cake\Network\Session', ['check']); + $session = $this->getMockBuilder('Cake\Network\Session') + ->setMethods(['check']) + ->getMock(); $session->expects($this->once()) ->method('check') ->with('Users.social') ->will($this->returnValue(null)); - $this->controller->Trait->request = $this->getMock('Cake\Network\Request', ['session']); + $this->controller->Trait->request = $this->getMockBuilder('Cake\Network\Request') + ->setMethods(['session']) + ->getMock(); $this->controller->Trait->request->expects($this->once()) ->method('session') ->will($this->returnValue($session)); @@ -86,7 +94,9 @@ public function testSocialEmailInvalid() public function testSocialEmailPostValidateFalse() { - $session = $this->getMock('Cake\Network\Session', ['check', 'delete']); + $session = $this->getMockBuilder('Cake\Network\Session') + ->setMethods(['check', 'delete']) + ->getMock(); $session->expects($this->any()) ->method('check') ->with('Users.social') @@ -96,7 +106,9 @@ public function testSocialEmailPostValidateFalse() ->method('delete') ->with('Flash.auth'); - $this->controller->Trait->request = $this->getMock('Cake\Network\Request', ['session', 'is']); + $this->controller->Trait->request = $this->getMockBuilder('Cake\Network\Request') + ->setMethods(['session', 'is']) + ->getMock(); $this->controller->Trait->request->expects($this->any()) ->method('session') ->will($this->returnValue($session)); @@ -124,7 +136,9 @@ public function testSocialEmailPostValidateFalse() public function testSocialEmailPostValidateTrue() { - $session = $this->getMock('Cake\Network\Session', ['check', 'delete']); + $session = $this->getMockBuilder('Cake\Network\Session') + ->setMethods(['check', 'delete']) + ->getMock(); $session->expects($this->any()) ->method('check') ->with('Users.social') @@ -134,7 +148,9 @@ public function testSocialEmailPostValidateTrue() ->method('delete') ->with('Flash.auth'); - $this->controller->Trait->request = $this->getMock('Cake\Network\Request', ['session', 'is']); + $this->controller->Trait->request = $this->getMockBuilder('Cake\Network\Request') + ->setMethods(['session', 'is']) + ->getMock(); $this->controller->Trait->request->expects($this->any()) ->method('session') ->will($this->returnValue($session)); diff --git a/tests/TestCase/Shell/UsersShellTest.php b/tests/TestCase/Shell/UsersShellTest.php index e3c4311d7..2ae9cc7b5 100644 --- a/tests/TestCase/Shell/UsersShellTest.php +++ b/tests/TestCase/Shell/UsersShellTest.php @@ -38,7 +38,7 @@ public function setUp() { parent::setUp(); $this->out = new ConsoleOutput(); - $this->io = $this->getMock('Cake\Console\ConsoleIo'); + $this->io = $this->getMockBuilder('Cake\Console\ConsoleIo')->getMock(); $this->Users = TableRegistry::get('CakeDC/Users.Users'); $this->Shell = $this->getMockBuilder('CakeDC\Users\Shell\UsersShell') @@ -51,11 +51,10 @@ public function setUp() ->setMethods(['generateUniqueUsername', 'newEntity', 'save', 'updateAll']) ->getMock(); - $this->Shell->Command = $this->getMock( - 'Cake\Shell\Task\CommandTask', - ['in', '_stop', 'clear', 'out'], - [$this->io] - ); + $this->Shell->Command = $this->getMockBuilder('Cake\Shell\Task\CommandTask') + ->setMethods(['in', '_stop', 'clear', 'out']) + ->setConstructorArgs([$this->io]) + ->getMock(); } /** diff --git a/tests/TestCase/View/Helper/UserHelperTest.php b/tests/TestCase/View/Helper/UserHelperTest.php index 5e5038f70..4265f8958 100644 --- a/tests/TestCase/View/Helper/UserHelperTest.php +++ b/tests/TestCase/View/Helper/UserHelperTest.php @@ -36,7 +36,9 @@ public function setUp() { parent::setUp(); Plugin::routes('CakeDC/Users'); - $this->View = $this->getMock('Cake\View\View', ['append']); + $this->View = $this->getMockBuilder('Cake\View\View') + ->setMethods(['append']) + ->getMock(); $this->User = new UserHelper($this->View); $this->request = new Request(); } @@ -156,7 +158,9 @@ public function testIsAuthorized() */ public function testWelcome() { - $session = $this->getMock('Cake\Network\Session', ['read']); + $session = $this->getMockBuilder('Cake\Network\Session') + ->setMethods(['read']) + ->getMock(); $session->expects($this->at(0)) ->method('read') ->with('Auth.User.id') @@ -167,7 +171,9 @@ public function testWelcome() ->with('Auth.User.first_name') ->will($this->returnValue('david')); - $this->User->request = $this->getMock('Cake\Network\Request', ['session']); + $this->User->request = $this->getMockBuilder('Cake\Network\Request') + ->setMethods(['session']) + ->getMock(); $this->User->request->expects($this->any()) ->method('session') ->will($this->returnValue($session)); @@ -184,13 +190,17 @@ public function testWelcome() */ public function testWelcomeNotLoggedInUser() { - $session = $this->getMock('Cake\Network\Session', ['read']); + $session = $this->getMockBuilder('Cake\Network\Session') + ->setMethods(['read']) + ->getMock(); $session->expects($this->at(0)) ->method('read') ->with('Auth.User.id') ->will($this->returnValue(null)); - $this->User->request = $this->getMock('Cake\Network\Request', ['session']); + $this->User->request = $this->getMockBuilder('Cake\Network\Request') + ->setMethods(['session']) + ->getMock(); $this->User->request->expects($this->any()) ->method('session') ->will($this->returnValue($session)); @@ -222,7 +232,7 @@ public function testAddReCaptchaEmpty() $expected = ' reCaptcha is not configured! Please configure Users.reCaptcha.key
'; $this->assertEquals($expected, $result); } - + /** * Test add ReCaptcha field * From d8b938241a052770cc1ca97783b01ee421402a23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20P=C3=A9rez?=Date: Thu, 16 Jun 2016 17:16:37 +0100 Subject: [PATCH 0065/1079] refs #382 changed translations domain name to include plugin path --- config/bootstrap.php | 6 +- src/Auth/ApiKeyAuthenticate.php | 6 +- src/Auth/Rules/AbstractRule.php | 2 +- src/Auth/Rules/Owner.php | 4 +- src/Auth/SimpleRbacAuthorize.php | 2 +- src/Auth/SocialAuthenticate.php | 2 +- .../Component/RememberMeComponent.php | 2 +- .../Component/UsersAuthComponent.php | 2 +- src/Controller/SocialAccountsController.php | 20 ++-- src/Controller/Traits/LoginTrait.php | 18 ++-- .../Traits/PasswordManagementTrait.php | 22 ++--- src/Controller/Traits/ProfileTrait.php | 4 +- src/Controller/Traits/RegisterTrait.php | 8 +- src/Controller/Traits/SimpleCrudTrait.php | 12 +-- src/Controller/Traits/SocialTrait.php | 2 +- src/Controller/Traits/UserValidationTrait.php | 26 +++--- src/Email/EmailSender.php | 2 +- src/Locale/Users.pot | 4 + src/Locale/es/Users.mo | Bin 9035 -> 9108 bytes src/Locale/es/Users.po | 8 +- src/Mailer/UsersMailer.php | 4 +- src/Model/Behavior/PasswordBehavior.php | 16 ++-- src/Model/Behavior/RegisterBehavior.php | 6 +- src/Model/Behavior/SocialAccountBehavior.php | 8 +- src/Model/Behavior/SocialBehavior.php | 4 +- src/Model/Table/UsersTable.php | 8 +- src/Shell/UsersShell.php | 86 +++++++++--------- src/Template/Email/html/reset_password.ctp | 8 +- .../Email/html/social_account_validation.ctp | 8 +- src/Template/Email/html/validation.ctp | 8 +- src/Template/Email/text/reset_password.ctp | 6 +- .../Email/text/social_account_validation.ctp | 6 +- src/Template/Email/text/validation.ctp | 6 +- src/Template/Users/add.ctp | 10 +- src/Template/Users/change_password.ctp | 6 +- src/Template/Users/edit.ctp | 14 +-- src/Template/Users/index.ctp | 18 ++-- src/Template/Users/login.ctp | 10 +- src/Template/Users/profile.ctp | 18 ++-- src/Template/Users/register.ctp | 6 +- src/Template/Users/request_reset_password.ctp | 4 +- .../Users/resend_token_validation.ctp | 6 +- src/Template/Users/social_email.ctp | 4 +- src/Template/Users/view.ctp | 72 +++++++-------- src/View/Helper/UserHelper.php | 14 +-- tests/TestCase/Model/Entity/UserTest.php | 1 + tests/TestCase/View/Helper/UserHelperTest.php | 17 +++- tests/bootstrap.php | 2 + 48 files changed, 277 insertions(+), 251 deletions(-) diff --git a/config/bootstrap.php b/config/bootstrap.php index f931659c4..ba2ac6cb1 100644 --- a/config/bootstrap.php +++ b/config/bootstrap.php @@ -10,10 +10,10 @@ */ use Cake\Core\Configure; -use Cake\Log\Log; use Cake\Core\Exception\MissingPluginException; use Cake\Core\Plugin; use Cake\Event\EventManager; +use Cake\Log\Log; use Cake\ORM\TableRegistry; use Cake\Routing\Router; @@ -30,7 +30,7 @@ try { EventManager::instance()->on(\CakeDC\Users\Controller\Component\UsersAuthComponent::EVENT_FAILED_SOCIAL_LOGIN, [new \CakeDC\Users\Controller\UsersController(), 'failedSocialLoginListener']); } catch (MissingPluginException $e) { - Log::error($e->getMessage()); + Log::error($e->getMessage()); } } @@ -43,4 +43,4 @@ ['provider' => implode('|', array_keys(Configure::read('OAuth.providers')))] ); }); -} \ No newline at end of file +} diff --git a/src/Auth/ApiKeyAuthenticate.php b/src/Auth/ApiKeyAuthenticate.php index 51d279ac8..3a6693416 100644 --- a/src/Auth/ApiKeyAuthenticate.php +++ b/src/Auth/ApiKeyAuthenticate.php @@ -70,11 +70,11 @@ public function getUser(Request $request) { $type = $this->config('type'); if (!in_array($type, $this->types)) { - throw new OutOfBoundsException(__d('Users', 'Type {0} is not valid', $type)); + throw new OutOfBoundsException(__d('CakeDC/Users', 'Type {0} is not valid', $type)); } if (!is_callable([$this, $type])) { - throw new OutOfBoundsException(__d('Users', 'Type {0} has no associated callable', $type)); + throw new OutOfBoundsException(__d('CakeDC/Users', 'Type {0} has no associated callable', $type)); } $apiKey = $this->$type($request); @@ -83,7 +83,7 @@ public function getUser(Request $request) } if ($this->config('require_ssl') && !$request->is('ssl')) { - throw new ForbiddenException(__d('Users', 'SSL is required for ApiKey Authentication', $type)); + throw new ForbiddenException(__d('CakeDC/Users', 'SSL is required for ApiKey Authentication', $type)); } $this->_config['fields']['username'] = $this->config('field'); diff --git a/src/Auth/Rules/AbstractRule.php b/src/Auth/Rules/AbstractRule.php index f8955fbbc..c8a8e8120 100644 --- a/src/Auth/Rules/AbstractRule.php +++ b/src/Auth/Rules/AbstractRule.php @@ -74,7 +74,7 @@ protected function _getTableFromRequest(Request $request) $this->modelFactory('Table', [$this->tableLocator(), 'get']); if (empty($modelClass)) { - throw new OutOfBoundsException(__d('Users', 'Table alias is empty, please define a table alias, we could not extract a default table from the request')); + throw new OutOfBoundsException(__d('CakeDC/Users', 'Table alias is empty, please define a table alias, we could not extract a default table from the request')); } return $this->loadModel($modelClass); } diff --git a/src/Auth/Rules/Owner.php b/src/Auth/Rules/Owner.php index 5be38835c..c5373f001 100644 --- a/src/Auth/Rules/Owner.php +++ b/src/Auth/Rules/Owner.php @@ -64,10 +64,10 @@ public function allowed(array $user, $role, Request $request) try { if (!$table->hasField($this->config('ownerForeignKey'))) { - throw new OutOfBoundsException(__d('Users', 'Missing column {0} in table {1} while checking ownership permissions for user {2}', $this->config('ownerForeignKey'), $table->alias(), $userId)); + throw new OutOfBoundsException(__d('CakeDC/Users', 'Missing column {0} in table {1} while checking ownership permissions for user {2}', $this->config('ownerForeignKey'), $table->alias(), $userId)); } } catch (Exception $ex) { - throw new OutOfBoundsException(__d('Users', 'Missing column {0} in table {1} while checking ownership permissions for user {2}', $this->config('ownerForeignKey'), $table->alias(), $userId)); + throw new OutOfBoundsException(__d('CakeDC/Users', 'Missing column {0} in table {1} while checking ownership permissions for user {2}', $this->config('ownerForeignKey'), $table->alias(), $userId)); } $idColumn = $this->config('id'); if (empty($idColumn)) { diff --git a/src/Auth/SimpleRbacAuthorize.php b/src/Auth/SimpleRbacAuthorize.php index 612ccc3a7..ae4bab4dc 100644 --- a/src/Auth/SimpleRbacAuthorize.php +++ b/src/Auth/SimpleRbacAuthorize.php @@ -138,7 +138,7 @@ protected function _loadPermissions($key) Configure::load($key, 'default'); $permissions = Configure::read('Users.SimpleRbac.permissions'); } catch (Exception $ex) { - $msg = __d('Users', 'Missing configuration file: "config/{0}.php". Using default permissions', $key); + $msg = __d('CakeDC/Users', 'Missing configuration file: "config/{0}.php". Using default permissions', $key); $this->log($msg, LogLevel::WARNING); } diff --git a/src/Auth/SocialAuthenticate.php b/src/Auth/SocialAuthenticate.php index 26cc411ed..8a52661f6 100755 --- a/src/Auth/SocialAuthenticate.php +++ b/src/Auth/SocialAuthenticate.php @@ -407,7 +407,7 @@ protected function _getProviderName($request = null) protected function _mapUser($provider, $data) { if (empty($provider)) { - throw new MissingProviderException(__d('Users', "Provider cannot be empty")); + throw new MissingProviderException(__d('CakeDC/Users', "Provider cannot be empty")); } $providerMapperClass = "\\CakeDC\\Users\\Auth\\Social\\Mapper\\$provider"; $providerMapper = new $providerMapperClass($data); diff --git a/src/Controller/Component/RememberMeComponent.php b/src/Controller/Component/RememberMeComponent.php index 488fa272f..db37e9aac 100644 --- a/src/Controller/Component/RememberMeComponent.php +++ b/src/Controller/Component/RememberMeComponent.php @@ -66,7 +66,7 @@ protected function _validateConfig() { if (mb_strlen(Security::salt(), '8bit') < 32) { throw new InvalidArgumentException( - __d('Users', 'Invalid app salt, app salt must be at least 256 bits (32 bytes) long') + __d('CakeDC/Users', 'Invalid app salt, app salt must be at least 256 bits (32 bytes) long') ); } } diff --git a/src/Controller/Component/UsersAuthComponent.php b/src/Controller/Component/UsersAuthComponent.php index 471a828e3..0304d1ce6 100644 --- a/src/Controller/Component/UsersAuthComponent.php +++ b/src/Controller/Component/UsersAuthComponent.php @@ -154,7 +154,7 @@ public function isUrlAuthorized(Event $event) protected function _validateConfig() { if (!Configure::read('Users.Email.required') && Configure::read('Users.Email.validate')) { - $message = __d('Users', 'You can\'t enable email validation workflow if use_email is false'); + $message = __d('CakeDC/Users', 'You can\'t enable email validation workflow if use_email is false'); throw new BadConfigurationException($message); } } diff --git a/src/Controller/SocialAccountsController.php b/src/Controller/SocialAccountsController.php index c83b462f1..75ffa7a94 100644 --- a/src/Controller/SocialAccountsController.php +++ b/src/Controller/SocialAccountsController.php @@ -49,16 +49,16 @@ public function validateAccount($provider, $reference, $token) try { $result = $this->SocialAccounts->validateAccount($provider, $reference, $token); if ($result) { - $this->Flash->success(__d('Users', 'Account validated successfully')); + $this->Flash->success(__d('CakeDC/Users', 'Account validated successfully')); } else { - $this->Flash->error(__d('Users', 'Account could not be validated')); + $this->Flash->error(__d('CakeDC/Users', 'Account could not be validated')); } } catch (RecordNotFoundException $exception) { - $this->Flash->error(__d('Users', 'Invalid token and/or social account')); + $this->Flash->error(__d('CakeDC/Users', 'Invalid token and/or social account')); } catch (AccountAlreadyActiveException $exception) { - $this->Flash->error(__d('Users', 'Social Account already active')); + $this->Flash->error(__d('CakeDC/Users', 'Social Account already active')); } catch (Exception $exception) { - $this->Flash->error(__d('Users', 'Social Account could not be validated')); + $this->Flash->error(__d('CakeDC/Users', 'Social Account could not be validated')); } return $this->redirect(['plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'login']); } @@ -76,16 +76,16 @@ public function resendValidation($provider, $reference) try { $result = $this->SocialAccounts->resendValidation($provider, $reference); if ($result) { - $this->Flash->success(__d('Users', 'Email sent successfully')); + $this->Flash->success(__d('CakeDC/Users', 'Email sent successfully')); } else { - $this->Flash->error(__d('Users', 'Email could not be sent')); + $this->Flash->error(__d('CakeDC/Users', 'Email could not be sent')); } } catch (RecordNotFoundException $exception) { - $this->Flash->error(__d('Users', 'Invalid account')); + $this->Flash->error(__d('CakeDC/Users', 'Invalid account')); } catch (AccountAlreadyActiveException $exception) { - $this->Flash->error(__d('Users', 'Social Account already active')); + $this->Flash->error(__d('CakeDC/Users', 'Social Account already active')); } catch (Exception $exception) { - $this->Flash->error(__d('Users', 'Email could not be resent')); + $this->Flash->error(__d('CakeDC/Users', 'Email could not be resent')); } return $this->redirect(['plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'login']); } diff --git a/src/Controller/Traits/LoginTrait.php b/src/Controller/Traits/LoginTrait.php index 9d9e0a19b..8d3e0e29f 100644 --- a/src/Controller/Traits/LoginTrait.php +++ b/src/Controller/Traits/LoginTrait.php @@ -92,27 +92,27 @@ public function failedSocialLoginListener(Event $event) */ public function failedSocialLogin($exception, $data, $flash = false) { - $msg = __d('Users', 'Issues trying to log in with your social account'); + $msg = __d('CakeDC/Users', 'Issues trying to log in with your social account'); if (isset($exception)) { if ($exception instanceof MissingEmailException) { if ($flash) { - $this->Flash->success(__d('Users', 'Please enter your email')); + $this->Flash->success(__d('CakeDC/Users', 'Please enter your email')); } $this->request->session()->write(Configure::read('Users.Key.Session.social'), $data); return $this->redirect(['plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'socialEmail']); } if ($exception instanceof UserNotActiveException) { - $msg = __d('Users', 'Your user has not been validated yet. Please check your inbox for instructions'); + $msg = __d('CakeDC/Users', 'Your user has not been validated yet. Please check your inbox for instructions'); } elseif ($exception instanceof AccountNotActiveException) { - $msg = __d('Users', 'Your social account has not been validated yet. Please check your inbox for instructions'); + $msg = __d('CakeDC/Users', 'Your social account has not been validated yet. Please check your inbox for instructions'); } } if ($flash) { $this->Auth->config('authError', $msg); $this->Auth->config('flash.params', ['class' => 'success']); $this->request->session()->delete(Configure::read('Users.Key.Session.social')); - $this->Flash->success(__d('Users', $msg)); + $this->Flash->success(__d('CakeDC/Users', $msg)); } return $this->redirect(['plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'login']); } @@ -154,7 +154,7 @@ public function login() if ($this->request->is('post')) { if (!$this->_checkReCaptcha()) { - $this->Flash->error(__d('Users', 'Invalid reCaptcha')); + $this->Flash->error(__d('CakeDC/Users', 'Invalid reCaptcha')); return; } $user = $this->Auth->identify(); @@ -162,7 +162,7 @@ public function login() } if (!$this->request->is('post') && !$socialLogin) { if ($this->Auth->user()) { - $msg = __d('Users', 'You are already logged in'); + $msg = __d('CakeDC/Users', 'You are already logged in'); $this->Flash->error($msg); $url = $this->Auth->redirectUrl(); return $this->redirect($url); @@ -206,7 +206,7 @@ protected function _afterIdentifyUser($user, $socialLogin = false) return $this->redirect($url); } else { if (!$socialLogin) { - $message = __d('Users', 'Username or password is incorrect'); + $message = __d('CakeDC/Users', 'Username or password is incorrect'); $this->Flash->error($message, 'default', [], 'auth'); } @@ -227,7 +227,7 @@ public function logout() } $this->request->session()->destroy(); - $this->Flash->success(__d('Users', 'You\'ve successfully logged out')); + $this->Flash->success(__d('CakeDC/Users', 'You\'ve successfully logged out')); $eventAfter = $this->dispatchEvent(UsersAuthComponent::EVENT_AFTER_LOGOUT); if (is_array($eventAfter->result)) { diff --git a/src/Controller/Traits/PasswordManagementTrait.php b/src/Controller/Traits/PasswordManagementTrait.php index 9807df795..8187c22ab 100644 --- a/src/Controller/Traits/PasswordManagementTrait.php +++ b/src/Controller/Traits/PasswordManagementTrait.php @@ -50,22 +50,22 @@ public function changePassword() try { $user = $this->getUsersTable()->patchEntity($user, $this->request->data(), ['validate' => 'passwordConfirm']); if ($user->errors()) { - $this->Flash->error(__d('Users', 'Password could not be changed')); + $this->Flash->error(__d('CakeDC/Users', 'Password could not be changed')); } else { $user = $this->getUsersTable()->changePassword($user); if ($user) { - $this->Flash->success(__d('Users', 'Password has been changed successfully')); + $this->Flash->success(__d('CakeDC/Users', 'Password has been changed successfully')); return $this->redirect($redirect); } else { - $this->Flash->error(__d('Users', 'Password could not be changed')); + $this->Flash->error(__d('CakeDC/Users', 'Password could not be changed')); } } } catch (UserNotFoundException $exception) { - $this->Flash->error(__d('Users', 'User was not found')); + $this->Flash->error(__d('CakeDC/Users', 'User was not found')); } catch (WrongPasswordException $wpe) { - $this->Flash->error(__d('Users', '{0}', $wpe->getMessage())); + $this->Flash->error(__d('CakeDC/Users', '{0}', $wpe->getMessage())); } catch (Exception $exception) { - $this->Flash->error(__d('Users', 'Password could not be changed')); + $this->Flash->error(__d('CakeDC/Users', 'Password could not be changed')); } } $this->set(compact('user')); @@ -105,19 +105,19 @@ public function requestResetPassword() 'ensureActive' => true ]); if ($resetUser) { - $msg = __d('Users', 'Please check your email to continue with password reset process'); + $msg = __d('CakeDC/Users', 'Please check your email to continue with password reset process'); $this->Flash->success($msg); } else { - $msg = __d('Users', 'The password token could not be generated. Please try again'); + $msg = __d('CakeDC/Users', 'The password token could not be generated. Please try again'); $this->Flash->error($msg); } return $this->redirect(['action' => 'login']); } catch (UserNotFoundException $exception) { - $this->Flash->error(__d('Users', 'User {0} was not found', $reference)); + $this->Flash->error(__d('CakeDC/Users', 'User {0} was not found', $reference)); } catch (UserNotActiveException $exception) { - $this->Flash->error(__d('Users', 'The user is not active')); + $this->Flash->error(__d('CakeDC/Users', 'The user is not active')); } catch (Exception $exception) { - $this->Flash->error(__d('Users', 'Token could not be reset')); + $this->Flash->error(__d('CakeDC/Users', 'Token could not be reset')); } } } diff --git a/src/Controller/Traits/ProfileTrait.php b/src/Controller/Traits/ProfileTrait.php index 0d68ac6bc..6053f424e 100644 --- a/src/Controller/Traits/ProfileTrait.php +++ b/src/Controller/Traits/ProfileTrait.php @@ -46,10 +46,10 @@ public function profile($id = null) $isCurrentUser = true; } } catch (RecordNotFoundException $ex) { - $this->Flash->error(__d('Users', 'User was not found')); + $this->Flash->error(__d('CakeDC/Users', 'User was not found')); return $this->redirect($this->request->referer()); } catch (InvalidPrimaryKeyException $ex) { - $this->Flash->error(__d('Users', 'Not authorized, please login first')); + $this->Flash->error(__d('CakeDC/Users', 'Not authorized, please login first')); return $this->redirect($this->request->referer()); } $this->set(compact('user', 'isCurrentUser')); diff --git a/src/Controller/Traits/RegisterTrait.php b/src/Controller/Traits/RegisterTrait.php index 1aa65882f..648f62a5a 100644 --- a/src/Controller/Traits/RegisterTrait.php +++ b/src/Controller/Traits/RegisterTrait.php @@ -70,13 +70,13 @@ public function register() } if (!$this->_validateRegisterPost()) { - $this->Flash->error(__d('Users', 'Invalid reCaptcha')); + $this->Flash->error(__d('CakeDC/Users', 'Invalid reCaptcha')); return; } $userSaved = $usersTable->register($user, $requestData, $options); if (!$userSaved) { - $this->Flash->error(__d('Users', 'The user could not be saved')); + $this->Flash->error(__d('CakeDC/Users', 'The user could not be saved')); return; } @@ -108,9 +108,9 @@ protected function _validateRegisterPost() protected function _afterRegister(EntityInterface $userSaved) { $validateEmail = (bool)Configure::read('Users.Email.validate'); - $message = __d('Users', 'You have registered successfully, please log in'); + $message = __d('CakeDC/Users', 'You have registered successfully, please log in'); if ($validateEmail) { - $message = __d('Users', 'Please validate your account before log in'); + $message = __d('CakeDC/Users', 'Please validate your account before log in'); } $event = $this->dispatchEvent(UsersAuthComponent::EVENT_AFTER_REGISTER, [ 'user' => $userSaved diff --git a/src/Controller/Traits/SimpleCrudTrait.php b/src/Controller/Traits/SimpleCrudTrait.php index 63fd75b72..10525f2b7 100644 --- a/src/Controller/Traits/SimpleCrudTrait.php +++ b/src/Controller/Traits/SimpleCrudTrait.php @@ -73,10 +73,10 @@ public function add() $entity = $table->patchEntity($entity, $this->request->data); $singular = Inflector::singularize(Inflector::humanize($tableAlias)); if ($table->save($entity)) { - $this->Flash->success(__d('Users', 'The {0} has been saved', $singular)); + $this->Flash->success(__d('CakeDC/Users', 'The {0} has been saved', $singular)); return $this->redirect(['action' => 'index']); } - $this->Flash->error(__d('Users', 'The {0} could not be saved', $singular)); + $this->Flash->error(__d('CakeDC/Users', 'The {0} could not be saved', $singular)); } /** @@ -102,10 +102,10 @@ public function edit($id = null) $entity = $table->patchEntity($entity, $this->request->data); $singular = Inflector::singularize(Inflector::humanize($tableAlias)); if ($table->save($entity)) { - $this->Flash->success(__d('Users', 'The {0} has been saved', $singular)); + $this->Flash->success(__d('CakeDC/Users', 'The {0} has been saved', $singular)); return $this->redirect(['action' => 'index']); } - $this->Flash->error(__d('Users', 'The {0} could not be saved', $singular)); + $this->Flash->error(__d('CakeDC/Users', 'The {0} could not be saved', $singular)); } /** @@ -125,9 +125,9 @@ public function delete($id = null) ]); $singular = Inflector::singularize(Inflector::humanize($tableAlias)); if ($table->delete($entity)) { - $this->Flash->success(__d('Users', 'The {0} has been deleted', $singular)); + $this->Flash->success(__d('CakeDC/Users', 'The {0} has been deleted', $singular)); } else { - $this->Flash->error(__d('Users', 'The {0} could not be deleted', $singular)); + $this->Flash->error(__d('CakeDC/Users', 'The {0} could not be deleted', $singular)); } return $this->redirect(['action' => 'index']); } diff --git a/src/Controller/Traits/SocialTrait.php b/src/Controller/Traits/SocialTrait.php index 05a90f957..8ac75d6db 100644 --- a/src/Controller/Traits/SocialTrait.php +++ b/src/Controller/Traits/SocialTrait.php @@ -36,7 +36,7 @@ public function socialEmail() if ($this->request->is('post')) { $validPost = $this->_validateRegisterPost(); if (!$validPost) { - $this->Flash->error(__d('Users', 'The reCaptcha could not be validated')); + $this->Flash->error(__d('CakeDC/Users', 'The reCaptcha could not be validated')); return; } $user = $this->Auth->identify(); diff --git a/src/Controller/Traits/UserValidationTrait.php b/src/Controller/Traits/UserValidationTrait.php index 74836e61a..87ebedb7f 100644 --- a/src/Controller/Traits/UserValidationTrait.php +++ b/src/Controller/Traits/UserValidationTrait.php @@ -39,31 +39,31 @@ public function validate($type = null, $token = null) try { $result = $this->getUsersTable()->validate($token, 'activateUser'); if ($result) { - $this->Flash->success(__d('Users', 'User account validated successfully')); + $this->Flash->success(__d('CakeDC/Users', 'User account validated successfully')); } else { - $this->Flash->error(__d('Users', 'User account could not be validated')); + $this->Flash->error(__d('CakeDC/Users', 'User account could not be validated')); } } catch (UserAlreadyActiveException $exception) { - $this->Flash->error(__d('Users', 'User already active')); + $this->Flash->error(__d('CakeDC/Users', 'User already active')); } break; case 'password': $result = $this->getUsersTable()->validate($token); if (!empty($result)) { - $this->Flash->success(__d('Users', 'Reset password token was validated successfully')); + $this->Flash->success(__d('CakeDC/Users', 'Reset password token was validated successfully')); $this->request->session()->write(Configure::read('Users.Key.Session.resetPasswordUserId'), $result->id); return $this->redirect(['action' => 'changePassword']); } else { - $this->Flash->error(__d('Users', 'Reset password token could not be validated')); + $this->Flash->error(__d('CakeDC/Users', 'Reset password token could not be validated')); } break; default: - $this->Flash->error(__d('Users', 'Invalid validation type')); + $this->Flash->error(__d('CakeDC/Users', 'Invalid validation type')); } } catch (UserNotFoundException $ex) { - $this->Flash->error(__d('Users', 'Invalid token or user account already validated')); + $this->Flash->error(__d('CakeDC/Users', 'Invalid token or user account already validated')); } catch (TokenExpiredException $ex) { - $this->Flash->error(__d('Users', 'Token already expired')); + $this->Flash->error(__d('CakeDC/Users', 'Token already expired')); } return $this->redirect(['action' => 'login']); @@ -89,17 +89,17 @@ public function resendTokenValidation() 'sendEmail' => true, 'emailTemplate' => 'CakeDC/Users.validation' ])) { - $this->Flash->success(__d('Users', 'Token has been reset successfully. Please check your email.')); + $this->Flash->success(__d('CakeDC/Users', 'Token has been reset successfully. Please check your email.')); } else { - $this->Flash->error(__d('Users', 'Token could not be reset')); + $this->Flash->error(__d('CakeDC/Users', 'Token could not be reset')); } return $this->redirect(['action' => 'login']); } catch (UserNotFoundException $ex) { - $this->Flash->error(__d('Users', 'User {0} was not found', $reference)); + $this->Flash->error(__d('CakeDC/Users', 'User {0} was not found', $reference)); } catch (UserAlreadyActiveException $ex) { - $this->Flash->error(__d('Users', 'User {0} is already active', $reference)); + $this->Flash->error(__d('CakeDC/Users', 'User {0} is already active', $reference)); } catch (Exception $ex) { - $this->Flash->error(__d('Users', 'Token could not be reset')); + $this->Flash->error(__d('CakeDC/Users', 'Token could not be reset')); } } } diff --git a/src/Email/EmailSender.php b/src/Email/EmailSender.php index 9b08f4121..609653b51 100644 --- a/src/Email/EmailSender.php +++ b/src/Email/EmailSender.php @@ -36,7 +36,7 @@ public function sendValidationEmail(EntityInterface $user, Email $email = null) 'CakeDC/Users.Users', $this->_getEmailInstance($email) ) - ->send('validation', [$user, __d('Users', 'Your account validation link')]); + ->send('validation', [$user, __d('CakeDC/Users', 'Your account validation link')]); } /** diff --git a/src/Locale/Users.pot b/src/Locale/Users.pot index 61e6c7acc..28dc31436 100644 --- a/src/Locale/Users.pot +++ b/src/Locale/Users.pot @@ -715,6 +715,10 @@ msgstr "" msgid "Data" msgstr "" +#: View/Helper/UserHelper.php:46 +msgid "Sign in with" +msgstr "" + #: View/Helper/UserHelper.php:49 msgid "fa fa-{0}" msgstr "" diff --git a/src/Locale/es/Users.mo b/src/Locale/es/Users.mo index ffe80c6b57938b0790c026bbef1c06b602649ec1..1576395ea822d658bfbed7eff1ae9527f6faf096 100644 GIT binary patch delta 2569 zcmZYAe@xVM9LMqZ$q$7?(L _smN9*V2=G^M}I==KzpYguO=RWtn(9A zb9_;Mq9OL3FZrZV`iVT^y(F_i+%TIL%1D}74vymO_&F}YAFvcX>C^AmpuW P8sK}Jg_GEU*HIH}$}p?NHY~(9Q5}DZ zn!vZHiB95NoI>?`6E(3E8dDkHyi^L%hYh$6wMB QF5+tZ5tm~YvoFQ~#xzhj70tL0wZ%^(i?o+e9lVY!@f?=m6}%18d6>mm zA!@) X zP!lRfO{5OBb8V;{>cTtmFe>M#Q9Cn?K^#Tx+@Gl1Q^1MTZQB&1qC>O`^~E!&j?bcI zI*Qtv3#gn=;E>1c7HUPOn2jblj_U9mti-=iDOttr)L$dgWG$%neMlD;dy$HAG>FRC zFe+E)aRrXKpZ| )q<$!no&Eu6ZKpV^1Yb#Qqhc# zpjJAB{Mm=RXhL7R?blEp{ev1HmCLManTcWap$0sJ8}Su%@FJ@JUr`J5l1KHEjq`N> z^QdT`m8gybs2SFxcAybkF^amsmr#fAGOEK#T#A37u5k{l*o{@#jssYOH&FdmkSCpi z4y W=ZOnBF)$t;xtpS&!a#iBKuSNcB8!rLu#UQ?e4qiv4%F8HZ%kohZtU&Eh z8)^r7F{VQnrJ~b&2(^MCY{ZY<_Zj)qGcG~;wh)p9djd7UQPhqNqE7u8 ziM@o%J%sw+O>8D+$~G!&L}I7Y8UMec`>%38v4>D@!-NKCC$!>DLKB%O4OEhdLbss> zmFxS6I=8J4m3RGw&y*mQ8X_^ie(P1VwJQ3dSWhT5oW=hY9Uk5J$A~S2Qlz{6IPoyi zOw5#ixALfKEp8+pBFf$I6CaiFx`x<6Y$8Zeq9`3IN`tQ9R)U*kPZG-I2113~mpC&@ z&vG@mr5<%ib)b6*-J}Nz{hvsTzYCPh4q_IegS3`V(III|)Hv BX}f8;UoxxC iBZr|VU z=(~x_%f0V&QV$xXpO{PxKVo(mE5~r5?9VWpghQB*N3jskVhq1^_nDby`bs$#U^NzD z3ufa^OveEni*F!b_3TY5r93#~UO12X!X@W*RKs^Lj6Y*4{)cKXlx4=pGPvk@1Zmg` zFbzv^B37U#5XU^+j1%bJ`uz$ca(_68v~9;x9h|`sUcl{m5jDV)ab`=g28(eIs^Je% z12~Nu&;=Zimr(6qLk;W(rqjROrZN@pV* XxfQhnoj3*iP%HKp#_<$x#6Pee zTOJMG8$=Cg7-!)*EW@9$0&|r;Zw^Xv7KB60bofX**C2^x_O0#40?AkKrh4K>y-2 z%;(EgEsk2b)u?tipjK!bYESIN1vngL{U4`tlLy*-4^W#Ye?rhf4QlhPLM>SbGD+*f z2<}D= 9wRK$@Jpa#;Ud9=yW?R>eNTnRp8M*eDkb=ugx@ z!n~}8%TOy5!zXYBD%U+o7Of8(aR96EJnGc^f|}?!cBJ-Bxkp7`>_s*FGHRp)sFm4^ z%Joq^l4AB1Du*vH8V&FOs=*Jj4nISs %Dn(uw73HiCl`9X+ zamc-pL fko+UKn z^}3<-5Ig)DM-@8=wO>PY5-MAWJo@)@(X1zw*~C`A7A&2rFS`2%TuUq?wEQaT0{p9H zs(sN%C~YdMi6w+KAlt}a74S=ftEaOV3hu25*{s$@tRhI8zg$nEmYvD_KPDS-Co!LR zSQb&yPq0=`|5i*R^t+)G!wL0^a=wP>4sMlV&(F8+wamNRAC{wb@WawhCGKvN2Bl^W z!HM&Cb_;GGo+DJY2l)R%(Ggzh?%ObxXeDZi={o=0s60=+M5y! q^s%UAJszT9GimF0+I(a 1q|8gcKI!c-$)dtn)BXpCTFUkS diff --git a/src/Locale/es/Users.po b/src/Locale/es/Users.po index 5a84224c4..3fe2e8f08 100644 --- a/src/Locale/es/Users.po +++ b/src/Locale/es/Users.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: CakeDC Users\n" "POT-Creation-Date: 2016-04-20 09:48-0300\n" -"PO-Revision-Date: 2016-06-06 09:50+0100\n" +"PO-Revision-Date: 2016-06-16 16:43+0100\n" "Last-Translator: André Teixeira \n" "Language-Team: CakeDC \n" "Language: es_ES\n" @@ -13,7 +13,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.7\n" +"X-Generator: Poedit 1.8.8\n" "X-Poedit-SourceCharset: UTF-8\n" #: Auth/ApiKeyAuthenticate.php:55 @@ -727,6 +727,10 @@ msgstr "Referencia" msgid "Data" msgstr "Datos" +#: View/Helper/UserHelper.php:46 +msgid "Sign in with" +msgstr "Iniciar sesión con" + #: View/Helper/UserHelper.php:49 msgid "fa fa-{0}" msgstr "" diff --git a/src/Mailer/UsersMailer.php b/src/Mailer/UsersMailer.php index 5fa1beffc..3ef4c5c75 100644 --- a/src/Mailer/UsersMailer.php +++ b/src/Mailer/UsersMailer.php @@ -52,7 +52,7 @@ protected function validation(EntityInterface $user, $subject, $template = 'Cake protected function resetPassword(EntityInterface $user, $template = 'CakeDC/Users.reset_password') { $firstName = isset($user['first_name'])? $user['first_name'] . ', ' : ''; - $subject = __d('Users', '{0}Your reset password link', $firstName); + $subject = __d('CakeDC/Users', '{0}Your reset password link', $firstName); $user->hiddenProperties(['password', 'token_expires', 'api_token']); $this @@ -75,7 +75,7 @@ protected function socialAccountValidation(EntityInterface $user, EntityInterfac { $firstName = isset($user['first_name'])? $user['first_name'] . ', ' : ''; //note: we control the space after the username in the previous line - $subject = __d('Users', '{0}Your social account validation link', $firstName); + $subject = __d('CakeDC/Users', '{0}Your social account validation link', $firstName); $this ->to($user['email']) ->subject($subject) diff --git a/src/Model/Behavior/PasswordBehavior.php b/src/Model/Behavior/PasswordBehavior.php index b5a17ab78..e62ee0b28 100644 --- a/src/Model/Behavior/PasswordBehavior.php +++ b/src/Model/Behavior/PasswordBehavior.php @@ -53,29 +53,29 @@ public function initialize(array $config) public function resetToken($reference, array $options = []) { if (empty($reference)) { - throw new InvalidArgumentException(__d('Users', "Reference cannot be null")); + throw new InvalidArgumentException(__d('CakeDC/Users', "Reference cannot be null")); } $expiration = Hash::get($options, 'expiration'); if (empty($expiration)) { - throw new InvalidArgumentException(__d('Users', "Token expiration cannot be empty")); + throw new InvalidArgumentException(__d('CakeDC/Users', "Token expiration cannot be empty")); } $user = $this->_getUser($reference); if (empty($user)) { - throw new UserNotFoundException(__d('Users', "User not found")); + throw new UserNotFoundException(__d('CakeDC/Users', "User not found")); } if (Hash::get($options, 'checkActive')) { if ($user->active) { - throw new UserAlreadyActiveException(__d('Users', "User account already validated")); + throw new UserAlreadyActiveException(__d('CakeDC/Users', "User account already validated")); } $user->active = false; $user->activation_date = null; } if (Hash::get($options, 'ensureActive')) { if (!$user['active']) { - throw new UserNotActiveException(__d('Users', "User not active")); + throw new UserNotActiveException(__d('CakeDC/Users', "User not active")); } } $user->updateToken($expiration); @@ -112,15 +112,15 @@ public function changePassword(EntityInterface $user) 'contain' => [] ]); } catch (RecordNotFoundException $e) { - throw new UserNotFoundException(__d('Users', "User not found")); + throw new UserNotFoundException(__d('CakeDC/Users', "User not found")); } if (!empty($user->current_password)) { if (!$user->checkPassword($user->current_password, $currentUser->password)) { - throw new WrongPasswordException(__d('Users', 'The current password does not match')); + throw new WrongPasswordException(__d('CakeDC/Users', 'The current password does not match')); } if ($user->current_password === $user->password_confirm) { - throw new WrongPasswordException(__d('Users', 'You cannot use the current password as the new one')); + throw new WrongPasswordException(__d('CakeDC/Users', 'You cannot use the current password as the new one')); } } $user = $this->_table->save($user); diff --git a/src/Model/Behavior/RegisterBehavior.php b/src/Model/Behavior/RegisterBehavior.php index 36bc66688..fe846589a 100644 --- a/src/Model/Behavior/RegisterBehavior.php +++ b/src/Model/Behavior/RegisterBehavior.php @@ -85,10 +85,10 @@ public function validate($token, $callback = null) ->where(['token' => $token]) ->first(); if (empty($user)) { - throw new UserNotFoundException(__d('Users', "User not found for the given token and email.")); + throw new UserNotFoundException(__d('CakeDC/Users', "User not found for the given token and email.")); } if ($user->tokenExpired()) { - throw new TokenExpiredException(__d('Users', "Token has already expired user with no token")); + throw new TokenExpiredException(__d('CakeDC/Users', "Token has already expired user with no token")); } if (!method_exists($this, $callback)) { return $user; @@ -107,7 +107,7 @@ public function validate($token, $callback = null) public function activateUser(EntityInterface $user) { if ($user->active) { - throw new UserAlreadyActiveException(__d('Users', "User account already validated")); + throw new UserAlreadyActiveException(__d('CakeDC/Users', "User account already validated")); } $user->activation_date = new DateTime(); $user->token_expires = null; diff --git a/src/Model/Behavior/SocialAccountBehavior.php b/src/Model/Behavior/SocialAccountBehavior.php index 81a009213..9b2aea082 100644 --- a/src/Model/Behavior/SocialAccountBehavior.php +++ b/src/Model/Behavior/SocialAccountBehavior.php @@ -98,10 +98,10 @@ public function validateAccount($provider, $reference, $token) if (!empty($socialAccount) && $socialAccount->token === $token) { if ($socialAccount->active) { - throw new AccountAlreadyActiveException(__d('Users', "Account already validated")); + throw new AccountAlreadyActiveException(__d('CakeDC/Users', "Account already validated")); } } else { - throw new RecordNotFoundException(__d('Users', "Account not found for the given token and email.")); + throw new RecordNotFoundException(__d('CakeDC/Users', "Account not found for the given token and email.")); } return $this->_activateAccount($socialAccount); @@ -125,10 +125,10 @@ public function resendValidation($provider, $reference) if (!empty($socialAccount)) { if ($socialAccount->active) { - throw new AccountAlreadyActiveException(__d('Users', "Account already validated")); + throw new AccountAlreadyActiveException(__d('CakeDC/Users', "Account already validated")); } } else { - throw new RecordNotFoundException(__d('Users', "Account not found for the given token and email.")); + throw new RecordNotFoundException(__d('CakeDC/Users', "Account not found for the given token and email.")); } return $this->sendSocialValidationEmail($socialAccount, $socialAccount->user); diff --git a/src/Model/Behavior/SocialBehavior.php b/src/Model/Behavior/SocialBehavior.php index 319340c1f..eb98a5a49 100644 --- a/src/Model/Behavior/SocialBehavior.php +++ b/src/Model/Behavior/SocialBehavior.php @@ -53,7 +53,7 @@ public function socialLogin(array $data, array $options) $existingAccount = $user->social_accounts[0]; } else { //@todo: what if we don't have a social account after createSocialUser? - throw new InvalidArgumentException(__d('Users', 'Unable to login user with reference {0}', $reference)); + throw new InvalidArgumentException(__d('CakeDC/Users', 'Unable to login user with reference {0}', $reference)); } } else { $user = $existingAccount->user; @@ -94,7 +94,7 @@ protected function _createSocialUser($data, $options = []) $existingUser = null; $email = Hash::get($data, 'email'); if ($useEmail && empty($email)) { - throw new MissingEmailException(__d('Users', 'Email not present')); + throw new MissingEmailException(__d('CakeDC/Users', 'Email not present')); } else { $existingUser = $this->_table->find() ->where([$this->_table->alias() . '.email' => $email]) diff --git a/src/Model/Table/UsersTable.php b/src/Model/Table/UsersTable.php index da54831f5..0d98c3871 100644 --- a/src/Model/Table/UsersTable.php +++ b/src/Model/Table/UsersTable.php @@ -78,7 +78,7 @@ public function validationPasswordConfirm(Validator $validator) } return true; }, - 'message' => __d('Users', 'Your password does not match your confirm password. Please try again'), + 'message' => __d('CakeDC/Users', 'Your password does not match your confirm password. Please try again'), 'on' => ['create', 'update'], 'allowEmpty' => false ]); @@ -156,13 +156,13 @@ public function buildRules(RulesChecker $rules) { $rules->add($rules->isUnique(['username']), '_isUnique', [ 'errorField' => 'username', - 'message' => __d('Users', 'Username already exists') + 'message' => __d('CakeDC/Users', 'Username already exists') ]); if ($this->isValidateEmail) { $rules->add($rules->isUnique(['email']), '_isUnique', [ 'errorField' => 'email', - 'message' => __d('Users', 'Email already exists') + 'message' => __d('CakeDC/Users', 'Email already exists') ]); } @@ -194,7 +194,7 @@ public function findAuth(Query $query, array $options = []) { $identifier = Hash::get($options, 'username'); if (empty($identifier)) { - throw new \BadMethodCallException(__d('Users', 'Missing \'username\' in options data')); + throw new \BadMethodCallException(__d('CakeDC/Users', 'Missing \'username\' in options data')); } $query diff --git a/src/Shell/UsersShell.php b/src/Shell/UsersShell.php index 908bfd502..8d9690e78 100644 --- a/src/Shell/UsersShell.php +++ b/src/Shell/UsersShell.php @@ -51,16 +51,16 @@ public function initialize() public function getOptionParser() { $parser = parent::getOptionParser(); - $parser->description(__d('Users', 'Utilities for CakeDC Users Plugin')) - ->addSubcommand('activateUser')->description(__d('Users', 'Activate an specific user')) - ->addSubcommand('addSuperuser')->description(__d('Users', 'Add a new superadmin user for testing purposes')) - ->addSubcommand('addUser')->description(__d('Users', 'Add a new user')) - ->addSubcommand('changeRole')->description(__d('Users', 'Change the role for an specific user')) - ->addSubcommand('deactivateUser')->description(__d('Users', 'Deactivate an specific user')) - ->addSubcommand('deleteUser')->description(__d('Users', 'Delete an specific user')) - ->addSubcommand('passwordEmail')->description(__d('Users', 'Reset the password via email')) - ->addSubcommand('resetAllPasswords')->description(__d('Users', 'Reset the password for all users')) - ->addSubcommand('resetPassword')->description(__d('Users', 'Reset the password for an specific user')) + $parser->description(__d('CakeDC/Users', 'Utilities for CakeDC Users Plugin')) + ->addSubcommand('activateUser')->description(__d('CakeDC/Users', 'Activate an specific user')) + ->addSubcommand('addSuperuser')->description(__d('CakeDC/Users', 'Add a new superadmin user for testing purposes')) + ->addSubcommand('addUser')->description(__d('CakeDC/Users', 'Add a new user')) + ->addSubcommand('changeRole')->description(__d('CakeDC/Users', 'Change the role for an specific user')) + ->addSubcommand('deactivateUser')->description(__d('CakeDC/Users', 'Deactivate an specific user')) + ->addSubcommand('deleteUser')->description(__d('CakeDC/Users', 'Delete an specific user')) + ->addSubcommand('passwordEmail')->description(__d('CakeDC/Users', 'Reset the password via email')) + ->addSubcommand('resetAllPasswords')->description(__d('CakeDC/Users', 'Reset the password for all users')) + ->addSubcommand('resetPassword')->description(__d('CakeDC/Users', 'Reset the password for an specific user')) ->addOptions([ 'username' => ['short' => 'u', 'help' => 'The username for the new user'], 'password' => ['short' => 'p', 'help' => 'The password for the new user'], @@ -94,11 +94,11 @@ public function addUser() $userEntity->is_superuser = true; $userEntity->role = 'user'; $savedUser = $this->Users->save($userEntity); - $this->out(__d('Users', 'User added:')); - $this->out(__d('Users', 'Id: {0}', $savedUser->id)); - $this->out(__d('Users', 'Username: {0}', $username)); - $this->out(__d('Users', 'Email: {0}', $savedUser->email)); - $this->out(__d('Users', 'Password: {0}', $password)); + $this->out(__d('CakeDC/Users', 'User added:')); + $this->out(__d('CakeDC/Users', 'Id: {0}', $savedUser->id)); + $this->out(__d('CakeDC/Users', 'Username: {0}', $username)); + $this->out(__d('CakeDC/Users', 'Email: {0}', $savedUser->email)); + $this->out(__d('CakeDC/Users', 'Password: {0}', $password)); } /** @@ -122,16 +122,16 @@ public function addSuperuser() $userEntity->role = 'superuser'; $savedUser = $this->Users->save($userEntity); if (!empty($savedUser)) { - $this->out(__d('Users', 'Superuser added:')); - $this->out(__d('Users', 'Id: {0}', $savedUser->id)); - $this->out(__d('Users', 'Username: {0}', $username)); - $this->out(__d('Users', 'Email: {0}', $savedUser->email)); - $this->out(__d('Users', 'Password: {0}', $password)); + $this->out(__d('CakeDC/Users', 'Superuser added:')); + $this->out(__d('CakeDC/Users', 'Id: {0}', $savedUser->id)); + $this->out(__d('CakeDC/Users', 'Username: {0}', $username)); + $this->out(__d('CakeDC/Users', 'Email: {0}', $savedUser->email)); + $this->out(__d('CakeDC/Users', 'Password: {0}', $password)); } else { - $this->out(__d('Users', 'Superuser could not be added:')); + $this->out(__d('CakeDC/Users', 'Superuser could not be added:')); collection($userEntity->errors())->each(function ($error, $field) { - $this->out(__d('Users', 'Field: {0} Error: {1}', $field, implode(',', $error))); + $this->out(__d('CakeDC/Users', 'Field: {0} Error: {1}', $field, implode(',', $error))); }); } } @@ -149,12 +149,12 @@ public function resetAllPasswords() { $password = Hash::get($this->args, 0); if (empty($password)) { - $this->error(__d('Users', 'Please enter a password.')); + $this->error(__d('CakeDC/Users', 'Please enter a password.')); } $hashedPassword = $this->_generatedHashedPassword($password); $this->Users->updateAll(['password' => $hashedPassword], ['id IS NOT NULL']); - $this->out(__d('Users', 'Password changed for all users')); - $this->out(__d('Users', 'New password: {0}', $password)); + $this->out(__d('CakeDC/Users', 'Password changed for all users')); + $this->out(__d('CakeDC/Users', 'New password: {0}', $password)); } /** @@ -172,17 +172,17 @@ public function resetPassword() $username = Hash::get($this->args, 0); $password = Hash::get($this->args, 1); if (empty($username)) { - $this->error(__d('Users', 'Please enter a username.')); + $this->error(__d('CakeDC/Users', 'Please enter a username.')); } if (empty($password)) { - $this->error(__d('Users', 'Please enter a password.')); + $this->error(__d('CakeDC/Users', 'Please enter a password.')); } $data = [ 'password' => $password ]; $this->_updateUser($username, $data); - $this->out(__d('Users', 'Password changed for user: {0}', $username)); - $this->out(__d('Users', 'New password: {0}', $password)); + $this->out(__d('CakeDC/Users', 'Password changed for user: {0}', $username)); + $this->out(__d('CakeDC/Users', 'New password: {0}', $password)); } /** @@ -200,17 +200,17 @@ public function changeRole() $username = Hash::get($this->args, 0); $role = Hash::get($this->args, 1); if (empty($username)) { - $this->error(__d('Users', 'Please enter a username.')); + $this->error(__d('CakeDC/Users', 'Please enter a username.')); } if (empty($role)) { - $this->error(__d('Users', 'Please enter a role.')); + $this->error(__d('CakeDC/Users', 'Please enter a role.')); } $data = [ 'role' => $role ]; $savedUser = $this->_updateUser($username, $data); - $this->out(__d('Users', 'Role changed for user: {0}', $username)); - $this->out(__d('Users', 'New role: {0}', $savedUser->role)); + $this->out(__d('CakeDC/Users', 'Role changed for user: {0}', $username)); + $this->out(__d('CakeDC/Users', 'New role: {0}', $savedUser->role)); } /** @@ -225,7 +225,7 @@ public function changeRole() public function activateUser() { $user = $this->_changeUserActive(true); - $this->out(__d('Users', 'User was activated: {0}', $user->username)); + $this->out(__d('CakeDC/Users', 'User was activated: {0}', $user->username)); } /** @@ -240,7 +240,7 @@ public function activateUser() public function deactivateUser() { $user = $this->_changeUserActive(false); - $this->out(__d('Users', 'User was de-activated: {0}', $user->username)); + $this->out(__d('CakeDC/Users', 'User was de-activated: {0}', $user->username)); } /** @@ -252,7 +252,7 @@ public function passwordEmail() { $reference = Hash::get($this->args, 0); if (empty($reference)) { - $this->error(__d('Users', 'Please enter a username or email.')); + $this->error(__d('CakeDC/Users', 'Please enter a username or email.')); } $resetUser = $this->Users->resetToken($reference, [ 'expiration' => Configure::read('Users.Token.expiration'), @@ -260,10 +260,10 @@ public function passwordEmail() 'sendEmail' => true, ]); if ($resetUser) { - $msg = __d('Users', 'Please ask the user to check the email to continue with password reset process'); + $msg = __d('CakeDC/Users', 'Please ask the user to check the email to continue with password reset process'); $this->out($msg); } else { - $msg = __d('Users', 'The password token could not be generated. Please try again'); + $msg = __d('CakeDC/Users', 'The password token could not be generated. Please try again'); $this->error($msg); } } @@ -278,7 +278,7 @@ protected function _changeUserActive($active) { $username = Hash::get($this->args, 0); if (empty($username)) { - $this->error(__d('Users', 'Please enter a username.')); + $this->error(__d('CakeDC/Users', 'Please enter a username.')); } $data = [ 'active' => $active @@ -297,7 +297,7 @@ protected function _updateUser($username, $data) { $user = $this->Users->find()->where(['username' => $username])->first(); if (empty($user)) { - $this->error(__d('Users', 'The user was not found.')); + $this->error(__d('CakeDC/Users', 'The user was not found.')); } $user = $this->Users->patchEntity($user, $data); collection($data)->filter(function ($value, $field) use ($user) { @@ -318,7 +318,7 @@ public function deleteUser() { $username = Hash::get($this->args, 0); if (empty($username)) { - $this->error(__d('Users', 'Please enter a username.')); + $this->error(__d('CakeDC/Users', 'Please enter a username.')); } $user = $this->Users->find()->where(['username' => $username])->first(); if (isset($this->Users->SocialAccounts)) { @@ -326,9 +326,9 @@ public function deleteUser() } $deleteUser = $this->Users->delete($user); if (!$deleteUser) { - $this->error(__d('Users', 'The user {0} was not deleted. Please try again', $username)); + $this->error(__d('CakeDC/Users', 'The user {0} was not deleted. Please try again', $username)); } - $this->out(__d('Users', 'The user {0} was deleted successfully', $username)); + $this->out(__d('CakeDC/Users', 'The user {0} was deleted successfully', $username)); } /** diff --git a/src/Template/Email/html/reset_password.ctp b/src/Template/Email/html/reset_password.ctp index 10feeba1f..5f585c3ad 100644 --- a/src/Template/Email/html/reset_password.ctp +++ b/src/Template/Email/html/reset_password.ctp @@ -18,14 +18,14 @@ $activationUrl = [ ]; ?> -= __d('Users', "Hi {0}", isset($first_name)? $first_name : '') ?>, += __d('CakeDC/Users', "Hi {0}", isset($first_name)? $first_name : '') ?>,
- = $this->Html->link(__d('Users', 'Reset your password here'), $activationUrl) ?> + = $this->Html->link(__d('CakeDC/Users', 'Reset your password here'), $activationUrl) ?>
- = __d('Users', "If the link is not correcly displayed, please copy the following address in your web browser {0}", $this->Url->build($activationUrl)) ?> + = __d('CakeDC/Users', "If the link is not correcly displayed, please copy the following address in your web browser {0}", $this->Url->build($activationUrl)) ?>
- = __d('Users', 'Thank you') ?>, + = __d('CakeDC/Users', 'Thank you') ?>,
diff --git a/src/Template/Email/html/social_account_validation.ctp b/src/Template/Email/html/social_account_validation.ctp index f4357c898..f6dbd7567 100644 --- a/src/Template/Email/html/social_account_validation.ctp +++ b/src/Template/Email/html/social_account_validation.ctp @@ -11,11 +11,11 @@ ?>-= __d('Users', "Hi {0}", $user['first_name']) ?>, += __d('CakeDC/Users', "Hi {0}", $user['first_name']) ?>,
true, 'plugin' => 'CakeDC/Users', @@ -29,8 +29,8 @@ ?>
- = __d('Users', "If the link is not correcly displayed, please copy the following address in your web browser {0}", $this->Url->build($activationUrl)) ?> + = __d('CakeDC/Users', "If the link is not correcly displayed, please copy the following address in your web browser {0}", $this->Url->build($activationUrl)) ?>
- = __d('Users', 'Thank you') ?>, + = __d('CakeDC/Users', 'Thank you') ?>,
diff --git a/src/Template/Email/html/validation.ctp b/src/Template/Email/html/validation.ctp index df1dc3fe2..0e722b118 100644 --- a/src/Template/Email/html/validation.ctp +++ b/src/Template/Email/html/validation.ctp @@ -18,14 +18,14 @@ $activationUrl = [ ]; ?>-= __d('Users', "Hi {0}", isset($first_name)? $first_name : '') ?>, += __d('CakeDC/Users', "Hi {0}", isset($first_name)? $first_name : '') ?>,
- = $this->Html->link(__d('Users', 'Activate your account here'), $activationUrl) ?> + = $this->Html->link(__d('CakeDC/Users', 'Activate your account here'), $activationUrl) ?>
- = __d('Users', "If the link is not correctly displayed, please copy the following address in your web browser {0}", $this->Url->build($activationUrl)) ?> + = __d('CakeDC/Users', "If the link is not correctly displayed, please copy the following address in your web browser {0}", $this->Url->build($activationUrl)) ?>
- = __d('Users', 'Thank you') ?>, + = __d('CakeDC/Users', 'Thank you') ?>,
diff --git a/src/Template/Email/text/reset_password.ctp b/src/Template/Email/text/reset_password.ctp index c2f38948e..49018fb92 100644 --- a/src/Template/Email/text/reset_password.ctp +++ b/src/Template/Email/text/reset_password.ctp @@ -17,9 +17,9 @@ $activationUrl = [ isset($token) ? $token : '' ]; ?> -= __d('Users', "Hi {0}", isset($first_name)? $first_name : '') ?>, += __d('CakeDC/Users', "Hi {0}", isset($first_name)? $first_name : '') ?>, -= __d('Users', "Please copy the following address in your web browser {0}", $this->Url->build($activationUrl)) ?> += __d('CakeDC/Users', "Please copy the following address in your web browser {0}", $this->Url->build($activationUrl)) ?> -= __d('Users', 'Thank you') ?>, += __d('CakeDC/Users', 'Thank you') ?>, diff --git a/src/Template/Email/text/social_account_validation.ctp b/src/Template/Email/text/social_account_validation.ctp index e2a7503d7..72b1f1279 100644 --- a/src/Template/Email/text/social_account_validation.ctp +++ b/src/Template/Email/text/social_account_validation.ctp @@ -19,9 +19,9 @@ $socialAccount['token'], ]; ?> -= __d('Users', "Hi {0}", $user['first_name']) ?>, += __d('CakeDC/Users', "Hi {0}", $user['first_name']) ?>, -= __d('Users', "Please copy the following address in your web browser to activate your social login {0}", $this->Url->build($activationUrl)) ?> += __d('CakeDC/Users', "Please copy the following address in your web browser to activate your social login {0}", $this->Url->build($activationUrl)) ?> -= __d('Users', 'Thank you') ?>, += __d('CakeDC/Users', 'Thank you') ?>, diff --git a/src/Template/Email/text/validation.ctp b/src/Template/Email/text/validation.ctp index 9bc3deb34..a423ee9ea 100644 --- a/src/Template/Email/text/validation.ctp +++ b/src/Template/Email/text/validation.ctp @@ -17,9 +17,9 @@ $activationUrl = [ isset($token) ? $token : '' ]; ?> -= __d('Users', "Hi {0}", isset($first_name)? $first_name : '') ?>, += __d('CakeDC/Users', "Hi {0}", isset($first_name)? $first_name : '') ?>, -= __d('Users', "Please copy the following address in your web browser {0}", $this->Url->build($activationUrl)) ?> += __d('CakeDC/Users', "Please copy the following address in your web browser {0}", $this->Url->build($activationUrl)) ?> -= __d('Users', 'Thank you') ?>, += __d('CakeDC/Users', 'Thank you') ?>, diff --git a/src/Template/Users/add.ctp b/src/Template/Users/add.ctp index 29a1dfb61..a57279ea5 100644 --- a/src/Template/Users/add.ctp +++ b/src/Template/Users/add.ctp @@ -10,16 +10,16 @@ */ ?>-= __d('Users', 'Actions') ?>
+= __d('CakeDC/Users', 'Actions') ?>
-
- = $this->Html->link(__d('Users', 'List Users'), ['action' => 'index']) ?>
-- = $this->Html->link(__d('Users', 'List Accounts'), ['controller' => 'Accounts', 'action' => 'index']) ?>
+- = $this->Html->link(__d('CakeDC/Users', 'List Users'), ['action' => 'index']) ?>
+- = $this->Html->link(__d('CakeDC/Users', 'List Accounts'), ['controller' => 'Accounts', 'action' => 'index']) ?>
= $this->Form->create($Users); ?> - = $this->Form->button(__d('Users', 'Submit')) ?> + = $this->Form->button(__d('CakeDC/Users', 'Submit')) ?> = $this->Form->end() ?>diff --git a/src/Template/Users/change_password.ctp b/src/Template/Users/change_password.ctp index 129b1b87a..3e4be5ad2 100644 --- a/src/Template/Users/change_password.ctp +++ b/src/Template/Users/change_password.ctp @@ -2,18 +2,18 @@ = $this->Flash->render('auth') ?> = $this->Form->create($user) ?> - = $this->Form->button(__d('Users', 'Submit')); ?> + = $this->Form->button(__d('CakeDC/Users', 'Submit')); ?> = $this->Form->end() ?> \ No newline at end of file diff --git a/src/Template/Users/edit.ctp b/src/Template/Users/edit.ctp index 550b124fe..185551d11 100644 --- a/src/Template/Users/edit.ctp +++ b/src/Template/Users/edit.ctp @@ -10,22 +10,22 @@ */ ?>-= __d('Users', 'Actions') ?>
+= __d('CakeDC/Users', 'Actions') ?>
- = $this->Form->postLink( - __d('Users', 'Delete'), + __d('CakeDC/Users', 'Delete'), ['action' => 'delete', $Users->id], - ['confirm' => __d('Users', 'Are you sure you want to delete # {0}?', $Users->id)] + ['confirm' => __d('CakeDC/Users', 'Are you sure you want to delete # {0}?', $Users->id)] ) ?>
-- = $this->Html->link(__d('Users', 'List Users'), ['action' => 'index']) ?>
-- = $this->Html->link(__d('Users', 'List Accounts'), ['controller' => 'Accounts', 'action' => 'index']) ?>
+- = $this->Html->link(__d('CakeDC/Users', 'List Users'), ['action' => 'index']) ?>
+- = $this->Html->link(__d('CakeDC/Users', 'List Accounts'), ['controller' => 'Accounts', 'action' => 'index']) ?>
= $this->Form->create($Users); ?> - = $this->Form->button(__d('Users', 'Submit')) ?> + = $this->Form->button(__d('CakeDC/Users', 'Submit')) ?> = $this->Form->end() ?>diff --git a/src/Template/Users/index.ctp b/src/Template/Users/index.ctp index 500b381a7..28efea0e2 100644 --- a/src/Template/Users/index.ctp +++ b/src/Template/Users/index.ctp @@ -10,9 +10,9 @@ */ ?>-= __d('Users', 'Actions') ?>
+= __d('CakeDC/Users', 'Actions') ?>
-
- = $this->Html->link(__d('Users', 'New {0}', $tableAlias), ['action' => 'add']) ?>
+- = $this->Html->link(__d('CakeDC/Users', 'New {0}', $tableAlias), ['action' => 'add']) ?>
@@ -23,7 +23,7 @@= $this->Paginator->sort('email') ?> = $this->Paginator->sort('first_name') ?> = $this->Paginator->sort('last_name') ?> -= __d('Users', 'Actions') ?> += __d('CakeDC/Users', 'Actions') ?> @@ -34,10 +34,10 @@= h($user->first_name) ?> = h($user->last_name) ?> - = $this->Html->link(__d('Users', 'View'), ['action' => 'view', $user->id]) ?> - = $this->Html->link(__d('Users', 'Change password'), ['action' => 'changePassword', $user->id]) ?> - = $this->Html->link(__d('Users', 'Edit'), ['action' => 'edit', $user->id]) ?> - = $this->Form->postLink(__d('Users', 'Delete'), ['action' => 'delete', $user->id], ['confirm' => __d('Users', 'Are you sure you want to delete # {0}?', $user->id)]) ?> + = $this->Html->link(__d('CakeDC/Users', 'View'), ['action' => 'view', $user->id]) ?> + = $this->Html->link(__d('CakeDC/Users', 'Change password'), ['action' => 'changePassword', $user->id]) ?> + = $this->Html->link(__d('CakeDC/Users', 'Edit'), ['action' => 'edit', $user->id]) ?> + = $this->Form->postLink(__d('CakeDC/Users', 'Delete'), ['action' => 'delete', $user->id], ['confirm' => __d('CakeDC/Users', 'Are you sure you want to delete # {0}?', $user->id)]) ?> @@ -46,9 +46,9 @@diff --git a/src/Template/Users/login.ctp b/src/Template/Users/login.ctp index 24b791185..4532fbaa9 100644 --- a/src/Template/Users/login.ctp +++ b/src/Template/Users/login.ctp @@ -16,7 +16,7 @@ use Cake\Core\Configure; = $this->Flash->render('auth') ?> = $this->Form->create() ?> = implode(' ', $this->User->socialLoginList()); ?> - = $this->Form->button(__d('Users', 'Login')); ?> + = $this->Form->button(__d('CakeDC/Users', 'Login')); ?> = $this->Form->end() ?> diff --git a/src/Template/Users/profile.ctp b/src/Template/Users/profile.ctp index 59091709d..65f09904a 100644 --- a/src/Template/Users/profile.ctp +++ b/src/Template/Users/profile.ctp @@ -15,36 +15,36 @@ = $this->Html->tag( 'span', - __d('Users', '{0} {1}', $user->first_name, $user->last_name), + __d('CakeDC/Users', '{0} {1}', $user->first_name, $user->last_name), ['class' => 'full_name'] ) ?> - = $this->Html->link(__d('Users', 'Change Password'), ['plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'changePassword']); ?> + = $this->Html->link(__d('CakeDC/Users', 'Change Password'), ['plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'changePassword']); ?>- = $this->Paginator->prev('< ' . __d('Users', 'previous')) ?> + = $this->Paginator->prev('< ' . __d('CakeDC/Users', 'previous')) ?> = $this->Paginator->numbers() ?> - = $this->Paginator->next(__d('Users', 'next') . ' >') ?> + = $this->Paginator->next(__d('CakeDC/Users', 'next') . ' >') ?>
= $this->Paginator->counter() ?>
-= __d('Users', 'Username') ?>
+= __d('CakeDC/Users', 'Username') ?>
= h($user->username) ?>
-= __d('Users', 'Email') ?>
+= __d('CakeDC/Users', 'Email') ?>
= h($user->email) ?>
social_accounts)): ?> -= __d('Users', 'Social Accounts') ?>
+= __d('CakeDC/Users', 'Social Accounts') ?>
- social_accounts as $socialAccount): $escapedUsername = h($socialAccount->username); - $linkText = empty($escapedUsername) ? __d('Users', 'Link to {0}', h($socialAccount->provider)) : h($socialAccount->username) + $linkText = empty($escapedUsername) ? __d('CakeDC/Users', 'Link to {0}', h($socialAccount->provider)) : h($socialAccount->username) ?>= __d('Users', 'Avatar'); ?> -= __d('Users', 'Provider'); ?> -= __d('Users', 'Link'); ?> += __d('CakeDC/Users', 'Avatar'); ?> += __d('CakeDC/Users', 'Provider'); ?> += __d('CakeDC/Users', 'Link'); ?> = diff --git a/src/Template/Users/register.ctp b/src/Template/Users/register.ctp index 2c1467db3..551a4b822 100644 --- a/src/Template/Users/register.ctp +++ b/src/Template/Users/register.ctp @@ -13,7 +13,7 @@ use Cake\Core\Configure; = $this->Form->create($user); ?> - = $this->Form->button(__d('Users', 'Submit')) ?> + = $this->Form->button(__d('CakeDC/Users', 'Submit')) ?> = $this->Form->end() ?>diff --git a/src/Template/Users/request_reset_password.ctp b/src/Template/Users/request_reset_password.ctp index c8559a63c..462e29bc6 100644 --- a/src/Template/Users/request_reset_password.ctp +++ b/src/Template/Users/request_reset_password.ctp @@ -2,9 +2,9 @@ = $this->Flash->render('auth') ?> = $this->Form->create('User') ?> - = $this->Form->button(__d('Users', 'Submit')); ?> + = $this->Form->button(__d('CakeDC/Users', 'Submit')); ?> = $this->Form->end() ?> diff --git a/src/Template/Users/resend_token_validation.ctp b/src/Template/Users/resend_token_validation.ctp index c64c38684..90b8aa9d7 100644 --- a/src/Template/Users/resend_token_validation.ctp +++ b/src/Template/Users/resend_token_validation.ctp @@ -12,11 +12,11 @@= $this->Form->create($user); ?> - = $this->Form->button(__d('Users', 'Submit')) ?> + = $this->Form->button(__d('CakeDC/Users', 'Submit')) ?> = $this->Form->end() ?>diff --git a/src/Template/Users/social_email.ctp b/src/Template/Users/social_email.ctp index 52cc6086e..7fb86c250 100644 --- a/src/Template/Users/social_email.ctp +++ b/src/Template/Users/social_email.ctp @@ -13,9 +13,9 @@ = $this->Flash->render() ?> = $this->Form->create('User') ?> - = $this->Form->button(__d('Users', 'Submit')); ?> + = $this->Form->button(__d('CakeDC/Users', 'Submit')); ?> = $this->Form->end() ?> diff --git a/src/Template/Users/view.ctp b/src/Template/Users/view.ctp index 17df81728..ab56a8164 100644 --- a/src/Template/Users/view.ctp +++ b/src/Template/Users/view.ctp @@ -10,71 +10,71 @@ */ ?>-= __d('Users', 'Actions') ?>
+= __d('CakeDC/Users', 'Actions') ?>
-
- = $this->Html->link(__d('Users', 'Edit User'), ['action' => 'edit', $Users->id]) ?>
-- = $this->Form->postLink(__d('Users', 'Delete User'), ['action' => 'delete', $Users->id], ['confirm' => __d('Users', 'Are you sure you want to delete # {0}?', $Users->id)]) ?>
-- = $this->Html->link(__d('Users', 'List Users'), ['action' => 'index']) ?>
-- = $this->Html->link(__d('Users', 'New User'), ['action' => 'add']) ?>
-- = $this->Html->link(__d('Users', 'List Accounts'), ['controller' => 'Accounts', 'action' => 'index']) ?>
+- = $this->Html->link(__d('CakeDC/Users', 'Edit User'), ['action' => 'edit', $Users->id]) ?>
+- = $this->Form->postLink(__d('CakeDC/Users', 'Delete User'), ['action' => 'delete', $Users->id], ['confirm' => __d('CakeDC/Users', 'Are you sure you want to delete # {0}?', $Users->id)]) ?>
+- = $this->Html->link(__d('CakeDC/Users', 'List Users'), ['action' => 'index']) ?>
+- = $this->Html->link(__d('CakeDC/Users', 'New User'), ['action' => 'add']) ?>
+- = $this->Html->link(__d('CakeDC/Users', 'List Accounts'), ['controller' => 'Accounts', 'action' => 'index']) ?>
= h($Users->id) ?>
-= __d('Users', 'Id') ?>
+= __d('CakeDC/Users', 'Id') ?>
= h($Users->id) ?>
-= __d('Users', 'Username') ?>
+= __d('CakeDC/Users', 'Username') ?>
= h($Users->username) ?>
-= __d('Users', 'Email') ?>
+= __d('CakeDC/Users', 'Email') ?>
= h($Users->email) ?>
-= __d('Users', 'First Name') ?>
+= __d('CakeDC/Users', 'First Name') ?>
= h($Users->first_name) ?>
-= __d('Users', 'Last Name') ?>
+= __d('CakeDC/Users', 'Last Name') ?>
= h($Users->last_name) ?>
-= __d('Users', 'Token') ?>
+= __d('CakeDC/Users', 'Token') ?>
= h($Users->token) ?>
-= __d('Users', 'Api Token') ?>
+= __d('CakeDC/Users', 'Api Token') ?>
= h($Users->api_token) ?>
-= __d('Users', 'Active') ?>
+= __d('CakeDC/Users', 'Active') ?>
= $this->Number->format($Users->active) ?>
-= __d('Users', 'Token Expires') ?>
+= __d('CakeDC/Users', 'Token Expires') ?>
= h($Users->token_expires) ?>
-= __d('Users', 'Activation Date') ?>
+= __d('CakeDC/Users', 'Activation Date') ?>
= h($Users->activation_date) ?>
-= __d('Users', 'Tos Date') ?>
+= __d('CakeDC/Users', 'Tos Date') ?>
= h($Users->tos_date) ?>
-= __d('Users', 'Created') ?>
+= __d('CakeDC/Users', 'Created') ?>
= h($Users->created) ?>
-= __d('Users', 'Modified') ?>
+= __d('CakeDC/Users', 'Modified') ?>
= h($Users->modified) ?>