adding postsViews setting

This commit is contained in:
Sacha Greif 2015-03-22 10:55:30 +09:00
parent c58d4f0a56
commit 0d0d1f8bf5
6 changed files with 43 additions and 3 deletions

View file

@ -12,4 +12,12 @@ Template[getTemplate('postsViewsNav')].helpers({
}
return itemClass;
},
showItem: function () {
// if item is not in postsViews setting, or item is adminOnly but current user is not admin
if (!_.contains(getSetting('postsViews'), this.route) || (this.adminOnly && !isAdmin(Meteor.user()))) {
// don't show the item
return false
}
return true;
}
});

View file

@ -2,7 +2,9 @@
<div class="posts-list-views grid-module">
<span>View:</span>
{{#each viewsMenu}}
<a class="{{itemClass}}" href="{{itemRoute}}">{{_ label}}</a>
{{#if showItem}}
<a class="{{itemClass}}" href="{{itemRoute}}">{{_ label}}</a>
{{/if}}
{{/each}}
</div>
</template>

View file

@ -121,6 +121,23 @@ settingsSchemaObject = {
]
}
},
postsViews: {
type: [String],
optional: true,
autoform: {
group: 'posts',
instructions: 'Posts views enabled',
editable: true,
noselect: true,
options: _.map(viewsMenu, function (item){
return {
value: item.route,
label: item.label
}
})
},
defaultValue: ['top', 'new', 'pending', 'scheduled']
},
postInterval: {
type: Number,
optional: true,

View file

@ -72,13 +72,13 @@ viewsMenu = [
},
{
route: 'posts_pending',
label: 'Pending',
label: 'pending',
description: 'posts_awaiting_moderation',
adminOnly: true
},
{
route: 'posts_scheduled',
label: 'Scheduled',
label: 'scheduled',
description: 'future_scheduled_posts',
adminOnly: true
},

View file

@ -23,6 +23,18 @@ getSetting = function(setting, defaultValue){
};
removeSetting = function (setting) {
var settings = Settings.find().fetch()[0];
console.log(settings._id)
console.log(setting)
if(isAdmin(Meteor.user())) {
var unsetObject = {};
unsetObject[setting] = true;
var update = Settings.update(settings._id, {$unset: unsetObject});
}
};
getThemeSetting = function(setting, defaultValue){
if(typeof themeSettings[setting] !== 'undefined'){
return themeSettings[setting];

View file

@ -30,6 +30,7 @@ Package.onUse(function (api) {
'dashToCamel',
'camelCaseify',
'getSetting',
'removeSetting',
'getThemeSetting',
'getSiteUrl',
'trimWords',