Vulcan/packages/nova-newsletter/lib/custom_fields.js

42 lines
991 B
JavaScript
Raw Normal View History

2016-08-08 11:18:21 +09:00
import Telescope from 'meteor/nova:lib';
import NewsletterSubscribe from './components/NewsletterSubscribe.jsx';
2016-06-23 11:40:35 +09:00
import Posts from "meteor/nova:posts";
2016-06-23 15:00:58 +09:00
import Users from 'meteor/nova:users';
2016-07-21 09:40:05 +09:00
// check if user can create a new account
const canInsert = user => Users.canDo(user, "users.new");
// check if user can edit a user
const canEdit = Users.canEdit;
const alwaysPublic = user => true;
Posts.addField({
fieldName: 'scheduledAt',
fieldSchema: {
type: Date,
optional: true,
viewableIf: alwaysPublic,
}
});
Users.addField([
{
fieldName: '__newsletter_subscribeToNewsletter',
fieldSchema: {
label: 'Subscribe to newsletter',
type: Boolean,
optional: true,
2016-05-22 14:29:04 +02:00
publish: true,
defaultValue: false,
2016-07-21 09:40:05 +09:00
insertableIf: canInsert,
editableIf: canEdit,
viewableIf: alwaysPublic,
control: NewsletterSubscribe,
group: {
name: "newsletter",
label: "Newsletter",
order: 3
}
2016-05-22 14:29:04 +02:00
}
},
]);