Commit 129277ab authored by Natalia Tepluhina's avatar Natalia Tepluhina Committed by Mark Florian

Always show the Design Tab on Issues

parent e44e8fb4
...@@ -37,6 +37,8 @@ Design Management requires that projects are using ...@@ -37,6 +37,8 @@ Design Management requires that projects are using
[hashed storage](../../../administration/repository_storage_types.md#hashed-storage) [hashed storage](../../../administration/repository_storage_types.md#hashed-storage)
(the default storage type since v10.0). (the default storage type since v10.0).
If the requirements are not met, the **Designs** tab displays a message to the user.
### Feature Flags ### Feature Flags
- Reference Parsing - Reference Parsing
......
- if can?(current_user, :read_design, @issue) %ul.nav-tabs.nav.nav-links{ role: 'tablist' }
%ul.nav-tabs.nav.nav-links{ role: 'tablist' } %li
%li = link_to '#discussion-tab', class: 'active js-issue-tabs', id: 'discussion', role: 'tab', 'aria-controls': 'js-discussion', 'aria-selected': 'true', data: { toggle: 'tab', target: '#discussion-tab' } do
= link_to '#discussion-tab', class: 'active js-issue-tabs', id: 'discussion', role: 'tab', 'aria-controls': 'js-discussion', 'aria-selected': 'true', data: { toggle: 'tab', target: '#discussion-tab' } do = _('Discussion')
= _('Discussion') %span.badge.badge-pill.js-discussions-count
%span.badge.badge-pill.js-discussions-count %li
%li = link_to '#designs-tab', class: 'js-issue-tabs', id: 'designs', role: 'tab', 'aria-controls': 'js-designs', 'aria-selected': 'false', data: { toggle: 'tab', target: '#designs-tab', qa_selector: 'designs_tab_link' } do
= link_to '#designs-tab', class: 'js-issue-tabs', id: 'designs', role: 'tab', 'aria-controls': 'js-designs', 'aria-selected': 'false', data: { toggle: 'tab', target: '#designs-tab', qa_selector: 'designs_tab_link' } do = _('Designs')
= _('Designs') %span.badge.badge-pill.js-designs-count
%span.badge.badge-pill.js-designs-count .tab-content
.tab-content #discussion-tab.tab-pane.show.active{ role: 'tabpanel', 'aria-labelledby': 'discussion' }
#discussion-tab.tab-pane.show.active{ role: 'tabpanel', 'aria-labelledby': 'discussion' } = render_ce 'projects/issues/discussion'
= render_ce 'projects/issues/discussion' #designs-tab.tab-pane{ role: 'tabpanel', 'aria-labelledby': 'designs', data: { qa_selector: 'designs_tab_content'} }
#designs-tab.tab-pane{ role: 'tabpanel', 'aria-labelledby': 'designs', data: { qa_selector: 'designs_tab_content'} } - if @project.design_management_enabled?
#js-design-management{ data: { project_path: @project.full_path, issue_iid: @issue.iid, issue_path: project_issue_path(@project, @issue) } } #js-design-management{ data: { project_path: @project.full_path, issue_iid: @issue.iid, issue_path: project_issue_path(@project, @issue) } }
- else - else
= render_ce 'projects/issues/discussion' .mt-4
.row.empty-state
.col-12
.text-content
%h4.center
= _('The one place for your designs')
%p.center
- requirements_link_url = help_page_path('user/project/issues/design_management', anchor: 'requirements')
- requirements_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: requirements_link_url }
- support_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: EE::CUSTOMER_SUPPORT_URL }
- link_end = '</a>'.html_safe
= s_("DesignManagement|To enable design management, you'll need to %{requirements_link_start}meet the requirements%{requirements_link_end}. If you need help, reach out to our %{support_link_start}support team%{support_link_end} for assistance.").html_safe % { requirements_link_start: requirements_link_start, requirements_link_end: link_end, support_link_start: support_link_start, support_link_end: link_end }
---
title: Always show the Design Tab on Issues but indicate user if feature is not available
merge_request: 25796
author:
type: added
...@@ -42,10 +42,14 @@ describe 'User uploads new design', :js do ...@@ -42,10 +42,14 @@ describe 'User uploads new design', :js do
context 'when the feature is not available' do context 'when the feature is not available' do
before do before do
visit project_issue_path(project, issue) visit project_issue_path(project, issue)
click_link 'Designs'
wait_for_requests
end end
it 'does not show the designs link' do it 'shows the message about requirements' do
expect(page).not_to have_link('Designs') expect(page).to have_content("To enable design management, you'll need to meet the requirements.")
end end
end end
......
...@@ -6669,6 +6669,9 @@ msgstr "" ...@@ -6669,6 +6669,9 @@ msgstr ""
msgid "DesignManagement|The one place for your designs" msgid "DesignManagement|The one place for your designs"
msgstr "" msgstr ""
msgid "DesignManagement|To enable design management, you'll need to %{requirements_link_start}meet the requirements%{requirements_link_end}. If you need help, reach out to our %{support_link_start}support team%{support_link_end} for assistance."
msgstr ""
msgid "DesignManagement|Upload and view the latest designs for this issue. Consistent and easy to find, so everyone is up to date." msgid "DesignManagement|Upload and view the latest designs for this issue. Consistent and easy to find, so everyone is up to date."
msgstr "" msgstr ""
...@@ -19358,6 +19361,9 @@ msgstr "" ...@@ -19358,6 +19361,9 @@ msgstr ""
msgid "The number of times an upload record could not find its file" msgid "The number of times an upload record could not find its file"
msgstr "" msgstr ""
msgid "The one place for your designs"
msgstr ""
msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest."
msgstr "" msgstr ""
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment