Termine haciendo el filtro nomás.
before_filter
:is_owner def
is_owner return false unless current_user
#
logger.info(@current_user.is_admin?)
return true if current_user.is_admin?
if current_user.tipo.nil?
security_exit
return false
end
case params[:controller]
when "projects"
project = Project.find_by_id(params[:id]) if params[:id]
if project &&
project.user.id !=
current_user.id security_exit
return false
end
when "notifications"
notification = Notification.find_by_id(params[:id]) if params[:id]
notification = Notification.find_by_project_id(params[:project_id]) if params[:project_id]
if notification &&
notification.project.user.id !=
current_user.id security_exit
return false
end
when "attachments"
notification = Notification.find_by_id(params[:notification_id]) if params[:notification_id]
if notification &&
notification.project.user.id !=
current_user.id security_exit
return false
end
else
#default case
end
return true
end
def
security_exit respond_to do |format|
format.html do
redirect_to(root_path, alert: 'Acceso denegado.')
return false
end
end
end