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
4c058f2e
Commit
4c058f2e
authored
Nov 21, 2016
by
Alejandro Rodríguez
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'ce/master' into ce-upstream
parents
90cecd89
56b420ae
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
109 additions
and
55 deletions
+109
-55
app/assets/stylesheets/framework/blocks.scss
app/assets/stylesheets/framework/blocks.scss
+29
-0
app/helpers/application_settings_helper.rb
app/helpers/application_settings_helper.rb
+5
-5
app/helpers/groups_helper.rb
app/helpers/groups_helper.rb
+4
-0
app/helpers/projects_helper.rb
app/helpers/projects_helper.rb
+4
-0
app/views/admin/application_settings/_form.html.haml
app/views/admin/application_settings/_form.html.haml
+2
-3
app/views/groups/issues.html.haml
app/views/groups/issues.html.haml
+21
-18
app/views/projects/issues/_issues.html.haml
app/views/projects/issues/_issues.html.haml
+1
-2
app/views/projects/issues/index.html.haml
app/views/projects/issues/index.html.haml
+4
-20
app/views/shared/_issues.html.haml
app/views/shared/_issues.html.haml
+1
-1
app/views/shared/empty_states/_issues.html.haml
app/views/shared/empty_states/_issues.html.haml
+22
-0
app/views/shared/empty_states/icons/_issues.svg
app/views/shared/empty_states/icons/_issues.svg
+1
-0
changelogs/unreleased/18136-ui-for-restricting-global-visibility-levels-is-unclear.yml
...i-for-restricting-global-visibility-levels-is-unclear.yml
+4
-0
features/steps/project/issues/issues.rb
features/steps/project/issues/issues.rb
+1
-1
spec/features/issues/filter_issues_spec.rb
spec/features/issues/filter_issues_spec.rb
+5
-5
spec/features/issues_spec.rb
spec/features/issues_spec.rb
+5
-0
No files found.
app/assets/stylesheets/framework/blocks.scss
View file @
4c058f2e
...
@@ -254,3 +254,32 @@
...
@@ -254,3 +254,32 @@
.content-block-small
{
.content-block-small
{
padding
:
10px
0
;
padding
:
10px
0
;
}
}
.empty-state
{
margin
:
100px
0
0
;
.text-content
{
max-width
:
460px
;
margin
:
0
auto
;
padding
:
$gl-padding
;
}
.svg-content
{
text-align
:
center
;
svg
{
max-width
:
425px
;
width
:
100%
;
padding
:
$gl-padding
;
}
}
@media
(
max-width
:
$screen-xs-max
)
{
margin-top
:
50px
;
text-align
:
center
;
.btn
{
width
:
100%
;
}
}
}
app/helpers/application_settings_helper.rb
View file @
4c058f2e
...
@@ -50,14 +50,14 @@ module ApplicationSettingsHelper
...
@@ -50,14 +50,14 @@ module ApplicationSettingsHelper
def
restricted_level_checkboxes
(
help_block_id
)
def
restricted_level_checkboxes
(
help_block_id
)
Gitlab
::
VisibilityLevel
.
options
.
map
do
|
name
,
level
|
Gitlab
::
VisibilityLevel
.
options
.
map
do
|
name
,
level
|
checked
=
restricted_visibility_levels
(
true
).
include?
(
level
)
checked
=
restricted_visibility_levels
(
true
).
include?
(
level
)
css_class
=
'btn'
css_class
=
checked
?
'active'
:
''
css_class
+=
' active'
if
checked
checkbox_name
=
"application_setting[restricted_visibility_levels][]"
checkbox_name
=
'application_setting[restricted_visibility_levels][]'
label_tag
(
checkbox_
name
,
class:
css_class
)
do
label_tag
(
name
,
class:
css_class
)
do
check_box_tag
(
checkbox_name
,
level
,
checked
,
check_box_tag
(
checkbox_name
,
level
,
checked
,
autocomplete:
'off'
,
autocomplete:
'off'
,
'aria-describedby'
=>
help_block_id
)
+
name
'aria-describedby'
=>
help_block_id
,
id:
name
)
+
visibility_level_icon
(
level
)
+
name
end
end
end
end
end
end
...
...
app/helpers/groups_helper.rb
View file @
4c058f2e
...
@@ -54,4 +54,8 @@ module GroupsHelper
...
@@ -54,4 +54,8 @@ module GroupsHelper
"
#{
status
.
humanize
}
#{
projects_lfs_status
(
group
)
}
"
"
#{
status
.
humanize
}
#{
projects_lfs_status
(
group
)
}
"
end
end
end
end
def
group_issues
(
group
)
IssuesFinder
.
new
(
current_user
,
group_id:
group
.
id
).
execute
end
end
end
app/helpers/projects_helper.rb
View file @
4c058f2e
...
@@ -486,4 +486,8 @@ module ProjectsHelper
...
@@ -486,4 +486,8 @@ module ProjectsHelper
def
project_child_container_class
(
view_path
)
def
project_child_container_class
(
view_path
)
view_path
==
"projects/issues/issues"
?
"prepend-top-default"
:
"project-show-
#{
view_path
}
"
view_path
==
"projects/issues/issues"
?
"prepend-top-default"
:
"project-show-
#{
view_path
}
"
end
end
def
project_issues
(
project
)
IssuesFinder
.
new
(
current_user
,
project_id:
project
.
id
).
execute
end
end
end
app/views/admin/application_settings/_form.html.haml
View file @
4c058f2e
...
@@ -22,9 +22,8 @@
...
@@ -22,9 +22,8 @@
.form-group
.form-group
=
f
.
label
:restricted_visibility_levels
,
class:
'control-label col-sm-2'
=
f
.
label
:restricted_visibility_levels
,
class:
'control-label col-sm-2'
.col-sm-10
.col-sm-10
-
data_attrs
=
{
toggle:
'buttons'
}
.btn-group
{
data:
data_attrs
}
-
restricted_level_checkboxes
(
'restricted-visibility-help'
).
each
do
|
level
|
-
restricted_level_checkboxes
(
'restricted-visibility-help'
).
each
do
|
level
|
.checkbox
=
level
=
level
%span
.help-block
#restricted-visibility-help
%span
.help-block
#restricted-visibility-help
Selected levels cannot be used by non-admin users for projects or snippets.
Selected levels cannot be used by non-admin users for projects or snippets.
...
...
app/views/groups/issues.html.haml
View file @
4c058f2e
...
@@ -3,7 +3,8 @@
...
@@ -3,7 +3,8 @@
-
if
current_user
-
if
current_user
=
auto_discovery_link_tag
(
:atom
,
url_for
(
params
.
merge
(
format: :atom
,
private_token:
current_user
.
private_token
)),
title:
"
#{
@group
.
name
}
issues"
)
=
auto_discovery_link_tag
(
:atom
,
url_for
(
params
.
merge
(
format: :atom
,
private_token:
current_user
.
private_token
)),
title:
"
#{
@group
.
name
}
issues"
)
.top-area
-
if
group_issues
(
@group
).
exists?
.top-area
=
render
'shared/issuable/nav'
,
type: :issues
=
render
'shared/issuable/nav'
,
type: :issues
.nav-controls
.nav-controls
-
if
current_user
-
if
current_user
...
@@ -13,14 +14,16 @@
...
@@ -13,14 +14,16 @@
Subscribe
Subscribe
=
render
'shared/new_project_item_select'
,
path:
'issues/new'
,
label:
"New Issue"
=
render
'shared/new_project_item_select'
,
path:
'issues/new'
,
label:
"New Issue"
=
render
'shared/issuable/filter'
,
type: :issues
=
render
'shared/issuable/filter'
,
type: :issues
.row-content-block.second-block
.row-content-block.second-block
Only issues from
Only issues from the
%strong
#{
@group
.
name
}
%strong
#{
@group
.
name
}
group are listed here.
group are listed here.
-
if
current_user
-
if
current_user
To see all issues you should visit
#{
link_to
'dashboard'
,
issues_dashboard_path
}
page.
To see all issues you should visit
#{
link_to
'dashboard'
,
issues_dashboard_path
}
page.
.prepend-top-default
.prepend-top-default
=
render
'shared/issues'
=
render
'shared/issues'
-
else
=
render
'shared/empty_states/issues'
,
project_select_button:
true
app/views/projects/issues/_issues.html.haml
View file @
4c058f2e
%ul
.content-list.issues-list.issuable-list
%ul
.content-list.issues-list.issuable-list
=
render
partial:
"projects/issues/issue"
,
collection:
@issues
=
render
partial:
"projects/issues/issue"
,
collection:
@issues
-
if
@issues
.
blank?
-
if
@issues
.
blank?
%li
=
render
'shared/empty_states/issues'
.nothing-here-block
No issues to show
-
if
@issues
.
present?
-
if
@issues
.
present?
=
paginate
@issues
,
theme:
"gitlab"
=
paginate
@issues
,
theme:
"gitlab"
app/views/projects/issues/index.html.haml
View file @
4c058f2e
...
@@ -10,8 +10,8 @@
...
@@ -10,8 +10,8 @@
-
if
current_user
-
if
current_user
=
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"
)
%div
{
class:
(
container_class
)
}
-
if
project_issues
(
@project
).
exists?
-
if
@project
.
issues
.
any?
%div
{
class:
(
container_class
)
}
.top-area
.top-area
=
render
'shared/issuable/nav'
,
type: :issues
=
render
'shared/issuable/nav'
,
type: :issues
.nav-controls
.nav-controls
...
@@ -36,21 +36,5 @@
...
@@ -36,21 +36,5 @@
=
render
'issues'
=
render
'issues'
-
if
new_issue_email
-
if
new_issue_email
=
render
'issue_by_email'
,
email:
new_issue_email
=
render
'issue_by_email'
,
email:
new_issue_email
-
else
-
else
.blank-state.blank-state-welcome
=
render
'shared/empty_states/issues'
,
button_path:
new_namespace_project_issue_path
(
@project
.
namespace
,
@project
)
%h2
.blank-state-title.blank-state-welcome-title
Welcome to GitLab Issues
%p
.blank-state-text
Code, test, and deploy together
.blank-state
.blank-state-icon
=
custom_icon
(
"issues"
,
size:
50
)
%h3
.blank-state-title
You don't have any issues right now.
%p
.blank-state-text
Issues are the best way to track your project progress
-
if
can?
current_user
,
:create_issue
,
@project
=
link_to
new_namespace_project_issue_path
(
@project
.
namespace
,
@project
),
class:
"btn btn-new"
,
title:
"New Issue"
,
id:
"new_issue_link"
do
New Issue
-
if
new_issue_email
=
render
'issue_by_email'
,
email:
new_issue_email
app/views/shared/_issues.html.haml
View file @
4c058f2e
...
@@ -13,4 +13,4 @@
...
@@ -13,4 +13,4 @@
=
render
'projects/issues/issue'
,
issue:
issue
=
render
'projects/issues/issue'
,
issue:
issue
=
paginate
@issues
,
theme:
"gitlab"
=
paginate
@issues
,
theme:
"gitlab"
-
else
-
else
.nothing-here-block
No issues to show
=
render
'shared/empty_states/issues'
app/views/shared/empty_states/_issues.html.haml
0 → 100644
View file @
4c058f2e
-
button_path
=
local_assigns
.
fetch
(
:button_path
,
false
)
-
project_select_button
=
local_assigns
.
fetch
(
:project_select_button
,
false
)
-
has_button
=
button_path
||
project_select_button
.row.empty-state
.pull-right.col-xs-12
{
class:
"#{'col-sm-6' if has_button}"
}
.svg-content
=
render
'shared/empty_states/icons/issues.svg'
.col-xs-12
{
class:
"#{'col-sm-6' if has_button}"
}
.text-content
-
if
has_button
%h4
The Issue Tracker is a good place to add things that need to be improved or solved in a project!
%p
An issue can be a bug, a todo or a feature request that needs to be discussed in a project.
Besides, issues are searchable and filterable.
-
if
project_select_button
=
render
'shared/new_project_item_select'
,
path:
'issues/new'
,
label:
'New issue'
-
else
=
link_to
'New issue'
,
button_path
,
class:
'btn btn-new'
,
title:
'New issue'
,
id:
'new_issue_link'
-
else
%h4
.text-center
There are no issues to show.
app/views/shared/empty_states/icons/_issues.svg
0 → 100644
View file @
4c058f2e
<svg
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"790 253 425 254"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
><defs><rect
id=
"a"
width=
"25"
height=
"8.9423"
x=
"25"
y=
"88.4231"
rx=
"2"
/><mask
id=
"h"
width=
"25"
height=
"8.9423"
x=
"0"
y=
"0"
fill=
"#fff"
><use
xlink:href=
"#a"
/></mask><path
id=
"b"
d=
"M16 29.8013h43V91.404H16z"
/><mask
id=
"i"
width=
"43"
height=
"61.6026"
x=
"0"
y=
"0"
fill=
"#fff"
><use
xlink:href=
"#b"
/></mask><path
id=
"c"
d=
"M57 60.6026l13.1868 9.3587c.449.3188.876 1.0142.9556 1.5673l3.5747 24.863c.1564 1.0866-.253 1.2572-.912.384L66 86.436l-9-6.9552"
/><mask
id=
"j"
width=
"17.7504"
height=
"36.7306"
x=
"0"
y=
"0"
fill=
"#fff"
><use
xlink:href=
"#c"
/></mask><path
id=
"d"
d=
"M.2496 60.6026l13.1868 9.3587c.449.3188.876 1.0142.9556 1.5673l3.5748 24.863c.1562 1.0866-.2532 1.2572-.9123.384L9.2495 86.436l-9-6.9552"
/><mask
id=
"k"
width=
"17.7504"
height=
"36.7306"
x=
"0"
y=
"0"
fill=
"#fff"
><use
xlink:href=
"#d"
/></mask><path
id=
"e"
d=
"M16 29.8013L35.786 1.4556c.9466-1.3562 2.4792-1.3594 3.428 0L59 29.8013"
/><mask
id=
"l"
width=
"43"
height=
"29.364"
x=
"0"
y=
"0"
fill=
"#fff"
><use
xlink:href=
"#e"
/></mask><rect
id=
"f"
width=
"26.2653"
height=
"35.5088"
x=
"6.3673"
rx=
"13.1327"
/><mask
id=
"m"
width=
"26.2653"
height=
"35.5088"
x=
"0"
y=
"0"
fill=
"#fff"
><use
xlink:href=
"#f"
/></mask><rect
id=
"g"
width=
"16.8367"
height=
"22.386"
x=
"4.0816"
rx=
"8.4184"
/><mask
id=
"n"
width=
"16.8367"
height=
"22.386"
x=
"0"
y=
"0"
fill=
"#fff"
><use
xlink:href=
"#g"
/></mask></defs><g
fill=
"none"
fill-rule=
"evenodd"
transform=
"translate(792.000000, 255.000000)"
><g
fill=
"#FDE5D8"
><path
d=
"M225.4372 59.5866c-.059.5897-.1323 1.2698-.2203 2.0305-.252 2.1764-.5717 4.559-.9653 7.07-.1283.8185.4312 1.586 1.2496 1.7143.8185.1283 1.586-.4312 1.7142-1.2497.4-2.5528.7253-4.975.9815-7.1898.0898-.7762.1646-1.4715.2252-2.0762.0366-.365.0604-.62.0722-.7557.0717-.8254-.539-1.5526-1.3645-1.6244-.8254-.0717-1.5526.539-1.6244 1.3645-.0106.1228-.0332.365-.0684.7166zM219.8738 87.9413c-.2563.7878.1745 1.6342.9622 1.8906.7878.2562 1.6342-.1745 1.8906-.9623.975-2.9962 1.849-6.2827 2.6287-9.797.1794-.8086-.3308-1.6097-1.1395-1.789-.8088-.1795-1.61.3306-1.7893 1.1394-.76 3.4256-1.6096 6.6206-2.5527 9.5183zM209.9266 103.166c-.781.2766-1.1897 1.134-.913 1.9148.2765.781 1.1338 1.1897 1.9147.913 2.9792-1.0552 5.5414-3.679 7.7796-7.6272.4084-.7207.1554-1.636-.5653-2.0447-.7207-.4086-1.636-.1556-2.0446.565-1.9152 3.3786-3.9945 5.508-6.1714 6.279zM190.439 107.5834c-.7636.3214-1.122 1.201-.8005 1.9645.3215.7634 1.201 1.1217 1.9645.8003 3.1204-1.314 6.2717-2.3243 9.258-2.9816.809-.178 1.3205-.9783 1.1424-1.7874-.178-.809-.9783-1.3205-1.7874-1.1424-3.1666.697-6.4914 1.763-9.777 3.1464zM173.231 118.6257c-.6005.5706-.6248 1.52-.0542 2.1206s1.52.625 2.1206.0543c2.282-2.1682 4.8656-4.162 7.6758-5.946.6994-.444.9064-1.371.4624-2.0704-.444-.6994-1.371-.9064-2.0704-.4624-2.9698 1.8854-5.707 3.998-8.1342 6.304zM162.4543 136.2492c-.2022.8034.2852 1.6185 1.0885 1.8207.8034.202 1.6186-.2853 1.8208-1.0886.7688-3.0547 2.0416-5.9768 3.781-8.7486.4403-.7018.2284-1.6276-.4733-2.068-.7017-.4402-1.6275-.2283-2.068.4734-1.9026 3.0322-3.3016 6.2438-4.149 9.611zM162.1894 156.693c.1036.822.854 1.4042 1.676 1.3006.8218-.1037 1.404-.854 1.3004-1.676-.367-2.9097-.5796-6.1364-.6444-9.8167-.0146-.8284-.698-1.488-1.5262-1.4734-.8283.0146-1.488.698-1.4733 1.5262.0665 3.783.286 7.1162.6674 10.1393zM168.408 176.1653c.3876.7322 1.2953 1.0117 2.0275.6242.7322-.3875 1.0117-1.2952.6242-2.0274-1.6733-3.162-2.9028-5.9954-3.8477-8.943-.2528-.789-1.0973-1.2235-1.8862-.9706-.789.2528-1.2234 1.0974-.9706 1.8863 1.0025 3.1275 2.3014 6.121 4.053 9.4306zM175.9738 188.9357c1.056 1.7165 1.8892 3.0806 2.7307 4.474.4283.709 1.3503.9368 2.0595.5085.709-.4283.9368-1.3503.5085-2.0595-.8464-1.4014-1.6836-2.772-2.7434-4.4948.0808.131-1.9545-3.1733-2.486-4.0405-.4328-.7063-1.3563-.928-2.0627-.495-.7063.4327-.928 1.3563-.495 2.0626.5334.8707 2.5708 4.1785 2.4885 4.0447zM184.83 211.3822c.011.8284.6912 1.491 1.5196 1.4803.8283-.0108 1.491-.691 1.4803-1.5194-.046-3.519-.6604-6.996-1.8367-10.3262-.276-.7812-1.1328-1.1908-1.914-.915-.781.276-1.1906 1.133-.9147 1.914 1.0668 3.0206 1.624 6.1733 1.6655 9.3664zM179.3467 229.4095c-.459.6896-.2723 1.6208.4173 2.08.6896.459 1.6208.272 2.08-.4175 1.966-2.9533 3.4756-6.124 4.4877-9.4165.2434-.7918-.2012-1.631-.993-1.8745-.792-.2434-1.6312.2012-1.8746.993-.9264 3.014-2.3108 5.922-4.1173 8.6355z"
/></g><g
transform=
"translate(336.866969, 147.225953) rotate(-300.000000) translate(-336.866969, -147.225953) translate(299.366969, 69.725953)"
><path
stroke=
"#FDE5D8"
stroke-width=
"3"
d=
"M19 154l10-52.6603m16 0L55 154"
stroke-linecap=
"round"
/><rect
width=
"3"
height=
"38.75"
x=
"35"
y=
"99.3526"
fill=
"#FDE5D8"
rx=
"1.5"
/><use
fill=
"#FFF"
stroke=
"#FDE5D8"
stroke-width=
"6"
mask=
"url(#h)"
xlink:href=
"#a"
/><use
stroke=
"#FDE5D8"
stroke-width=
"6"
mask=
"url(#i)"
xlink:href=
"#b"
/><use
stroke=
"#FDE5D8"
stroke-width=
"6"
mask=
"url(#j)"
xlink:href=
"#c"
/><use
stroke=
"#FDE5D8"
stroke-width=
"6"
mask=
"url(#k)"
transform=
"translate(9.124810, 78.967887) scale(-1, 1) translate(-9.124810, -78.967887)"
xlink:href=
"#d"
/><use
stroke=
"#FDE5D8"
stroke-width=
"6"
mask=
"url(#l)"
xlink:href=
"#e"
/><ellipse
cx=
"28.5"
cy=
"82.9583"
fill=
"#FC8A51"
rx=
"1.5"
ry=
"1.4904"
/><ellipse
cx=
"34.5"
cy=
"82.9583"
fill=
"#FC8A51"
rx=
"1.5"
ry=
"1.4904"
/><ellipse
cx=
"40.5"
cy=
"82.9583"
fill=
"#FC8A51"
rx=
"1.5"
ry=
"1.4904"
/><ellipse
cx=
"46.5"
cy=
"82.9583"
fill=
"#FC8A51"
rx=
"1.5"
ry=
"1.4904"
/><ellipse
cx=
"37.5"
cy=
"55.1378"
stroke=
"#FDE5D8"
stroke-width=
"3"
rx=
"10.5"
ry=
"10.4327"
/><ellipse
cx=
"37.5"
cy=
"55.1378"
stroke=
"#FDE5D8"
stroke-width=
"3"
rx=
"5.5"
ry=
"5.4647"
/></g><path
fill=
"#EEE"
d=
"M96.0426 37.2106c-.1512 1.6874.0814 3.815.997 6.146.2046.5207.7936.7774 1.3155.5733.522-.2043.7793-.792.5747-1.313-.7912-2.0142-.99-3.832-.865-5.226.0102-.1143.0195-.186.0238-.2113.092-.552-.2814-1.0738-.8344-1.1658-.553-.092-1.076.2808-1.168.8326-.0126.075-.0285.1975-.0434.364zM107.5302 52.8934c.4913.239 1.098.0626 1.355-.394.2572-.4566.0674-1.0205-.4238-1.2595-1.8668-.9083-3.4584-1.9152-4.7943-3.0075-.4162-.3404-1.0506-.3026-1.4168.0843-.3663.387-.3256.9766.0907 1.317 1.4583 1.1925 3.1828 2.2835 5.1893 3.2596zM120.661 58.9533c.5467.171 1.1257-.1425 1.2933-.7003.1675-.5577-.1397-1.1484-.6864-1.3194-3.0283-.9472-4.1984-1.3178-5.915-1.8824-.544-.179-1.1274.126-1.3028.6813-.1754.5552.1235 1.1504.6677 1.3294 1.729.5686 2.9053.941 5.943 1.8913zM132.5954 62.881c.449.246 1.022.0983 1.2798-.33.258-.4282.103-.975-.3458-1.221-1.4942-.819-3.1928-1.545-5.2675-2.2746-.486-.1708-1.025.0664-1.204.53-.179.4634.0697.9776.5555 1.1484 1.9832.6973 3.5892 1.3838 4.982 2.1472zM141.9774 73.383c.205.4938.809.742 1.3485.5543.5395-.1878.8106-.7404.6055-1.2344-.8504-2.0482-1.853-3.7962-3.0375-5.3046-.337-.429-.99-.527-1.4588-.2184-.4687.3085-.5755.9064-.2386 1.3354 1.0743 1.368 1.9926 2.9692 2.7808 4.8675zM144.609 87.025c.0183.5535.5682.99 1.2283.9746.66-.0153 1.1805-.4764 1.1622-1.03-.0725-2.2033-.2693-4.206-.622-6.1198-.1008-.5473-.7115-.9225-1.3642-.838-.6526.0846-1.1.597-.999 1.1442.336 1.8248.5248 3.745.5947 5.869z"
/><path
fill=
"#E5E5E5"
d=
"M144.1423 95.7297c-.0863 2.5442-.1214 3.769-.1422 5.2548-.0076.5523.3963 1.007.9022 1.0154.506.0083.9223-.4326.93-.985.0205-1.4668.0554-2.6812.1412-5.2113l.026-.7667c.0185-.552-.3764-1.016-.882-1.0363-.5056-.0203-.9306.411-.949.963l-.026.766zM144.939 115.201c.1196.5447.6727.8925 1.2355.7768.5628-.1157.922-.651.8026-1.1957-.417-1.9-.7104-3.84-.8976-5.8637-.0513-.5545-.5574-.964-1.1305-.9142-.573.0497-.996.5396-.9448 1.0942.1944 2.1015.4998 4.121.9348 6.103zM149.995 127.5248c.296.454.9528.61 1.4668.3485.514-.2614.6907-.8413.3947-1.2952-1.0787-1.6535-2.0046-3.3145-2.7896-4.9916-.2266-.484-.8547-.7143-1.403-.5142-.548.2-.809.7546-.5823 1.2387.8208 1.7534 1.788 3.4886 2.9134 5.2138zM154.8088 135.226c1.0587 1.232 2.242 2.4097 3.543 3.531.404.3482 1.0276.3186 1.393-.066.3657-.3843.3346-.978-.0692-1.3262-1.2296-1.0597-2.345-2.17-3.3402-3.328-.195-.227-.3872-.4542-.5764-.6813-.3385-.4063-.9588-.4744-1.3856-.1522-.4267.3223-.4983.913-.1598 1.3192.1954.2346.3938.469.5952.7034zM170.634 146.9026c.4806.242 1.0517.0176 1.2758-.501.224-.5188.0162-1.1354-.4642-1.3773-1.7563-.8842-3.422-1.8432-4.9857-2.8726-.4527-.298-1.0434-.1435-1.3195.3452-.276.4885-.133 1.126.3198 1.424 1.6256 1.0704 3.354 2.0655 5.1738 2.9816z"
/><path
fill=
"#EEE"
d=
"M184.7334 151.9698c.5527.1412 1.1072-.2262 1.2385-.8206.1312-.5944-.2104-1.1908-.763-1.332-2.001-.5114-3.9602-1.1002-5.8632-1.763-.5405-.1883-1.1205.1303-1.2955.7115-.175.5813.1212 1.205.6616 1.3934 1.9557.6813 3.9676 1.286 6.0214 1.8108zM197.9337 153.9977c.5532.04 1.0297-.445 1.0643-1.083.0346-.6383-.3857-1.188-.939-1.228-1.973-.1424-3.952-.3682-5.9206-.676-.5492-.086-1.0547.358-1.1292.9917-.0744.6336.3105 1.2168.8597 1.3027 2.0164.3154 4.0433.5467 6.0647.6927zM212.1213 152.6062c.5493-.055.9392-.4576.871-.8994-.0684-.442-.569-.7555-1.1184-.7006-1.9168.1917-3.893.3194-5.9104.382-.553.0173-.9842.392-.9628.8368.0213.445.487.7916 1.0402.7744 2.0737-.0645 4.1064-.1957 6.0803-.3932zM226.3665 149.949c.5293-.22.7755-.8162.5497-1.332-.2257-.5155-.838-.7553-1.3672-.5354-1.7815.74-3.7143 1.3827-5.7772 1.923-.5558.1454-.8852.7023-.7358 1.2436.1494.5414.721.8623 1.2768.7168 2.1547-.5643 4.1797-1.2376 6.0537-2.016zM237.8486 140.4168c.292-.4344.1488-1.006-.3202-1.2766-.469-.2706-1.086-.1378-1.3782.2967-.9575 1.4237-2.225 2.7337-3.7847 3.9202-.427.3248-.4888.9087-.138 1.3042.3505.3955.981.4528 1.408.128 1.723-1.3107 3.1363-2.7714 4.213-4.3726zM245.6725 130.6874c.3987-.3503.439-.9587.09-1.3588-.3492-.4-.9554-.4405-1.3542-.0902-1.5048 1.3222-2.8978 2.7094-4.1698 4.1635-.3497.3995-.3102 1.008.088 1.3587.3983.3508 1.0046.3113 1.3542-.0884 1.2153-1.389 2.5487-2.717 3.9918-3.985zM257.4814 122.8697c.476-.2568.657-.8577.4047-1.342-.2523-.4843-.8428-.6687-1.3188-.4118-1.7682.9542-3.4795 1.973-5.1228 3.0587-.4518.2985-.5803.9133-.287 1.373.2934.46.8975.5906 1.3494.292 1.5938-1.0528 3.2557-2.0423 4.9746-2.97zM270.276 116.9216c.5503-.1682.8513-.724.6723-1.241-.179-.5173-.77-.8003-1.3204-.632-1.9296.5898-3.932 1.2728-5.975 2.054-.536.205-.7936.7797-.5754 1.2835.218.504.8294.746 1.3654.541 1.9947-.7628 3.95-1.4298 5.833-2.0054z"
/><circle
cx=
"145"
cy=
"90"
r=
"5"
fill=
"#FFF"
stroke=
"#EEE"
stroke-width=
"2"
/><circle
cx=
"238"
cy=
"138"
r=
"5"
fill=
"#FFF"
stroke=
"#EEE"
stroke-width=
"2"
/><path
stroke=
"#B5A7DD"
stroke-width=
"3"
d=
"M20.0605 56s-17.4698 33-12 53c5.4697 20 17 32 38 44S78.5 148 107 159s29 43 29 43"
stroke-linecap=
"round"
stroke-dasharray=
"8 10"
/><g
stroke=
"#EEE"
stroke-width=
"3"
transform=
"translate(108.000000, 173.000000)"
><path
fill=
"#FFF"
d=
"M154 77c0-42.526-34.474-77-77-77S0 34.474 0 77"
stroke-linecap=
"round"
/><circle
cx=
"108"
cy=
"41"
r=
"16"
/><circle
cx=
"42.5"
cy=
"30.5"
r=
"8.5"
/><circle
cx=
"22"
cy=
"58"
r=
"5"
/></g><g><g
fill=
"#FC8A51"
transform=
"translate(235.917801, 27.746228) rotate(-345.000000) translate(-235.917801, -27.746228) translate(216.417801, 4.246228) translate(19.897959, -0.000000)"
><path
d=
"M.398 11.2982h2.3877c0-4.234 3.3853-7.6666 7.5612-7.6666v-2.421C4.8522 1.2105.398 5.727.398 11.298z"
/><ellipse
cx=
"10.7449"
cy=
"2.0175"
rx=
"1.9898"
ry=
"2.0175"
/></g><g
fill=
"#FC8A51"
transform=
"translate(235.917801, 27.746228) rotate(-345.000000) translate(-235.917801, -27.746228) translate(216.417801, 4.246228) translate(12.602041, 6.000000) scale(-1, 1) translate(-12.602041, -6.000000) translate(6.102041, -0.000000)"
><path
d=
"M.398 11.2982h2.3877c0-4.234 3.3853-7.6666 7.5612-7.6666v-2.421C4.8522 1.2105.398 5.727.398 11.298z"
/><ellipse
cx=
"10.7449"
cy=
"2.0175"
rx=
"1.9898"
ry=
"2.0175"
/></g><g
transform=
"translate(235.917801, 27.746228) rotate(-345.000000) translate(-235.917801, -27.746228) translate(216.417801, 4.246228) translate(0.000000, 10.491228)"
><g
fill=
"#FC8A51"
transform=
"translate(29.448980, 11.298246)"
><rect
width=
"7.9592"
height=
"2"
x=
".7959"
y=
"8.8772"
rx=
"1"
/><rect
width=
"7.9592"
height=
"2"
x=
".7959"
y=
"16.1404"
transform=
"translate(4.775510, 17.140351) rotate(-345.000000) translate(-4.775510, -17.140351)"
rx=
"1"
/><rect
width=
"7.9592"
height=
"2"
x=
".9151"
y=
"1.8072"
transform=
"translate(4.894667, 2.807217) rotate(-15.000000) translate(-4.894667, -2.807217)"
rx=
"1"
/></g><g
fill=
"#FC8A51"
transform=
"translate(5.051020, 21.298246) scale(-1, 1) translate(-5.051020, -21.298246) translate(0.551020, 11.298246)"
><rect
width=
"7.9592"
height=
"2"
x=
".7959"
y=
"8.8772"
rx=
"1"
/><rect
width=
"7.9592"
height=
"2"
x=
".7959"
y=
"16.1404"
transform=
"translate(4.775510, 17.140351) rotate(-345.000000) translate(-4.775510, -17.140351)"
rx=
"1"
/><rect
width=
"7.9592"
height=
"2"
x=
".9151"
y=
"1.8072"
transform=
"translate(4.894667, 2.807217) rotate(-15.000000) translate(-4.894667, -2.807217)"
rx=
"1"
/></g><use
stroke=
"#FC8A51"
stroke-width=
"6"
mask=
"url(#m)"
xlink:href=
"#f"
/><path
fill=
"#FC8A51"
d=
"M7.1633 12.9123H31.041v3H7.1632z"
/></g></g><g><g
fill=
"#EEE"
transform=
"translate(92.956359, 18.724125) scale(-1, 1) rotate(-345.000000) translate(-92.956359, -18.724125) translate(80.456359, 3.724125) translate(12.755102, 0.000000)"
><path
d=
"M.255 7.1228h1.5307c0-2.6694 2.17-4.8333 4.847-4.8333V.7632C3.1104.7632.255 3.6105.255 7.1228z"
/><ellipse
cx=
"6.8878"
cy=
"1.2719"
rx=
"1.2755"
ry=
"1.2719"
/></g><g
fill=
"#EEE"
transform=
"translate(92.956359, 18.724125) scale(-1, 1) rotate(-345.000000) translate(-92.956359, -18.724125) translate(80.456359, 3.724125) translate(7.744898, 4.000000) scale(-1, 1) translate(-7.744898, -4.000000) translate(3.244898, 0.000000)"
><path
d=
"M.255 7.1228h1.5307c0-2.6694 2.17-4.8333 4.847-4.8333V.7632C3.1104.7632.255 3.6105.255 7.1228z"
/><ellipse
cx=
"6.8878"
cy=
"1.2719"
rx=
"1.2755"
ry=
"1.2719"
/></g><g
transform=
"translate(92.956359, 18.724125) scale(-1, 1) rotate(-345.000000) translate(-92.956359, -18.724125) translate(80.456359, 3.724125) translate(0.000000, 6.614035)"
><g
fill=
"#EEE"
transform=
"translate(18.877551, 7.122807)"
><rect
width=
"5.102"
height=
"2"
x=
".5102"
y=
"5.5965"
rx=
"1"
/><rect
width=
"5.102"
height=
"2"
x=
".5102"
y=
"10.1754"
transform=
"translate(3.061224, 11.175439) rotate(-345.000000) translate(-3.061224, -11.175439)"
rx=
"1"
/><rect
width=
"5.102"
height=
"2"
x=
".5866"
y=
"1.1393"
transform=
"translate(3.137607, 2.139333) rotate(-15.000000) translate(-3.137607, -2.139333)"
rx=
"1"
/></g><g
fill=
"#EEE"
transform=
"translate(3.122449, 13.622807) scale(-1, 1) translate(-3.122449, -13.622807) translate(0.122449, 7.122807)"
><rect
width=
"5.102"
height=
"2"
x=
".5102"
y=
"5.5965"
rx=
"1"
/><rect
width=
"5.102"
height=
"2"
x=
".5102"
y=
"10.1754"
transform=
"translate(3.061224, 11.175439) rotate(-345.000000) translate(-3.061224, -11.175439)"
rx=
"1"
/><rect
width=
"5.102"
height=
"2"
x=
".5866"
y=
"1.1393"
transform=
"translate(3.137607, 2.139333) rotate(-15.000000) translate(-3.137607, -2.139333)"
rx=
"1"
/></g><use
stroke=
"#EEE"
stroke-width=
"4"
mask=
"url(#n)"
xlink:href=
"#g"
/><path
fill=
"#EEE"
d=
"M4.5918 8.1404h15.306v2H4.592z"
/></g></g><g
fill=
"#FFF"
transform=
"translate(0.000000, 103.000000)"
><circle
cx=
"8.5"
cy=
"8.5"
r=
"8.5"
stroke=
"#B5A7DD"
stroke-width=
"4"
/><circle
cx=
"171.5"
cy=
"20.5"
r=
"6.5"
/></g><g><g
transform=
"translate(39.000000, 142.000000)"
><ellipse
cx=
"12.5"
cy=
"12.5"
fill=
"#FFF"
stroke=
"#6B4FBB"
stroke-width=
"4"
rx=
"12.5"
ry=
"12.5"
/><path
fill=
"#FC8A51"
d=
"M10.7322 13.475l-1.7665-1.7667c-.5873-.5873-1.5368-.587-2.1226-.0012-.5897.59-.585 1.5362.0013 2.1226l2.826 2.826.0007.0007.0006.0006c.5898.5897 1.534.587 2.118.003l6.3704-6.3703c.577-.577.5826-1.5323-.003-2.118-.59-.59-1.5343-.5873-2.1183-.0033l-5.3065 5.3065z"
/></g></g><circle
cx=
"171.5"
cy=
"122.5"
r=
"6.5"
fill=
"#FFF"
stroke=
"#FC8A51"
stroke-width=
"3"
/><circle
cx=
"22"
cy=
"52"
r=
"6"
fill=
"#FFF"
stroke=
"#B5A7DD"
stroke-width=
"3"
/><path
fill=
"#FFF"
stroke=
"#B5A7DD"
stroke-width=
"3.6"
d=
"M188.151 141.596c8.7045-7.7456 11.0126-20.9255 4.8625-31.5777-7.0208-12.1604-22.4055-16.422-34.363-9.5183-11.9572 6.9036-15.959 22.358-8.9382 34.5183 6.2353 10.8 19.068 15.3695 30.2375 11.4206l10.8992 18.8778c1.3167 2.2807 4.2302 3.063 6.5078 1.748 2.273-1.3122 3.0567-4.2295 1.74-6.51l-10.9458-18.9587zm-8.4343-4.6086c7.8576-4.5366 10.4874-14.6923 5.8738-22.6834-4.6137-7.991-14.7237-10.7915-22.5814-6.255-7.8575 4.5368-10.4873 14.6925-5.8737 22.6836 4.6137 7.991 14.7237 10.7915 22.5814 6.2548z"
/></g></svg>
changelogs/unreleased/18136-ui-for-restricting-global-visibility-levels-is-unclear.yml
0 → 100644
View file @
4c058f2e
---
title
:
Changed restricted visibility admin buttons to checkboxes
merge_request
:
7463
author
:
features/steps/project/issues/issues.rb
View file @
4c058f2e
...
@@ -62,7 +62,7 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
...
@@ -62,7 +62,7 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
end
end
step
'I click link "New Issue"'
do
step
'I click link "New Issue"'
do
click_link
"New Issue"
page
.
has_link?
(
'New Issue'
)
?
click_link
(
'New Issue'
)
:
click_link
(
'New issue'
)
end
end
step
'I click "author" dropdown'
do
step
'I click "author" dropdown'
do
...
...
spec/features/issues/filter_issues_spec.rb
View file @
4c058f2e
...
@@ -3,8 +3,8 @@ require 'rails_helper'
...
@@ -3,8 +3,8 @@ require 'rails_helper'
describe
'Filter issues'
,
feature:
true
do
describe
'Filter issues'
,
feature:
true
do
include
WaitForAjax
include
WaitForAjax
let!
(
:project
)
{
create
(
:project
)
}
let!
(
:group
)
{
create
(
:group
)
}
let!
(
:group
)
{
create
(
:group
)
}
let!
(
:project
)
{
create
(
:project
,
group:
group
)
}
let!
(
:user
)
{
create
(
:user
)}
let!
(
:user
)
{
create
(
:user
)}
let!
(
:milestone
)
{
create
(
:milestone
,
project:
project
)
}
let!
(
:milestone
)
{
create
(
:milestone
,
project:
project
)
}
let!
(
:label
)
{
create
(
:label
,
project:
project
)
}
let!
(
:label
)
{
create
(
:label
,
project:
project
)
}
...
@@ -127,7 +127,7 @@ describe 'Filter issues', feature: true do
...
@@ -127,7 +127,7 @@ describe 'Filter issues', feature: true do
expect
(
page
).
to
have_content
wontfix
.
title
expect
(
page
).
to
have_content
wontfix
.
title
end
end
find
(
'
body
'
).
click
find
(
'
.dropdown-menu-close-icon
'
).
click
expect
(
find
(
'.filtered-labels'
)).
to
have_content
(
wontfix
.
title
)
expect
(
find
(
'.filtered-labels'
)).
to
have_content
(
wontfix
.
title
)
...
@@ -135,7 +135,7 @@ describe 'Filter issues', feature: true do
...
@@ -135,7 +135,7 @@ describe 'Filter issues', feature: true do
wait_for_ajax
wait_for_ajax
find
(
'.dropdown-menu-labels a'
,
text:
label
.
title
).
click
find
(
'.dropdown-menu-labels a'
,
text:
label
.
title
).
click
find
(
'
body
'
).
click
find
(
'
.dropdown-menu-close-icon
'
).
click
expect
(
find
(
'.filtered-labels'
)).
to
have_content
(
wontfix
.
title
)
expect
(
find
(
'.filtered-labels'
)).
to
have_content
(
wontfix
.
title
)
expect
(
find
(
'.filtered-labels'
)).
to
have_content
(
label
.
title
)
expect
(
find
(
'.filtered-labels'
)).
to
have_content
(
label
.
title
)
...
@@ -150,8 +150,8 @@ describe 'Filter issues', feature: true do
...
@@ -150,8 +150,8 @@ describe 'Filter issues', feature: true do
it
"selects and unselects `won't fix`"
do
it
"selects and unselects `won't fix`"
do
find
(
'.dropdown-menu-labels a'
,
text:
wontfix
.
title
).
click
find
(
'.dropdown-menu-labels a'
,
text:
wontfix
.
title
).
click
find
(
'.dropdown-menu-labels a'
,
text:
wontfix
.
title
).
click
find
(
'.dropdown-menu-labels a'
,
text:
wontfix
.
title
).
click
# Close label dropdown to load
find
(
'
body
'
).
click
find
(
'
.dropdown-menu-close-icon
'
).
click
expect
(
page
).
not_to
have_css
(
'.filtered-labels'
)
expect
(
page
).
not_to
have_css
(
'.filtered-labels'
)
end
end
end
end
...
...
spec/features/issues_spec.rb
View file @
4c058f2e
...
@@ -371,10 +371,12 @@ describe 'Issues', feature: true do
...
@@ -371,10 +371,12 @@ describe 'Issues', feature: true do
describe
'when I want to reset my incoming email token'
do
describe
'when I want to reset my incoming email token'
do
let
(
:project1
)
{
create
(
:project
,
namespace:
@user
.
namespace
)
}
let
(
:project1
)
{
create
(
:project
,
namespace:
@user
.
namespace
)
}
let
(
:issue
)
{
create
(
:issue
,
project:
project1
)
}
before
do
before
do
allow
(
Gitlab
.
config
.
incoming_email
).
to
receive
(
:enabled
).
and_return
(
true
)
allow
(
Gitlab
.
config
.
incoming_email
).
to
receive
(
:enabled
).
and_return
(
true
)
project1
.
team
<<
[
@user
,
:master
]
project1
.
team
<<
[
@user
,
:master
]
project1
.
issues
<<
issue
visit
namespace_project_issues_path
(
@user
.
namespace
,
project1
)
visit
namespace_project_issues_path
(
@user
.
namespace
,
project1
)
end
end
...
@@ -597,7 +599,10 @@ describe 'Issues', feature: true do
...
@@ -597,7 +599,10 @@ describe 'Issues', feature: true do
describe
'new issue by email'
do
describe
'new issue by email'
do
shared_examples
'show the email in the modal'
do
shared_examples
'show the email in the modal'
do
let
(
:issue
)
{
create
(
:issue
,
project:
project
)
}
before
do
before
do
project
.
issues
<<
issue
stub_incoming_email_setting
(
enabled:
true
,
address:
"p+%{key}@gl.ab"
)
stub_incoming_email_setting
(
enabled:
true
,
address:
"p+%{key}@gl.ab"
)
visit
namespace_project_issues_path
(
project
.
namespace
,
project
)
visit
namespace_project_issues_path
(
project
.
namespace
,
project
)
...
...
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