Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
8e3bd7f6
Commit
8e3bd7f6
authored
Jan 27, 2017
by
Sam Rose
Committed by
James Edwards-Jones
Feb 20, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Present modal to confirm CSV export for issues
parent
5bcd626f
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
49 additions
and
1 deletion
+49
-1
app/assets/stylesheets/pages/issues.scss
app/assets/stylesheets/pages/issues.scss
+15
-0
app/controllers/projects/issues_controller.rb
app/controllers/projects/issues_controller.rb
+1
-0
app/views/projects/issues/export_issues/_csv_download.html.haml
...ews/projects/issues/export_issues/_csv_download.html.haml
+30
-0
app/views/projects/issues/export_issues/_export_issues_list.svg
...ews/projects/issues/export_issues/_export_issues_list.svg
+1
-0
app/views/projects/issues/index.html.haml
app/views/projects/issues/index.html.haml
+2
-1
No files found.
app/assets/stylesheets/pages/issues.scss
View file @
8e3bd7f6
...
@@ -124,6 +124,21 @@ ul.related-merge-requests > li {
...
@@ -124,6 +124,21 @@ ul.related-merge-requests > li {
padding-bottom
:
37px
;
padding-bottom
:
37px
;
}
}
.issues-export-modal
{
.export-svg
{
height
:
56px
;
padding
:
10px
10px
0
;
}
svg
{
height
:
100%
;
}
.export-checkmark
{
color
:
$green-light
}
}
.issue-email-modal-btn
{
.issue-email-modal-btn
{
padding
:
0
;
padding
:
0
;
color
:
$gl-link-color
;
color
:
$gl-link-color
;
...
...
app/controllers/projects/issues_controller.rb
View file @
8e3bd7f6
...
@@ -25,6 +25,7 @@ class Projects::IssuesController < Projects::ApplicationController
...
@@ -25,6 +25,7 @@ class Projects::IssuesController < Projects::ApplicationController
def
index
def
index
@collection_type
=
"Issue"
@collection_type
=
"Issue"
@issues
=
issues_collection
@issues
=
issues_collection
@issues_count
=
@issues
.
count
if
!
request
.
format
.
csv?
if
!
request
.
format
.
csv?
@issues
=
@issues
.
page
(
params
[
:page
])
@issues
=
@issues
.
page
(
params
[
:page
])
...
...
app/views/projects/issues/export_issues/_csv_download.html.haml
0 → 100644
View file @
8e3bd7f6
.issues-export-modal.modal
.modal-dialog
.modal-content
.modal-header
%a
.close
{
href:
"#"
,
"data-dismiss"
=>
"modal"
}
×
.export-svg.pull-right
=
render
"projects/issues/export_issues/export_issues_list.svg"
%h3
Export issues list
.modal-header
=
icon
(
'check'
,
{
class:
'export-checkmark'
})
%strong
#{
@issues_count
}
issues selected
.modal-body
%div
After we finish preparing your .csv export, we'll email it to
%strong
=
@current_user
.
email
.modal-footer
=
link_to
'Request export'
,
namespace_project_issues_path
(
@project
.
namespace
,
@project
,
params
.
permit
(
IssuableFinder
::
VALID_PARAMS
).
merge
(
format: :csv
)),
class:
"btn btn-success pull-left"
,
title:
"Request export"
:javascript
$
(
function
(){
var
modal
=
$
(
'
.issues-export-modal
'
).
modal
({
modal
:
true
,
show
:
false
});
$
(
'
.csv_download_link
'
).
bind
(
"
click
"
,
function
(){
modal
.
show
();
});
$
(
'
.modal-header .close
'
).
bind
(
"
click
"
,
function
(){
modal
.
hide
();
})
})
app/views/projects/issues/export_issues/_export_issues_list.svg
0 → 100644
View file @
8e3bd7f6
<svg
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 238 111"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
><defs><rect
id=
"4"
width=
"82"
rx=
"3"
height=
"28"
fill=
"#fff"
/><path
id=
"5"
d=
"m68.926 12.09v-2.41c0-.665-.437-.888-.975-.507l-6.552 4.631c-.542.383-.539.998 0 1.379l6.552 4.631c.542.383.975.154.975-.507v-2.41h4.874c.668 0 1.2-.538 1.2-1.201v-2.406c0-.668-.537-1.201-1.2-1.201h-4.874"
fill=
"#fc8a51"
/><path
id=
"6"
d=
"m4 24h74v-20h-74v20m-4-21c0-1.655 1.338-2.996 2.991-2.996h76.02c1.652 0 2.991 1.35 2.991 2.996v22.01c0 1.655-1.338 2.996-2.991 2.996h-76.02c-1.652 0-2.991-1.35-2.991-2.996v-22.01"
/><circle
id=
"2"
cx=
"16"
cy=
"14"
r=
"7"
/><circle
id=
"0"
cx=
"16"
cy=
"14"
r=
"7"
/><mask
id=
"3"
width=
"14"
height=
"14"
x=
"0"
y=
"0"
fill=
"#fff"
><use
xlink:href=
"#2"
/></mask><mask
id=
"1"
width=
"14"
height=
"14"
x=
"0"
y=
"0"
fill=
"#fff"
><use
xlink:href=
"#0"
/></mask></defs><g
fill=
"none"
fill-rule=
"evenodd"
><rect
width=
"98"
height=
"111"
fill=
"#fff"
rx=
"6"
/><path
fill=
"#e5e5e5"
fill-rule=
"nonzero"
d=
"m4 6.01v98.99c0 1.11.897 2.01 2 2.01h85.998c1.105 0 2-.897 2-2.01v-98.99c0-1.11-.897-2.01-2-2.01h-85.998c-1.105 0-2 .897-2 2.01m-4 0c0-3.318 2.685-6.01 6-6.01h85.998c3.314 0 6 2.689 6 6.01v98.99c0 3.318-2.685 6.01-6 6.01h-85.998c-3.314 0-6-2.689-6-6.01v-98.99"
/><rect
width=
"76"
height=
"85"
x=
"11"
y=
"12"
fill=
"#f9f9f9"
rx=
"3"
/><g
transform=
"translate(37 59)"
><use
xlink:href=
"#4"
/><path
fill=
"#e5e5e5"
fill-rule=
"nonzero"
d=
"m4 24h74v-20h-74v20m-4-21c0-1.655 1.338-2.996 2.991-2.996h76.02c1.652 0 2.991 1.35 2.991 2.996v22.01c0 1.655-1.338 2.996-2.991 2.996h-76.02c-1.652 0-2.991-1.35-2.991-2.996v-22.01"
/><use
fill=
"#fff"
stroke=
"#6b4fbb"
stroke-width=
"8"
mask=
"url(#1)"
xlink:href=
"#0"
/><use
xlink:href=
"#5"
/></g><g
transform=
"translate(140)"
><path
fill=
"#fff"
d=
"m0 4h94v103h-94z"
/><path
fill=
"#e5e5e5"
fill-rule=
"nonzero"
d=
"m0 74v30.993c0 3.318 2.687 6.01 6 6.01h85.998c3.316 0 6-2.69 6-6.01v-98.99c0-3.318-2.687-6.01-6-6.01h-85.998c-3.316 0-6 2.69-6 6.01v.993h4v-.993c0-1.11.896-2.01 2-2.01h85.998c1.105 0 2 .897 2 2.01v98.99c0 1.11-.896 2.01-2 2.01h-85.998c-1.105 0-2-.897-2-2.01v-30.993h-4"
/><g
fill=
"#f9f9f9"
><rect
width=
"82"
height=
"28"
x=
"8"
y=
"12"
rx=
"3"
/><rect
width=
"82"
height=
"28"
x=
"8"
y=
"43"
rx=
"3"
/></g></g><g
fill-rule=
"nonzero"
transform=
"translate(148 73)"
><use
fill=
"#e5e5e5"
xlink:href=
"#6"
/><path
fill=
"#6b4fbb"
d=
"m17 17c1.657 0 3-1.343 3-3 0-1.657-1.343-3-3-3-1.657 0-3 1.343-3 3 0 1.657 1.343 3 3 3m0 4c-3.866 0-7-3.134-7-7 0-3.866 3.134-7 7-7 3.866 0 7 3.134 7 7 0 3.866-3.134 7-7 7"
/></g><g
transform=
"translate(25 24)"
><use
xlink:href=
"#4"
/><use
fill=
"#e5e5e5"
fill-rule=
"nonzero"
xlink:href=
"#6"
/><use
fill=
"#fff"
stroke=
"#6b4fbb"
stroke-width=
"8"
mask=
"url(#3)"
xlink:href=
"#2"
/><use
xlink:href=
"#5"
/></g><g
transform=
"translate(107 10)"
><use
xlink:href=
"#4"
/><use
fill=
"#fc8a51"
fill-opacity=
".3"
fill-rule=
"nonzero"
xlink:href=
"#6"
/><path
fill=
"#6b4fbb"
fill-rule=
"nonzero"
d=
"m16 17c1.657 0 3-1.343 3-3 0-1.657-1.343-3-3-3-1.657 0-3 1.343-3 3 0 1.657 1.343 3 3 3m0 4c-3.866 0-7-3.134-7-7 0-3.866 3.134-7 7-7 3.866 0 7 3.134 7 7 0 3.866-3.134 7-7 7"
id=
"7"
/><use
xlink:href=
"#5"
/></g><g
transform=
"translate(128 41)"
><use
xlink:href=
"#4"
/><use
fill=
"#fc8a51"
fill-opacity=
".3"
fill-rule=
"nonzero"
xlink:href=
"#6"
/><use
xlink:href=
"#7"
/><path
fill=
"#fc8a51"
d=
"m66.926 12.09v-2.41c0-.665-.437-.888-.975-.507l-6.552 4.631c-.542.383-.539.998 0 1.379l6.552 4.631c.542.383.975.154.975-.507v-2.41h4.874c.668 0 1.2-.538 1.2-1.201v-2.406c0-.668-.537-1.201-1.2-1.201h-4.874"
/></g></g></svg>
\ No newline at end of file
app/views/projects/issues/index.html.haml
View file @
8e3bd7f6
...
@@ -14,6 +14,7 @@
...
@@ -14,6 +14,7 @@
=
auto_discovery_link_tag
(
:atom
,
url_for
(
params
.
merge
(
format: :atom
,
private_token:
current_user
.
private_token
)),
title:
"
#{
@project
.
name
}
issues"
)
=
auto_discovery_link_tag
(
:atom
,
url_for
(
params
.
merge
(
format: :atom
,
private_token:
current_user
.
private_token
)),
title:
"
#{
@project
.
name
}
issues"
)
-
if
project_issues
(
@project
).
exists?
-
if
project_issues
(
@project
).
exists?
=
render
"projects/issues/export_issues/csv_download"
%div
{
class:
(
container_class
)
}
%div
{
class:
(
container_class
)
}
.top-area
.top-area
=
render
'shared/issuable/nav'
,
type: :issues
=
render
'shared/issuable/nav'
,
type: :issues
...
@@ -21,7 +22,7 @@
...
@@ -21,7 +22,7 @@
-
if
current_user
-
if
current_user
=
link_to
url_for
(
params
.
merge
(
format: :atom
,
private_token:
current_user
.
private_token
)),
class:
'btn append-right-10 has-tooltip'
,
title:
'Subscribe'
do
=
link_to
url_for
(
params
.
merge
(
format: :atom
,
private_token:
current_user
.
private_token
)),
class:
'btn append-right-10 has-tooltip'
,
title:
'Subscribe'
do
=
icon
(
'rss'
)
=
icon
(
'rss'
)
=
link_to
namespace_project_issues_path
(
@project
.
namespace
,
@project
,
params
.
permit
(
IssuableFinder
::
VALID_PARAMS
).
merge
(
format: :csv
)),
class:
'btn append-right-10 has-tooltip'
,
title:
'Download CSV'
do
%button
.csv_download_link.btn.append-right-10
{
title:
'Download CSV'
}
=
icon
(
'download'
)
=
icon
(
'download'
)
-
if
can?
current_user
,
:create_issue
,
@project
-
if
can?
current_user
,
:create_issue
,
@project
=
link_to
new_namespace_project_issue_path
(
@project
.
namespace
,
=
link_to
new_namespace_project_issue_path
(
@project
.
namespace
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment