Update project settings section titles and info

Improve wording of project settings section
headers.
Improve order of sections.
Adds section toggling by section title.
Translates section titles and descriptions.
This commit is contained in:
Luke Bennett 2019-02-20 04:18:06 +00:00
parent adf71cfa75
commit dc8ab052cf
No known key found for this signature in database
GPG Key ID: 402ED51FB5D306C2
3 changed files with 87 additions and 28 deletions

View File

@ -1,17 +1,15 @@
- breadcrumb_title "General Settings"
- page_title "General"
- breadcrumb_title _("General Settings")
- page_title _("General")
- @content_class = "limit-container-width" unless fluid_layout
- expanded = Rails.env.test?
.project-edit-container
%section.settings.general-settings.no-animate#js-general-project-settings{ class: ('expanded' if expanded) }
.settings-header
%h4
General project
%button.btn.js-settings-toggle{ type: 'button' }
= expanded ? 'Collapse' : 'Expand'
%p
Update your project name, description, avatar, and other general settings.
%h4.settings-title.js-settings-toggle.js-settings-toggle-trigger-only= _('Naming, tags, avatar')
%button.btn.js-settings-toggle{ type: 'button' }= expanded ? _('Collapse') : _('Expand')
%p= _('Update your project name, tags, description and avatar.')
.settings-content
.project-edit-errors
= form_for [@project.namespace.becomes(Namespace), @project], remote: true, html: { multipart: true, class: "edit-project" }, authenticity_token: true do |f|
@ -63,12 +61,10 @@
%section.settings.sharing-permissions.no-animate#js-shared-permissions{ class: ('expanded' if expanded) }
.settings-header
%h4
Permissions
%button.btn.js-settings-toggle{ type: 'button' }
= expanded ? 'Collapse' : 'Expand'
%p
Enable or disable certain project features and choose access levels.
%h4.settings-title.js-settings-toggle.js-settings-toggle-trigger-only= _('Visibility, project features, permissions')
%button.btn.js-settings-toggle{ type: 'button' }= expanded ? _('Collapse') : _('Expand')
%p= _('Choose visibility level, enable/disable project features (issues, repository, wiki, snippets) and set permissions.')
.settings-content
= form_for [@project.namespace.becomes(Namespace), @project], remote: true, html: { multipart: true, class: "sharing-permissions-form" }, authenticity_token: true do |f|
%input{ name: 'update_section', type: 'hidden', value: 'js-shared-permissions' }
@ -81,12 +77,10 @@
%section.qa-merge-request-settings.settings.merge-requests-feature.no-animate#js-merge-request-settings{ class: [('expanded' if expanded), ('hidden' if @project.project_feature.send(:merge_requests_access_level) == 0)] }
.settings-header
%h4
Merge request
%button.btn.js-settings-toggle{ type: 'button' }
= expanded ? 'Collapse' : 'Expand'
%p
Customize your merge request restrictions.
%h4.settings-title.js-settings-toggle.js-settings-toggle-trigger-only= _('Merge requests')
%button.btn.js-settings-toggle{ type: 'button' }= expanded ? _('Collapse') : _('Expand')
%p= _('Choose your merge method, set up a default merge request description template.')
.settings-content
= render_if_exists 'shared/promotions/promote_mr_features'
@ -97,11 +91,10 @@
= render_if_exists 'projects/merge_request_approvals_settings', expanded: expanded
= render_if_exists 'projects/service_desk_settings'
%section.settings.no-animate{ class: ('expanded' if expanded) }
.settings-header
%h4
%h4.settings-title.js-settings-toggle.js-settings-toggle-trigger-only
= s_('ProjectSettings|Badges')
%button.btn.js-settings-toggle{ type: 'button' }
= expanded ? 'Collapse' : 'Expand'
@ -111,16 +104,15 @@
.settings-content
= render 'shared/badges/badge_settings'
= render_if_exists 'projects/service_desk_settings'
= render 'export', project: @project
%section.qa-advanced-settings.settings.advanced-settings.no-animate#js-project-advanced-settings{ class: ('expanded' if expanded) }
.settings-header
%h4
Advanced
%button.btn.js-settings-toggle{ type: 'button' }
= expanded ? 'Collapse' : 'Expand'
%p
Perform advanced options such as housekeeping, archiving, renaming, transferring, or removing your project.
%h4.settings-title.js-settings-toggle.js-settings-toggle-trigger-only= _('Advanced')
%button.btn.js-settings-toggle{ type: 'button' }= expanded ? _('Collapse') : _('Expand')
%p= _('Housekeeping, export, path, transfer, remove, archive.')
.settings-content
.sub-section
%h4 Housekeeping

View File

@ -564,6 +564,9 @@ msgstr ""
msgid "AdminUsers|Without projects"
msgstr ""
msgid "Advanced"
msgstr ""
msgid "Advanced permissions, Large File Storage and Two-Factor authentication settings."
msgstr ""
@ -1440,6 +1443,12 @@ msgstr ""
msgid "Choose the top-level group for your repository imports."
msgstr ""
msgid "Choose visibility level, enable/disable project features (issues, repository, wiki, snippets) and set permissions."
msgstr ""
msgid "Choose your merge method, set up a default merge request description template."
msgstr ""
msgid "CiStatusLabel|canceled"
msgstr ""
@ -3576,6 +3585,9 @@ msgstr ""
msgid "General"
msgstr ""
msgid "General Settings"
msgstr ""
msgid "General pipelines"
msgstr ""
@ -3896,6 +3908,9 @@ msgstr ""
msgid "Housekeeping successfully started"
msgstr ""
msgid "Housekeeping, export, path, transfer, remove, archive."
msgstr ""
msgid "However, you are already a member of this %{member_source}. Sign in using a different account to accept the invitation."
msgstr ""
@ -4848,6 +4863,9 @@ msgstr ""
msgid "Name:"
msgstr ""
msgid "Naming, tags, avatar"
msgstr ""
msgid "Naming, visibility"
msgstr ""
@ -8129,6 +8147,9 @@ msgstr ""
msgid "Update your group name, description, avatar, and visibility."
msgstr ""
msgid "Update your project name, tags, description and avatar."
msgstr ""
msgid "Updating"
msgstr ""
@ -8357,6 +8378,9 @@ msgstr ""
msgid "Visibility level:"
msgstr ""
msgid "Visibility, project features, permissions"
msgstr ""
msgid "Visibility:"
msgstr ""

View File

@ -0,0 +1,43 @@
# frozen_string_literal: true
require 'spec_helper'
describe 'Projects settings' do
set(:project) { create(:project) }
let(:user) { project.owner }
let(:panel) { find('.general-settings', match: :first) }
let(:button) { panel.find('.btn.js-settings-toggle') }
let(:title) { panel.find('.settings-title') }
before do
sign_in(user)
visit edit_project_path(project)
end
it 'can toggle sections by clicking the title or button', :js do
expect_toggle_state(:expanded)
button.click
expect_toggle_state(:collapsed)
button.click
expect_toggle_state(:expanded)
title.click
expect_toggle_state(:collapsed)
title.click
expect_toggle_state(:expanded)
end
def expect_toggle_state(state)
is_collapsed = state == :collapsed
expect(button).to have_content(is_collapsed ? 'Expand' : 'Collapse')
expect(panel[:class]).send(is_collapsed ? 'not_to' : 'to', include('expanded'))
end
end