summaryrefslogtreecommitdiff
path: root/app/views/shared/projects/_project.html.haml
blob: 803dd95bc65ff8ae70a5bf3c0d07aca85809f472 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
- avatar = true unless local_assigns[:avatar] == false
- stars = true unless local_assigns[:stars] == false
- forks = false unless local_assigns[:forks] == true
- ci = false unless local_assigns[:ci] == true
- skip_namespace = false unless local_assigns[:skip_namespace] == true
- css_class = '' unless local_assigns[:css_class]
- show_last_commit_as_description = false unless local_assigns[:show_last_commit_as_description] == true && project.commit
- css_class += " no-description" if project.description.blank? && !show_last_commit_as_description
- ci_commit = project.ci_commit(project.commit.sha) if ci && !project.empty_repo? && project.commit
- cache_key = [project.namespace, project, controller.controller_name, controller.action_name, current_application_settings, 'v2.3']
- cache_key.push(ci_commit.status) if ci_commit

%li.project-row{ class: css_class }
  = cache(cache_key) do
    .controls
      - if project.main_language
        %span
          = project.main_language
      - if ci_commit
        %span
          = render_ci_status(ci_commit)
      - if forks
        %span
          = icon('code-fork')
          = project.forks_count
      - if stars
        %span
          = icon('star')
          = project.star_count
      %span.visibility-icon.has_tooltip{data: { container: 'body', placement: 'left' }, title: visibility_icon_description(project)}
        = visibility_level_icon(project.visibility_level, fw: false)

    .title
      = link_to project_path(project), class: dom_class(project) do
        - if avatar
          .dash-project-avatar
            - if use_creator_avatar
              = image_tag avatar_icon(project.creator.email, 40), class: "avatar s40", alt:''
            - else
              = project_icon(project, alt: '', class: 'avatar project-avatar s40')
        %span.project-full-name
          %span.namespace-name
            - if project.namespace && !skip_namespace
              = project.namespace.human_name
              \/
          %span.project-name.filter-title
            = project.name

    - if show_last_commit_as_description
      .description
        = link_to_gfm project.commit.title, namespace_project_commit_path(project.namespace, project, project.commit),
          class: "commit-row-message"
    - elsif project.description.present?
      .description
        = markdown(project.description, pipeline: :description)