summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-12-02 14:02:12 +0100
committerDouwe Maan <douwe@gitlab.com>2015-12-02 14:02:12 +0100
commit5a59712b8ac29450dfef0af0dd381529f0d9d7ae (patch)
treeae61ff7f3b2901b909b6d4088047f191dd534b65 /app
parent09e712c0fb721059e4b2619eb9fc104257fc492d (diff)
downloadgitlab-ce-5a59712b8ac29450dfef0af0dd381529f0d9d7ae.tar.gz
Add "New X" buttons to dashboard and group issue, MR and milestone indexes
Diffstat (limited to 'app')
-rw-r--r--app/views/dashboard/issues.html.haml31
-rw-r--r--app/views/dashboard/merge_requests.html.haml23
-rw-r--r--app/views/dashboard/milestones/index.html.haml21
-rw-r--r--app/views/groups/issues.html.haml38
-rw-r--r--app/views/groups/merge_requests.html.haml30
-rw-r--r--app/views/groups/milestones/index.html.haml24
-rw-r--r--app/views/projects/milestones/index.html.haml15
7 files changed, 134 insertions, 48 deletions
diff --git a/app/views/dashboard/issues.html.haml b/app/views/dashboard/issues.html.haml
index cd602e897b7..829c3c83769 100644
--- a/app/views/dashboard/issues.html.haml
+++ b/app/views/dashboard/issues.html.haml
@@ -4,14 +4,31 @@
- if current_user
= auto_discovery_link_tag(:atom, issues_dashboard_url(format: :atom, private_token: current_user.private_token), title: "#{current_user.name} issues")
+.project-issuable-filter
+ .controls
+ .pull-left
+ - if current_user
+ .hidden-xs.pull-left
+ = link_to issues_dashboard_url(format: :atom, private_token: current_user.private_token), class: 'btn' do
+ %i.fa.fa-rss
-.append-bottom-20
- .pull-right
- - if current_user
- .hidden-xs.pull-left.prepend-top-20
- = link_to issues_dashboard_url(format: :atom, private_token: current_user.private_token), class: '' do
- %i.fa.fa-rss
+ - if @projects.any? { |project| can?(current_user, :create_issue, project) }
+ .dropdown.inline.prepend-left-10
+ %button.dropdown-toggle.btn.btn-new{type: 'button', 'data-toggle' => 'dropdown'}
+ %i.fa.fa-plus
+ New Issue
+ %b.caret
+ %ul.dropdown-menu.dropdown-menu-align-right
+ - @projects.each do |project|
+ - if can?(current_user, :create_issue, project)
+ %li
+ = link_to new_namespace_project_issue_path(project.namespace, project) do
+ = project.name_with_namespace
= render 'shared/issuable/filter', type: :issues
-= render 'shared/issues'
+.gray-content-block.second-block
+ List all issues from all projects you have access to.
+
+.prepend-top-default
+ = render 'shared/issues'
diff --git a/app/views/dashboard/merge_requests.html.haml b/app/views/dashboard/merge_requests.html.haml
index d1f332fa0d3..2e91c8dec8a 100644
--- a/app/views/dashboard/merge_requests.html.haml
+++ b/app/views/dashboard/merge_requests.html.haml
@@ -1,6 +1,25 @@
- page_title "Merge Requests"
- header_title "Merge Requests", merge_requests_dashboard_path(assignee_id: current_user.id)
-.append-bottom-20
+.project-issuable-filter
+ .controls
+ - if @projects.any? { |project| can?(current_user, :create_merge_request, project) }
+ .dropdown.inline
+ %button.dropdown-toggle.btn.btn-new{type: 'button', 'data-toggle' => 'dropdown'}
+ %i.fa.fa-plus
+ New Merge Request
+ %b.caret
+ %ul.dropdown-menu.dropdown-menu-align-right
+ - @projects.each do |project|
+ - if can?(current_user, :create_merge_request, project)
+ %li
+ = link_to new_namespace_project_merge_request_path(project.namespace, project) do
+ = project.name_with_namespace
+
= render 'shared/issuable/filter', type: :merge_requests
-= render 'shared/merge_requests'
+
+.gray-content-block.second-block
+ List all merge requests from all projects you have access to.
+
+.prepend-top-default
+ = render 'shared/merge_requests'
diff --git a/app/views/dashboard/milestones/index.html.haml b/app/views/dashboard/milestones/index.html.haml
index 635251e2374..9aea75e50db 100644
--- a/app/views/dashboard/milestones/index.html.haml
+++ b/app/views/dashboard/milestones/index.html.haml
@@ -1,12 +1,25 @@
- page_title "Milestones"
-- header_title "Milestones", dashboard_milestones_path
+- header_title "Milestones", dashboard_milestones_path
+.project-issuable-filter
+ .controls
+ - if @projects.any? { |project| can?(current_user, :admin_milestone, project) }
+ .dropdown.inline
+ %button.dropdown-toggle.btn.btn-new{type: 'button', 'data-toggle' => 'dropdown'}
+ %i.fa.fa-plus
+ New Milestone
+ %b.caret
+ %ul.dropdown-menu.dropdown-menu-align-right
+ - @projects.each do |project|
+ - if can?(current_user, :admin_milestone, project)
+ %li
+ = link_to new_namespace_project_milestone_path(project.namespace, project) do
+ = project.name_with_namespace
-= render 'shared/milestones_filter'
+ = render 'shared/milestones_filter'
.gray-content-block
- .oneline
- List all milestones from all projects you have access to.
+ List all milestones from all projects you have access to.
.milestones
%ul.content-list
diff --git a/app/views/groups/issues.html.haml b/app/views/groups/issues.html.haml
index 08d97e418a3..5a9739a0cda 100644
--- a/app/views/groups/issues.html.haml
+++ b/app/views/groups/issues.html.haml
@@ -4,21 +4,35 @@
- if current_user
= auto_discovery_link_tag(:atom, issues_group_url(@group, format: :atom, private_token: current_user.private_token), title: "#{@group.name} issues")
+.project-issuable-filter
+ .controls
+ .pull-left
+ - if current_user
+ .hidden-xs.pull-left
+ = link_to issues_group_url(@group, format: :atom, private_token: current_user.private_token), class: 'btn' do
+ %i.fa.fa-rss
+ - if @projects.any? { |project| can?(current_user, :create_issue, project) }
+ .dropdown.inline.prepend-left-10
+ %button.dropdown-toggle.btn.btn-new{type: 'button', 'data-toggle' => 'dropdown'}
+ %i.fa.fa-plus
+ New Issue
+ %b.caret
+ %ul.dropdown-menu.dropdown-menu-align-right
+ - @projects.each do |project|
+ - if can?(current_user, :create_issue, project)
+ %li
+ = link_to new_namespace_project_issue_path(project.namespace, project) do
+ = project.name_with_namespace
+
+ = render 'shared/issuable/filter', type: :issues
-= render 'shared/issuable/filter', type: :issues
.gray-content-block.second-block
- .pull-right
- - if current_user
- .hidden-xs.pull-left
- = link_to issues_group_url(@group, format: :atom, private_token: current_user.private_token) do
- %i.fa.fa-rss
- %div
- Only issues from
- %strong #{@group.name}
- group are listed here.
- - if current_user
- To see all issues you should visit #{link_to 'dashboard', issues_dashboard_path} page.
+ Only issues from
+ %strong #{@group.name}
+ group are listed here.
+ - if current_user
+ To see all issues you should visit #{link_to 'dashboard', issues_dashboard_path} page.
.prepend-top-default
= render 'shared/issues'
diff --git a/app/views/groups/merge_requests.html.haml b/app/views/groups/merge_requests.html.haml
index 425ad8331bf..95c503a3afa 100644
--- a/app/views/groups/merge_requests.html.haml
+++ b/app/views/groups/merge_requests.html.haml
@@ -1,13 +1,29 @@
- page_title "Merge Requests"
- header_title group_title(@group, "Merge Requests", merge_requests_group_path(@group))
-= render 'shared/issuable/filter', type: :merge_requests
+.project-issuable-filter
+ .controls
+ - if @projects.any? { |project| can?(current_user, :create_merge_request, project) }
+ .dropdown.inline
+ %button.dropdown-toggle.btn.btn-new{type: 'button', 'data-toggle' => 'dropdown'}
+ %i.fa.fa-plus
+ New Merge Request
+ %b.caret
+ %ul.dropdown-menu.dropdown-menu-align-right
+ - @projects.each do |project|
+ - if can?(current_user, :create_merge_request, project)
+ %li
+ = link_to new_namespace_project_merge_request_path(project.namespace, project) do
+ = project.name_with_namespace
+
+ = render 'shared/issuable/filter', type: :merge_requests
+
.gray-content-block.second-block
- %div
- Only merge requests from
- %strong #{@group.name}
- group are listed here.
- - if current_user
- To see all merge requests you should visit #{link_to 'dashboard', merge_requests_dashboard_path} page.
+ Only merge requests from
+ %strong #{@group.name}
+ group are listed here.
+ - if current_user
+ To see all merge requests you should visit #{link_to 'dashboard', merge_requests_dashboard_path} page.
+
.prepend-top-default
= render 'shared/merge_requests'
diff --git a/app/views/groups/milestones/index.html.haml b/app/views/groups/milestones/index.html.haml
index 84ec77c6188..b221d3a89a4 100644
--- a/app/views/groups/milestones/index.html.haml
+++ b/app/views/groups/milestones/index.html.haml
@@ -1,18 +1,22 @@
- page_title "Milestones"
- header_title group_title(@group, "Milestones", group_milestones_path(@group))
-= render 'shared/milestones_filter'
+.project-issuable-filter
+ .controls
+ - if can?(current_user, :admin_milestones, @group)
+ .pull-right
+ %span.pull-right.hidden-xs
+ = link_to new_group_milestone_path(@group), class: "btn btn-new" do
+ = icon('plus')
+ New Milestone
+
+ = render 'shared/milestones_filter'
+
.gray-content-block
- - if can?(current_user, :admin_milestones, @group)
- .pull-right
- %span.pull-right.hidden-xs
- = link_to new_group_milestone_path(@group), class: "btn btn-new" do
- New Milestone
+ Only milestones from
+ %strong #{@group.name}
+ group are listed here.
- .oneline
- Only milestones from
- %strong #{@group.name}
- group are listed here.
.milestones
%ul.content-list
- if @milestones.blank?
diff --git a/app/views/projects/milestones/index.html.haml b/app/views/projects/milestones/index.html.haml
index a207385bd43..114b06457a5 100644
--- a/app/views/projects/milestones/index.html.haml
+++ b/app/views/projects/milestones/index.html.haml
@@ -1,15 +1,18 @@
- page_title "Milestones"
= render "header_title"
-= render 'shared/milestones_filter'
-.gray-content-block
- .pull-right
- - if can? current_user, :admin_milestone, @project
+
+.project-issuable-filter
+ .controls
+ - if can?(current_user, :admin_milestone, @project)
= link_to new_namespace_project_milestone_path(@project.namespace, @project), class: "pull-right btn btn-new", title: "New Milestone" do
%i.fa.fa-plus
New Milestone
- .oneline
- Milestone allows you to group issues and set due date for it
+
+ = render 'shared/milestones_filter'
+
+.gray-content-block
+ Milestone allows you to group issues and set due date for it
.milestones
%ul.content-list