mirror of
https://github.com/vale981/Vulcan
synced 2025-03-10 04:26:41 -04:00

Currently, ``throwError`` is used for all manner of messages, including errors, "success" messages, and "info" messages. This makes appropriate styling of the error message difficult. In addition, the name ``throwError`` seems to create confusion, implying that an error will actually be thrown (e.g. stopping execution when a user isn't logged in [0][1]), when in fact it just displays a message. Replace ``throwError`` with ``flashMessage``, and reliably include a message "type" (e.g. "error", "success", "info") every time. rename ``lib/errors.js`` to ``lib/messages.js`` to more accurately reflect its function. This commit doesn't rename the message collection (``Errors``), nor the template responsible for rendering the messages (``error_item.html``) -- that should probably still be done, but has higher likelihood of trouble for existing alternate themes and installations. [0]6ccf7d7d47/client/views/users/user_edit.js (L43)
[1]083a4c4dc4/client/views/users/user_email.js (L13)
47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
Template[getTemplate('invites')].helpers({
|
|
canCurrentUserInvite: function(){
|
|
var currentUser = Meteor.user();
|
|
return currentUser && (currentUser.inviteCount > 0 && canInvite(currentUser));
|
|
},
|
|
|
|
invitesLeft: function(){
|
|
var currentUser = Meteor.user();
|
|
return currentUser ? currentUser.inviteCount : 0;
|
|
},
|
|
|
|
invitesSchema: function() {
|
|
// expose schema for Invites (used by AutoForm)
|
|
return InviteSchema;
|
|
}
|
|
});
|
|
|
|
var scrollUp = function(){
|
|
Deps.afterFlush(function() {
|
|
var element = $('.grid > .error');
|
|
$('html, body').animate({scrollTop: element.offset().top});
|
|
});
|
|
};
|
|
|
|
AutoForm.hooks({
|
|
inviteForm: {
|
|
onSuccess: function(operation, result, template) {
|
|
clearSeenMessages();
|
|
|
|
if(result && result.newUser){
|
|
flashMessage('An invite has been sent out. Thank you!', "success");
|
|
} else {
|
|
flashMessage('Thank you!', "info");
|
|
}
|
|
scrollUp();
|
|
},
|
|
|
|
onError: function(operation, error, template) {
|
|
clearSeenMessages();
|
|
|
|
if(error && error.reason){
|
|
throwError(error.reason);
|
|
scrollUp();
|
|
}
|
|
}
|
|
}
|
|
});
|