| 
									
										
										
										
											2016-07-07 14:33:16 -04:00
										 |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-11 08:41:34 +03:00
										 |  |  | var async = require('async'); | 
					
						
							| 
									
										
										
										
											2016-07-07 14:33:16 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-11 08:41:34 +03:00
										 |  |  | var user = require('../../user'); | 
					
						
							|  |  |  | var helpers = require('../helpers'); | 
					
						
							|  |  |  | var accountHelpers = require('./helpers'); | 
					
						
							| 
									
										
										
										
											2016-07-07 14:33:16 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | var infoController = {}; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-13 11:43:39 +02:00
										 |  |  | infoController.get = function (req, res, callback) { | 
					
						
							| 
									
										
										
										
											2016-09-14 14:33:39 +03:00
										 |  |  | 	var userData; | 
					
						
							|  |  |  | 	async.waterfall([ | 
					
						
							| 
									
										
										
										
											2016-10-13 11:43:39 +02:00
										 |  |  | 		function (next) { | 
					
						
							| 
									
										
										
										
											2016-09-14 14:33:39 +03:00
										 |  |  | 			accountHelpers.getUserDataByUserSlug(req.params.userslug, req.uid, next); | 
					
						
							|  |  |  | 		}, | 
					
						
							| 
									
										
										
										
											2016-10-13 11:43:39 +02:00
										 |  |  | 		function (_userData, next) { | 
					
						
							| 
									
										
										
										
											2016-09-14 14:33:39 +03:00
										 |  |  | 			userData = _userData; | 
					
						
							|  |  |  | 			if (!userData) { | 
					
						
							|  |  |  | 				return callback(); | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 			async.parallel({ | 
					
						
							|  |  |  | 				history: async.apply(user.getModerationHistory, userData.uid), | 
					
						
							| 
									
										
										
										
											2016-09-15 22:20:52 -04:00
										 |  |  | 				sessions: async.apply(user.auth.getSessions, userData.uid, req.sessionID), | 
					
						
							| 
									
										
										
										
											2016-09-30 18:42:19 +03:00
										 |  |  | 				usernames: async.apply(user.getHistory, 'user:' + userData.uid + ':usernames'), | 
					
						
							|  |  |  | 				emails: async.apply(user.getHistory, 'user:' + userData.uid + ':emails') | 
					
						
							| 
									
										
										
										
											2016-09-14 14:33:39 +03:00
										 |  |  | 			}, next); | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2016-10-13 11:43:39 +02:00
										 |  |  | 	], function (err, data) { | 
					
						
							| 
									
										
										
										
											2016-08-11 08:41:34 +03:00
										 |  |  | 		if (err) { | 
					
						
							| 
									
										
										
										
											2016-09-14 14:33:39 +03:00
										 |  |  | 			return callback(err); | 
					
						
							| 
									
										
										
										
											2016-08-11 08:41:34 +03:00
										 |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-14 14:33:39 +03:00
										 |  |  | 		userData.history = data.history; | 
					
						
							|  |  |  | 		userData.sessions = data.sessions; | 
					
						
							| 
									
										
										
										
											2016-09-15 22:20:52 -04:00
										 |  |  | 		userData.usernames = data.usernames; | 
					
						
							|  |  |  | 		userData.emails = data.emails; | 
					
						
							| 
									
										
										
										
											2016-09-14 14:33:39 +03:00
										 |  |  | 		userData.title = '[[pages:account/info]]'; | 
					
						
							|  |  |  | 		userData.breadcrumbs = helpers.buildBreadcrumbs([{text: userData.username, url: '/user/' + userData.userslug}, {text: '[[user:account_info]]'}]); | 
					
						
							| 
									
										
										
										
											2016-07-07 14:33:16 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-14 14:33:39 +03:00
										 |  |  | 		res.render('account/info', userData); | 
					
						
							| 
									
										
										
										
											2016-07-07 14:33:16 -04:00
										 |  |  | 	}); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module.exports = infoController; |