# frozen_string_literal: true # Forma de ingreso a Sutty class ApplicationController < ActionController::Base protect_from_forgery with: :exception before_action :set_locale # No tenemos índice de sutty, vamos directamente a ver el listado de # sitios def index redirect_to sites_path end def markdown; end private # Encontrar un sitio por su nombre def find_site id = params[:site_id] || params[:id] # TODO: encontrar una forma mejor de buscar en todos los sitios en # lugar de desperdiciar una consulta current_usuarie.sites.find_by_name(id) || current_usuarie.sites_as_invitade.find_by_name(id) end def find_post(site) id = params[:post_id] || params[:id] lang = find_lang(site) posts = site.posts_for(lang) posts.find do |p| p.id == id end end def find_lang(site) params.fetch(:lang, site.default_lang) end def find_template(site) id = params[:template_id] || params[:template] || params.dig(:post, :layout) site.templates.find do |t| t.id == id end end def set_locale I18n.locale = session[:lang] if session[:lang].present? end end