Vulcan/client/views/users/user_item.js

86 lines
2.1 KiB
JavaScript
Raw Normal View History

2012-10-03 16:33:28 +09:00
Template.user_item.helpers({
2013-10-09 20:50:26 +09:00
avatarUrl: function(){
return getAvatarUrl(this);
},
createdAtFormatted: function(){
return this.createdAt ? moment(this.createdAt).fromNow() : '';
},
displayName: function(){
return getDisplayName(this);
},
2013-11-08 11:15:02 +09:00
getEmail: function(){
2013-10-09 20:50:26 +09:00
return getEmail(this);
},
posts: function(){
return Posts.find({'userId':this._id});
},
comments: function(){
return Comments.find({'userId':this._id});
},
userIsAdmin: function(){
return isAdmin(this);
},
getProfileUrl: function () {
return getProfileUrl(this);
2013-11-08 11:10:23 +09:00
},
getKarma: function() {
return Math.round(100*this.karma)/100;
},
getInvitedUserProfileUrl: function () {
var user = Meteor.users.findOne(this.invitedId);
return getProfileUrl(user);
2013-10-09 20:50:26 +09:00
}
2012-10-05 13:59:40 +09:00
});
Template.user_item.events({
2013-10-09 20:50:26 +09:00
'click .invite-link': function(e, instance){
e.preventDefault();
var user = Meteor.users.findOne(instance.data._id);
Meteor.users.update(user._id,{
$set:{
isInvited: true
}
}, {multi: false}, function(error){
if(error){
throwError();
}else{
2013-10-23 20:20:10 +09:00
Meteor.call('createNotification', {
event: 'accountApproved',
properties: {},
userToNotify: user,
2013-10-23 20:27:19 +09:00
userDoingAction: Meteor.user(),
2013-10-23 20:20:10 +09:00
sendEmail: getSetting("emailNotifications")
});
2013-10-09 20:50:26 +09:00
}
});
},
'click .uninvite-link': function(e, instance){
e.preventDefault();
Meteor.users.update(instance.data._id,{
$set:{
isInvited: false
}
});
},
'click .admin-link': function(e, instance){
e.preventDefault();
Meteor.users.update(instance.data._id,{
$set:{
isAdmin: true
}
});
},
'click .unadmin-link': function(e, instance){
e.preventDefault();
Meteor.users.update(instance.data._id,{
$set:{
isAdmin: false
}
});
},
'click .delete-link': function(e, instance){
e.preventDefault();
if(confirm("Are you sure you want to delete "+getDisplayName(instance.data)+"?"))
Meteor.users.remove(instance.data._id);
}
2012-10-05 13:59:40 +09:00
})