1
00:00:00,420 --> 00:00:01,200
Nous saluons le retour.

2
00:00:01,410 --> 00:00:16,710
Dans cette vidéo, nous allons ajouter en autorisant les routes de commentaire que nous venons d'ajouter dans modifier la mise à jour et de détruire le seul à utiliser ou pour être en mesure de réellement modifier ou mettre à jour quelque chose si cet utilisateur possède le commentaire comme nous l'avons fait Pour les terrains de camping.

3
00:00:16,980 --> 00:00:35,620
Nous allons réaliser cela avec essentiellement le même code où nous avons un middleware pense que nous avons appelé la propriété de parcours de chèque de nôtre, mais la nôtre sera appelée vérifier la propriété des commentaires et ensuite nous voulons aussi nous assurer que nous cacher et montrer ces boutons, T montrent à un utilisateur un bouton de suppression qu'ils ne peuvent pas cliquer.

4
00:00:35,640 --> 00:00:37,820
Ils n'ont pas la permission de supprimer ce commentaire.

5
00:00:38,250 --> 00:00:43,500
Qui est également fondamentalement le même code que nous avons utilisé pour les commentaires ou pour les terrains de camping.

6
00:00:43,500 --> 00:00:49,200
Et puis enfin et c'est la seule chose qui est vraiment nouvelle, c'est que je veux que nous refactoriser notre middleware.

7
00:00:49,380 --> 00:01:00,910
Donc, essentiellement, il suffit de déplacer tous nos middleware dans un nouveau fichier et exiger que le fichier commencera par s'assurer qu'un utilisateur ne peut pas accéder à l'itinéraire d'édition si il ou elle ne possède pas ce commentaire.

8
00:01:01,050 --> 00:01:04,750
Alors allons à l'itinéraire au lieu de nos commentaires ici.

9
00:01:05,120 --> 00:01:06,840
Et passons à Edit.

10
00:01:07,680 --> 00:01:10,630
Nous voulons un middleware ici qui fera la vérification pour nous.

11
00:01:10,740 --> 00:01:25,310
Alors vérifiez les commentaires de propriété comme nous l'avons fait dans la dernière vidéo ou dans la dernière vidéo du camping où nous avons vérifié la propriété du terrain de camping et si nous jetons un coup d'oeil à ce code va simplement copier le tout.

12
00:01:25,320 --> 00:01:36,360
C'est un peu long de le mettre au bas avec notre autre milieu où nous allons changer ce nom vérifier les commentaires de propriété.

13
00:01:36,510 --> 00:01:41,870
La première chose que nous faisons est de vérifier est l'utilisateur se connecter est tout utilisateur connecté.

14
00:01:42,510 --> 00:01:51,220
Si ce n'est pas seulement de les rediriger vers le bas et affichera un message éventuellement qui dit s'il vous plaît signer ou vous devez être signé pour le faire.

15
00:01:51,390 --> 00:01:55,560
Et c'est une erreur différente que vous n'êtes pas le propriétaire correct.

16
00:01:55,560 --> 00:01:57,830
Nous ne voulons donc pas simplement dire que vous n'avez pas la permission de le faire.

17
00:01:57,840 --> 00:02:05,940
Toujours, nous voulons dire connexion en premier et puis si vous vous connectez et vous ne le possédez pas encore, nous allons envoyer un message différent.

18
00:02:05,970 --> 00:02:09,500
Pour l'instant, cela n'a pas d'importance parce que nous n'avons pas ces messages.

19
00:02:10,320 --> 00:02:14,940
Donc, si vous êtes connecté, nous avons besoin de trouver le commentaire de commentaires sur fine par vendredi.

20
00:02:15,060 --> 00:02:24,260
Ce n'est pas la demande jusqu'à tramstop demande d'ID jusqu'à tramstop commentaires Id changer ce que l'on trouve commentaire.

21
00:02:24,990 --> 00:02:27,690
S'il ya une erreur de redirection, c'est bien.

22
00:02:27,840 --> 00:02:31,700
Sinon, nous allons changer votre commentaire pour le rendre un peu plus clair.

