5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-23 01:06:22 +00:00

Merge branch 'rails' of 0xacab.org:sutty/sutty into issue-15068

This commit is contained in:
f 2024-05-18 11:32:52 -03:00
commit a734b65a9e
No known key found for this signature in database
4 changed files with 38 additions and 32 deletions

View file

@ -289,6 +289,8 @@ class Site < ApplicationRecord
#
# @return [Hash] { post: Layout }
def layouts
return {} if data['layouts'].blank?
# Crea un Struct dinámico cuyas llaves son los nombres de todos los
# layouts. Si pasamos un layout que no existe, obtenemos un
# NoMethodError

View file

@ -36,8 +36,7 @@ class SiteUsuariePolicy
end
def accept_invitation?
su = site_usuarie
(usuarie? || invitade?) && su.usuarie.rol_for_site(su.site).temporal
!!site_usuarie.usuarie.rol_for_site(site_usuarie.site)&.temporal
end
def reject_invitation?

View file

@ -10,4 +10,6 @@
-# XXX: Solo un nivel de recursividad
- unless local_assigns[:parent_schema]
- schema.schemas.each do |s|
- next if s.hidden?
= render 'schemas/row', schema: s, site: site, filter: filter, parent_schema: schema

View file

@ -4,7 +4,7 @@
%p.lead= t('.help')
- if policy(Site).new?
= link_to t('sites.new.title'), new_site_path,
class: 'btn btn-secondary'
class: 'btn btn-secondary'
%section.col
- if @sites.empty?
@ -15,39 +15,42 @@
%tbody
- @sites.each do |site|
- next unless site.jekyll?
%tr
%td
%h2
- if policy(site).show?
= link_to site.title, site_posts_path(site, locale: site.default_locale)
= link_to site.title,
site_posts_path(site,
locale: site.default_locale)
- else
= site.title
%p.lead= site.description
%br
= link_to t('.visit'), site.url, class: 'btn btn-secondary'
- if current_usuarie.rol_for_site(site).temporal?
= render 'components/btn_base',
text: t('sites.invitations.accept'),
path: site_usuaries_accept_invitation_path(site),
title: t('help.sites.invitations.accept'),
class: 'btn-secondary'
= render 'components/btn_base',
text: t('sites.invitations.reject'),
path: site_usuaries_reject_invitation_path(site),
title: t('help.sites.invitations.reject'),
class: 'btn-secondary'
- else
- if policy(site).show?
= render 'layouts/btn_with_tooltip',
tooltip: t('help.sites.edit_posts'),
type: 'success',
link: site_path(site),
text: t('sites.posts')
= render 'sites/build', site: site
= render 'sites/moderation_queue', site: site
- if policy(SiteUsuarie.new(site, current_usuarie)).index?
= render 'layouts/btn_with_tooltip',
tooltip: t('usuaries.index.help.self'),
text: t('usuaries.index.title'),
type: 'info',
link: site_usuaries_path(site)
.d-flex.flex-row
= link_to t('.visit'), site.url, class: 'btn btn-secondary'
- if current_usuarie.rol_for_site(site).temporal?
= render 'components/btn_base',
text: t('sites.invitations.accept'),
path: site_usuaries_accept_invitation_path(site),
title: t('help.sites.invitations.accept'),
class: 'btn-secondary'
= render 'components/btn_base',
text: t('sites.invitations.reject'),
path: site_usuaries_reject_invitation_path(site),
title: t('help.sites.invitations.reject'),
class: 'btn-secondary'
- else
- if policy(site).show?
= render 'layouts/btn_with_tooltip',
tooltip: t('help.sites.edit_posts'),
type: 'success',
link: site_path(site),
text: t('sites.posts')
= render 'sites/build', site: site
= render 'sites/moderation_queue', site: site
- if policy(SiteUsuarie.new(site, current_usuarie)).index?
= render 'layouts/btn_with_tooltip',
tooltip: t('usuaries.index.help.self'),
text: t('usuaries.index.title'),
type: 'info',
link: site_usuaries_path(site)