Skip to content

Instantly share code, notes, and snippets.

@igmarin
Created July 23, 2014 22:43
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save igmarin/5f7dd737adf4c578ffef to your computer and use it in GitHub Desktop.
Example Ability
class Ability
include CanCan::Ability
def initialize(user)
# Mis Modelos: User Publicacion Imagen Galeria Event Departamento Comunicado Ckeditor
user ||= User.new
#El rol de administrador General
if user.role? :admin
can :manage, :all
end
if user.role? :estudios
can :manage, [PaginaLey, Ley, ClasificacionEstudio, ContenidoEstudio, Codigo, Reglamento, Municipio, Libro, Tema, ArchivoDecreto] #Esto pertenece a Diario de debates para la modificacion de Diario, Iniciativa, Dictamentes, Decretos, Votaciones Nominales, Estadisticas Parlamentarias
end
#Este rol es el rol de comunicación social, el cual tambien administra usuarios pero solo para crear usuarios con el tipo medio
if user.role? :medio
can :read, [Publicacion, Audio]
end
if user.role? :acceso
can :manage, [AccesoLink, AccesoLey, ClasificacionAcceso, AccesoOrganismo, FechaActualizacion] #Esto pertenece a Diario de debates para la modificacion de Diario, Iniciativa, Dictamentes, Decretos, Votaciones Nominales, Estadisticas Parlamentarias
end
if user.role? :administracion
can :manage, [Event, Periodo, Sesion]
end
if user.role? :secretaria
can :manage, [Partido, Diputado, Salida]#Diputados y Eventos Fuera
end
if user.role? :apoyo
can :manage, [Bitacora, Comision, ComisionesDiputado]#Comisiones, Sesión Ordinaria, Mesa directiva, Ley Vigente
end
if user.role? :apoyo_bitacora
can :manage, [Bitacora]#Comisiones, Sesión Ordinaria, Mesa directiva, Ley Vigente
end
if user.role? :diario
can :manage, [Votacion, Iniciativa, Dictamen, Acuerdo, Estadistica, Asunto, Decreto, Ejercicio, EjercicioFiscal, Intervencion, Instrumento] #Esto pertenece a Diario de debates para la modificacion de Diario, Iniciativa, Dictamentes, Decretos, Votaciones Nominales, Estadisticas Parlamentarias
end
if user.role? :contenidos
can :manage, [CategoriaSitio, Sitio, Foto, RecorridoEsto] # es el contenido estatico sobre el congreso, historia, sitios, etc.
end
if user.role? :sitios
can :manage, [CategoriaSitio, Sitio] # es el contenido estatico sobre el congreso, historia, sitios, etc.
end
if user.role? :finanzas
can :manage, [Finanza] #Esto es Finanzas Publicas
end
if user.role? :desarrollo
can :manage, [Coordinacion] #Esto pertenece al Organigrama del Congreso.
end
if user.role? :comunicacion
can :manage, [Audio, Imagen, Publicacion, Galeria, Comunicado, ResumenInformativo, Registro, Noticia, User, Medio]
end
#Este se encuentra relacionado con comunicación y es el acceso a medios
if user.role? :comunicacion_boletines
can :manage, [Comunicado] #Esto es para comunicacion con sus boletines
end
if user.role? :comunicacion_sintesis
can :manage, [ResumenInformativo] #Esto es para comunicacion con sus boletines
end
if user.role? :comunicacion_galeria_visitas
can :manage, [Visita, ImagenVisita] #Esto es para comunicacion con sus boletines
end
if user.role? :comunicacion_galerias
can :manage, [Galeria, Imagen] #Esto es para comunicacion con sus boletines
end
if user.role? :comunicacion_noticias
can :manage, [Noticia] #Esto es para comunicacion con sus boletines
end
if user.role? :comunicacion_medios
can :manage, [Medio] #Esto es para comunicacion con sus boletines
end
if user.role? :comunicacion_publicidad
can :manage, [Publicacion] #Esto es para comunicacion con sus boletines
end
if user.role? :comunicacion_spots
can :manage, [Audio] #Esto es para comunicacion con sus boletines
end
if user.role? :comunicacion_usuarios_medios
can :manage, [Audio, User] #Esto es para comunicacion con sus boletines
end
if user.role? :servicios_agenda
can :manage, [Event]
end
if user.role? :servicios_diputado
can :manage, [Partido, Diputado]#Diputados y Eventos Fuera
end
if user.role? :servicios_fuera
can :manage, [Salida]#Diputados y Eventos Fuera
end
if user.role? :diario_de_debates
can :manage, [Periodo, Sesion]
end
if user.role? :iniciativas
can :manage, [Iniciativa]
end
if user.role? :diario_intervenciones
can :manage, [Intervencion]
end
if user.role? :diario_votaciones
can :manage, [Dictamen, Votacion]
end
if user.role? :diario_estadisticas
can :manage, [Estadistica]
end
if user.role? :diario_decretos
can :manage, [Decreto]
end
if user.role? :lo_ultimo
can :manage, [Ultimo]
end
if user.role? :contabilidad
can :manage, [Armonizacion]
end
#can :manage, [Votacion, Iniciativa, Dictamen, Acuerdo, Estadistica, Asunto, Decreto, Ejercicio, EjercicioFiscal, Intervencion] #Esto pertenece a Diario de debates para la modificacion de Diario, Iniciativa, Dictamentes, Decretos, Votaciones Nominales, Estadisticas Parlamentarias
can :read, :all
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment