mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-16 13:31:42 +00:00
Merge branch 'rails' into rollups
This commit is contained in:
commit
5d40907199
6 changed files with 32 additions and 28 deletions
|
@ -22,21 +22,21 @@ class PostsController < ApplicationController
|
|||
|
||||
# XXX: Cada vez que cambiamos un Post tocamos el sitio con lo que es
|
||||
# más simple saber si hubo cambios.
|
||||
if stale?([current_usuarie, site, filter_params])
|
||||
# Todos los artículos de este sitio para el idioma actual
|
||||
@posts = site.indexed_posts.where(locale: locale).page(filter_params.delete(:page))
|
||||
# De este tipo
|
||||
@posts = @posts.where(layout: filter_params[:layout]) if filter_params[:layout]
|
||||
# Que estén dentro de la categoría
|
||||
@posts = @posts.in_category(filter_params[:category]) if filter_params[:category]
|
||||
# Aplicar los parámetros de búsqueda
|
||||
@posts = @posts.search(locale, filter_params[:q]) if filter_params[:q].present?
|
||||
# A los que este usuarie tiene acceso
|
||||
@posts = PostPolicy::Scope.new(current_usuarie, @posts).resolve
|
||||
return unless stale?([current_usuarie, site, filter_params])
|
||||
|
||||
# Filtrar los posts que les invitades no pueden ver
|
||||
@usuarie = site.usuarie? current_usuarie
|
||||
end
|
||||
# Todos los artículos de este sitio para el idioma actual
|
||||
@posts = site.indexed_posts.where(locale: locale)
|
||||
# De este tipo
|
||||
@posts = @posts.where(layout: filter_params[:layout]) if filter_params[:layout]
|
||||
# Que estén dentro de la categoría
|
||||
@posts = @posts.in_category(filter_params[:category]) if filter_params[:category]
|
||||
# Aplicar los parámetros de búsqueda
|
||||
@posts = @posts.search(locale, filter_params[:q]) if filter_params[:q].present?
|
||||
# A los que este usuarie tiene acceso
|
||||
@posts = PostPolicy::Scope.new(current_usuarie, @posts).resolve
|
||||
|
||||
# Filtrar los posts que les invitades no pueden ver
|
||||
@usuarie = site.usuarie? current_usuarie
|
||||
end
|
||||
|
||||
def show
|
||||
|
@ -54,7 +54,7 @@ class PostsController < ApplicationController
|
|||
|
||||
def new
|
||||
authorize Post
|
||||
@post = site.posts.build(lang: locale, layout: params[:layout])
|
||||
@post = site.posts(lang: locale).build(layout: params[:layout])
|
||||
|
||||
breadcrumb I18n.t('loaf.breadcrumbs.posts.new', layout: @post.layout.humanized_name.downcase), ''
|
||||
end
|
||||
|
@ -154,7 +154,9 @@ class PostsController < ApplicationController
|
|||
#
|
||||
# @return [Hash]
|
||||
def filter_params
|
||||
@filter_params ||= params.permit(:q, :category, :layout, :page).to_h.select { |_, v| v.present? }
|
||||
@filter_params ||= params.permit(:q, :category, :layout).to_hash.select do |_, v|
|
||||
v.present?
|
||||
end.transform_keys(&:to_sym)
|
||||
end
|
||||
|
||||
def site
|
||||
|
|
|
@ -25,15 +25,19 @@ class MetadataBoolean < MetadataTemplate
|
|||
# * false
|
||||
# * true
|
||||
def value
|
||||
return document.data.fetch(name.to_s, default_value) if self[:value].nil?
|
||||
return self[:value] unless self[:value].is_a? String
|
||||
|
||||
self[:value] = true_values.include? self[:value]
|
||||
case self[:value]
|
||||
when NilClass
|
||||
document.data.fetch(name.to_s, default_value)
|
||||
when String
|
||||
true_values.include? self[:value]
|
||||
else
|
||||
self[:value]
|
||||
end
|
||||
end
|
||||
|
||||
# Siempre guardar el valor de este campo a menos que sea nulo
|
||||
def empty?
|
||||
!value.nil?
|
||||
value.nil?
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -84,8 +84,6 @@
|
|||
%button.btn{ data: { action: 'reorder#bottom' } }= t('posts.reorder.bottom')
|
||||
|
||||
%div
|
||||
= link_to_prev_page @posts, t('posts.prev'), class: 'btn'
|
||||
= link_to_next_page @posts, t('posts.next'), class: 'btn'
|
||||
%tbody
|
||||
- dir = t("locales.#{@locale}.dir")
|
||||
- size = @posts.size
|
||||
|
|
|
@ -19,8 +19,8 @@ en:
|
|||
remember_me: 'Keeps session open for %{remember_for}'
|
||||
actions:
|
||||
sr-help: "After this form you'll find links to recover your account and other actions."
|
||||
_true: Yes
|
||||
_false: No
|
||||
_true: 'Yes'
|
||||
_false: 'No'
|
||||
svg:
|
||||
sutty:
|
||||
title: Sutty
|
||||
|
|
|
@ -19,8 +19,8 @@ es:
|
|||
remember_me: 'Mantiene la sesión abierta por %{remember_for}'
|
||||
actions:
|
||||
sr-help: 'Después del formulario encontrarás vínculos para recuperar tu cuenta, entre otras acciones.'
|
||||
_true: Sí
|
||||
_false: No
|
||||
_true: 'Sí'
|
||||
_false: 'No'
|
||||
svg:
|
||||
sutty:
|
||||
title: Sutty
|
||||
|
|
|
@ -57,7 +57,7 @@ Rails.application.routes.draw do
|
|||
|
||||
# Gestionar artículos según idioma
|
||||
nested do
|
||||
scope '(:locale)' do
|
||||
scope '/(:locale)', constraint: /[a-z]{2}/ do
|
||||
post :'posts/reorder', to: 'posts#reorder'
|
||||
resources :posts do
|
||||
get 'p/:page', action: :index, on: :collection
|
||||
|
|
Loading…
Reference in a new issue