@description = Setting.site_description
end
+ def more
+ @extended_description = Setting.site_extended_description
+ @contact_account = Account.find_local(Setting.site_contact_username)
+ @contact_email = Setting.site_contact_email
+ end
+
def terms; end
private
+# frozen_string_literal: true
+
module Settings
module Extend
- extend ActiveSupport::Concern
+ extend ActiveSupport::Concern
def settings
ScopedSettings.for_thing(self)
end
end
-end
\ No newline at end of file
+end
+# frozen_string_literal: true
+
module Settings
class ScopedSettings < ::Setting
def self.for_thing(object)
unscoped.where(thing_type: @object.class.base_class.to_s, thing_id: @object.id)
end
end
-end
\ No newline at end of file
+end
end
def find_remote!(username, domain)
+ return if username.blank?
where(arel_table[:username].matches(username.gsub(/[%_]/, '\\\\\0'))).where(domain.nil? ? { domain: nil } : arel_table[:domain].matches(domain.gsub(/[%_]/, '\\\\\0'))).take!
end
end
class << self
-
def [](key)
return super(key) unless rails_initialized?
-
+
val = Rails.cache.fetch(cache_key(key, @object)) do
db_val = object(key)
default_settings[key]
end
end
-
+
val
end
+# frozen_string_literal: true
+
module Web
def self.table_name_prefix
'web_'
--- /dev/null
+- content_for :page_title do
+ #{Rails.configuration.x.local_domain}
+
+.wrapper
+ = @extended_description.html_safe
+
+ - if @contact_account
+ = render partial: 'authorize_follow/card', locals: { account: @contact_account }
\ No newline at end of file
%th Setting
%th Click to edit
%tbody
+ %tr
+ %td{ rowspan: 2 }
+ %strong Contact information
+ %td= best_in_place @settings['site_contact_username'], :value, url: admin_setting_path(@settings['site_contact_username']), place_holder: 'Enter a username'
+ %tr
+ %td= best_in_place @settings['site_contact_email'], :value, url: admin_setting_path(@settings['site_contact_email']), place_holder: 'Enter a public e-mail address'
%tr
%td
%strong Site description
%code= '<em>'
%td= best_in_place @settings['site_description'], :value, as: :textarea, url: admin_setting_path(@settings['site_description'])
%tr
- %td{ rowspan: 2 }
- %strong Contact information
- %td= best_in_place @settings['site_contact_username'], :value, url: admin_setting_path(@settings['site_contact_username']), place_holder: 'Enter a username'
- %tr
- %td= best_in_place @settings['site_contact_email'], :value, url: admin_setting_path(@settings['site_contact_email']), place_holder: 'Enter a public e-mail address'
+ %td
+ %strong Extended site description
+ %br/
+ Displayed on extended information page
+ %br/
+ You can use HTML tags
+ %td= best_in_place @settings['site_extended_description'], :value, as: :textarea, url: admin_setting_path(@settings['site_extended_description'])
\ No newline at end of file
get '/web/(*any)', to: 'home#index', as: :web
- get :about, to: 'about#index'
- get :terms, to: 'about#terms'
-
+ get '/about', to: 'about#index'
+ get '/about/more', to: 'about#more'
+ get '/terms', to: 'about#terms'
+
root 'home#index'
match '*unmatched_route', via: :all, to: 'application#raise_not_found'
# config/app.yml for rails-settings-cached
defaults: &defaults
site_description: ''
+ site_extended_description: ''
site_contact_username: ''
site_contact_email: ''
notification_emails:
interactions:
must_be_follower: false
must_be_following: false
-
development:
<<: *defaults