header.html.erb 6.41 KB
<%
  def tab_active(tab)
    if !params[:view_only] && params[:controller] == 'proposals_discussion_plugin_tasks'
      'validate_proposals'
    elsif params[:view_only] && params[:controller] == 'proposals_discussion_plugin_tasks'
      'moderate_proposals'
    elsif params[:controller] == 'tasks' && params[:action] == 'processed'
      'processed_proposals'
    elsif params[:controller] == 'tasks' && params[:filter_type] == 'AddMember'
      'member_tasks'
    elsif params[:controller] == 'tasks' && params[:filter_type] == 'ProposalsDiscussionPlugin::ProposalTask'
      'proposal_tasks'
    else
      params[:controller]
    end
  end
  def tab_active_class(tab)
    tab == tab_active(tab) ? 'tab_active' : ''
  end
%>

<% profile = Profile['dialoga'] %>

<% if logged_in? && profile %>

  <div id="logo-dialoga"></div>

  <% if current_person.is_admin? || profile.is_admin?(current_person) %>
  <% cache_timeout('dialoga_statistics', 1.hour) do %>
  <div id="dialoga-statistics">
    <div class="users">
      <span class="label">Usuários: </span>
      <% users = environment.users %>
      <span><%= users.count %> </span>
      <span>(<%= users.where('users.activated_at IS NOT NULL').count %> ativos, </span>
      <span><%= users.joins(:oauth_providers).where(:oauth_client_plugin_providers => {:strategy => 'google_oauth2'}).count %> google, </span>
      <span><%= users.joins(:oauth_providers).where(:oauth_client_plugin_providers => {:strategy => 'facebook'}).count %> facebook)</span>
    </div>
    <div class="votes">
      <span class="label">Votos: </span>
      <span><%= Vote.count %></span>
    </div>
    <div class="followers">
      <span class="label">Participações nos hangouts: </span>
      <%hangout = 0%>
      <% Event.select{|e| e.end_date >= DateTime.now.end_of_day unless e.end_date.nil? }.map{| e| e.person_followers.count}.map{|x| hangout += x} %>
      <span><%= hangout %></span>
    </div>
    <div class="proposals">
      <span class="label">Propostas: </span>
      <% proposals = profile.tasks.where(:type => 'ProposalsDiscussionPlugin::ProposalTask') %>
      <span><%= proposals.count %></span>
      <span>(<%= proposals.where(:status => Task::Status::ACTIVE).count %> pendentes, </span>
      <span><%= proposals.where(:status => Task::Status::CANCELLED).count %> rejeitadas, </span>
      <span><%= proposals.where(:status => Task::Status::FINISHED).count %> aprovadas, </span>
      <span><%= proposals.where(:status => ProposalsDiscussionPlugin::ProposalTask::Status::FLAGGED_FOR_APPROVAL).count %> pré-aprovadas, </span>
      <span><%= proposals.where(:status => ProposalsDiscussionPlugin::ProposalTask::Status::FLAGGED_FOR_REPROVAL).count %> pré-rejeitadas)</span>
    </div>
    <div class="updated-at">
      Atualizado em <%= show_time(Time.now) %>
    </div>
  </div>
  <div style="clear: both"></div>
  <% end %>
  <% end %>

  <ul id='custom-control-panel'>
    <% if current_person.is_member_of?(profile) %>
      <% if profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('post_content')}).include?(current_person)  %>
        <li class="<%=tab_active_class('cms')%>"><a href="/myprofile/<%=profile.identifier%>/cms" class='custom-control-panel-manage-content'>Gerenciar Conteúdo</a></li>
      <% end %>
      <% if profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('manage_custom_roles')}).include?(current_person)  %>
        <li class="<%=tab_active_class('profile_roles')%>"><a href='/myprofile/<%=profile.identifier%>/profile_roles' class='custom-control-panel-manage-roles'>Gerenciar Papéis</a></li>
      <% end %>
      <% if profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('manage_memberships')}).include?(current_person)  %>
        <li class="<%=tab_active_class('profile_members')%>"><a href='/myprofile/<%=profile.identifier%>/profile_members' class='custom-control-panel-manage-members'>Gerenciar Permissões de Membros</a></li>
      <% end %>
      <% if profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('perform_task')}).include?(current_person)  %>
        <li class="<%=tab_active_class('validate_proposals')%>"><a href='/myprofile/<%=profile.identifier%>/plugin/proposals_discussion/tasks?filter_responsible=<%= current_person.id %>' class='custom-control-panel-manage-proposals-before'>Validar propostas</a></li>
        <li class="<%=tab_active_class('member_tasks')%>"><a href='/myprofile/<%=profile.identifier%>/tasks?filter_type=AddMember' class='custom-control-panel-manage-tasks'>Gerenciar Novos Membros</a></li>
        <li class="<%=tab_active_class('proposal_tasks')%>"><a href='/myprofile/<%=profile.identifier%>/tasks?filter_type=ProposalsDiscussionPlugin%3A%3AProposalTask' class='custom-control-panel-manage-tasks'>Gerenciar Propostas</a></li>
        <li class="<%=tab_active_class('processed_proposals')%>"><a href='/myprofile/<%=profile.identifier%>/tasks/processed?filter%5Btype%5D=ProposalsDiscussionPlugin%3A%3AProposalTask' class='custom-control-panel-processed-proposals'>Banco de Propostas</a></li>
      <% end %>
      <% if profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('manage_email_templates')}).include?(current_person)  %>
        <li class="<%=tab_active_class('email_templates')%>"><a href='/myprofile/<%=profile.identifier%>/profile_email_templates' class='custom-control-panel-manage-email-templates'>Gerenciar Templates de Email</a></li>
      <% end %>
      <% if profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('view_tasks')}).include?(current_person)  %>
        <li class="<%=tab_active_class('moderate_proposals')%>"><a href='/myprofile/<%=profile.identifier%>/plugin/proposals_discussion/tasks?view_only=true' class='custom-control-panel-manage-proposals-after'>Realizar moderação</a></li>
      <% end %>
      <% if current_person.is_admin? %>
        <li class="<%=tab_active_class('manage_users')%>"><a href='/admin/users' class='custom-control-panel-manage-users'>Gerenciar Usuários</a></li>
      <% end %>
    <% else %>
      <li><a href="/profile/<%= profile.identifier %>/join" class='custom-control-panel-join join-community'>Solicitar entrada no ambiente de Gestão</a></li>
    <% end %>
    <% if current_person.is_admin? %>
      <li class="<%=tab_active_class('reports')%>"><a href='/myprofile/<%=profile.identifier%>/plugin/dialoga/send_report' class='custom-control-panel-reports'>Enviar Relatórios</a></li>
    <% end %>
  </ul>

<% end %>

<div style="clear: both;">&nbsp;</div>