Class: Mr519Gen::Ability

Inherits:
Msip::Ability
  • Object
show all
Defined in:
app/models/mr519_gen/ability.rb

Constant Summary collapse

BASICAS_PROPIAS =
[]
NOBASICAS_INDSEQID =
[
  ["Mr519Gen", "campo"],
  ["Mr519Gen", "encuestapersona"],
  ["Mr519Gen", "encuestausuario"],
  ["Mr519Gen", "formulario"],
  ["Mr519Gen", "planencuesta"],
  ["Mr519Gen", "respuestafor"],
  ["Mr519Gen", "valorcampo"],
]

Instance Method Summary collapse

Instance Method Details

#initialize_mr519_gen(usuario = nil) ⇒ Object

Se definen habilidades con cancancan Util en motores y aplicaciones de prueba En aplicaciones es mejor escribir completo el modelo de autorización para facilitar su análisis y evitar cambios inesperados al actualizar motores



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'app/models/mr519_gen/ability.rb', line 34

def initialize_mr519_gen(usuario = nil)
  # El primer argumento para can es la acción a la que se da permiso,
  # el segundo es el recurso sobre el que puede realizar la acción,
  # el tercero opcional es un diccionario de condiciones para filtrar
  # más (e.g :publicado => true).
  #
  # El primer argumento puede ser :manage para indicar toda acción,
  # o grupos de acciones como :read (incluye :show e :index),
  # :create, :update y :destroy.
  #
  # Si como segundo argumento usa :all se aplica a todo recurso,
  # o puede ser una clase.
  #
  # Detalles en el wiki de cancan:
  #   https://github.com/ryanb/cancan/wiki/Defining-Abilities

  initialize_msip(usuario)
  return unless usuario && usuario.rol

  case usuario.rol
  when Ability::ROLANALI
    can(:read, [Mr519Gen::Encuestausuario, Mr519Gen::Encuestapersona])
    can(
      [:edit, :update],
      Mr519Gen::Encuestausuario.where(usuario_id: usuario.id),
    )

  when Ability::ROLADMIN
    can(:manage, [
      Mr519Gen::Encuestausuario,
      Mr519Gen::Encuestapersona,
      Mr519Gen::Formulario,
      Mr519Gen::Campo,
      Mr519Gen::Planencuesta,
    ])
  end
end

#nobasicas_indice_seq_con_idObject

Tablas no básicas pero que tienen índice *_seq_id



23
24
25
26
# File 'app/models/mr519_gen/ability.rb', line 23

def nobasicas_indice_seq_con_id
  Msip::Ability::NOBASICAS_INDSEQID +
    NOBASICAS_INDSEQID
end

#tablasbasicasObject



7
8
9
10
# File 'app/models/mr519_gen/ability.rb', line 7

def tablasbasicas
  Msip::Ability::BASICAS_PROPIAS +
    Mr519Gen::Ability::BASICAS_PROPIAS
end