Bonjour à tous,
voila dans le cadre d'un projet Air/Magento j'ai du créer plusieurs remoteObjetcs qui fonctionnent parfaitement.
Mais le dernier me pose un problème: je doit faire un système de notification et donc ce n'est pas l'appli Air qui déclenche la fonction mais l'interface d'admin Magento.
L'appli Air doit seulement écouter si la fonction php revoit quelque chose.
le "trace('listening to threads services');" sort dès que je lance l'appli
Code : 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
56
57
58
59
60 package com.banr.model { import com.banr.model.vo.MessageVO; import com.banr.model.vo.ThreadVO; import com.banr.model.vo.ThreadsVO; import com.banr.utils.services.Connector; import mx.managers.CursorManager; import mx.rpc.Fault; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import org.puremvc.as3.interfaces.IProxy; import org.puremvc.as3.patterns.proxy.Proxy; public class ThreadProxy extends Proxy implements IProxy { public static const NAME:String = "threadProxy"; public static const THREAD_CAMPAIGN_LOADED:String = "THREAD_CAMPAIGN_LOADED"; private var _connector:Connector; public function ThreadProxy() { super(NAME, new Object()); this._connector = Connector.getInstance(); this.setServices(); } /** * Paramètre les écouteurs sur les fonctions PHP concernant les threads */ private function setServices():void{ trace('listening to threads services'); this._connector.dataService.notifyCustomer.addEventListener(ResultEvent.RESULT, handleNotification); this._connector.dataService.notifyCustomer.addEventListener(FaultEvent.FAULT, handleNotificationFailure); } private function handleNotification(e:ResultEvent):void{ trace("ici"); trace(e.result.notifyUserId); trace(e.result.notifyTicketId); trace(e.result.notifyCreatedBy); trace(e.result.notifyNewTicket); } /** * Gestion des erreurs renvoyées par les fonctions PHP */ ... private function handleNotificationFailure(e:FaultEvent):void{ trace(e.fault.message); trace(e.fault.faultDetail); } } }
si je fais :
la fonction handleNotification est appellée et trace les résultats...
Code : 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
56
57
58
59
60
61
62 package com.banr.model { import com.banr.model.vo.MessageVO; import com.banr.model.vo.ThreadVO; import com.banr.model.vo.ThreadsVO; import com.banr.utils.services.Connector; import mx.managers.CursorManager; import mx.rpc.Fault; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import org.puremvc.as3.interfaces.IProxy; import org.puremvc.as3.patterns.proxy.Proxy; public class ThreadProxy extends Proxy implements IProxy { public static const NAME:String = "threadProxy"; public static const THREAD_CAMPAIGN_LOADED:String = "THREAD_CAMPAIGN_LOADED"; private var _connector:Connector; public function ThreadProxy() { super(NAME, new Object()); this._connector = Connector.getInstance(); this.setServices(); } /** * Paramètre les écouteurs sur les fonctions PHP concernant les threads */ private function setServices():void{ trace('listening to threads services'); this._connector.dataService.notifyCustomer.addEventListener(ResultEvent.RESULT, handleNotification); this._connector.dataService.notifyCustomer.addEventListener(FaultEvent.FAULT, handleNotificationFailure); this._connector.dataService.notifyCustomer(1,1,'toto', true); } private function handleNotification(e:ResultEvent):void{ trace("ici"); trace(e.result.notifyUserId); trace(e.result.notifyTicketId); trace(e.result.notifyCreatedBy); trace(e.result.notifyNewTicket); } /** * Gestion des erreurs renvoyées par les fonctions PHP */ ... private function handleNotificationFailure(e:FaultEvent):void{ trace(e.fault.message); trace(e.fault.faultDetail); } } }
Merci d'avance pour votre aide!
Partager