23
00:02:31,770 --> 00:02:33,020
Et je continue à dire des commentaires.

24
00:02:33,270 --> 00:02:38,460
Je veux dire changer le commentaire javascript pas le modèle de commentaire réel.

25
00:02:38,490 --> 00:02:47,840
Ensuite, nous devons vérifier si l'auteur du commentaire trouvé que l'ID est égal à la demande que l'ID utilisateur.

26
00:02:47,850 --> 00:02:51,530
Prenons donc un coup d'oeil au modèle pour commenter.

27
00:02:51,570 --> 00:03:00,970
Rappelez-vous que nous avons un auteur et que l'auteur a un ID et c'est une mangouste I.D. Donc nous ne pouvons pas faire triple égaux comme avec le terrain de camping.

28
00:03:01,140 --> 00:03:12,560
Donc, si vous avez trouvé un commentaire, l'ID ID de l'auteur est égal à cette méthode spéciale que nous comparons à l'ID de l'utilisateur connecté qui est stocké à l'intérieur de la demande que l'utilisateur grâce au passeport.

29
00:03:12,630 --> 00:03:18,960
Donc, si c'est le cas, tout est bon, ce qui signifie que nous pouvons continuer et exécuter le gestionnaire d'itinéraires suivant.

30
00:03:19,290 --> 00:03:34,690
Sinon redirection arrière et à nouveau la raison pour laquelle j'ai séparé tout cela même si c'est redstart redirection retour trois fois différentes afin que nous puissions spécifier un message d'erreur différente une fois que nous arrivons à cela en seulement quelques vidéos à partir de maintenant.

31
00:03:34,710 --> 00:03:37,350
Assurons-nous maintenant que tout le reste est bon.

32
00:03:37,350 --> 00:03:38,400
Vérifiez la propriété commune.

33
00:03:38,400 --> 00:03:40,530
Nous avons cela ici.

34
00:03:40,690 --> 00:03:41,920
Nous devons aller à Edit route.

35
00:03:41,940 --> 00:03:44,770
Nous avons ajouté que dans la propriété commentaire de contrôle.

36
00:03:44,770 --> 00:03:49,290
Grand nous allons lui donner un coup de feu et voir ce qui se passe.

37
00:03:51,150 --> 00:03:52,470
Bien.

38
00:03:53,070 --> 00:03:55,400
Donc tout le monde devrait être capable d'arriver ici.

39
00:03:55,500 --> 00:04:00,210
Je ne suis pas connecté en ce moment donc si je clique dessus il me ramène ici.

40
00:04:00,210 --> 00:04:01,470
Parfait.

41
00:04:01,470 --> 00:04:15,410
Maintenant, si je me connecte en tant que Sirius Black qui a créé ce commentaire et j'essaie à nouveau, il fonctionne maintenant.

42
00:04:15,630 --> 00:04:18,220
Ajoutons quelques trucs d'experts ici.

43
00:04:18,690 --> 00:04:21,820
Maintenant, ce n'est pas protégé car c'est l'itinéraire de mise à jour.

44
00:04:21,870 --> 00:04:34,270
Donc, nous faisons juste exactement la même chose, c'est pourquoi il est si agréable que nous l'avons déplacé dans une fonction distincte parce que nous pourrions juste avoir tout ce code ici et puis il en dupliqué pour la mise à jour aussi bien.

45
00:04:34,380 --> 00:04:36,560
Ici.

46
00:04:37,410 --> 00:04:38,720
Et pour détruire.

47
00:04:38,730 --> 00:04:41,590
Mais laissons cela pour le moment.

48
00:04:41,700 --> 00:04:44,790
Assurez-vous que cela fonctionne.

49
00:04:44,790 --> 00:04:55,940
Donc, en théorie je pouvais en quelque sorte finir par envoyer une demande de mise à jour de facteur ou quelque chose comme ça à partir d'une autre application.

50
00:04:55,980 --> 00:05:00,980
Cependant, vous savez qu'un utilisateur ferait ce qui est serait très rare, mais en théorie, quelqu'un pourrait le faire.

