mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 11:15:05 +08:00
Remove unusued site_settings, show checkbox in UI for boolean values, remove restrict_access
boolean to avoid locking yourself out by setting access_password to empty string. Minor UI tweaks.
This commit is contained in:
parent
0c8c41b131
commit
d2596c3c4c
|
@ -1,11 +1,11 @@
|
|||
/**
|
||||
This controller supports the interface for SiteSettings.
|
||||
|
||||
@class AdminSiteSettingsController
|
||||
@class AdminSiteSettingsController
|
||||
@extends Ember.ArrayController
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
**/
|
||||
Discourse.AdminSiteSettingsController = Ember.ArrayController.extend(Discourse.Presence, {
|
||||
filter: null,
|
||||
onlyOverridden: false,
|
||||
|
@ -16,15 +16,18 @@ Discourse.AdminSiteSettingsController = Ember.ArrayController.extend(Discourse.P
|
|||
@property filteredContent
|
||||
**/
|
||||
filteredContent: (function() {
|
||||
var filter,
|
||||
_this = this;
|
||||
|
||||
// If we have no content, don't bother filtering anything
|
||||
if (!this.present('content')) return null;
|
||||
|
||||
var filter;
|
||||
if (this.get('filter')) {
|
||||
filter = this.get('filter').toLowerCase();
|
||||
}
|
||||
|
||||
var adminSettingsController = this;
|
||||
return this.get('content').filter(function(item, index, enumerable) {
|
||||
if (_this.get('onlyOverridden') && !item.get('overridden')) return false;
|
||||
if (adminSettingsController.get('onlyOverridden') && !item.get('overridden')) return false;
|
||||
if (filter) {
|
||||
if (item.get('setting').toLowerCase().indexOf(filter) > -1) return true;
|
||||
if (item.get('description').toLowerCase().indexOf(filter) > -1) return true;
|
||||
|
@ -66,5 +69,5 @@ Discourse.AdminSiteSettingsController = Ember.ArrayController.extend(Discourse.P
|
|||
cancel: function(setting) {
|
||||
setting.resetValue();
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
|
|
@ -1,55 +1,96 @@
|
|||
/**
|
||||
Our data model for interacting with site settings.
|
||||
|
||||
@class SiteSetting
|
||||
@class SiteSetting
|
||||
@extends Discourse.Model
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
**/
|
||||
Discourse.SiteSetting = Discourse.Model.extend({
|
||||
|
||||
// Whether a property is short.
|
||||
short: (function() {
|
||||
if (this.blank('value')) return true;
|
||||
return this.get('value').toString().length < 80;
|
||||
}).property('value'),
|
||||
|
||||
// Whether the site setting has changed
|
||||
dirty: (function() {
|
||||
return this.get('originalValue') !== this.get('value');
|
||||
}).property('originalValue', 'value'),
|
||||
/**
|
||||
Is the boolean setting true?
|
||||
|
||||
overridden: (function() {
|
||||
var defaultVal, val;
|
||||
val = this.get('value');
|
||||
defaultVal = this.get('default');
|
||||
if (val && defaultVal) {
|
||||
return val.toString() !== defaultVal.toString();
|
||||
@property enabled
|
||||
**/
|
||||
enabled: function(key, value) {
|
||||
|
||||
if (arguments.length === 1) {
|
||||
// get the boolean value of the setting
|
||||
if (this.blank('value')) return false;
|
||||
return this.get('value') === 'true';
|
||||
|
||||
} else {
|
||||
// set the boolean value of the setting
|
||||
this.set('value', value ? 'true' : 'false');
|
||||
|
||||
// We save booleans right away, it's not like a text field where it makes sense to
|
||||
// undo what you typed in.
|
||||
this.save();
|
||||
}
|
||||
return val !== defaultVal;
|
||||
}).property('value'),
|
||||
|
||||
}.property('value'),
|
||||
|
||||
/**
|
||||
Has the user changed the setting? If so we should save it.
|
||||
|
||||
@property dirty
|
||||
**/
|
||||
dirty: function() {
|
||||
return this.get('originalValue') !== this.get('value');
|
||||
}.property('originalValue', 'value'),
|
||||
|
||||
/**
|
||||
Has the setting been overridden from its default value?
|
||||
|
||||
@property overridden
|
||||
**/
|
||||
overridden: function() {
|
||||
var val = this.get('value');
|
||||
var defaultVal = this.get('default');
|
||||
|
||||
if (val === null) val = '';
|
||||
if (defaultVal === null) defaultVal = '';
|
||||
|
||||
return val.toString() !== defaultVal.toString();
|
||||
}.property('value'),
|
||||
|
||||
/**
|
||||
Reset the setting to its original value.
|
||||
|
||||
@method resetValue
|
||||
**/
|
||||
resetValue: function() {
|
||||
this.set('value', this.get('originalValue'));
|
||||
},
|
||||
|
||||
/**
|
||||
Save the setting's value.
|
||||
|
||||
@method save
|
||||
**/
|
||||
save: function() {
|
||||
// Update the setting
|
||||
var _this = this;
|
||||
var setting = this;
|
||||
return jQuery.ajax("/admin/site_settings/" + (this.get('setting')), {
|
||||
data: { value: this.get('value') },
|
||||
type: 'PUT',
|
||||
success: function() {
|
||||
_this.set('originalValue', _this.get('value'));
|
||||
setting.set('originalValue', setting.get('value'));
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Discourse.SiteSetting.reopenClass({
|
||||
|
||||
/**
|
||||
Retrieve all settings from the server
|
||||
|
||||
@method findAll
|
||||
**/
|
||||
findAll: function() {
|
||||
var result;
|
||||
result = Em.A();
|
||||
var result = Em.A();
|
||||
jQuery.get("/admin/site_settings", function(settings) {
|
||||
return settings.each(function(s) {
|
||||
s.originalValue = s.value;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class='admin-controls'>
|
||||
<div class='span15 search controls'>
|
||||
<label>
|
||||
<label>
|
||||
{{view Ember.Checkbox checkedBinding="controller.onlyOverridden"}}
|
||||
{{i18n admin.site_settings.show_overriden}}
|
||||
</label>
|
||||
|
@ -11,24 +11,4 @@
|
|||
|
||||
</div>
|
||||
|
||||
{{#collection contentBinding="filteredContent" classNames="form-horizontal settings" itemClass="row setting"}}
|
||||
{{#with view.content}}
|
||||
<div class='span4 offset1'>
|
||||
{{unbound setting}}
|
||||
</div>
|
||||
<div {{bindAttr class=":span11 overridden:overridden"}}>
|
||||
{{view Ember.TextField valueBinding="value" classNames="input-xxlarge"}}
|
||||
<div class='desc'>{{unbound description}}</div>
|
||||
</div>
|
||||
{{#if dirty}}
|
||||
<div class='span3'>
|
||||
<button class='btn ok' {{action save this target="controller"}}><i class='icon-ok'></i></button>
|
||||
<button class='btn cancel' {{action cancel this target="controller"}}><i class='icon-remove'></i></button>
|
||||
</div>
|
||||
{{else}}
|
||||
{{#if overridden}}
|
||||
<button class='btn' href='#' {{action resetDefault this target="controller"}}>{{i18n admin.site_settings.reset}}</button>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/with}}
|
||||
{{/collection}}
|
||||
{{collection contentBinding="filteredContent" classNames="form-horizontal settings" itemViewClass="Discourse.SiteSettingView"}}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{{#with view.content}}
|
||||
<div class='span4 offset1'>
|
||||
<h3>{{unbound setting}}</h3>
|
||||
</div>
|
||||
<div class="span11">
|
||||
{{view Ember.Checkbox checkedBinding="enabled" value="true"}}
|
||||
{{unbound description}}
|
||||
</div>
|
||||
{{/with}}
|
|
@ -0,0 +1,19 @@
|
|||
{{#with view.content}}
|
||||
<div class='span4 offset1'>
|
||||
<h3>{{unbound setting}}</h3>
|
||||
</div>
|
||||
<div class="span11">
|
||||
{{view Ember.TextField valueBinding="value" classNames="input-xxlarge"}}
|
||||
<div class='desc'>{{unbound description}}</div>
|
||||
</div>
|
||||
{{#if dirty}}
|
||||
<div class='span3'>
|
||||
<button class='btn ok' {{action save this}}><i class='icon-ok'></i></button>
|
||||
<button class='btn cancel' {{action cancel this}}><i class='icon-remove'></i></button>
|
||||
</div>
|
||||
{{else}}
|
||||
{{#if overridden}}
|
||||
<button class='btn' href='#' {{action resetDefault this}}>{{i18n admin.site_settings.reset}}</button>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/with}}
|
|
@ -3,11 +3,11 @@
|
|||
/**
|
||||
A view that wraps the ACE editor (http://ace.ajax.org/)
|
||||
|
||||
@class AceEditorView
|
||||
@extends Em.View
|
||||
@class AceEditorView
|
||||
@extends Discourse.View
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
**/
|
||||
Discourse.AceEditorView = Discourse.View.extend({
|
||||
mode: 'css',
|
||||
classNames: ['ace-wrapper'],
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
/**
|
||||
A view to handle site customizations
|
||||
|
||||
@class AdminCustomizeView
|
||||
@extends Em.View
|
||||
@class AdminCustomizeView
|
||||
@extends Discourse.View
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
**/
|
||||
Discourse.AdminCustomizeView = Discourse.View.extend({
|
||||
templateName: 'admin/templates/customize',
|
||||
classNames: ['customize'],
|
||||
|
@ -44,5 +44,5 @@ Discourse.AdminCustomizeView = Discourse.View.extend({
|
|||
willDestroyElement: function() {
|
||||
return Mousetrap.unbindGlobal('meta+s', 'ctrl+s');
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
The default view in the admin section
|
||||
|
||||
@class AdminDashboardView
|
||||
@extends Em.View
|
||||
@extends Discourse.View
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
|
|
22
app/assets/javascripts/admin/views/site_setting_view.js
Normal file
22
app/assets/javascripts/admin/views/site_setting_view.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
/**
|
||||
A view to display a site setting with edit controls
|
||||
|
||||
@class SiteSettingView
|
||||
@extends Discourse.View
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.SiteSettingView = Discourse.View.extend({
|
||||
classNameBindings: [':row', ':setting', 'content.overridden'],
|
||||
|
||||
templateName: function() {
|
||||
|
||||
// If we're editing a boolean, return a different template
|
||||
if (this.get('content.type') === 'bool') return 'admin/templates/site_settings/setting_bool'
|
||||
|
||||
// Default to string editor
|
||||
return 'admin/templates/site_settings/setting_string';
|
||||
|
||||
}.property('content.type')
|
||||
|
||||
});
|
|
@ -128,15 +128,25 @@
|
|||
.settings {
|
||||
.setting {
|
||||
padding-bottom: 20px;
|
||||
.overridden {
|
||||
input[type=text] {
|
||||
background-color: lighten($yellow, 40%);
|
||||
}
|
||||
}
|
||||
.desc {
|
||||
padding-top: 3px;
|
||||
color: darken($white, 40%);
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
|
||||
.setting.overridden {
|
||||
input[type=text] {
|
||||
background-color: lighten($yellow, 40%);
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: darken($yellow, 20%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -146,7 +146,7 @@ class ApplicationController < ActionController::Base
|
|||
return false if current_user.present?
|
||||
|
||||
# Don't cache if there's restricted access
|
||||
return false if SiteSetting.restrict_access?
|
||||
return false if SiteSetting.access_password.present?
|
||||
|
||||
true
|
||||
end
|
||||
|
@ -216,7 +216,7 @@ class ApplicationController < ActionController::Base
|
|||
|
||||
def check_restricted_access
|
||||
# note current_user is defined in the CurrentUser mixin
|
||||
if SiteSetting.restrict_access? && cookies[:_access] != SiteSetting.access_password
|
||||
if SiteSetting.access_password.present? && cookies[:_access] != SiteSetting.access_password
|
||||
redirect_to request_access_path(:return_path => request.fullpath)
|
||||
return false
|
||||
end
|
||||
|
|
|
@ -15,7 +15,7 @@ class InvitesController < ApplicationController
|
|||
user.enqueue_welcome_message('welcome_invite') if user.send_welcome_message
|
||||
|
||||
# We skip the access password if we come in via an invite link
|
||||
cookies.permanent['_access'] = SiteSetting.access_password if SiteSetting.restrict_access?
|
||||
cookies.permanent['_access'] = SiteSetting.access_password if SiteSetting.access_password.present?
|
||||
|
||||
topic = invite.topics.first
|
||||
if topic.present?
|
||||
|
|
|
@ -4,7 +4,7 @@ class RobotsTxtController < ApplicationController
|
|||
skip_before_filter :check_restricted_access
|
||||
|
||||
def index
|
||||
path = if SiteSetting.allow_index_in_robots_txt && !SiteSetting.restrict_access
|
||||
path = if SiteSetting.allow_index_in_robots_txt && SiteSetting.access_password.blank?
|
||||
:index
|
||||
else
|
||||
:no_index
|
||||
|
|
|
@ -16,7 +16,6 @@ class SiteSetting < ActiveRecord::Base
|
|||
setting(:company_short_name, 'Unconfigured Forum')
|
||||
setting(:company_domain, 'www.example.com')
|
||||
client_setting(:traditional_markdown_linebreaks, false)
|
||||
client_setting(:popup_delay, 1500)
|
||||
client_setting(:top_menu, 'popular|new|unread|favorited|categories')
|
||||
client_setting(:post_menu, 'like|edit|flag|delete|share|bookmark|reply')
|
||||
client_setting(:track_external_right_clicks, false)
|
||||
|
@ -48,7 +47,6 @@ class SiteSetting < ActiveRecord::Base
|
|||
setting(:port, Rails.env.development? ? 3000 : '')
|
||||
setting(:enable_private_messages, true)
|
||||
setting(:use_ssl, false)
|
||||
setting(:restrict_access, false)
|
||||
setting(:access_password)
|
||||
setting(:queue_jobs, !Rails.env.test?)
|
||||
setting(:crawl_images, !Rails.env.test?)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
development:
|
||||
adapter: postgresql
|
||||
database: discourse_development
|
||||
min_messages: warning
|
||||
host: localhost
|
||||
pool: 5
|
||||
timeout: 5000
|
||||
|
@ -13,6 +14,7 @@ development:
|
|||
test:
|
||||
adapter: postgresql
|
||||
database: discourse_test
|
||||
min_messages: warning
|
||||
host: localhost
|
||||
pool: 5
|
||||
timeout: 5000
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
#
|
||||
# Dutch translation for Discourse
|
||||
# contributed by Vincent Veldkamp (vincent@retroga.me) 2/14/13
|
||||
#
|
||||
#
|
||||
|
||||
nl:
|
||||
title: "Discourse"
|
||||
|
@ -39,7 +39,7 @@ nl:
|
|||
trust_levels:
|
||||
new:
|
||||
title: "nieuwe gebruiker"
|
||||
basic:
|
||||
basic:
|
||||
title: "basisgebruiker"
|
||||
regular:
|
||||
title: "gemiddelde gebruiker"
|
||||
|
@ -64,7 +64,7 @@ nl:
|
|||
|
||||
datetime:
|
||||
distance_in_words:
|
||||
half_a_minute: "< 1m"
|
||||
half_a_minute: "< 1m"
|
||||
less_than_x_seconds:
|
||||
one: "< 1s"
|
||||
other: "< %{count}s"
|
||||
|
@ -100,7 +100,7 @@ nl:
|
|||
other: "%{count}j"
|
||||
|
||||
distance_in_words_verbose:
|
||||
half_a_minute: "een halve minuut geleden"
|
||||
half_a_minute: "een halve minuut geleden"
|
||||
less_than_x_seconds:
|
||||
one: "nu"
|
||||
other: "nu"
|
||||
|
@ -155,7 +155,7 @@ nl:
|
|||
approval_required: "Een moderator moet je nieuwe account handmatig goedkeuren voordat je toegang krijgt tot dit forum. Je krijgt een e-mail van ons wanneer je account is goedgekeurd!"
|
||||
|
||||
post_action_types:
|
||||
|
||||
|
||||
off_topic:
|
||||
title: 'Off-Topic'
|
||||
description: 'Deze post wijkt erg af van het onderwerp van deze discussie, en moet wellicht naar een ander topic worden verplaatst.'
|
||||
|
@ -186,7 +186,7 @@ nl:
|
|||
user_must_edit: '<p>Gemelde inhoud verborgen.</p>'
|
||||
|
||||
archetypes:
|
||||
regular:
|
||||
regular:
|
||||
title: "Standaard-topic"
|
||||
|
||||
unsubscribed:
|
||||
|
@ -212,7 +212,6 @@ nl:
|
|||
discourse_org_access_key: "De toegangscode voor het discourse.org nickname-register"
|
||||
|
||||
title: "titel van deze website"
|
||||
restrict_access: "beperk forumtoegang aan gebruikers tenzij dit wachtwoord door hen is ingevuld"
|
||||
access_password: "restrict_access (Beperk Toegang) staat aan. Zorg ervoor dat dit wachtwoord staat ingevuld"
|
||||
queue_jobs: "zet verschillende taken in een queue binnen sidekiq, als ongeldige queues zich op dezelfde lijn bevinden"
|
||||
crawl_images: "zet het ophalen van afbeeldingen van externe bronnen aan"
|
||||
|
@ -222,7 +221,6 @@ nl:
|
|||
imgur_endpoint: "endpoint voor het uploaden van imgur.com-afbeeldingen"
|
||||
max_image_width: "maximale breedte voor een afbeelding in een post"
|
||||
category_featured_topics: "aantal topics die worden weergegeven in de categorie-lijst"
|
||||
popup_delay: "Lengte van tijd in ms voordat popups zich tonen op het scherm"
|
||||
add_rel_nofollow_to_user_content: "Voeg 'rel nofollow' toe aan alle gebruikers-content behalve voor interne links (inclusief parent domeinen). NB: Als je dit verandert moet je ook alle 'baked markdown' updaten"
|
||||
exclude_rel_nofollow_domains: "Een commagescheiden lijst van domeinen waar 'nofollow' niet is toegevoegd. (voorbeelddomein.com zal automatisch sub.voorbeelddomein.com toestaan)"
|
||||
post_excerpt_maxlength: "Maximale lengte in karakters van een post-uittreksel."
|
||||
|
@ -323,7 +321,7 @@ nl:
|
|||
admin_js:
|
||||
type_to_filter: "typ om te filteren..."
|
||||
|
||||
admin:
|
||||
admin:
|
||||
title: 'Discourse Beheer'
|
||||
|
||||
dashboard:
|
||||
|
@ -338,7 +336,7 @@ nl:
|
|||
delete: "Verwijder Post"
|
||||
delete_title: "verwijder post (als het de eerste post is van een topic, verwijdert dit het topic)"
|
||||
|
||||
customize:
|
||||
customize:
|
||||
title: "Aanpassingen"
|
||||
header: "Header"
|
||||
css: "Stylesheet"
|
||||
|
@ -429,9 +427,9 @@ nl:
|
|||
|
||||
# This section is exported to the javascript for i18n
|
||||
js:
|
||||
share:
|
||||
topic: 'deel een link naar dit topic'
|
||||
post: 'deel een link naar deze post'
|
||||
share:
|
||||
topic: 'deel een link naar dit topic'
|
||||
post: 'deel een link naar deze post'
|
||||
|
||||
edit: 'bewerk de titel en categorie van dit topic'
|
||||
not_implemented: "Deze functie is helaas nog niet beschikbaar, sorry!"
|
||||
|
@ -485,7 +483,7 @@ nl:
|
|||
invited_by: "Uitgenodigd door"
|
||||
trust_level: "Vertrouwensniveau"
|
||||
|
||||
change_username:
|
||||
change_username:
|
||||
action: "wijzig"
|
||||
title: "Wijzig Gebruikersnaam"
|
||||
confirm: "Er kunnen consequenties zijn als je je gebruikersnaam wijzigt. Weet je zeker dat je dit wilt doen?"
|
||||
|
@ -499,7 +497,7 @@ nl:
|
|||
error: "Er was een fout bij het wijzigen van je e-mailadres. Wellicht is deze al in gebruik?"
|
||||
success: "We hebben je een mail gestuurd naar dat adres. Volg de bijgeleverde bevestigingsinstructies."
|
||||
|
||||
email:
|
||||
email:
|
||||
title: "E-mail"
|
||||
instructions: "Je e-mail adres zal nooit openbaar zichtbaar zijn."
|
||||
ok: "Dat ziet er goed uit! We zullen je een e-mail sturen ter bevestiging."
|
||||
|
@ -507,12 +505,12 @@ nl:
|
|||
authenticated: "Je e-mail is goedgekeurd bij {{provider}}."
|
||||
frequency: "We zullen je alleen maar mailen als we je een tijd niet gezien hebben, en als je toevallig hetgeen waarover we je mailen nog niet hebt gezien op onze site."
|
||||
|
||||
name:
|
||||
name:
|
||||
title: "Naam"
|
||||
instructions: "De langere versie van je naam; dit hoeft niet uniek te zijn."
|
||||
too_short: "Je naam is te kort."
|
||||
ok: "Wat een mooie naam!"
|
||||
username:
|
||||
username:
|
||||
title: "Gebruikersnaam"
|
||||
#instructions: "Mensen kunnen naar je verwijzen als @{{username}}. Dit is een ongeregistreerde nickname. Je kan deze registreren op <a href='http://discourse.org'>discourse.org</a>."
|
||||
instructions: "Mensen kunnen naar je verwijzen als @{{username}}."
|
||||
|
@ -532,7 +530,7 @@ nl:
|
|||
log_out: "Log Uit"
|
||||
website: "Website"
|
||||
email_settings: "E-mail"
|
||||
email_digests:
|
||||
email_digests:
|
||||
title: "Wanneer ik de site niet bezoek, stuur me een mail met de laatste updates"
|
||||
daily: "dagelijks"
|
||||
weekly: "wekelijks"
|
||||
|
@ -542,17 +540,17 @@ nl:
|
|||
email_private_messages: "Ontvang een mail wanneer iemand je een privé-bericht heeft gestuurd."
|
||||
|
||||
other_settings: "Overige"
|
||||
|
||||
|
||||
new_topic_duration:
|
||||
label: "Beschouw topics als nieuw wanneer"
|
||||
not_viewed: "ik ze nog heb niet bekeken"
|
||||
last_here: "ze gepost waren sinds ik hier voor het laast was"
|
||||
after_n_days:
|
||||
one: "ze in de afgelopen dag gepost zijn"
|
||||
other: "ze de afgelopen {{count}} dagen gepost zijn"
|
||||
one: "ze in de afgelopen dag gepost zijn"
|
||||
other: "ze de afgelopen {{count}} dagen gepost zijn"
|
||||
after_n_weeks:
|
||||
one: "ze in de afgelopen week gepost zijn"
|
||||
other: "ze in de laaste {{count}} weken gepost zijn"
|
||||
one: "ze in de afgelopen week gepost zijn"
|
||||
other: "ze in de laaste {{count}} weken gepost zijn"
|
||||
|
||||
auto_track_topics: "Houd automatisch topics bij die ik bezoek"
|
||||
auto_track_options:
|
||||
|
@ -565,7 +563,7 @@ nl:
|
|||
one: "na 1 minuut"
|
||||
other: "na {{count}} minuten"
|
||||
|
||||
invited:
|
||||
invited:
|
||||
title: "Uitnodigingen"
|
||||
user: "Uitgenodigde Gebruiker"
|
||||
none: "{{username}} heeft nog geen mensen uitgenodigd voor deze site."
|
||||
|
@ -580,19 +578,19 @@ nl:
|
|||
days_visited: "Dagen Bezocht"
|
||||
account_age_days: "accountleeftijd in dagen"
|
||||
|
||||
password:
|
||||
password:
|
||||
title: "Wachtwoord"
|
||||
too_short: "Je wachtwoord is te kort."
|
||||
ok: "Je wachtwoord ziet er goed uit."
|
||||
|
||||
ip_address:
|
||||
ip_address:
|
||||
title: "Laatste IP-adres"
|
||||
avatar:
|
||||
avatar:
|
||||
title: "Avatar"
|
||||
instructions: "Wij gebruiken <a href='https://gravatar.com' target='_blank'>Gravatar</a> voor Avatars die op je e-mailadres gebaseerd zijn"
|
||||
|
||||
filters:
|
||||
all: "Alle"
|
||||
all: "Alle"
|
||||
|
||||
loading: "Laden..."
|
||||
close: "Sluit"
|
||||
|
@ -631,7 +629,7 @@ nl:
|
|||
invite: "Heb je nog geen account?"
|
||||
failed: "Er ging iets mis, wellicht is het e-mailadres al geregistreerd. Probeer de "Wachtwoord Vergeten"-link"
|
||||
|
||||
forgot_password:
|
||||
forgot_password:
|
||||
title: "Wachtwoord Vergeten"
|
||||
action: "Ik ben mijn wachtwoord vergeten"
|
||||
invite: "Vul je gebruikersnaam of e-mailadres in, en we sturen je een wachtwoord-herstel mail."
|
||||
|
@ -664,11 +662,11 @@ nl:
|
|||
message: "Authenticatie met Yahoo (zorg ervoor dat je pop up blocker uitstaat)"
|
||||
|
||||
composer:
|
||||
saving_draft_tip: "aan het opslaan"
|
||||
saved_draft_tip: "opgeslagen"
|
||||
saved_local_draft_tip: "lokaal opgeslagen"
|
||||
saving_draft_tip: "aan het opslaan"
|
||||
saved_draft_tip: "opgeslagen"
|
||||
saved_local_draft_tip: "lokaal opgeslagen"
|
||||
|
||||
save_edit: "Bewaar Wijziging"
|
||||
save_edit: "Bewaar Wijziging"
|
||||
reply: "Reageer"
|
||||
create_topic: "Maak Topic"
|
||||
create_pm: "Maak Privé-bericht"
|
||||
|
@ -707,7 +705,7 @@ nl:
|
|||
local_tip: "klik om een afbeelding vanaf je apparaat te selecteren."
|
||||
upload: "Upload"
|
||||
|
||||
search:
|
||||
search:
|
||||
title: "zoek naar topics, posts, gebruikers of categoriëen"
|
||||
placeholder: "typ je zoekterm hier"
|
||||
no_results: "Geen resultaten gevonden."
|
||||
|
@ -721,7 +719,7 @@ nl:
|
|||
title: 'Favoriet'
|
||||
help: 'voeg dit topic toe aan je favorietenlisjt'
|
||||
|
||||
topics:
|
||||
topics:
|
||||
no_favorited: "Je hebt nog geen topics tussen je Favorieten staan. Om een topic toe te wijzen aan je Favorieten, klik of druk op de ster naast de topictitel.."
|
||||
no_unread: "Je hebt geen ongelezen topics om te lezen."
|
||||
no_new: "Je hebt geen nieuwe topics om te lezen."
|
||||
|
@ -729,7 +727,7 @@ nl:
|
|||
no_posted: "Je hebt nog niet in een topic gepost."
|
||||
no_popular: "Er zijn geen populaire topics. Dat is best wel sneu."
|
||||
|
||||
topic:
|
||||
topic:
|
||||
create_in: 'Maak een {{categoryName}} Topic'
|
||||
create: 'Maak Topic'
|
||||
create_long: 'Maak een Nieuw Topic'
|
||||
|
@ -774,7 +772,7 @@ nl:
|
|||
"1_2": 'Je krijgt alleen een notificiatie als iemand je @naam noemt of reageert op je post.'
|
||||
"0": 'Je negeert alle notificaties in dit topic.'
|
||||
"0_2": 'Je negeert alle notificaties in dit topic.'
|
||||
watching:
|
||||
watching:
|
||||
title: "Bekijken"
|
||||
description: "je zal alle ongelezen en nieuwe post aantallen zien, plus de notificaties van @naam vermeldingen en alle nieuwe posts in dit topic."
|
||||
tracking:
|
||||
|
@ -801,11 +799,11 @@ nl:
|
|||
multi_select: "Zet Multi-Select Aan/Uit"
|
||||
convert_to_topic: "Zet om naar Normaal Topic"
|
||||
|
||||
reply:
|
||||
reply:
|
||||
title: 'Reageer'
|
||||
help: 'begin met het opzetten van een reactie op dit topic'
|
||||
|
||||
share:
|
||||
share:
|
||||
title: 'Deel'
|
||||
help: 'Deel een link naar dit topic'
|
||||
|
||||
|
@ -819,11 +817,11 @@ nl:
|
|||
success: "Bedankt! We hebben deze gebruiker uitgenodigd om deel te nemen aan dit Privé-gesprek."
|
||||
error: "Sorry, er is iets misgegaan bij het uitnodigen van deze gebruiker"
|
||||
|
||||
invite_reply:
|
||||
invite_reply:
|
||||
title: 'Nodig Vrienden Uit Om Te Reageren'
|
||||
help: 'verstuur uitnodigingen naar vrienden zodat zij met één klik kunnen reageren op dit topic'
|
||||
email: "We zullen je vrienden een korte e-mail sturen waardoor zij op dit topic kunnen reageren door op een link te klikken."
|
||||
email_placeholder: 'e-mailadres'
|
||||
email_placeholder: 'e-mailadres'
|
||||
success: "Bedankt! We hebben een uitnodiging verstuurd naar <b>{{email}}</b>. We laten je direct weten wanneer ze je uitnodiging hebben geaccepteerd. Check de "Uitnodigingen"-tab op je gebruikerspagina om bij te houden wie je hebt uitgenodigd."
|
||||
error: "Sorry, we kunnen deze persoon niet uitnodigen. Wellicht is deze al een gebruiker op onze site?"
|
||||
|
||||
|
@ -838,7 +836,7 @@ nl:
|
|||
title: "Verplaats Geslecteerde Posts"
|
||||
topic_name: "Nieuwe Topicnaam:"
|
||||
error: "Sorry, er is iets misgegaan bij het verplaatsen van deze posts."
|
||||
instructions:
|
||||
instructions:
|
||||
one: "Je staat op het punt een nieuw topic aan te maken en het te vullen met de post die je geselecteerd hebt."
|
||||
other: "Je staat op het punt een nieuw topic aan te maken en het te vullen met de <b>{{count}}</b> posts die je geselecteerd hebt."
|
||||
|
||||
|
@ -853,7 +851,7 @@ nl:
|
|||
other: "Je hebt <b>{{count}}</b> posts geselecteerd."
|
||||
|
||||
post:
|
||||
reply: "Je reageerd nu op {{link}} door {{replyAvatar}} {{username}}"
|
||||
reply: "Je reageerd nu op {{link}} door {{replyAvatar}} {{username}}"
|
||||
reply_topic: "Reageer op {{link}}"
|
||||
edit: "Bewerk {{link}}"
|
||||
in_reply_to: "in reactie op"
|
||||
|
@ -902,13 +900,13 @@ nl:
|
|||
one: "1 persoon {{long_form}}"
|
||||
other: "{{count}} mensen {{long_form}}"
|
||||
|
||||
edits:
|
||||
edits:
|
||||
one: 1 berwerking
|
||||
other: "{{count}} bewerkingen"
|
||||
zero: geen bewerkingen
|
||||
|
||||
delete:
|
||||
confirm:
|
||||
confirm:
|
||||
one: "Weet je zeker dat je deze post wilt verwijderen?"
|
||||
other: "Weet je zeker dat je al deze posts wilt verwijderen?"
|
||||
|
||||
|
@ -966,27 +964,27 @@ nl:
|
|||
categories_list: "Categorie-lijst"
|
||||
|
||||
filters:
|
||||
popular:
|
||||
popular:
|
||||
title: "Populair"
|
||||
help: "de meest populaire recente topics"
|
||||
favorited:
|
||||
favorited:
|
||||
title: "Favorieten"
|
||||
help: "topics die je als Favoriet hebt ingesteld"
|
||||
read:
|
||||
read:
|
||||
title: "Gelezen"
|
||||
help: "topics die je hebt gelezen"
|
||||
categories:
|
||||
categories:
|
||||
title: "Categorieën"
|
||||
title_in: "Categorie - {{categoryName}}"
|
||||
help: "alle topics gesorteerd op categorie"
|
||||
unread:
|
||||
title:
|
||||
title:
|
||||
zero: "Ongelezen"
|
||||
one: "Ongelezen (1)"
|
||||
other: "Ongelezen ({{count}})"
|
||||
help: "gevolgde topics met ongelezen posts"
|
||||
new:
|
||||
title:
|
||||
new:
|
||||
title:
|
||||
zero: "Nieuw"
|
||||
one: "Nieuw (1)"
|
||||
other: "Nieuw ({{count}})"
|
||||
|
@ -1005,7 +1003,7 @@ nl:
|
|||
types:
|
||||
category: 'Categorieën'
|
||||
topic: 'Topics'
|
||||
user: 'Gebruikers'
|
||||
user: 'Gebruikers'
|
||||
|
||||
youve_posted: "Jij Hebt Dit Gepost"
|
||||
original_poster: "Originele Poster"
|
||||
|
@ -1039,7 +1037,7 @@ nl:
|
|||
edited: "bewerkte"
|
||||
|
||||
move_posts:
|
||||
moderator_post:
|
||||
moderator_post:
|
||||
one: "Ik heb een post naar een nieuw topic verplaatst: %{topic_link}"
|
||||
other: "Ik heb %{count} posts naar een nieuw topic verplaatst: %{topic_link}"
|
||||
|
||||
|
@ -1053,7 +1051,7 @@ nl:
|
|||
visible_enabled: "Dit topic is nu zichtbaar; het zal weer worden weergegeven in topiclijsten."
|
||||
visible_disabled: "Dit topic is nu onzichtbaar; het zal niet worden weergegeven in topiclijsten, en kan alleen via een directe link worden bezocht."
|
||||
|
||||
login:
|
||||
login:
|
||||
not_approved: "Je account is nog niet goedgekeurd. Je zal via de mail een bericht van ons ontvangen wanneer je klaar bent om in te kunnen loggen."
|
||||
incorrect_username_email_or_password: "Incorrecte gebruikersnaam, e-mailadres of wachtwoord"
|
||||
wait_approval: "Bedankt voor je inschrijving. We zullen het je laten weten als je account is goedgekeurd."
|
||||
|
@ -1139,7 +1137,7 @@ nl:
|
|||
subject_template: "Bericht van %{site_name}: Je Post is verborgen wegens meldingen uit de site-gemeenschap"
|
||||
text_body_template: |
|
||||
Hallo,
|
||||
|
||||
|
||||
Dit is een geautomatiseerd bericht van %{site_name} om je te laten weten dat de volgende post is verborgen naar aanleiding van meldingen binnen de site-gemeenschap.
|
||||
|
||||
%{base_url}%{url}
|
||||
|
@ -1151,7 +1149,7 @@ nl:
|
|||
|
||||
Je kan je post bewerken na %{edit_delay} minuten, en het zal automatisch weer zichtbaar worden. Dit verhoogt je forum vertrouwensniveau.
|
||||
|
||||
Echter, als de post een tweede keer wordt verborgen door de site-gemeenschap, wordt er een moderator ingelicht.
|
||||
Echter, als de post een tweede keer wordt verborgen door de site-gemeenschap, wordt er een moderator ingelicht.
|
||||
|
||||
Zij kunnen verdere actie ondernemen, waaronder een mogelijke schorsing van je account.
|
||||
|
||||
|
@ -1196,9 +1194,9 @@ nl:
|
|||
|
||||
- Om terug te gaan naar de homepage, kan je op elk moment **op het icoontje in de linker bovenhoek klikken.**
|
||||
|
||||
- Mocht je iets willen opzoeken, naar je gebruikerspagina gaan, of ergens anders toe willen navigeren, klik dan op de icoontjes in de rechter bovenhoek.
|
||||
- Wanneer je een topic leest, kan je naar boven scrollen door op de topic-titel bovenaan de pagina te klikken.
|
||||
Om de *onderkant* te bereiken, klik op op de pijl naar beneden op de topic voortgangsindicator aan de onderkant van de pagina,
|
||||
- Mocht je iets willen opzoeken, naar je gebruikerspagina gaan, of ergens anders toe willen navigeren, klik dan op de icoontjes in de rechter bovenhoek.
|
||||
- Wanneer je een topic leest, kan je naar boven scrollen door op de topic-titel bovenaan de pagina te klikken.
|
||||
Om de *onderkant* te bereiken, klik op op de pijl naar beneden op de topic voortgangsindicator aan de onderkant van de pagina,
|
||||
of klik je op het Laatste Post-veld in de topic-samenvatting onder de eerste post.
|
||||
|
||||
welcome_approved:
|
||||
|
@ -1236,7 +1234,7 @@ nl:
|
|||
|
||||
Om nogmaals in te loggen kan je het volgende gebruiken:
|
||||
|
||||
1. Facebook, Google, Twitter, of vele andere ondersteunde logingegevens
|
||||
1. Facebook, Google, Twitter, of vele andere ondersteunde logingegevens
|
||||
-- let er wel op dat dit **het zelfde e-mailadres** is waarop je je originele uitnodiging hebt gekregen. Anders weten we niet zeker dat jij het bent!
|
||||
|
||||
2. Maak een uniek wachtwoord voor %{site_name} aan binnen [je gebruikersprofiel][prefs], en log daarmee in.
|
||||
|
@ -1262,7 +1260,7 @@ nl:
|
|||
unsubscribe_link: "Mocht je deze e-mails niet langer willen ontvangen, bezoek dan [je gebruikersinstellingen](%{user_preferences_url})."
|
||||
|
||||
user_notifications:
|
||||
unsubscribe:
|
||||
unsubscribe:
|
||||
title: "Uitschrijven"
|
||||
description: "Niet geïnteresseerd in deze e-mails? Geen problem! Klik hieronder om direct uitgeschreven te worden:"
|
||||
|
||||
|
@ -1281,7 +1279,7 @@ nl:
|
|||
---
|
||||
%{message}
|
||||
|
||||
---
|
||||
---
|
||||
Bezoek deze link om te reageren: %{base_url}%{url}
|
||||
|
||||
user_quoted:
|
||||
|
@ -1292,7 +1290,7 @@ nl:
|
|||
---
|
||||
%{message}
|
||||
|
||||
---
|
||||
---
|
||||
Bezoek deze link om te reageren: %{base_url}%{url}
|
||||
|
||||
user_mentioned:
|
||||
|
@ -1303,7 +1301,7 @@ nl:
|
|||
---
|
||||
%{message}
|
||||
|
||||
---
|
||||
---
|
||||
Bezoek deze link om te reageren: %{base_url}%{url}
|
||||
|
||||
|
||||
|
@ -1329,9 +1327,9 @@ nl:
|
|||
subject_template: "[%{site_name}] Wachtwoord herstellen"
|
||||
text_body_template: |
|
||||
Iemand heeft aangegeven je wachtwoord te willen herstellen op [%{site_name}](%{base_url}).
|
||||
|
||||
Ben jij dit niet, kan je zonder problemen deze e-mail negeren.
|
||||
|
||||
|
||||
Ben jij dit niet, kan je zonder problemen deze e-mail negeren.
|
||||
|
||||
Klik op de volgende link om een nieuw wachtwoord te kiezen:
|
||||
%{base_url}/users/password-reset/%{email_token}
|
||||
|
||||
|
@ -1339,14 +1337,14 @@ nl:
|
|||
subject_template: "[%{site_name}] Bevestig je nieuwe e-mailadres"
|
||||
text_body_template: |
|
||||
Bevestig je nieuwe e-mailadres voor %{site_name} door op de volgende link te klikken:
|
||||
|
||||
|
||||
%{base_url}/users/authorize-email/%{email_token}
|
||||
|
||||
signup:
|
||||
subject_template: "[%{site_name}] Activeer je nieuwe account"
|
||||
text_body_template: |
|
||||
Welkom op %{site_name}!
|
||||
|
||||
|
||||
Klik op de volgende link om je nieuwe account te bevestigen en te activeren:
|
||||
%{base_url}/users/activate-account/%{email_token}
|
||||
|
||||
|
|
|
@ -260,7 +260,6 @@ en:
|
|||
company_full_name: "The full name of the company that runs this site, used in legal documents like the /tos"
|
||||
company_short_name: "The short name of the company that runs this site, used in legal documents like the /tos"
|
||||
company_domain: "The domain name owned by the company that runs this site, used in legal documents like the /tos"
|
||||
restrict_access: "Restrict forum access unless a password is entered"
|
||||
access_password: "When restricted access is enabled, this password must be entered"
|
||||
queue_jobs: "Queue various jobs in sidekiq, if false queues are inline"
|
||||
crawl_images: "Enable retrieving images from third party sources to insert width and height dimensions"
|
||||
|
@ -270,7 +269,6 @@ en:
|
|||
imgur_endpoint: "End point for uploading imgur.com images"
|
||||
max_image_width: "Maximum allowed width of images in a post"
|
||||
category_featured_topics: "Number of topics displayed per category in the /categories page"
|
||||
popup_delay: "Milliseconds of hover time before popups appear on the screen"
|
||||
add_rel_nofollow_to_user_content: "Add rel nofollow to all submitted user content, except for internal links (including parent domains) changing this requires you update all your baked markdown"
|
||||
exclude_rel_nofollow_domains: "A comma delimited list of domains where nofollow is not added (tld.com will automatically allow sub.tld.com as well)"
|
||||
|
||||
|
|
|
@ -245,7 +245,6 @@ fr:
|
|||
discourse_org_access_key: "La clé d'accès utilisée pour le registre de pseudos de discourse.org"
|
||||
educate_until_posts: "Afficher les aides à la saisie tant que l'utilisateur n'a pas posté ce nombre de messages"
|
||||
title: "titre de ce site internet"
|
||||
restrict_access: "restreindre l'acces au forum à ceux qui possèdent ce mot de passe"
|
||||
access_password: "Si l'accès restreint est activé, assurez-vous que le mot de passe soit saisi ici."
|
||||
queue_jobs: "mettre les différents jobs en attente sur différentes queues, si false les queues sont en file"
|
||||
crawl_images: "permettre la récupération des images provenant de sources tierces"
|
||||
|
@ -255,7 +254,6 @@ fr:
|
|||
imgur_endpoint: "point d'arrêt pour le chargement d'images sur imgur.com"
|
||||
max_image_width: "largeur maximale des images d'un message"
|
||||
category_featured_topics: "nombre de discussions affichées dans la liste par catégories"
|
||||
popup_delay: "Laps de temps en ms avant l'affichage des popups à l'écran"
|
||||
add_rel_nofollow_to_user_content: "Ajouter rel nofollow à tous les contenus des utilisateurs, sauf les liens internes (incluant les domaines parents) Modifier ceci requiert une mise à jour de tout votre markdown"
|
||||
exclude_rel_nofollow_domains: "Une liste séparée par des virgules contenant les noms de domaines de premier niveau pour lesquels il faut ajouter un attribut nofollow (exemple.com va automatiquement fonctionner aussi avec sous.domaine.exemple.com)"
|
||||
post_excerpt_maxlength: "Longueur maximale d'un extrait de message."
|
||||
|
|
|
@ -239,7 +239,6 @@ nl:
|
|||
discourse_org_access_key: "De toegangscode voor het discourse.org nickname-register"
|
||||
|
||||
title: "titel van deze website"
|
||||
restrict_access: "beperk forumtoegang aan gebruikers tenzij dit wachtwoord door hen is ingevuld"
|
||||
access_password: "restrict_access (Beperk Toegang) staat aan. Zorg ervoor dat dit wachtwoord staat ingevuld"
|
||||
queue_jobs: "zet verschillende taken in een queue binnen sidekiq, als ongeldige queues zich op dezelfde lijn bevinden"
|
||||
crawl_images: "zet het ophalen van afbeeldingen van externe bronnen aan"
|
||||
|
@ -249,7 +248,6 @@ nl:
|
|||
imgur_endpoint: "endpoint voor het uploaden van imgur.com-afbeeldingen"
|
||||
max_image_width: "maximale breedte voor een afbeelding in een post"
|
||||
category_featured_topics: "aantal topics die worden weergegeven in de categorie-lijst"
|
||||
popup_delay: "Lengte van tijd in ms voordat popups zich tonen op het scherm"
|
||||
add_rel_nofollow_to_user_content: "Voeg 'rel nofollow' toe aan alle gebruikers-content behalve voor interne links (inclusief parent domeinen). NB: Als je dit verandert moet je ook alle 'baked markdown' updaten"
|
||||
exclude_rel_nofollow_domains: "Een commagescheiden lijst van domeinen waar 'nofollow' niet is toegevoegd. (voorbeelddomein.com zal automatisch sub.voorbeelddomein.com toestaan)"
|
||||
post_excerpt_maxlength: "Maximale lengte in karakters van een post-uittreksel."
|
||||
|
|
|
@ -254,7 +254,6 @@ pseudo:
|
|||
íɳ łéǧáł ďóčůɱéɳťš łíǩé ťĥé /ťóš ]]'
|
||||
company_domain: ! '[[ Ťĥé ďóɱáíɳ ɳáɱé óŵɳéď ƀý ťĥé čóɱƿáɳý ťĥáť řůɳš ťĥíš šíťé,
|
||||
ůšéď íɳ łéǧáł ďóčůɱéɳťš łíǩé ťĥé /ťóš ]]'
|
||||
restrict_access: ! '[[ Řéšťříčť ƒóřůɱ áččéšš ůɳłéšš á ƿáššŵóřď íš éɳťéřéď ]]'
|
||||
access_password: ! '[[ Ŵĥéɳ řéšťříčťéď áččéšš íš éɳáƀłéď, ťĥíš ƿáššŵóřď ɱůšť ƀé
|
||||
éɳťéřéď ]]'
|
||||
queue_jobs: ! '[[ Ƣůéůé νáříóůš ʲóƀš íɳ šíďéǩíƣ, íƒ ƒáłšé ƣůéůéš ářé íɳłíɳé ]]'
|
||||
|
@ -270,8 +269,6 @@ pseudo:
|
|||
max_image_width: ! '[[ Ϻáхíɱůɱ áłłóŵéď ŵíďťĥ óƒ íɱáǧéš íɳ á ƿóšť ]]'
|
||||
category_featured_topics: ! '[[ Ѝůɱƀéř óƒ ťóƿíčš ďíšƿłáýéď ƿéř čáťéǧóřý íɳ ťĥé
|
||||
/čáťéǧóříéš ƿáǧé ]]'
|
||||
popup_delay: ! '[[ Ϻíłłíšéčóɳďš óƒ ĥóνéř ťíɱé ƀéƒóřé ƿóƿůƿš áƿƿéář óɳ ťĥé ščřééɳ
|
||||
]]'
|
||||
add_rel_nofollow_to_user_content: ! '[[ Áďď řéł ɳóƒółłóŵ ťó áłł šůƀɱíťťéď ůšéř
|
||||
čóɳťéɳť, éхčéƿť ƒóř íɳťéřɳáł łíɳǩš (íɳčłůďíɳǧ ƿářéɳť ďóɱáíɳš) čĥáɳǧíɳǧ ťĥíš
|
||||
řéƣůířéš ýóů ůƿďáťé áłł ýóůř ƀáǩéď ɱářǩďóŵɳ ]]'
|
||||
|
|
|
@ -101,6 +101,7 @@ module Search
|
|||
|
||||
return nil if term.blank?
|
||||
sanitized_term = PG::Connection.escape_string(term.gsub(/[:()&!]/,'')) # Instead of original term.gsub(/[^0-9a-zA-Z_ ]/, '')
|
||||
|
||||
# We are stripping only symbols taking place in FTS and simply sanitizing the rest.
|
||||
|
||||
# really short terms are totally pointless
|
||||
|
@ -117,7 +118,7 @@ module Search
|
|||
|
||||
db_result = []
|
||||
[user_query_sql, category_query_sql, topic_query_sql].each do |sql|
|
||||
db_result += ActiveRecord::Base.exec_sql(sql , query: terms.join(" & "),locale: current_locale_long, limit: (Search.per_facet + 1)).to_a
|
||||
db_result += ActiveRecord::Base.exec_sql(sql , query: terms.join(" & "), locale: current_locale_long, limit: (Search.per_facet + 1)).to_a
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -51,10 +51,12 @@ module SiteSettingExtension
|
|||
# Retrieve all settings
|
||||
def all_settings
|
||||
@defaults.map do |s, v|
|
||||
value = send(s)
|
||||
{setting: s,
|
||||
description: description(s),
|
||||
default: v,
|
||||
value: send(s).to_s}
|
||||
type: get_data_type_string(value),
|
||||
value: value.to_s}
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -169,6 +171,16 @@ module SiteSettingExtension
|
|||
|
||||
protected
|
||||
|
||||
# We're currently in the process of refactoring our Enums. When that's
|
||||
# done we should pop back and fix this to something better.
|
||||
def get_data_type_string(val)
|
||||
case get_data_type(val)
|
||||
when Types::String then 'string'
|
||||
when Types::Fixnum then 'number'
|
||||
when Types::Bool then 'bool'
|
||||
end
|
||||
end
|
||||
|
||||
def get_data_type(val)
|
||||
return Types::Null if val.nil?
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ class SystemMessage
|
|||
|
||||
params = defaults.merge(params)
|
||||
|
||||
if SiteSetting.restrict_access?
|
||||
if SiteSetting.access_password.present?
|
||||
params[:site_password] = MultisiteI18n.t('system_messages.site_password', access_password: SiteSetting.access_password)
|
||||
end
|
||||
|
||||
|
|
|
@ -125,15 +125,14 @@ describe InvitesController do
|
|||
context 'access_required' do
|
||||
|
||||
it "doesn't set a cookie for access if there is no access required" do
|
||||
SiteSetting.expects(:restrict_access?).returns(false)
|
||||
SiteSetting.stubs(:access_password).returns(nil)
|
||||
Invite.any_instance.expects(:redeem).returns(user)
|
||||
get :show, id: invite.invite_key
|
||||
cookies[:_access].should be_blank
|
||||
end
|
||||
|
||||
it "sets the cookie when access is required" do
|
||||
SiteSetting.expects(:restrict_access?).returns(true)
|
||||
SiteSetting.expects(:access_password).returns('adventure time!')
|
||||
SiteSetting.stubs(:access_password).returns('adventure time!')
|
||||
Invite.any_instance.expects(:redeem).returns(user)
|
||||
get :show, id: invite.invite_key
|
||||
cookies[:_access].should == 'adventure time!'
|
||||
|
|
|
@ -18,7 +18,7 @@ describe RobotsTxtController do
|
|||
|
||||
it "serves noindex when in private mode regardless of the configuration" do
|
||||
SiteSetting.stubs(:allow_index_in_robots_txt).returns(true)
|
||||
SiteSetting.stubs(:restrict_access).returns(true)
|
||||
SiteSetting.stubs(:access_password).returns('adventure time!')
|
||||
get :index
|
||||
response.should render_template :no_index
|
||||
end
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
/*global waitsFor:true expect:true describe:true beforeEach:true it:true */
|
||||
|
||||
describe("Discourse.Composer", function() {
|
||||
|
||||
describe("replyLength", function() {
|
||||
|
|
Loading…
Reference in New Issue
Block a user