@@ -13,26 +13,32 @@ def send_push_notification(
13
13
WNSDevice ,
14
14
)
15
15
16
+ if not push_description :
17
+ raise Exception ("push_description is required" )
18
+
16
19
# send messages to all Apple devices
17
20
apple_devices = APNSDevice .objects .filter (user__id = user_id )
18
- if apple_devices and push_title and push_description :
19
- message = {"title" : force_str (push_title ), "body" : force_str (push_description )}
20
21
if apple_devices :
21
22
message = force_str (push_description )
22
- apple_devices .send_message (message = message , extra = extra )
23
+ if push_title and push_description :
24
+ message = {"title" : force_str (push_title ), "body" : force_str (push_description )}
25
+ apple_devices .send_message (message = message , extra = extra )
23
26
24
27
# send messages to all Android devices
25
28
android_devices = GCMDevice .objects .filter (user__id = user_id )
26
- if android_devices and push_description :
29
+ if android_devices :
27
30
message = force_str (push_description )
28
- if push_title :
29
- extra .update ({"title" : force_str (push_title )})
30
- android_devices .send_message (message = message , extra = extra )
31
+ if push_title and push_description :
32
+ android_devices .send_message (message , title = push_title , extra = extra )
33
+ else :
34
+ android_devices .send_message (message = message , extra = extra )
31
35
32
36
# TO DO: send messages to all Windows devices
33
37
windows_devices = WNSDevice .objects .filter (user__id = user_id )
34
- windows_devices .send_message (message = message , extra = extra )
38
+ if windows_devices :
39
+ windows_devices .send_message (message = message , extra = extra )
35
40
36
41
# TO DO: send messages to all Web devices
37
42
web_devices = WebPushDevice .objects .filter (user__id = user_id )
38
- web_devices .send_message (message = message , extra = extra )
43
+ if web_devices :
44
+ web_devices .send_message (message = message , extra = extra )
0 commit comments