51
00:05:01,530 --> 00:05:07,920
Et sans ajouter la propriété de commentaire de contrôle à mettre à jour il ne serait pas protégé.

52
00:05:08,520 --> 00:05:12,260
Mais nous ne remarquerons rien de différent ici si j'essaie.

53
00:05:12,330 --> 00:05:18,840
Le même problème si je me connecte de nouveau dedans et vous pouvez juste sauter par ceci si vous n'avez pas vraiment soin de le voir.

54
00:05:20,460 --> 00:05:30,020
Pas la partie la plus excitante de ce cours me regardant se connecter maintenant si je modifie la mise à jour fonctionne bien.

55
00:05:30,060 --> 00:05:40,610
Et si j'avais signé à ce moment-là ou si mes données étaient erronées ou quelque chose de bizarre est arrivé, il me redirigerait et éventuellement afficher un message.

56
00:05:40,870 --> 00:05:44,350
OK pour que la mise à jour est maintenant si je ne cliquez sur supprimer.

57
00:05:44,400 --> 00:05:56,330
Lorsque je ne suis pas connecté, je peux supprimer ce commentaire qui n'est évidemment pas ce que nous voulons faire, alors fixons-le.

58
00:05:56,740 --> 00:05:59,080
Allons à une page qui a des commentaires.

59
00:05:59,150 --> 00:06:01,100
Celui-ci n'en a pas.

60
00:06:01,150 --> 00:06:08,400
Permettez-moi d'ajouter un commentaire dans encore une fois pas le plus excitant.

61
00:06:08,410 --> 00:06:11,880
Oh et j'ai tapé un commentaire au mot de passe de manière incorrecte.

62
00:06:12,600 --> 00:06:13,720
Oh cher.

63
00:06:14,010 --> 00:06:16,130
Essayons encore une fois.

64
00:06:16,980 --> 00:06:17,790
D'ACCORD.

65
00:06:18,060 --> 00:06:19,610
Allons à High Rocky Mountain.

66
00:06:19,740 --> 00:06:23,150
Ajouter un commentaire à moi.

67
00:06:23,800 --> 00:06:24,530
D'ACCORD.

68
00:06:25,260 --> 00:06:29,960
Donc, je ne veux pas qu'un utilisateur puisse le supprimer à moins d'être connecté.

69
00:06:29,960 --> 00:06:31,950
C'est exactement la même chose.

70
00:06:31,950 --> 00:06:33,470
Super facile pour nous.

71
00:06:33,720 --> 00:06:38,410
Il suffit de trouver l'itinéraire détruire ajouter Waren ou au milieu et c'est tout ce dont nous avons besoin.

72
00:06:39,060 --> 00:06:44,160
Donc, si nous l'essayons, je viens de vous montrer que, actuellement, avant de faire ce changement.

73
00:06:44,160 --> 00:06:45,360
Tout le monde peut supprimer.

74
00:06:45,570 --> 00:06:52,030
Maintenant, si je rafraîchis je ne suis pas connecté, j'ai cliqué sur supprimer et il est toujours là.

75
00:06:52,410 --> 00:06:54,350
Refuse de supprimer.

76
00:06:54,360 --> 00:07:00,040
Grande dernière grande étape est de montrer et de cacher ces boutons de manière appropriée.

77
00:07:00,090 --> 00:07:03,410
Alors laissez-moi signer ou vous inscrire comme quelqu'un d'autre.

78
00:07:03,690 --> 00:07:08,600
Inscrivez-vous comme Dumble porte à porte.

79
00:07:08,760 --> 00:07:11,520
Le mot de passe est également le mot de passe.

80
00:07:11,520 --> 00:07:16,080
S'inscrire.

81
00:07:16,110 --> 00:07:22,250
Ajoutons également des commentaires.

82
00:07:22,590 --> 00:07:24,910
Maintenant deux commentaires différents deux auteurs différents.

83
00:07:25,020 --> 00:07:29,570
Si je suis signé dans cette double porte, je veux seulement voir les boutons de suppression ici.

