浏览代码

Fix bugs in society join

Matt Coles 9 年之前
父节点
当前提交
4e1c2c0b0f
共有 2 个文件被更改,包括 30 次插入20 次删除
  1. 4 1
      presenters/event-controller.js
  2. 26 19
      presenters/society-controller.js

+ 4 - 1
presenters/event-controller.js

@@ -138,7 +138,10 @@ module.exports = {
138 138
   invite_new_user: function (soc_name, user) {
139 139
     society_controller.get_society(soc_name, function (response) {
140 140
       user_controller.get_raw_user(user.toLowerCase(), function (userdata) {
141
-        redis.hset("user:" + user.toLowerCase(), "pending_events", JSON.stringify(JSON.parse(userdata.pending_events).concat(response.society.events)));
141
+        if (response.society.events.length !== 0) {
142
+          redis.hset("user:" + user.toLowerCase(), "pending_events", JSON.stringify(JSON.parse(userdata.pending_events).concat(response.society.events)));
143
+
144
+        }
142 145
       });
143 146
     });
144 147
   },

+ 26 - 19
presenters/society-controller.js

@@ -118,25 +118,32 @@ module.exports = {
118 118
         });
119 119
       } else {
120 120
         user_controller.get_user_from_auth(auth, function (username) {
121
-          user_query = "user:" + username;
122
-          redis.hget(user_query, "societies", function (err, result) {
123
-            if (result) {
124
-              result = JSON.parse(result);
125
-              redis.hset(user_query, "societies", JSON.stringify(result.concat(soc_name)));
126
-            } else {
127
-              redis.hset(user_query, "societies", JSON.stringify([soc_name]));
128
-            }
129
-          });
130
-          redis.hget(("society:" + soc_name).toLowerCase(), "users", function (err, users_result) {
131
-            users_result = JSON.parse(users_result);
132
-            redis.hset(("society:" + soc_name).toLowerCase(), "users", JSON.stringify(users_result.concat(username)));
133
-          });
134
-          var event_controller = require("./event-controller.js");
135
-          event_controller.invite_new_user(soc_name, username);
136
-        });
137
-        complete({
138
-          "success": 1,
139
-          "error": 0
121
+          if (username) {
122
+            user_query = "user:" + username;
123
+            redis.hget(user_query, "societies", function (err, result) {
124
+              if (result) {
125
+                result = JSON.parse(result);
126
+                redis.hset(user_query, "societies", JSON.stringify(result.concat(soc_name)));
127
+              } else {
128
+                redis.hset(user_query, "societies", JSON.stringify([soc_name]));
129
+              }
130
+            });
131
+            redis.hget(("society:" + soc_name).toLowerCase(), "users", function (err, users_result) {
132
+              users_result = JSON.parse(users_result);
133
+              redis.hset(("society:" + soc_name).toLowerCase(), "users", JSON.stringify(users_result.concat(username)));
134
+            });
135
+            var event_controller = require("./event-controller.js");
136
+            event_controller.invite_new_user(soc_name, username);
137
+            complete({
138
+              "success": 1,
139
+              "error": 0
140
+            });
141
+          } else {
142
+            complete({
143
+              "success": 0,
144
+              "error": 3
145
+            });
146
+          }
140 147
         });
141 148
       }
142 149
     });