|
|
@@ -46,21 +46,80 @@ module.exports = {
|
|
46
|
46
|
} else {
|
|
47
|
47
|
complete({
|
|
48
|
48
|
"success": 0,
|
|
49
|
|
- "error": 2
|
|
|
49
|
+ "error": 1
|
|
50
|
50
|
})
|
|
51
|
51
|
}
|
|
52
|
52
|
});
|
|
53
|
53
|
} else {
|
|
54
|
54
|
complete({
|
|
55
|
55
|
"success": 0,
|
|
56
|
|
- "error": 1
|
|
|
56
|
+ "error": 2
|
|
57
|
57
|
});
|
|
58
|
58
|
}
|
|
59
|
59
|
});
|
|
60
|
60
|
},
|
|
61
|
61
|
|
|
62
|
62
|
cancel_event: function (event_id, auth, complete, force) {
|
|
63
|
|
-
|
|
|
63
|
+ var self = this;
|
|
|
64
|
+ self.get_event(event_id, auth, function (response) {
|
|
|
65
|
+ if (response) {
|
|
|
66
|
+ var event = response.event;
|
|
|
67
|
+ permissions_controller.user_can_manage_soc_events(auth, event.society, function (manageable) {
|
|
|
68
|
+ if (manageable || force) {
|
|
|
69
|
+ society_controller.get_society(event.society, function (soc_resp) {
|
|
|
70
|
+ var users = soc_resp.society.users;
|
|
|
71
|
+ var soc_events = soc_resp.society.events;
|
|
|
72
|
+ var completed_count = 1;
|
|
|
73
|
+ if (soc_events.indexOf(event_id) > -1) {
|
|
|
74
|
+ console.log(soc_events.indexOf(event_id));
|
|
|
75
|
+ soc_events.splice(soc_events.indexOf(event_id), 1);
|
|
|
76
|
+ redis.hset("society:" + soc_resp.society.name.toLowerCase(), "events", JSON.stringify(soc_events));
|
|
|
77
|
+ }
|
|
|
78
|
+ redis.del("event:" + event_id);
|
|
|
79
|
+ users.map(function (user) {
|
|
|
80
|
+ user_controller.get_raw_user(user, function (userdata) {
|
|
|
81
|
+ var pending_events = JSON.parse(userdata.pending_events);
|
|
|
82
|
+ var accepted_events = JSON.parse(userdata.accepted_events);
|
|
|
83
|
+ var declined_events = JSON.parse(userdata.declined_events);
|
|
|
84
|
+ var pending_idx = pending_events.indexOf(event_id);
|
|
|
85
|
+ var accepted_idx = accepted_events.indexOf(event_id);
|
|
|
86
|
+ var declined_idx = declined_events.indexOf(event_id);
|
|
|
87
|
+ if (pending_idx > -1) {
|
|
|
88
|
+ pending_events.splice(pending_idx, 1);
|
|
|
89
|
+ redis.hset("user:" + user, "pending_events", JSON.stringify(pending_events));
|
|
|
90
|
+ }
|
|
|
91
|
+ if (accepted_idx > -1) {
|
|
|
92
|
+ accepted_events.splice(accepted_idx, 1);
|
|
|
93
|
+ redis.hset("user:" + user, "accepted_events", JSON.stringify(accepted_events));
|
|
|
94
|
+ }
|
|
|
95
|
+ if (declined_idx > -1) {
|
|
|
96
|
+ declined_events.splice(declined_idx, 1);
|
|
|
97
|
+ redis.hset("user:" + user, "declined_events", JSON.stringify(declined_events));
|
|
|
98
|
+ }
|
|
|
99
|
+ completed_count++;
|
|
|
100
|
+ if (completed_count === users.length) {
|
|
|
101
|
+ complete({
|
|
|
102
|
+ "success": 1,
|
|
|
103
|
+ "error": 0
|
|
|
104
|
+ });
|
|
|
105
|
+ }
|
|
|
106
|
+ });
|
|
|
107
|
+ });
|
|
|
108
|
+ });
|
|
|
109
|
+ } else {
|
|
|
110
|
+ complete({
|
|
|
111
|
+ "success": 0,
|
|
|
112
|
+ "error": 2
|
|
|
113
|
+ });
|
|
|
114
|
+ }
|
|
|
115
|
+ });
|
|
|
116
|
+ } else {
|
|
|
117
|
+ complete({
|
|
|
118
|
+ "success": 0,
|
|
|
119
|
+ "error": 1
|
|
|
120
|
+ });
|
|
|
121
|
+ }
|
|
|
122
|
+ }, force);
|
|
64
|
123
|
},
|
|
65
|
124
|
|
|
66
|
125
|
invite_all: function (soc_name, event_id) {
|
|
|
@@ -75,16 +134,25 @@ module.exports = {
|
|
75
|
134
|
|
|
76
|
135
|
get_event: function (event_id, auth, complete, preauth) {
|
|
77
|
136
|
redis.hgetall("event:" + event_id, function (err, event) {
|
|
78
|
|
- event.attendees = JSON.parse(event.attendees);
|
|
79
|
137
|
if (preauth) {
|
|
80
|
|
- complete({
|
|
81
|
|
- "event": event,
|
|
82
|
|
- "error": 0
|
|
83
|
|
- });
|
|
84
|
|
- return;
|
|
|
138
|
+ if (event) {
|
|
|
139
|
+ event.attendees = JSON.parse(event.attendees);
|
|
|
140
|
+ complete({
|
|
|
141
|
+ "event": event,
|
|
|
142
|
+ "error": 0
|
|
|
143
|
+ });
|
|
|
144
|
+ return;
|
|
|
145
|
+ } else {
|
|
|
146
|
+ complete({
|
|
|
147
|
+ "event": {},
|
|
|
148
|
+ "error": 1
|
|
|
149
|
+ });
|
|
|
150
|
+ return;
|
|
|
151
|
+ }
|
|
85
|
152
|
}
|
|
86
|
153
|
permissions_controller.user_is_in_society(auth, event.society, function (canview) {
|
|
87
|
154
|
if (canview) {
|
|
|
155
|
+ event.attendees = JSON.parse(event.attendees);
|
|
88
|
156
|
complete({
|
|
89
|
157
|
"event": event,
|
|
90
|
158
|
"error": 0
|