mirror of
https://github.com/vale981/Vulcan
synced 2025-03-10 12:36:39 -04:00
58 lines
1.8 KiB
JavaScript
58 lines
1.8 KiB
JavaScript
Template.user_info.helpers({
|
|
canEditProfile: function() {
|
|
var currentUser = Meteor.user();
|
|
return currentUser && (this._id === currentUser._id || Users.is.admin(currentUser));
|
|
},
|
|
createdAtFormatted: function() {
|
|
return this.createdAt;
|
|
},
|
|
canInvite: function() {
|
|
// if the user is logged in, the target user hasn't been invited yet, invites are enabled, and user is not viewing their own profile
|
|
return Meteor.user() && Meteor.user()._id !== this._id && !Users.is.invited(this) && Telescope.utils.invitesEnabled() && Users.can.invite(Meteor.user());
|
|
},
|
|
inviteCount: function() {
|
|
return Meteor.user().telescope.inviteCount;
|
|
},
|
|
getTwitterName: function () {
|
|
return Users.getTwitterName(this);
|
|
},
|
|
getGitHubName: function () {
|
|
return Users.getGitHubName(this);
|
|
},
|
|
publicProfileFields: function () {
|
|
var user = this;
|
|
var schema = Users.simpleSchema();
|
|
var publicData = _.compact(_.map(schema.getPublicFields(), function (fieldName) {
|
|
if (Telescope.getNestedProperty(user, fieldName)) {
|
|
var field = schema._schema[fieldName];
|
|
var item = {
|
|
label: i18n.t(fieldName.replace("telescope.", "")),
|
|
value: Telescope.getNestedProperty(user, fieldName)
|
|
};
|
|
if (!!field.template) {
|
|
item.template = field.template;
|
|
}
|
|
return item;
|
|
}
|
|
}));
|
|
return publicData;
|
|
},
|
|
isUsingPassword: function () {
|
|
return !!this.services.password
|
|
}
|
|
});
|
|
|
|
Template.user_info.events({
|
|
'click .invite-link': function(e, instance){
|
|
var user = this;
|
|
Meteor.call('inviteUser', {userId: user._id}, function(error, success){
|
|
if (error) {
|
|
Messages.flash(error, "error");
|
|
Messages.clearSeen();
|
|
} else {
|
|
Messages.flash('Thanks, user has been invited.', "success");
|
|
Messages.clearSeen();
|
|
}
|
|
});
|
|
}
|
|
});
|