@@ -46,7 +46,7 @@ class UserController extends Controller {
4646
4747 // 如果用户没有激活,那么管理员可以帮忙激活
4848 let token = '' ;
49- if ( ! user . active && ctx . session . user && ctx . session . user . is_admin ) {
49+ if ( ! user . active && ctx . user && ctx . user . is_admin ) {
5050 token = utility . md5 ( user . email + user . pass + config . session_secret ) ;
5151 }
5252
@@ -180,7 +180,7 @@ class UserController extends Controller {
180180
181181 async showSetting ( ) {
182182 const { ctx, service } = this ;
183- const id = ctx . session . user . _id ;
183+ const id = ctx . user . _id ;
184184 const user = await service . user . getUserById ( id ) ;
185185
186186 if ( ! user ) {
@@ -226,14 +226,14 @@ class UserController extends Controller {
226226 const weibo = validator . trim ( body . weibo ) ;
227227 const signature = validator . trim ( body . signature ) ;
228228
229- const user = await service . user . getUserById ( ctx . session . user . _id ) ;
229+ const user = await service . user . getUserById ( ctx . user . _id ) ;
230230 user . url = url ;
231231 user . location = location ;
232232 user . signature = signature ;
233233 user . weibo = weibo ;
234- user . save ( ) ;
234+ await user . save ( ) ;
235235
236- ctx . session . user = user . toObject ( { virtual : true } ) ;
236+ ctx . user = user . toObject ( { virtual : true } ) ;
237237 return ctx . redirect ( '/setting?save=success' ) ;
238238 }
239239
@@ -244,15 +244,15 @@ class UserController extends Controller {
244244 return showMessage ( '旧密码或新密码不得为空' ) ;
245245 }
246246
247- const user = await service . user . getUserById ( ctx . session . user . _id ) ;
247+ const user = await service . user . getUserById ( ctx . user . _id ) ;
248248 const equal = tools . bcompare ( oldPass , user . pass ) ;
249249 if ( ! equal ) {
250250 return showMessage ( '当前密码不正确。' , user ) ;
251251 }
252252
253253 const newPassHash = tools . bhash ( newPass ) ;
254254 user . pass = newPassHash ;
255- user . save ( ) ;
255+ await user . save ( ) ;
256256 return showMessage ( '密码已被修改。' , user , true ) ;
257257 }
258258 }
@@ -269,7 +269,7 @@ class UserController extends Controller {
269269 return ;
270270 }
271271 user . is_star = ! user . is_star ;
272- user . save ( ) ;
272+ await user . save ( ) ;
273273
274274 ctx . body = { status : 'success' } ;
275275 }
@@ -288,11 +288,11 @@ class UserController extends Controller {
288288
289289 if ( action === 'set_block' ) {
290290 user . is_block = true ;
291- user . save ( ) ;
291+ await user . save ( ) ;
292292 ctx . body = { status : 'success' } ;
293293 } else if ( action === 'cancel_block' ) {
294294 user . is_block = false ;
295- user . save ( ) ;
295+ await user . save ( ) ;
296296 ctx . body = { status : 'success' } ;
297297 }
298298 }
@@ -310,185 +310,13 @@ class UserController extends Controller {
310310 }
311311
312312 // 删除主题
313- ctx . model . Topic . update ( { author_id : user . _id } , { $set : { deleted : true } } , { multi : true } ) ;
313+ await ctx . model . Topic . update ( { author_id : user . _id } , { $set : { deleted : true } } , { multi : true } ) ;
314314 // 删除评论
315- ctx . model . Reply . update ( { author_id : user . _id } , { $set : { deleted : true } } , { multi : true } ) ;
315+ await ctx . model . Reply . update ( { author_id : user . _id } , { $set : { deleted : true } } , { multi : true } ) ;
316316 // 点赞数也全部干掉
317- ctx . model . Reply . update ( { } , { $pull : { ups : user . _id } } , { multi : true } ) ;
317+ await ctx . model . Reply . update ( { } , { $pull : { ups : user . _id } } , { multi : true } ) ;
318318 ctx . body = { status : 'success' } ;
319319 }
320320}
321321
322- // var User = require('../proxy').User;
323- // var Topic = require('../proxy').Topic;
324- // var Reply = require('../proxy').Reply;
325- // var TopicCollect = require('../proxy').TopicCollect;
326- // var utility = require('utility');
327- // var util = require('util');
328- // var TopicModel = require('../models').Topic;
329- // var ReplyModel = require('../models').Reply;
330- // var tools = require('../common/tools');
331- // var config = require('../config');
332- // var EventProxy = require('eventproxy');
333- // var validator = require('validator');
334- // var _ = require('lodash');
335-
336-
337- // exports.showSetting = function (req, res, next) {
338- // User.getUserById(req.session.user._id, function (err, user) {
339- // if (err) {
340- // return next(err);
341- // }
342- // if (req.query.save === 'success') {
343- // user.success = '保存成功。';
344- // }
345- // user.error = null;
346- // return res.render('user/setting', user);
347- // });
348- // };
349-
350- // exports.setting = function (req, res, next) {
351- // var ep = new EventProxy();
352- // ep.fail(next);
353-
354- // // 显示出错或成功信息
355- // function showMessage(msg, data, isSuccess) {
356- // data = data || req.body;
357- // var data2 = {
358- // loginname: data.loginname,
359- // email: data.email,
360- // url: data.url,
361- // location: data.location,
362- // signature: data.signature,
363- // weibo: data.weibo,
364- // accessToken: data.accessToken,
365- // };
366- // if (isSuccess) {
367- // data2.success = msg;
368- // } else {
369- // data2.error = msg;
370- // }
371- // res.render('user/setting', data2);
372- // }
373-
374- // // post
375- // var action = req.body.action;
376- // if (action === 'change_setting') {
377- // var url = validator.trim(req.body.url);
378- // var location = validator.trim(req.body.location);
379- // var weibo = validator.trim(req.body.weibo);
380- // var signature = validator.trim(req.body.signature);
381-
382- // User.getUserById(req.session.user._id, ep.done(function (user) {
383- // user.url = url;
384- // user.location = location;
385- // user.signature = signature;
386- // user.weibo = weibo;
387- // user.save(function (err) {
388- // if (err) {
389- // return next(err);
390- // }
391- // req.session.user = user.toObject({virtual: true});
392- // return res.redirect('/setting?save=success');
393- // });
394- // }));
395- // }
396- // if (action === 'change_password') {
397- // var old_pass = validator.trim(req.body.old_pass);
398- // var new_pass = validator.trim(req.body.new_pass);
399- // if (!old_pass || !new_pass) {
400- // return res.send('旧密码或新密码不得为空');
401- // }
402-
403- // User.getUserById(req.session.user._id, ep.done(function (user) {
404- // tools.bcompare(old_pass, user.pass, ep.done(function (bool) {
405- // if (!bool) {
406- // return showMessage('当前密码不正确。', user);
407- // }
408-
409- // tools.bhash(new_pass, ep.done(function (passhash) {
410- // user.pass = passhash;
411- // user.save(function (err) {
412- // if (err) {
413- // return next(err);
414- // }
415- // return showMessage('密码已被修改。', user, true);
416-
417- // });
418- // }));
419- // }));
420- // }));
421- // }
422-
423- // exports.toggleStar = function (req, res, next) {
424- // var user_id = req.body.user_id;
425- // User.getUserById(user_id, function (err, user) {
426- // if (err) {
427- // return next(err);
428- // }
429- // if (!user) {
430- // return next(new Error('user is not exists'));
431- // }
432- // user.is_star = !user.is_star;
433- // user.save(function (err) {
434- // if (err) {
435- // return next(err);
436- // }
437- // res.json({ status: 'success' });
438- // });
439- // });
440- // }
441-
442- // exports.block = function (req, res, next) {
443- // var loginname = req.params.name;
444- // var action = req.body.action;
445-
446- // var ep = EventProxy.create();
447- // ep.fail(next);
448-
449- // User.getUserByLoginName(loginname, ep.done(function (user) {
450- // if (!user) {
451- // return next(new Error('user is not exists'));
452- // }
453- // if (action === 'set_block') {
454- // ep.all('block_user',
455- // function (user) {
456- // res.json({status: 'success'});
457- // });
458- // user.is_block = true;
459- // user.save(ep.done('block_user'));
460-
461- // } else if (action === 'cancel_block') {
462- // user.is_block = false;
463- // user.save(ep.done(function () {
464-
465- // res.json({status: 'success'});
466- // }));
467- // }
468- // }));
469- // };
470-
471- // exports.deleteAll = function (req, res, next) {
472- // var loginname = req.params.name;
473-
474- // var ep = EventProxy.create();
475- // ep.fail(next);
476-
477- // User.getUserByLoginName(loginname, ep.done(function (user) {
478- // if (!user) {
479- // return next(new Error('user is not exists'));
480- // }
481- // ep.all('del_topics', 'del_replys', 'del_ups',
482- // function () {
483- // res.json({status: 'success'});
484- // });
485- // // 删除主题
486- // TopicModel.update({author_id: user._id}, {$set: {deleted: true}}, {multi: true}, ep.done('del_topics'));
487- // // 删除评论
488- // ReplyModel.update({author_id: user._id}, {$set: {deleted: true}}, {multi: true}, ep.done('del_replys'));
489- // // 点赞数也全部干掉
490- // ReplyModel.update({}, {$pull: {'ups': user._id}}, {multi: true}, ep.done('del_ups'));
491- // }));
492- // };
493-
494322module . exports = UserController ;
0 commit comments