# frozen_string_literal: true # Controlador de Usuaries class UsuariesController < ApplicationController include Pundit before_action :authenticate_usuarie! # Mostrar todes les usuaries e invitades de un sitio def index @site = find_site site_usuarie = SiteUsuarie.new(@site, current_usuarie) authorize site_usuarie @policy = policy(site_usuarie) end # Desasociar une usuarie de un sitio def destroy @site = find_site authorize SiteUsuarie.new(@site, current_usuarie) @usuarie = Usuarie.find(params[:id]) @usuarie.sites.delete(@site) redirect_to site_usuaries_path end # Convertir une usuarie en invitade def demote @site = find_site authorize SiteUsuarie.new(@site, current_usuarie) @usuarie = Usuarie.find(params[:usuarie_id]) @usuarie.sites.delete(@site) @site.invitades << @usuarie redirect_to site_usuaries_path end # Convertir invitade en usuarie def promote @site = find_site authorize SiteUsuarie.new(@site, current_usuarie) @usuarie = Usuarie.find(params[:usuarie_id]) @usuarie.sites_as_invitade.delete(@site) @site.usuaries << @usuarie redirect_to site_usuaries_path end end