projects.html.haml 4.57 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
%h3.page-title
  My Projects
.pull-right
  .dropdown.inline
    %a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
      %span.light sort:
      - if @sort.present?
        = @sort.humanize
      - else
        Name
      %b.caret
    %ul.dropdown-menu
      %li
        = link_to projects_dashboard_filter_path(sort: nil) do
          Name
        = link_to projects_dashboard_filter_path(sort: 'newest') do
          Newest
        = link_to projects_dashboard_filter_path(sort: 'oldest') do
          Oldest
        = link_to projects_dashboard_filter_path(sort: 'recently_updated') do
          Recently updated
        = link_to projects_dashboard_filter_path(sort: 'last_updated') do
          Last updated
24
%p.light
25
  All projects you have access to are listed here. Public projects are not included here unless you are a member
26
%hr
27
.row
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
  .col-md-3.hidden-sm.hidden-xs.side-filters
    %fieldset
      %ul.nav.nav-pills.nav-stacked
        = nav_tab :scope, nil do
          = link_to projects_dashboard_filter_path(scope: nil) do
            All
            %span.pull-right
              = current_user.authorized_projects.count
        = nav_tab :scope, 'personal' do
          = link_to projects_dashboard_filter_path(scope: 'personal') do
            Personal
            %span.pull-right
              = current_user.personal_projects.count
        = nav_tab :scope, 'joined' do
          = link_to projects_dashboard_filter_path(scope: 'joined') do
            Joined
            %span.pull-right
              = current_user.authorized_projects.joined(current_user).count
        = nav_tab :scope, 'owned' do
          = link_to projects_dashboard_filter_path(scope: 'owned') do
            Owned
            %span.pull-right
              = current_user.owned_projects.count
51

52 53 54 55 56
    %fieldset
      %legend Visibility
      %ul.bordered-list.visibility-filter
        - Gitlab::VisibilityLevel.values.each do |level|
          %li{ class: (level.to_s == params[:visibility_level]) ? 'active' : 'light' }
57
            = link_to projects_dashboard_filter_path(visibility_level: level) do
58 59
              = visibility_level_icon(level)
              = visibility_level_label(level)
60 61 62 63 64 65 66

    - if @groups.present?
      %fieldset
        %legend Groups
        %ul.bordered-list
          - @groups.each do |group|
            %li{ class: (group.name == params[:group]) ? 'active' : 'light' }
67
              = link_to projects_dashboard_filter_path(group: group.name) do
68 69 70 71 72 73 74
                %i.icon-folder-close-alt
                = group.name
                %small.pull-right
                  = group.projects.count



75
    - if @labels.present?
76 77 78 79 80
      %fieldset
        %legend Labels
        %ul.bordered-list
          - @labels.each do |label|
            %li{ class: (label.name == params[:label]) ? 'active' : 'light' }
81
              = link_to projects_dashboard_filter_path(scope: params[:scope], label: label.name) do
82 83
                %i.icon-tag
                = label.name
84

85
  .col-md-9
86
    %ul.bordered-list.my-projects.top-list
87
      - @projects.each do |project|
88
        %li.my-project-row
89
          %h4.project-title
90 91
            .project-access-icon
              = visibility_level_icon(project.visibility_level)
92
            = link_to project_path(project), class: dom_class(project) do
93
              = project.name_with_namespace
94

95 96
            - if current_user.can_leave_project?(project)
              .pull-right
97
                = link_to leave_project_team_members_path(project), data: { confirm: "Leave project?"}, method: :delete, remote: true, class: "btn-tiny btn remove-row", title: 'Leave project' do
98 99 100
                  %i.icon-signout
                  Leave

101 102 103 104 105 106 107
            - if project.forked_from_project
              %small.pull-right
                %i.icon-code-fork
                Forked from:
                = link_to project.forked_from_project.name_with_namespace, project_path(project.forked_from_project)
          .project-info
            .pull-right
108 109
              - if project.archived?
                %span.label
110
                  %i.icon-archive
111
                  Archived
112 113 114 115 116 117 118 119 120
              - project.labels.each do |label|
                %span.label.label-info
                  %i.icon-tag
                  = label.name
            - if project.description.present?
              %p= truncate project.description, length: 100
            .last-activity
              %span.light Last activity:
              %span.date= project_last_activity(project)
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
121

122

123 124 125
        - if @projects.blank?
          %li
            %h3.nothing_here_message There are no projects here.
126 127
    .bottom
      = paginate @projects, theme: "gitlab"
128