2014-04-11 10:44:45 +00:00
|
|
|
module ContextLinkRenderer
|
|
|
|
include Renderer
|
|
|
|
|
2014-07-30 13:40:02 +00:00
|
|
|
def render(request,params,current_module_app,current_user,belong_module_app,active_actions,available_for)
|
2014-04-11 10:44:45 +00:00
|
|
|
@current_module_app = current_module_app
|
|
|
|
@belong_module_app = belong_module_app
|
|
|
|
@request = request
|
|
|
|
@params = params
|
2014-05-01 07:14:16 +00:00
|
|
|
@current_user = current_user
|
2014-07-30 13:40:02 +00:00
|
|
|
@available_for = available_for
|
|
|
|
if can_display?
|
|
|
|
content_tag :li, link_to(content_tag(:span, I18n.t(@label_i18n)), Rails.application.routes.url_helpers.send(@path, eval(@arg))), :class => ( active_actions[controller] == action ? 'active' : nil)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def can_display?
|
|
|
|
status = "users"
|
|
|
|
if @current_user.is_admin?
|
|
|
|
status = "admin"
|
|
|
|
elsif @current_user.is_manager?(@belong_module_app)
|
|
|
|
status = "managers"
|
|
|
|
elsif @current_user.is_sub_manager?(@belong_module_app)
|
|
|
|
status = "sub_managers"
|
|
|
|
elsif @current_user.is_normal_user?
|
|
|
|
status = "users"
|
|
|
|
end
|
|
|
|
return @available_for.include?status
|
2014-04-11 10:44:45 +00:00
|
|
|
end
|
2014-05-01 07:14:16 +00:00
|
|
|
|
2014-04-11 10:44:45 +00:00
|
|
|
end
|