Vulcan/client/views/users/user_item.js

77 lines
1.9 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);
},
email: function(){
return getEmail(this);
},
posts: function(){
return Posts.find({'userId':this._id});
},
postsCount: function(){
return Posts.find({'userId':this._id}).count();
},
comments: function(){
return Comments.find({'userId':this._id});
},
commentsCount: function(){
// Posts.find({'user_id':this._id}).forEach(function(post){console.log(post.headline);});
return Comments.find({'userId':this._id}).count();
},
userIsAdmin: function(){
return isAdmin(this);
}
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{
Meteor.call('createNotification','accountApproved', {}, user);
}
});
},
'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
})