class Sadmin::BaseController

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”.

Public Instance Methods

access_to_photos_required() click to toggle source

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

# File app/controllers/sadmin/base_controller.rb, line 55
def access_to_photos_required
  unless (logged_in? && can_access?("photos"))
    flash[:notice] = t('no_tienes_permiso')
    access_denied
  end
end
access_to_sadmin_required() click to toggle source

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

# File app/controllers/sadmin/base_controller.rb, line 46
def access_to_sadmin_required
  unless (logged_in? && current_user.is_staff?)
    flash[:notice] = t('no_tienes_permiso')
    access_denied
  end
end
auto_complete_for_document_politicians_tag_list(search_string) click to toggle source
# File app/controllers/sadmin/base_controller.rb, line 89
def auto_complete_for_document_politicians_tag_list(search_string)
  auto_complete_for_tag_list(search_string, false)
  @tags.delete_if {|t| !t.kind.eql?('Político')}
  if @tags.length > 0
    render :inline => "<%= content_tag(:ul, @tags.map {|t| content_tag(:li, t.nombre)}) %>"
  else
    render :nothing => true
  end    
end
get_sort_order() click to toggle source

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

# File app/controllers/sadmin/base_controller.rb, line 65
def get_sort_order
  @sort_order = params[:sort] ||  "update"
  
  order = nil
  case @sort_order
  when "update"
    order = "featured DESC, updated_at DESC, title_es, published_at DESC"
  when "publish"
    order = "featured DESC, published_at DESC, title_es, updated_at DESC"
  when "title"
    order = "featured DESC, lower(tildes(title_es)), published_at DESC, updated_at DESC"
  end
  
  order
end
get_title_conditions() click to toggle source
# File app/controllers/sadmin/base_controller.rb, line 81
def get_title_conditions
  conditions = nil
  if params[:q].present?
    conditions = ["lower(tildes(coalesce(title_es, '') || ' ' || coalesce(title_eu, ''))) like ?", "%#{params[:q].tildes.downcase}%"]
  end
  conditions
end
manage_subtitles_permission_required() click to toggle source
# File app/controllers/sadmin/base_controller.rb, line 99
def manage_subtitles_permission_required
   unless can?("manage_subtitles", "news")
     flash[:notice] = t('no_tienes_permiso')
     access_denied
   end
end
set_current_tab() click to toggle source

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

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