mirror of
https://0xacab.org/sutty/sutty
synced 2025-02-17 23:51:50 +00:00
43 lines
717 B
Ruby
43 lines
717 B
Ruby
# frozen_string_literal: true
|
|
|
|
# Política de acceso para sitios
|
|
class SitePolicy
|
|
attr_reader :site, :usuarie
|
|
|
|
def initialize(usuarie, site)
|
|
@usuarie = usuarie
|
|
@site = site
|
|
end
|
|
|
|
# Todes les usuaries pueden ver sus propios sitios
|
|
def index?
|
|
true
|
|
end
|
|
|
|
# Todes les usuaries pueden ver el sitio si aceptaron la invitación
|
|
def show?
|
|
!@usuarie.rol_for_site(@site).temporal
|
|
end
|
|
|
|
# Les invitades no pueden generar el sitio y les usuaries solo hasta
|
|
# que aceptan la invitación
|
|
def build?
|
|
show? && !site.invitade?(usuarie)
|
|
end
|
|
|
|
def send_public_file?
|
|
true
|
|
end
|
|
|
|
def enqueue?
|
|
build?
|
|
end
|
|
|
|
def build_log?
|
|
build?
|
|
end
|
|
|
|
def reorder_posts?
|
|
build?
|
|
end
|
|
end
|