84
00:07:29,580 --> 00:07:32,680
Ceux-ci devraient être cachés pour moi afin de faire cela.

85
00:07:32,730 --> 00:07:37,520
Jetez un oeil à la façon dont il l'a fait sur la page d'exposition pour les boutons de suppression et d'édition du terrain de camping.

86
00:07:37,560 --> 00:07:39,550
Ce qui est juste ici.

87
00:07:39,600 --> 00:07:54,600
Cette seule ligne si l'utilisateur courant et les données d'auteur de camping sont égales à l'identification d'utilisateur courante alors nous montrons ceci très très semblable sauf pour quelques changements.

88
00:07:54,690 --> 00:07:59,680
Premièrement, ce n'est pas des terrains de camping au point d'auteur.

89
00:08:00,630 --> 00:08:05,060
C'est l'auteur de commentaires et cela est défini ici dans notre foreach.

90
00:08:05,070 --> 00:08:17,340
Donc, quel que soit ce qui est dans notre cas pour chaque terrain de camping commentaires tableau appeler commentaires afficher l'auteur afficher le texte et puis vérifier s'il ya un utilisateur actuel.

91
00:08:17,430 --> 00:08:22,950
Et si l'ID de l'utilisateur actuel est ici qui est stocké.

92
00:08:22,950 --> 00:08:26,490
Il ya beaucoup de pièces en mouvement ici, mais je vais passer en revue brièvement.

93
00:08:26,490 --> 00:08:36,260
Cela vient de cette ligne que nous avons ajoutée à Abdoulaye nous up top qui ajoutent.

94
00:08:36,270 --> 00:08:39,240
Où êtes-vous ici.

95
00:08:39,240 --> 00:08:43,570
Utilisateur actuel à chacun de nos modèles.

96
00:08:43,680 --> 00:08:47,740
L'utilisateur actuel est égal à l'utilisateur de demande et demande aux utilisateurs venant du passeport.

97
00:08:47,760 --> 00:08:50,250
Il a les informations d'utilisateur si l'utilisateur actuel.

98
00:08:50,550 --> 00:09:03,150
S'il y en a un, nous devons le faire, s'il y en a un, parce que si nous n'avons pas cette première partie et tout ce que nous avons est ceci s'il n'y a pas d'utilisateur actuel, cela nous donnera une erreur disant que l'utilisateur actuel est indéfini.

99
00:09:03,540 --> 00:09:06,420
OK si commun que l'auteur de cette ID.

100
00:09:06,420 --> 00:09:15,570
La dernière chose dont nous avons besoin est d'ajouter dans notre support de fermeture ou une attache bouclée pour l'instruction if.

101
00:09:15,990 --> 00:09:17,120
Pas de signe égal.

102
00:09:17,490 --> 00:09:19,860
Donc, tout cela est inclus dans cette déclaration si.

103
00:09:20,190 --> 00:09:23,180
Prenons un coup pour commencer.

104
00:09:23,180 --> 00:09:28,540
Si j'étais frais, il me fermera et nous ne verrons pas de boutons.

105
00:09:28,770 --> 00:09:37,410
Perfect seinen fera double porte.

106
00:09:38,920 --> 00:09:42,410
Retournez à Rocky Mountain High et nous ne voyons que ces boutons.

107
00:09:42,420 --> 00:09:43,110
Parfait.

108
00:09:43,230 --> 00:09:45,320
Assurez-vous que cela fonctionne toujours.

109
00:09:46,160 --> 00:09:50,690
Assez bon mais toujours il semble aussi bon.

110
00:09:50,700 --> 00:10:00,960
Maintenant, nous allons signer en tant que Sirius Black.

111
00:10:00,960 --> 00:10:04,440
Maintenant nous nous attendons à voir les boutons et nous le faisons.

112
00:10:04,530 --> 00:10:07,230
Parfait et je peux aussi supprimer ce maintenant.

113
00:10:07,460 --> 00:10:09,750
Supprimez-le.

114
00:10:09,960 --> 00:10:12,270
Je veux quitter ce terrain de camping parce que les terrains de camping sont précieux.
