-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathuser.js
96 lines (84 loc) · 2.47 KB
/
user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
var lf = require('./lfcli.js');
var logger = require('./logger.js');
/**
* Returns the object required by templates for an API member object
*
* @param query_res member object as provided by API
*/
exports.getUserBasic = function(query_res) {
builtUser = {};
builtUser.nick = query_res.name;
builtUser.name = query_res.realname;
if(builtUser.name == "" || builtUser.name == null) {
builtUser.name = builtUser.nick;
}
builtUser.id = query_res.id;
builtUser.picmini = 'picmini/' + query_res.id;
builtUser.picsmall = 'avatar/' + query_res.id;
builtUser.picbig = 'picbig/' + query_res.id;
return builtUser;
}
var user = function(state, finish, allowOtherMember) {
var unit_count = -1;
var units = [];
var check = function() {
if(state.context.user !== undefined && units.length === unit_count
&& unit_count !== -1) {
state.context.user.units = units;
logger(2, 'SUCCESS');
finish();
}
}
var member_id;
if(state.url.query.user_id !== undefined && allowOtherMember == true) {
member_id = state.url.query.user_id;
}
else {
member_id = state.user_id();
}
lf.query('/member', {'member_id': member_id}, state, function(res) {
lf_user = res.result[0];
var date = new Date(lf_user.birthday);
state.context.user = {
'nick': lf_user.name,
'picbig': 'picbig/' + lf_user.id,
'name': lf_user.realname,
'website': lf_user.website,
'profession': lf_user.profession,
'email': lf_user.email,
'jabber': lf_user.xmpp_address,
'phone': lf_user.phone,
'mobile': lf_user.mobile_phone,
'statement': lf_user.statement,
'offices': lf_user.internal_posts,
'memberships': lf_user.external_memberships,
'lastactive': lf_user.last_activity
};
// get birthday
if(lf_user.birthday !== null) {
state.context.user.birthdate = date.getDate() + '.' + ( date.getMonth() + 1 ) + '.' + date.getFullYear();
}
else {
state.context.user.birthdate = null;
}
// delete dummy content
state.context.delegateactions = [];
state.context.strongestdelegates = [];
state.context.votingcomments = [];
if(member_id == state.user_id()) {
state.context.user.isme = true;
}
check();
} );
lf.query('/privilege', {'member_id': state.user_id()}, state, function(priv_res) {
unit_count = priv_res.result.length;
for(var i = 0; i < unit_count; i++) {
lf.query('/unit', {'unit_id': priv_res.result[i].unit_id}, state, function(unit_res) {
units.push({'name': unit_res.result[0].name});
check();
});
}
check();
} );
}
exports.get = user;