Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
GitLab
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
projects.thm.de
GitLab
Commits
3629dc33
Commit
3629dc33
authored
Apr 26, 2018
by
Bob Van Landuyt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Display terms to a user
When terms are present, they can be viewed on `/-/users/terms`.
parent
17b25bd2
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
135 additions
and
0 deletions
+135
-0
app/assets/stylesheets/framework.scss
app/assets/stylesheets/framework.scss
+1
-0
app/assets/stylesheets/framework/terms.scss
app/assets/stylesheets/framework/terms.scss
+37
-0
app/controllers/users/terms_controller.rb
app/controllers/users/terms_controller.rb
+19
-0
app/views/layouts/terms.html.haml
app/views/layouts/terms.html.haml
+30
-0
app/views/users/terms/index.html.haml
app/views/users/terms/index.html.haml
+2
-0
config/routes/user.rb
config/routes/user.rb
+7
-0
spec/controllers/users/terms_controller_spec.rb
spec/controllers/users/terms_controller_spec.rb
+23
-0
spec/features/users/terms_spec.rb
spec/features/users/terms_spec.rb
+16
-0
No files found.
app/assets/stylesheets/framework.scss
View file @
3629dc33
...
...
@@ -61,3 +61,4 @@
@import
'framework/stacked_progress_bar'
;
@import
'framework/ci_variable_list'
;
@import
'framework/feature_highlight'
;
@import
'framework/terms'
;
app/assets/stylesheets/framework/terms.scss
0 → 100644
View file @
3629dc33
.terms
{
.panel
{
.panel-heading
{
display
:
-
webkit-flex
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
.title
{
display
:
-
webkit-flex
;
display
:
flex
;
align-items
:
center
;
padding
:
2px
8px
;
margin
:
5px
2px
5px
-8px
;
border-radius
:
4px
;
.logo-text
{
width
:
55px
;
height
:
24px
;
margin
:
0
15px
;
}
}
.navbar-collapse
{
padding-right
:
0
;
}
.nav
li
a
{
color
:
$theme-gray-700
;
}
}
.panel-content
{
padding
:
0
$gl-padding
;
}
}
}
app/controllers/users/terms_controller.rb
0 → 100644
View file @
3629dc33
module
Users
class
TermsController
<
ApplicationController
before_action
:terms
layout
'terms'
def
index
end
private
def
terms
unless
@terms
=
Gitlab
::
CurrentSettings
.
current_application_settings
.
latest_terms
redirect_to
request
.
referer
||
root_path
end
end
end
end
app/views/layouts/terms.html.haml
0 → 100644
View file @
3629dc33
!!! 5
-
@hide_breadcrumbs
=
true
%html
{
lang:
I18n
.
locale
,
class:
page_class
}
=
render
"layouts/head"
%body
{
class:
"#{user_application_theme} #{@body_class}"
,
data:
{
page:
body_data_page
}
}
=
render
'peek/bar'
.layout-page.terms
.content-wrapper
%div
{
class:
"#{(container_class unless @no_container)} #{@content_class}"
}
.content
{
id:
"content-body"
}
.panel.panel-default
.panel-heading
.title
=
brand_header_logo
-
logo_text
=
brand_header_logo_type
-
if
logo_text
.
present?
%span
.logo-text.hidden-xs
=
logo_text
-
if
header_link?
(
:user_dropdown
)
.navbar-collapse.collapse
%ul
.nav.navbar-nav
%li
.header-user.dropdown
=
link_to
current_user
,
class:
user_dropdown_class
,
data:
{
toggle:
"dropdown"
}
do
=
image_tag
avatar_icon_for_user
(
current_user
,
23
),
width:
23
,
height:
23
,
class:
"header-user-avatar qa-user-avatar"
=
sprite_icon
(
'angle-down'
,
css_class:
'caret-down'
)
.dropdown-menu-nav.dropdown-menu-align-right
=
render
'layouts/header/current_user_dropdown'
=
yield
=
yield
:scripts_body
app/views/users/terms/index.html.haml
0 → 100644
View file @
3629dc33
.panel-content.rendered-terms
=
markdown_field
(
@terms
,
:terms
)
config/routes/user.rb
View file @
3629dc33
...
...
@@ -27,6 +27,13 @@ def override_omniauth(provider, controller, path_prefix = '/users/auth')
get
'/users/almost_there'
=>
'confirmations#almost_there'
end
scope
'-/users'
,
module: :users
do
resources
:terms
,
only:
[
:index
]
do
post
:accept
,
on: :member
post
:decline
,
on: :member
end
end
scope
(
constraints:
{
username:
Gitlab
::
PathRegex
.
root_namespace_route_regex
})
do
scope
(
path:
'users/:username'
,
as: :user
,
...
...
spec/controllers/users/terms_controller_spec.rb
0 → 100644
View file @
3629dc33
require
'spec_helper'
describe
Users
::
TermsController
do
let
(
:user
)
{
create
(
:user
)
}
before
do
sign_in
user
end
describe
'GET #index'
do
it
'redirects when no terms exist'
do
get
:index
expect
(
response
).
to
have_gitlab_http_status
(
:redirect
)
end
it
'shows terms when they exist'
do
create
(
:term
)
expect
(
response
).
to
have_gitlab_http_status
(
:success
)
end
end
end
spec/features/users/terms_spec.rb
0 → 100644
View file @
3629dc33
require
'spec_helper'
describe
'Users > Terms'
do
let
(
:user
)
{
create
(
:user
)
}
let!
(
:term
)
{
create
(
:term
,
terms:
'By accepting, you promise to be nice!'
)
}
before
do
sign_in
(
user
)
visit
terms_path
end
it
'shows the terms'
do
expect
(
page
).
to
have_content
(
'By accepting, you promise to be nice!'
)
end
end
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