Class Sadmin::BaseController
In: app/controllers/sadmin/base_controller.rb
Parent: ApplicationController

Métodos comunes para todos los controladores de la administración simplificada, aquella a la que acceden los DepartmentMember, DepartmentEditor y StaffChief

Debajo del namespace "sadmin" estaba la administración simplificada para los roles arriba mencionados. Paulatinamente los permisos se fueron complicando y ahora tienen permiso para acceder a algunas partes de "admin".

Methods

Public Instance methods

Filtro para determinar si el usuario actual tiene permiso para acceder a las paginas de la administración de la fototeca. Debe llamarse desde before_filter

[Source]

    # File app/controllers/sadmin/base_controller.rb, line 30
30:   def access_to_photos_required
31:     unless (logged_in? && can_access?("photos"))
32:       flash[:notice] = t('no_tienes_permiso')
33:       access_denied
34:     end
35:   end

Filtro para determinar si el usuario actual tiene permiso para acceder a las paginas de la administración. Debe llamarse desde before_filter

[Source]

    # File app/controllers/sadmin/base_controller.rb, line 21
21:   def access_to_sadmin_required
22:     unless (logged_in? && current_user.is_staff?)
23:       flash[:notice] = t('no_tienes_permiso')
24:       access_denied
25:     end
26:   end

Algunos métodos que se usan en varios de los controladores hijos de Sadmin::Base

[Source]

    # File app/controllers/sadmin/base_controller.rb, line 40
40:   def get_sort_order
41:     @sort_order = params[:sort] ||  "update"
42:     
43:     order = nil
44:     case @sort_order
45:     when "update"
46:       order = "featured DESC, updated_at DESC, title_es, published_at DESC"
47:     when "publish"
48:       order = "featured DESC, published_at DESC, title_es, updated_at DESC"
49:     when "title"
50:       order = "featured DESC, lower(tildes(title_es)), published_at DESC, updated_at DESC"
51:     end
52:     
53:     order
54:   end

[Source]

    # File app/controllers/sadmin/base_controller.rb, line 56
56:   def get_title_conditions
57:     conditions = nil
58:     if params[:q].present?
59:       conditions = ["lower(tildes(coalesce(title_es, '') || ' ' || coalesce(title_eu, ''))) like ?", "%#{params[:q].tildes.downcase}%"]
60:     end
61:     conditions
62:   end

Determina la pestaña activa en el menú de la administración. Cada controller determina el suyo

[Source]

    # File app/controllers/sadmin/base_controller.rb, line 15
15:   def set_current_tab
16:     @current_tab = :news
17:   end

[Validate]