| + |
Styled message
' + }; + sendMail(emailOpts, true); + sendMail(emailOpts, true); + sendMail(emailOpts, true); + sendMail(emailOpts, true); +} + +export const sendEmailsFromQueue = () => { + MailQueue.___send(() => { }); +}; diff --git a/imports/startup/server/facts.js b/imports/startup/server/facts.js new file mode 100644 index 0000000..0c75843 --- /dev/null +++ b/imports/startup/server/facts.js @@ -0,0 +1,9 @@ +/* global Facts */ +import { Roles } from 'meteor/alanning:roles'; +import { Meteor } from 'meteor/meteor'; + +Facts.setUserIdFilter((userId) => { + const user = Meteor.users.findOne(userId); + // console.log(`User roles: ${user.roles}`); + return Roles.userIsInRole(userId, ['admin']); +}); diff --git a/imports/startup/server/feedback.js b/imports/startup/server/feedback.js new file mode 100644 index 0000000..c1d028b --- /dev/null +++ b/imports/startup/server/feedback.js @@ -0,0 +1,25 @@ +/* eslint-disable prefer-arrow-callback */ +/* eslint-disable import/no-absolute-path */ + +import { Meteor } from 'meteor/meteor'; +import i18n from 'i18next'; +import { check } from 'meteor/check'; +import sendEmail from '/imports/startup/server/email'; + +Meteor.methods({ + 'send-feedback': function sendFeedback(email, feedback) { + check(email, String); + check(feedback, String); + const appName = i18n.t('AppName'); + sendEmail({ + to: 'fires@comunes.org', + from: `${appName}${feedback}
`, + template: '{{appName}}{subTitle}
+ +© {copyrightYear()} Application Name
-© Copyleft {copyrightYear()} {t('OrgName')}{t('OrgName')}
+ +