diff options
| author | Ariejan de Vroom <ariejan@ariejan.net> | 2011-12-08 01:07:02 +0100 |
|---|---|---|
| committer | Ariejan de Vroom <ariejan@ariejan.net> | 2011-12-08 01:07:02 +0100 |
| commit | e4b1f38c272ae8a052d64024867d9bcaa8398ce1 (patch) | |
| tree | 111bfdaaeb5ddfcba565a591f63e1afdcc65696d /app | |
| parent | 1a3af33fce8ce505dca2bf7af071091b2ff058a2 (diff) | |
| download | gitlab-ce-e4b1f38c272ae8a052d64024867d9bcaa8398ce1.tar.gz | |
Added merge request dashboard, showing all merge requests assigned to
you across projects.
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/user_merge_requests_controller.rb | 9 | ||||
| -rw-r--r-- | app/helpers/user_merge_requests_helper.rb | 3 | ||||
| -rw-r--r-- | app/models/user.rb | 9 | ||||
| -rw-r--r-- | app/views/layouts/user.html.haml | 4 | ||||
| -rw-r--r-- | app/views/merge_requests/_merge_request.html.haml | 5 | ||||
| -rw-r--r-- | app/views/user_merge_requests/index.html.haml | 10 |
6 files changed, 39 insertions, 1 deletions
diff --git a/app/controllers/user_merge_requests_controller.rb b/app/controllers/user_merge_requests_controller.rb new file mode 100644 index 00000000000..7b6710d55ea --- /dev/null +++ b/app/controllers/user_merge_requests_controller.rb @@ -0,0 +1,9 @@ +class UserMergeRequestsController < ApplicationController + before_filter :authenticate_user! + + layout "user" + + def index + @merge_requests = current_user.assigned_merge_requests + end +end diff --git a/app/helpers/user_merge_requests_helper.rb b/app/helpers/user_merge_requests_helper.rb new file mode 100644 index 00000000000..6e5db315031 --- /dev/null +++ b/app/helpers/user_merge_requests_helper.rb @@ -0,0 +1,3 @@ +module UserMergeRequestsHelper +end + diff --git a/app/models/user.rb b/app/models/user.rb index 8967859d089..de0bb637c15 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -25,6 +25,15 @@ class User < ActiveRecord::Base :foreign_key => :assignee_id, :dependent => :destroy + has_many :merge_requests, + :foreign_key => :author_id, + :dependent => :destroy + + has_many :assigned_merge_requests, + :class_name => "MergeRequest", + :foreign_key => :assignee_id, + :dependent => :destroy + before_create :ensure_authentication_token alias_attribute :private_token, :authentication_token scope :not_in_project, lambda { |project| where("id not in (:ids)", :ids => project.users.map(&:id) ) } diff --git a/app/views/layouts/user.html.haml b/app/views/layouts/user.html.haml index 20a2f2e467a..e9dd18bc632 100644 --- a/app/views/layouts/user.html.haml +++ b/app/views/layouts/user.html.haml @@ -21,6 +21,10 @@ Issues - unless current_user.assigned_issues.empty? %span{ :class => "number" }= current_user.assigned_issues.count + = link_to merge_requests_path, :class => current_page?(:controller => "user_merge_requests", :action => "index") ? "current" : nil do + Merge Requests + - unless current_user.assigned_merge_requests.empty? + %span{ :class => "number" }= current_user.assigned_merge_requests.count .project-content = yield diff --git a/app/views/merge_requests/_merge_request.html.haml b/app/views/merge_requests/_merge_request.html.haml index c5bcf7798ad..ef290833a27 100644 --- a/app/views/merge_requests/_merge_request.html.haml +++ b/app/views/merge_requests/_merge_request.html.haml @@ -1,8 +1,11 @@ -%a.update-item{:href => project_merge_request_path(@project, merge_request)} +%a.update-item{:href => project_merge_request_path(merge_request.project, merge_request)} = image_tag gravatar_icon(merge_request.author_email), :class => "left", :width => 40 %span.update-title = merge_request.title %span.update-author + - if not @project.present? + %strong= merge_request.project.name + = '-' %strong= merge_request.author_name authored = time_ago_in_words(merge_request.created_at) diff --git a/app/views/user_merge_requests/index.html.haml b/app/views/user_merge_requests/index.html.haml new file mode 100644 index 00000000000..cf1c4143083 --- /dev/null +++ b/app/views/user_merge_requests/index.html.haml @@ -0,0 +1,10 @@ +- if @merge_requests.opened.count > 0 + %div{ :class => "update-data ui-box ui-box-small ui-box-big" } + %h3 + %span.tag.open Open + .data + = render @merge_requests.opened + + .clear + %br + |
