Projet

Général

Profil

0001-Adapt-account-management-when-the-user-has-no-passwo.patch

Mikaël Ates, 29 avril 2016 17:01

Télécharger (27,1 ko)

Voir les différences:

Subject: [PATCH 1/1] Adapt account management when the user has no password
 (fixes #10658).

 src/authentic2/locale/fr/LC_MESSAGES/django.po     | 269 +++++++++++----------
 src/authentic2/profile_urls.py                     |   3 +-
 src/authentic2/templates/authentic2/accounts.html  |   4 +-
 .../authentic2/login_password_profile.html         |  20 +-
 src/authentic2/views.py                            |   7 +-
 5 files changed, 157 insertions(+), 146 deletions(-)
src/authentic2/locale/fr/LC_MESSAGES/django.po
7 7
msgstr ""
8 8
"Project-Id-Version: Authentic\n"
9 9
"Report-Msgid-Bugs-To: \n"
10
"POT-Creation-Date: 2016-02-05 16:43+0100\n"
10
"POT-Creation-Date: 2016-04-29 12:08+0200\n"
11 11
"PO-Revision-Date: 2015-02-26 17:53+0100\n"
12 12
"Last-Translator: Mikaël Ates <mates@entrouvert.com>\n"
13 13
"Language-Team: None\n"
......
34 34
msgid "deleted user %r"
35 35
msgstr "utilisateur supprimé %r"
36 36

  
37
#: authentic2/admin.py:107 authentic2/models.py:32 authentic2/models.py:42
38
#: authentic2/models.py:232
37
#: authentic2/admin.py:107 authentic2/models.py:33 authentic2/models.py:43
38
#: authentic2/models.py:267
39 39
msgid "user"
40 40
msgstr "utilisateur"
41 41

  
......
65 65

  
66 66
#: authentic2/admin.py:172 authentic2/admin.py:209
67 67
#: authentic2/auth_frontends.py:18 authentic2/forms.py:13
68
#: authentic2/registration_backend/forms.py:76
69
#: authentic2/registration_backend/forms.py:205
70
#: authentic2/templates/authentic2/login_password_profile.html:2
68
#: authentic2/registration_backend/forms.py:128
69
#: authentic2/registration_backend/forms.py:214
70
#: authentic2/templates/authentic2/login_password_profile.html:4
71 71
msgid "Password"
72 72
msgstr "Mot de passe"
73 73

  
......
78 78
"form</a>."
79 79
msgstr ""
80 80

  
81
#: authentic2/admin.py:206 authentic2/registration_backend/forms.py:90
81
#: authentic2/admin.py:206 authentic2/registration_backend/forms.py:142
82 82
msgid "The two password fields didn't match."
83 83
msgstr "Les deux champs mot de passe ne correspondent pas."
84 84

  
......
106 106
msgid "Attributes"
107 107
msgstr "Attributs"
108 108

  
109
#: authentic2/api_views.py:66
109
#: authentic2/api_views.py:68
110 110
msgid "you are not authorized to create users in this ou"
111 111
msgstr "Vous n'êtes pas autorisé à vous inscrire dans cette collectivité."
112 112

  
113
#: authentic2/api_views.py:73 authentic2/api_views.py:80
114
#: authentic2/tests/test_all.py:826 authentic2/tests/test_all.py:851
115
#: authentic2/tests/test_all.py:977 authentic2/tests/test_all.py:1002
113
#: authentic2/api_views.py:76 authentic2/api_views.py:83
116 114
msgid "You already have an account"
117 115
msgstr "Vous avez déjà un compte."
118 116

  
119
#: authentic2/api_views.py:76 authentic2/tests/test_all.py:838
120
#: authentic2/tests/test_all.py:989
117
#: authentic2/api_views.py:80
121 118
msgid "Username is required in this ou"
122 119
msgstr "L'identifiant est requis dans cette collectivité."
123 120

  
124
#: authentic2/api_views.py:386
121
#: authentic2/api_views.py:393
125 122
msgid "User successfully added to role"
126 123
msgstr "Utilisateur ajouté du rôle"
127 124

  
128
#: authentic2/api_views.py:390
125
#: authentic2/api_views.py:398
129 126
msgid "User successfully removed from role"
130 127
msgstr "Utilisateur retiré du rôle"
131 128

  
......
136 133
"caractères « @ », « . », « + », « - » et « _ »."
137 134

  
138 135
#: authentic2/app_settings.py:117
139
#: authentic2/templates/authentic2/api_registration_email_body.txt:3
136
#: authentic2/templates/authentic2/api_user_create_registration_email_body.txt:3
140 137
msgid "Username"
141 138
msgstr "Identifiant"
142 139

  
......
150 147
msgid "Mr"
151 148
msgstr "Monsieur"
152 149

  
153
#: authentic2/attribute_kinds.py:28
150
#: authentic2/attribute_kinds.py:29
154 151
msgid "string"
155 152
msgstr "chaîne de caractère"
156 153

  
157
#: authentic2/attribute_kinds.py:33
154
#: authentic2/attribute_kinds.py:34
158 155
msgid "title"
159 156
msgstr "civilité"
160 157

  
161
#: authentic2/attribute_kinds.py:64
158
#: authentic2/attribute_kinds.py:65
162 159
msgid "SIRET number must contain 14 digits"
163 160
msgstr "Le SIRET doit contenir 14 chiffres"
164 161

  
165
#: authentic2/attribute_kinds.py:67
162
#: authentic2/attribute_kinds.py:68
166 163
msgid "SIRET validation code does not match"
167 164
msgstr "Les clé de validation de votre SIRET sont inexactes"
168 165

  
......
175 172
msgstr "Identifiant de l'utilisateur"
176 173

  
177 174
#: authentic2/attributes_ng/sources/django_user.py:32
175
msgid "Full name"
176
msgstr "Nom complet"
177

  
178
#: authentic2/attributes_ng/sources/django_user.py:33
178 179
msgid "Role slugs"
179 180
msgstr "Identifiants courts du rôle"
180 181

  
181
#: authentic2/attributes_ng/sources/django_user.py:33
182
#: authentic2/attributes_ng/sources/django_user.py:34
182 183
msgid "Role names"
183 184
msgstr "Noms des rôles"
184 185

  
185
#: authentic2/attributes_ng/sources/django_user.py:34
186
#: authentic2/attributes_ng/sources/django_user.py:35
186 187
msgid "Role UUIDs"
187 188
msgstr "Identifiants uniques des rôles"
188 189

  
189
#: authentic2/attributes_ng/sources/django_user.py:35
190
#: authentic2/attributes_ng/sources/django_user.py:36
190 191
msgid "Role slugs from same organizational unit as the service"
191 192
msgstr "Identifiants des rôles de la même collectivité que le service"
192 193

  
193
#: authentic2/attributes_ng/sources/django_user.py:36
194
#: authentic2/attributes_ng/sources/django_user.py:37
194 195
msgid "Role names from same organizational unit as the service"
195 196
msgstr "Nom des rôles de la même collectivité que le service"
196 197

  
197
#: authentic2/attributes_ng/sources/django_user.py:37
198
#: authentic2/attributes_ng/sources/django_user.py:38
198 199
msgid "Role uuids from same organizational unit as the service"
199 200
msgstr "UUID des rôles de la même collectivité que le service"
200 201

  
......
295 296
msgid "Dashboard"
296 297
msgstr "Tableau de bord"
297 298

  
298
#: authentic2/middleware.py:165
299
#: authentic2/middleware.py:170
299 300
msgid "You must change your password to continue"
300 301
msgstr "Vous devez changer votre mot de passe avant de continuer."
301 302

  
302
#: authentic2/models.py:34 authentic2/models.py:48
303
#: authentic2/models.py:35 authentic2/models.py:49
303 304
msgid "creation date"
304 305
msgstr "date de création"
305 306

  
306
#: authentic2/models.py:37
307
#: authentic2/models.py:38
307 308
msgid "user to delete"
308 309
msgstr "utilisateur à effacer"
309 310

  
310
#: authentic2/models.py:38
311
#: authentic2/models.py:39
311 312
msgid "users to delete"
312 313
msgstr "utilisateurs à effacer"
313 314

  
314
#: authentic2/models.py:44
315
#: authentic2/models.py:45
315 316
msgid "source"
316 317
msgstr "source"
317 318

  
318
#: authentic2/models.py:46
319
#: authentic2/models.py:47
319 320
msgid "external id"
320 321
msgstr "identifiant externe"
321 322

  
322
#: authentic2/models.py:50
323
#: authentic2/models.py:51
323 324
msgid "last update date"
324 325
msgstr "dernière date de mise à jour"
325 326

  
326
#: authentic2/models.py:63
327
#: authentic2/models.py:64
327 328
msgid "user external id"
328 329
msgstr "identifiant externe d'un utilisateur"
329 330

  
330
#: authentic2/models.py:64
331
#: authentic2/models.py:65
331 332
msgid "user external ids"
332 333
msgstr "identifiants externes des utilisateurs"
333 334

  
334
#: authentic2/models.py:69
335
#: authentic2/models.py:70
335 336
msgid "when"
336 337
msgstr "quand"
337 338

  
338
#: authentic2/models.py:71
339
#: authentic2/models.py:72
339 340
msgid "who"
340 341
msgstr "qui"
341 342

  
342
#: authentic2/models.py:73
343
#: authentic2/models.py:74
343 344
msgid "how"
344 345
msgstr "comment"
345 346

  
346
#: authentic2/models.py:75
347
#: authentic2/models.py:76
347 348
msgid "nonce"
348 349
msgstr "numéro unique"
349 350

  
350
#: authentic2/models.py:80
351
#: authentic2/models.py:81
351 352
msgid "authentication log"
352 353
msgstr "Journal des authentifications"
353 354

  
354
#: authentic2/models.py:81
355
#: authentic2/models.py:82
355 356
msgid "authentication logs"
356 357
msgstr "Journaux des authentification"
357 358

  
358
#: authentic2/models.py:84
359
#: authentic2/models.py:85
359 360
#, python-format
360 361
msgid "Authentication of %(who)s by %(how)s at %(when)s"
361 362
msgstr "Authentification de %(who)s par %(how)s à %(when)s"
362 363

  
363
#: authentic2/models.py:88
364
#: authentic2/models.py:89
364 365
msgid "url"
365 366
msgstr "url"
366 367

  
367
#: authentic2/models.py:88
368
#: authentic2/models.py:89
368 369
msgid ""
369 370
"you can use a {} to pass the URL of the success icon, ex.: http://example."
370 371
"com/logout?next={}"
......
372 373
"vous pouvez utiliser la chaîne {} pour passer l'URL de l'icône de succès,  "
373 374
"ex.: http://example.com/logout?next={}"
374 375

  
375
#: authentic2/models.py:92
376
#: authentic2/models.py:93
376 377
msgid "use an iframe instead of an img tag for logout"
377 378
msgstr "utiliser une iframe au lieu d'un tag img pour la déconnexion"
378 379

  
379
#: authentic2/models.py:95
380
#: authentic2/models.py:96
380 381
msgid "iframe logout timeout (ms)"
381 382
msgstr "temps d'expiration pour les iframe de déconnexion (en ms)"
382 383

  
383
#: authentic2/models.py:96
384
#: authentic2/models.py:97
384 385
msgid ""
385 386
"if iframe logout is used, it's the time between the onload event for this "
386 387
"iframe and the moment we consider its loading to be really finished"
......
389 390
"l'évènement onload pour cette iframe et le moment où l'on peut considérer "
390 391
"que le chargement vraiment terminé."
391 392

  
392
#: authentic2/models.py:112 authentic2/models.py:204
393
#: authentic2/models.py:113 authentic2/models.py:235
393 394
msgid "content type"
394 395
msgstr "type d'objet"
395 396

  
396
#: authentic2/models.py:114 authentic2/models.py:206
397
#: authentic2/models.py:115 authentic2/models.py:237
397 398
msgid "object identifier"
398 399
msgstr "identifiant d'objet"
399 400

  
400
#: authentic2/models.py:118 authentic2/models.py:119
401
#: authentic2/models.py:119 authentic2/models.py:120
401 402
msgid "logout URL"
402 403
msgstr "URL de déconnexion"
403 404

  
404
#: authentic2/models.py:123
405
#: authentic2/models.py:124
405 406
msgid "provider"
406 407
msgstr "fournisseur"
407 408

  
408
#: authentic2/models.py:125
409
#: authentic2/models.py:126
409 410
msgid "about"
410 411
msgstr "à propos"
411 412

  
412
#: authentic2/models.py:127
413
#: authentic2/models.py:128
413 414
msgid "service"
414 415
msgstr "application"
415 416

  
416
#: authentic2/models.py:129
417
#: authentic2/models.py:130
417 418
msgid "format identifier"
418 419
msgstr "identifiant du format"
419 420

  
420
#: authentic2/models.py:131
421
#: authentic2/models.py:132
421 422
msgid "identifier"
422 423
msgstr "identifiant"
423 424

  
424
#: authentic2/models.py:136
425
#: authentic2/models.py:137
425 426
msgid "federation identifier"
426 427
msgstr "identifiant de fédération"
427 428

  
428
#: authentic2/models.py:137
429
#: authentic2/models.py:138
429 430
msgid "federation identifiers"
430 431
msgstr "identifiants de fédération"
431 432

  
432
#: authentic2/models.py:140
433
#: authentic2/models.py:141
433 434
msgid "label"
434 435
msgstr "libellé"
435 436

  
436
#: authentic2/models.py:142
437
#: authentic2/models.py:143
437 438
msgid "description"
438 439
msgstr "description"
439 440

  
440
#: authentic2/models.py:143 authentic2/models.py:249
441
#: authentic2/models.py:144 authentic2/models.py:284
441 442
msgid "name"
442 443
msgstr "identifiant"
443 444

  
444
#: authentic2/models.py:146
445
#: authentic2/models.py:147
445 446
msgid "required"
446 447
msgstr "requis"
447 448

  
448
#: authentic2/models.py:149
449
#: authentic2/models.py:150
449 450
msgid "asked on registration"
450 451
msgstr "demandé à l'enregistrement"
451 452

  
452
#: authentic2/models.py:152
453
#: authentic2/models.py:153
453 454
msgid "user editable"
454 455
msgstr "éditable par l'utilisateur"
455 456

  
456
#: authentic2/models.py:155
457
#: authentic2/models.py:156
457 458
msgid "user visible"
458 459
msgstr "visible de l'utilisateur"
459 460

  
460
#: authentic2/models.py:158
461
#: authentic2/models.py:159
461 462
msgid "multiple"
462 463
msgstr "multiple"
463 464

  
464
#: authentic2/models.py:161
465
#: authentic2/models.py:162
465 466
msgid "kind"
466 467
msgstr "type"
467 468

  
468
#: authentic2/models.py:199
469
#: authentic2/models.py:230
469 470
msgid "attribute definition"
470 471
msgstr "définition d'un attribut"
471 472

  
472
#: authentic2/models.py:200
473
#: authentic2/models.py:231
473 474
msgid "attribute definitions"
474 475
msgstr "définition des attributs"
475 476

  
476
#: authentic2/models.py:210
477
#: authentic2/models.py:241
477 478
msgid "attribute"
478 479
msgstr "attribut"
479 480

  
480
#: authentic2/models.py:212
481
#: authentic2/models.py:244
481 482
msgid "content"
482 483
msgstr "contenu"
483 484

  
484
#: authentic2/models.py:227
485
#: authentic2/models.py:259
485 486
msgid "attribute value"
486 487
msgstr "valeur d'un attribut"
487 488

  
488
#: authentic2/models.py:228
489
#: authentic2/models.py:260
489 490
msgid "attribute values"
490 491
msgstr "valeurs des attributs"
491 492

  
492
#: authentic2/models.py:241 authentic2/models.py:242
493
#: authentic2/models.py:276 authentic2/models.py:277
493 494
msgid "password reset"
494 495
msgstr "obligation de changement de mot de passe"
495 496

  
496
#: authentic2/models.py:252
497
#: authentic2/models.py:287
497 498
msgid "slug"
498 499
msgstr "identifiant court"
499 500

  
500
#: authentic2/models.py:255
501
#: authentic2/models.py:290
501 502
msgid "organizational unit"
502 503
msgstr "collectivité"
503 504

  
504
#: authentic2/models.py:269
505
#: authentic2/models.py:304
505 506
msgid "The slug must be unique for this ou"
506 507
msgstr "L'identifiant court doit être unique au sein de cette collectivité."
507 508

  
508
#: authentic2/models.py:274
509
#: authentic2/models.py:309
509 510
msgid "The name must be unique for this ou"
510 511
msgstr "Le nom doit être unique au sein de cette collectivité."
511 512

  
512
#: authentic2/models.py:280
513
#: authentic2/models.py:315
513 514
msgid "base service model"
514 515
msgstr "application"
515 516

  
516
#: authentic2/models.py:281
517
#: authentic2/models.py:316
517 518
msgid "base service models"
518 519
msgstr "applications"
519 520

  
520
#: authentic2/profile_forms.py:12 authentic2/registration_backend/forms.py:30
521
#: authentic2/templates/authentic2/api_registration_email_body.txt:4
521
#: authentic2/profile_forms.py:11 authentic2/registration_backend/forms.py:30
522
#: authentic2/templates/authentic2/api_user_create_registration_email_body.txt:4
522 523
msgid "Email"
523 524
msgstr "Courriel"
524 525

  
525
#: authentic2/profile_urls.py:29
526
msgid "Account has no password"
527
msgstr "Le compte n'a pas de mot de passe"
528

  
529
#: authentic2/profile_urls.py:33
526
#: authentic2/profile_urls.py:32
530 527
#: authentic2/templates/registration/password_change_done.html:9
531 528
msgid "Password changed"
532 529
msgstr "Mot de passe modifié"
......
535 532
msgid "Password reset"
536 533
msgstr "obligation de changement de mot de passe"
537 534

  
538
#: authentic2/profile_views.py:32 authentic2/tests/test_all.py:1163
539
#: authentic2/tests/test_all.py:1176
535
#: authentic2/profile_views.py:32
540 536
msgid "A mail was sent to you with instructions to reset your password"
541 537
msgstr ""
542 538
"Un courriel vous a été envoyé avec des instructions pour ré-initialiser "
......
560 556
msgstr "Entrez un nouveau mot de passe"
561 557

  
562 558
#: authentic2/registration_backend/forms.py:40
563
#: authentic2/registration_backend/forms.py:124
559
#: authentic2/registration_backend/forms.py:112
564 560
msgid ""
565 561
"This email address is already in use. Please supply a different email "
566 562
"address."
......
568 564
"Cette adresse de courriel est déjà utilisée. Utilisez s'il vous plait une "
569 565
"autre adresse de courriel."
570 566

  
571
#: authentic2/registration_backend/forms.py:79
572
msgid "Password (again)"
573
msgstr "Mot de passe (encore une fois)"
574

  
575
#: authentic2/registration_backend/forms.py:110
576
#: authentic2/tests/test_all.py:1085
567
#: authentic2/registration_backend/forms.py:98
577 568
msgid "This username is already in use. Please supply a different username."
578 569
msgstr ""
579 570
"Cet identifiant est déjà utilisé. Utilisez s'il vous plait un autre "
580 571
"identifiant."
581 572

  
582
#: authentic2/registration_backend/forms.py:169
583
#: authentic2/registration_backend/forms.py:183
573
#: authentic2/registration_backend/forms.py:131
574
msgid "Password (again)"
575
msgstr "Mot de passe (encore une fois)"
576

  
577
#: authentic2/registration_backend/forms.py:178
578
#: authentic2/registration_backend/forms.py:192
584 579
msgid "New password"
585 580
msgstr "Nouveau mot de passe"
586 581

  
587
#: authentic2/registration_backend/forms.py:177
588
#: authentic2/registration_backend/forms.py:192
582
#: authentic2/registration_backend/forms.py:186
583
#: authentic2/registration_backend/forms.py:201
589 584
msgid "New password must differ from old password"
590 585
msgstr "Le nouveau mot de passe doit être différent de l'ancien."
591 586

  
592
#: authentic2/registration_backend/forms.py:214
587
#: authentic2/registration_backend/forms.py:223
593 588
msgid "Password is invalid"
594 589
msgstr "Le mot de passe est invalide"
595 590

  
596
#: authentic2/registration_backend/views.py:34
591
#: authentic2/registration_backend/views.py:44
597 592
msgid "Your activation key is expired"
598 593
msgstr "Votre clé d'activation a expiré"
599 594

  
600
#: authentic2/registration_backend/views.py:37
595
#: authentic2/registration_backend/views.py:47
601 596
msgid "Activation failed"
602 597
msgstr "Échec à l'activation du compte"
603 598

  
604
#: authentic2/registration_backend/views.py:210
599
#: authentic2/registration_backend/views.py:270
605 600
msgid ""
606 601
"Your account has been scheduled for deletion. You cannot use it anymore."
607 602
msgstr ""
......
736 731
msgid "Account activation on"
737 732
msgstr "Activation du compte sur"
738 733

  
739
#: authentic2/templates/authentic2/api_registration_email_body.txt:1
734
#: authentic2/templates/authentic2/api_user_create_registration_email_body.txt:1
740 735
#, python-format
741 736
msgid "A new account was created for you on %(hostname)s"
742 737
msgstr "Un nouveau compte vous a été créé sur %(hostname)s"
743 738

  
744
#: authentic2/templates/authentic2/api_registration_email_body.txt:5
739
#: authentic2/templates/authentic2/api_user_create_registration_email_body.txt:5
745 740
msgid "First name"
746 741
msgstr "Prénom"
747 742

  
748
#: authentic2/templates/authentic2/api_registration_email_body.txt:6
743
#: authentic2/templates/authentic2/api_user_create_registration_email_body.txt:6
749 744
msgid "Last name"
750 745
msgstr "Nom"
751 746

  
752
#: authentic2/templates/authentic2/api_registration_email_body.txt:8
747
#: authentic2/templates/authentic2/api_user_create_registration_email_body.txt:8
753 748
msgid "Please click on the following link to set your password:"
754 749
msgstr ""
755 750
"Veuillez cliquer sur le lien suivant pour ré-initialiser votre mot de passe"
756 751

  
757
#: authentic2/templates/authentic2/api_registration_email_subject.txt:1
752
#: authentic2/templates/authentic2/api_user_create_registration_email_subject.txt:1
758 753
#, python-format
759 754
msgid "Your account was created on %(hostname)s"
760 755
msgstr "Votre compte a été créé sur %(hostname)s"
......
832 827

  
833 828
#: authentic2/templates/authentic2/display_message_and_continue.html:5
834 829
#: authentic2/templates/authentic2/logout_confirm.html:19
835
#: authentic2/tests/test_all.py:1168 authentic2/tests/test_all.py:1181
836 830
msgid "Continue"
837 831
msgstr "Continuer"
838 832

  
......
870 864
msgid "Register!"
871 865
msgstr "Enregistrez-vous !"
872 866

  
873
#: authentic2/templates/authentic2/login_password_profile.html:6
867
#: authentic2/templates/authentic2/login_password_profile.html:10
874 868
#: authentic2/templates/registration/password_change_form.html:5
875 869
#: authentic2/templates/registration/password_change_form.html:11
876 870
msgid "Change your password"
877 871
msgstr "Modifier votre mot de passe"
878 872

  
873
#: authentic2/templates/authentic2/login_password_profile.html:12
874
msgid "Set your password"
875
msgstr "Définir votre mot de passe"
876

  
879 877
#: authentic2/templates/authentic2/logout.html:41
880 878
msgid "Continue logout"
881 879
msgstr "Continuer la déconnexion"
......
890 888
"Password of account %(user)s has been changed.\n"
891 889
"\n"
892 890
"If you did not ask for this change, please refer to your administrator."
893
msgstr "Le mot de passe de votre compte %(user)s a été modifié."
894
"Si vous n'êtes pas à l'origine de ce changement, veuillez prendre "
895
"contact avec votre administrateur."
891
msgstr ""
892
"Le mot de passe de votre compte %(user)s a été modifié.Si vous n'êtes pas à "
893
"l'origine de ce changement, veuillez prendre contact avec votre "
894
"administrateur."
896 895

  
897 896
#: authentic2/templates/authentic2/password_change_subject.txt:1
898 897
#, python-format
......
1062 1061
msgstr "Ré-initialistion du mot de passe échouée"
1063 1062

  
1064 1063
#: authentic2/templates/registration/password_reset_email.html:2
1065
#, python-format
1066 1064
msgid ""
1067
"You requested reset of your password on %(site_name)s, to proceed please\n"
1065
"You requested reset of your password on %(hostname)s, to proceed please\n"
1068 1066
"click on the following link"
1069 1067
msgstr ""
1070 1068
"Vous avez demandé la ré-initialisation de votre mot de passe sur\n"
1071
"%(site_name)s, veuillez cliquer sur le lien suivant :"
1069
"%(hostname)s, veuillez cliquer sur le lien suivant :"
1072 1070

  
1073 1071
#: authentic2/templates/registration/password_reset_subject.txt:2
1074
#, python-format
1075
msgid "Password reset on %(site_name)s"
1076
msgstr "Ré-initialiser le mot de passe sur %(site_name)s"
1072
msgid "Password reset on %(hostname)s"
1073
msgstr "Ré-initialiser le mot de passe sur %(hostname)s"
1077 1074

  
1078 1075
#: authentic2/templates/registration/registration_closed.html:5
1079 1076
#: authentic2/templates/registration/registration_closed.html:9
......
1140 1137
msgid "Please fill the form to complete your registration"
1141 1138
msgstr "Veuillez remplir le formulaire afin de finir l'enregistrement"
1142 1139

  
1143
#: authentic2/utils.py:479
1140
#: authentic2/utils.py:482
1144 1141
msgid "The form was out of date, please try again."
1145 1142
msgstr "Ce formulaire était périmé, veuillez ré-essayer."
1146 1143

  
1147
#: authentic2/utils.py:669
1144
#: authentic2/utils.py:683
1148 1145
msgid ""
1149 1146
"Your user is already switched, go to your account page and come back to your "
1150 1147
"original user to do it again."
......
1152 1149
"Vous avez déjà procédé à une reconnexion, veuillez allez sur « Mon compte » "
1153 1150
"pour vous reconnecter avec votre utilisateur d'origine."
1154 1151

  
1155
#: authentic2/utils.py:685
1152
#: authentic2/utils.py:699
1156 1153
#, python-format
1157 1154
msgid "Successfully switched to user %s"
1158 1155
msgstr "Re-connexion avec l'utilisateur « %s » réussie"
1159 1156

  
1160
#: authentic2/utils.py:701
1157
#: authentic2/utils.py:715
1161 1158
#, python-format
1162 1159
msgid "Successfully switched back to user %s"
1163 1160
msgstr "Re-connexion avec l'utilisateur « %s » réussie"
1164 1161

  
1165
#: authentic2/utils.py:705
1162
#: authentic2/utils.py:719
1166 1163
msgid "No user to switch back to"
1167 1164
msgstr ""
1168 1165

  
......
1229 1226
"changer ce message en modifiant le paramètre "
1230 1227
"A2_PASSWORD_POLICY_REGEX_ERROR_MSG."
1231 1228

  
1232
#: authentic2/views.py:160
1229
#: authentic2/views.py:158
1233 1230
msgid ""
1234 1231
"Your request for changing your email is received. An email of validation was "
1235 1232
"sent to you. Please click on the link contained inside."
......
1238 1235
"courriel de validation vous a été envoyé. Veuillez cliquer sur le lien "
1239 1236
"contenu dans ce courriel."
1240 1237

  
1241
#: authentic2/views.py:183
1238
#: authentic2/views.py:181
1242 1239
#, python-brace-format
1243 1240
msgid "your request for changing your email for {0} is successful"
1244 1241
msgstr "Votre demande de changement d'adresse de courriel pour {0} est validée"
1245 1242

  
1246
#: authentic2/views.py:189
1243
#: authentic2/views.py:187
1247 1244
msgid "your request for changing your email is too old, try again"
1248 1245
msgstr ""
1249 1246
"Votre demande de changement d'adresse de courriel est trop ancienne, "
1250 1247
"veuillez réessayez"
1251 1248

  
1252
#: authentic2/views.py:192
1249
#: authentic2/views.py:190
1253 1250
msgid "your request for changing your email is invalid, try again"
1254 1251
msgstr ""
1255 1252
"Votre demande de changement d'adresse de courriel est invalide, veuillez "
1256 1253
"réessayer"
1257 1254

  
1258
#: authentic2/views.py:195
1255
#: authentic2/views.py:193
1259 1256
msgid "your request for changing your email was not on this site, try again"
1260 1257
msgstr ""
1261 1258
"Votre demande de changement d'adresse de courriel vient d'un autre site que "
1262 1259
"celui-ci."
1263 1260

  
1264
#: authentic2/views.py:198
1261
#: authentic2/views.py:196
1265 1262
msgid "your request for changing your email is for an unknown user, try again"
1266 1263
msgstr ""
1267 1264
"Votre demande de changement d'adresse de courriel concerne un utilisateur "
1268 1265
"inconnu."
1269 1266

  
1270
#: authentic2/views.py:462
1267
#: authentic2/views.py:475
1271 1268
msgid "Logging out from all your services"
1272 1269
msgstr "Déconnexion de toutes vos applications"
1273 1270

  
1274
#: authentic2/views.py:488
1271
#: authentic2/views.py:501
1275 1272
msgid "You have been logged out"
1276 1273
msgstr "Vous avez été déconnecté."
1277 1274

  
1278
#: authentic2/views.py:524
1275
#: authentic2/views.py:538
1279 1276
msgid "The page is out of date, it was reloaded for you"
1280 1277
msgstr ""
1281 1278
"Cette page est périmée car vous vous êtes connecté entre temps; nous l'avons "
1282 1279
"rechargé pour vous."
1280

  
1281
#, fuzzy
1282
#~| msgid "Authentic Mailing List"
1283
#~ msgid "Authentic2 Plugin Template"
1284
#~ msgstr "List de diffusion sur Authentic"
1285

  
1286
#~ msgid "Account has no password"
1287
#~ msgstr "Le compte n'a pas de mot de passe"
src/authentic2/profile_urls.py
26 26
    extra_context = kwargs.setdefault('extra_context', {})
27 27
    extra_context[REDIRECT_FIELD_NAME] = post_change_redirect
28 28
    if not request.user.has_usable_password():
29
        messages.warning(request, _('Account has no password'))
30
        return redirect(request, post_change_redirect)
29
        kwargs['password_change_form'] = SET_PASSWORD_FORM_CLASS
31 30
    response = auth_views.password_change(request, *args, **kwargs)
32 31
    if isinstance(response, HttpResponseRedirect):
33 32
        messages.info(request, _('Password changed'))
src/authentic2/templates/authentic2/accounts.html
31 31
          {% endfor %}
32 32
        </dl>
33 33
      {% endif %}
34
      {% if allow_email_change %}
34
      {% if allow_email_change and user.has_usable_password %}
35 35
        <p><a href="{% url 'email-change' %}">{% trans "Change email" %}</a></p>
36 36
      {% endif %}
37 37
      {% if allow_profile_edit %}
38 38
        <p><a href="{% url 'profile_edit' %}">{% trans "Edit account data" %}</a></p>
39 39
      {% endif %}
40
      {% if allow_account_deletion %}
40
      {% if allow_account_deletion and user.has_usable_password %}
41 41
        <p><a href="{% url 'delete_account' %}">{% trans "Delete account" %}</a></p>
42 42
      {% endif %}
43 43
    </div>
src/authentic2/templates/authentic2/login_password_profile.html
1 1
{% load i18n %}
2
{% if can_change_password %}<h4>{% trans "Password" %}</h4>{% endif %}
3 2

  
4
<div>
5 3
{% if can_change_password %}
6
 <p><a href="{% url 'password_change' %}">{% trans "Change your password" %}</a></p>
7
{% else %}
8
{% comment %} <p><a href="{% url 'authopenid_password_change' %}">{% trans "Set password" %}</a></p> {% endcomment %}
9
{% endif %}
10
</div>
4
<h4>{% trans "Password" %}</h4>
11 5

  
6
<div>
7
  <p>
8
    <a href="{% url 'password_change' %}">
9
      {% if has_usable_password %}
10
        {% trans "Change your password" %}
11
      {% else %}
12
        {% trans "Set your password" %}
13
      {% endif %}
14
    </a>
15
  </p>
16
</div>
17
{% endif %}
src/authentic2/views.py
515 515

  
516 516
def login_password_profile(request, *args, **kwargs):
517 517
    context_instance = kwargs.pop('context_instance', None) or RequestContext(request)
518
    can_change_password = (app_settings.A2_REGISTRATION_CAN_CHANGE_PASSWORD
519
                           and request.user.has_usable_password())
518
    can_change_password = app_settings.A2_REGISTRATION_CAN_CHANGE_PASSWORD
519
    has_usable_password = request.user.has_usable_password()
520 520
    return render_to_string(['auth/login_password_profile.html',
521 521
                             'authentic2/login_password_profile.html'],
522
                            {'can_change_password' : can_change_password},
522
                            {'can_change_password' : can_change_password,
523
                             'has_usable_password' : has_usable_password},
523 524
                            context_instance=context_instance)
524 525

  
525 526

  
526
-