From 2b05bf4be5c01c2b6b09a8c0792d1c9dd8afe6e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rub=C3=A9n=20D=C3=A1vila?= <rdavila84@gmail.com>
Date: Mon, 11 Jan 2016 15:36:42 -0500
Subject: [PATCH] Use Project creator's avatar in fork listing. #2406

---
 app/controllers/projects/forks_controller.rb | 3 ++-
 app/views/projects/buttons/_fork.html.haml   | 2 +-
 app/views/projects/forks/index.html.haml     | 3 +++
 app/views/shared/projects/_list.html.haml    | 3 ++-
 app/views/shared/projects/_project.html.haml | 5 ++++-
 5 files changed, 12 insertions(+), 4 deletions(-)
 create mode 100644 app/views/projects/forks/index.html.haml

diff --git a/app/controllers/projects/forks_controller.rb b/app/controllers/projects/forks_controller.rb
index 92c91fc539a..2e01352169d 100644
--- a/app/controllers/projects/forks_controller.rb
+++ b/app/controllers/projects/forks_controller.rb
@@ -4,6 +4,7 @@ class Projects::ForksController < Projects::ApplicationController
   before_action :authorize_download_code!
 
   def index
+    @forked_projects = project.forks.includes(:creator)
   end
 
   def new
@@ -13,7 +14,7 @@ class Projects::ForksController < Projects::ApplicationController
 
   def create
     namespace = Namespace.find(params[:namespace_key])
-    
+
     @forked_project = namespace.projects.find_by(path: project.path)
     @forked_project = nil unless @forked_project && @forked_project.forked_from_project == project
 
diff --git a/app/views/projects/buttons/_fork.html.haml b/app/views/projects/buttons/_fork.html.haml
index f65c612bc66..133531887a2 100644
--- a/app/views/projects/buttons/_fork.html.haml
+++ b/app/views/projects/buttons/_fork.html.haml
@@ -9,7 +9,7 @@
         %span.count
           = @project.forks_count
     - else
-      = link_to new_namespace_project_forks_path(@project.namespace, @project), title: "Fork project", class: 'btn has_tooltip' do
+      = link_to new_namespace_project_fork_path(@project.namespace, @project), title: "Fork project", class: 'btn has_tooltip' do
         = icon('code-fork fw')
         Fork
       %div.count-with-arrow
diff --git a/app/views/projects/forks/index.html.haml b/app/views/projects/forks/index.html.haml
new file mode 100644
index 00000000000..8ae7fe22e1e
--- /dev/null
+++ b/app/views/projects/forks/index.html.haml
@@ -0,0 +1,3 @@
+.projects-list-holder
+
+  = render 'shared/projects/list', projects: @forked_projects, use_creator_avatar: true
diff --git a/app/views/shared/projects/_list.html.haml b/app/views/shared/projects/_list.html.haml
index e5ffe1e29ae..c0a7b9f08fa 100644
--- a/app/views/shared/projects/_list.html.haml
+++ b/app/views/shared/projects/_list.html.haml
@@ -1,5 +1,6 @@
 - projects_limit = 20 unless local_assigns[:projects_limit]
 - avatar = true unless local_assigns[:avatar] == false
+- use_creator_avatar = false unless local_assigns[:use_creator_avatar] == true
 - stars = true unless local_assigns[:stars] == false
 - ci = false unless local_assigns[:ci] == true
 - skip_namespace = false unless local_assigns[:skip_namespace] == true
@@ -8,7 +9,7 @@
   - projects.each_with_index do |project, i|
     - css_class = (i >= projects_limit) ? 'hide' : nil
     = render "shared/projects/project", project: project, skip_namespace: skip_namespace,
-      avatar: avatar, stars: stars, css_class: css_class, ci: ci
+      avatar: avatar, stars: stars, css_class: css_class, ci: ci, use_creator_avatar: use_creator_avatar
 
   - if projects.size > projects_limit
     %li.bottom.center
diff --git a/app/views/shared/projects/_project.html.haml b/app/views/shared/projects/_project.html.haml
index 5db8056b77c..9bf45d3ce33 100644
--- a/app/views/shared/projects/_project.html.haml
+++ b/app/views/shared/projects/_project.html.haml
@@ -13,7 +13,10 @@
     = link_to project_path(project), class: dom_class(project) do
       - if avatar
         .dash-project-avatar
-          = project_icon(project, alt: '', class: 'avatar project-avatar s46')
+          - if use_creator_avatar
+            = image_tag avatar_icon(project.creator.email, 46), class: "avatar s46", alt:''
+          - else
+            = project_icon(project, alt: '', class: 'avatar project-avatar s46')
       %span.project-full-name
         %span.namespace-name
           - if project.namespace && !skip_namespace
-- 
GitLab