Bonjour,
je chercher lors de certaines actions à vérifier que le manager soit connecté et si ce n'est pas le cas demander la connection de celui si avant de continuer le process.
Voici le code reconstitué
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 µ_var = {} µ_var.manager = { _key = null, set manager(key) { this._key = key }, get manager() { return this._key; } } function is_manager(){ let manager_key = µvar.manager.key(); let result = false; if(!manager_key) return false; $.ajax({ url: 'is_manager_path', type: 'post', dataType: 'json', data: {manager_key: manager_key}, async: false }) .done(function(data) { result = data; }); return result; } function call_manager(){ $("#modal_call_manager").show(); } $(function(){ $("#form").submit(function(e){ if(!is_manager()){ e.preventDefault(); call_manager(); return; } alert("manager_logged sending form"); }); $("#form").on("ajax:success", function(e, data, options) { data === false? Alert("login manager failed!") : µvar.manager.key(data); $("#modal_call_manager").modal("hide"); }); });
actuellement, je bloquais l'accès et l'utilisateur devait refaire la manipulation.
exemple:
action utilisateur envoie formulaire => manager pas connecté -> formulaire bloqué
=> demande de connection à l'employé
=> action utilisateur renvoie formulaire => manger connecté -> le formulaire est envoyé
il m'a été demandé de supprimer l'étape renvoie du formulaire à la suite de l'autentification manager
Ce que j'aurais comme idée serait donc de récupérer la méthode appelante. Dans l'exemple (ici le sumbit)
et de la sauvegarder avant de la trigger une fois l'autentification confirmé.
Cependant j'hésites à faire cela car si j'ai d'autres événements écoutant avec le même système cela pourrait créer des "effets de bord" qui ne serraient pas très marrant et fun à débug
L'autre option que j'envisagerais serait de mettre le système en attente par exemple après la ligne call_manager() et de créer une écoute d'un trigger (ex. continue) et de continuer lors du catch de l'event.
qu'en pensez vous
Merci d'avance pour vos idées
Partager