Merge pull request #957 from chrishunt/chrishunt/lock-down-the-base
Add 'login required' site setting
This commit is contained in:
@@ -166,6 +166,16 @@ Discourse = Ember.Application.createWithMixins({
|
||||
return loginController.authenticationComplete(options);
|
||||
},
|
||||
|
||||
loginRequired: function() {
|
||||
return (
|
||||
Discourse.SiteSettings.login_required && !Discourse.User.current()
|
||||
);
|
||||
}.property(),
|
||||
|
||||
redirectIfLoginRequired: function(route) {
|
||||
if(this.get('loginRequired')) { route.transitionTo('login'); }
|
||||
},
|
||||
|
||||
/**
|
||||
Our own $.ajax method. Makes sure the .then method executes in an Ember runloop
|
||||
for performance reasons. Also automatically adjusts the URL to support installs
|
||||
|
||||
@@ -28,7 +28,7 @@ Discourse.StaticController = Discourse.Controller.extend({
|
||||
});
|
||||
|
||||
Discourse.StaticController.reopenClass({
|
||||
pages: ['faq', 'tos', 'privacy']
|
||||
pages: ['faq', 'tos', 'privacy', 'login']
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
**/
|
||||
Discourse.FilteredListRoute = Discourse.Route.extend({
|
||||
|
||||
redirect: function() { Discourse.redirectIfLoginRequired(this); },
|
||||
|
||||
exit: function() {
|
||||
this._super();
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
**/
|
||||
Discourse.ListCategoriesRoute = Discourse.Route.extend({
|
||||
|
||||
redirect: function() { Discourse.redirectIfLoginRequired(this); },
|
||||
|
||||
events: {
|
||||
|
||||
createCategory: function() {
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
**/
|
||||
Discourse.TopicRoute = Discourse.Route.extend({
|
||||
|
||||
redirect: function() { Discourse.redirectIfLoginRequired(this); },
|
||||
|
||||
events: {
|
||||
// Modals that can pop up within a topic
|
||||
|
||||
|
||||
@@ -29,10 +29,34 @@
|
||||
{{/if}}
|
||||
</li>
|
||||
<li>
|
||||
<a class='icon expand' href='#' data-dropdown="search-dropdown" title='{{i18n search.title}}'><i class='icon-search'></i></a>
|
||||
{{#if Discourse.loginRequired}}
|
||||
<a class='icon expand' href='#' {{action showLogin}}>
|
||||
<i class='icon-search'></i>
|
||||
</a>
|
||||
{{else}}
|
||||
<a class='icon expand'
|
||||
href='#'
|
||||
data-dropdown="search-dropdown"
|
||||
title='{{i18n search.title}}'>
|
||||
<i class='icon-search'></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
</li>
|
||||
<li class='categories dropdown'>
|
||||
<a class='icon' data-dropdown="site-map-dropdown" href="#" title='{{i18n site_map}}'><i class='icon-reorder'></i></a>
|
||||
{{#if Discourse.loginRequired}}
|
||||
<a class='icon'
|
||||
href="#"
|
||||
{{action showLogin}}>
|
||||
<i class='icon-reorder'></i>
|
||||
</a>
|
||||
{{else}}
|
||||
<a class='icon'
|
||||
data-dropdown="site-map-dropdown"
|
||||
href="#"
|
||||
title='{{i18n site_map}}'>
|
||||
<i class='icon-reorder'></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{#if currentUser.site_flagged_posts_count}}
|
||||
<a href='/admin/flags/active' title='{{i18n notifications.total_flagged}}' class='badge-notification flagged-posts'>{{currentUser.site_flagged_posts_count}}</a>
|
||||
{{/if}}
|
||||
|
||||
Reference in New Issue
Block a user