Commit 3348876c authored by James Fargher's avatar James Fargher

Merge branch '237868-add-an-upgrade-option-to-the-admin-license-page-mvc' into 'master'

Add an upgrade link to the Admin > License page(v2)

Closes #237868

See merge request gitlab-org/gitlab!39974
parents 3c3cc03d b2fc59b8
...@@ -132,11 +132,11 @@ ul.content-list { ...@@ -132,11 +132,11 @@ ul.content-list {
a { a {
color: $gl-text-color; color: $gl-text-color;
}
.member-group-link { &.inline-link {
color: $blue-600; color: $blue-600;
} }
}
.description { .description {
@include str-truncated; @include str-truncated;
......
...@@ -180,10 +180,6 @@ ...@@ -180,10 +180,6 @@
word-break: break-all; word-break: break-all;
} }
.member-group-link {
display: inline-block;
}
.form-control { .form-control {
width: inherit; width: inherit;
} }
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
dismissible: true.to_s } } dismissible: true.to_s } }
= notice[:message].html_safe = notice[:message].html_safe
- if show_license_breakdown? - if @license.present? && show_license_breakdown?
= render_if_exists 'admin/licenses/breakdown', license: @license = render_if_exists 'admin/licenses/breakdown'
.admin-dashboard.gl-mt-3 .admin-dashboard.gl-mt-3
.row .row
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
- if source.instance_of?(Group) && source != @group - if source.instance_of?(Group) && source != @group
· ·
= link_to source.full_name, source, class: "member-group-link" = link_to source.full_name, source, class: "gl-display-inline-block inline-link"
.cgray .cgray
- if member.request? - if member.request?
......
- return unless local_assigns.fetch(:license) - if @license.restricted?(:active_user_count)
- restricted = @license.restrictions[:active_user_count]
- if license.restricted?(:active_user_count)
- restricted = license.restrictions[:active_user_count]
- licensed_users = number_with_delimiter(restricted) - licensed_users = number_with_delimiter(restricted)
- else - else
- licensed_users = _('Unlimited') - licensed_users = _('Unlimited')
......
- return unless local_assigns.fetch(:license)
.row .row
.col-md-6 .col-md-6
.card .card
...@@ -18,6 +16,12 @@ ...@@ -18,6 +16,12 @@
%li %li
%span.light= _('Plan:') %span.light= _('Plan:')
%strong= @license.plan.capitalize %strong= @license.plan.capitalize
= ' - '
= link_to _('How to upgrade'),
help_page_path('subscriptions/index.md', anchor: 'upgrade-your-self-managed-subscription-tier'),
class: 'inline-link',
target: :_blank,
rel: :noreferrer
%li %li
%span.light= _('Uploaded:') %span.light= _('Uploaded:')
%strong= time_ago_with_tooltip @license.created_at %strong= time_ago_with_tooltip @license.created_at
......
- return unless local_assigns.fetch(:licenses)
- local_assigns.fetch(:license)
- licensee_keys = @licenses.first.licensee.keys - licensee_keys = @licenses.first.licensee.keys
%h4= _('License History') %h4= _('License History')
......
...@@ -19,7 +19,9 @@ ...@@ -19,7 +19,9 @@
%h4.gl-alert-title= _('You do not have an active license') %h4.gl-alert-title= _('You do not have an active license')
= _('You have a license that activates at a future date. Please see the License History table below.') = _('You have a license that activates at a future date. Please see the License History table below.')
= render 'info', license: @license - if @license.present?
= render 'breakdown', license: @license = render 'info'
= render 'breakdown'
= render 'license_history', license: @license, licenses: @licenses - if @licenses.present?
= render 'license_history'
---
title: Add How-to-upgrade link to admin license page
merge_request: 39974
author:
type: changed
...@@ -14,13 +14,17 @@ RSpec.describe 'admin/dashboard/index.html.haml' do ...@@ -14,13 +14,17 @@ RSpec.describe 'admin/dashboard/index.html.haml' do
assign(:projects, create_list(:project, 1)) assign(:projects, create_list(:project, 1))
assign(:users, create_list(:user, 1)) assign(:users, create_list(:user, 1))
assign(:groups, create_list(:group, 1)) assign(:groups, create_list(:group, 1))
assign(:license, create(:license))
allow(view).to receive(:admin?).and_return(true) allow(view).to receive(:admin?).and_return(true)
allow(view).to receive(:current_application_settings).and_return(Gitlab::CurrentSettings.current_application_settings) allow(view).to receive(:current_application_settings).and_return(Gitlab::CurrentSettings.current_application_settings)
allow(view).to receive(:show_license_breakdown?).and_return(true) allow(view).to receive(:show_license_breakdown?).and_return(true)
end end
context 'when license is present' do
before do
assign(:license, create(:license))
end
it 'includes notices above license breakdown' do it 'includes notices above license breakdown' do
assign(:notices, [{ type: :alert, message: 'An alert' }]) assign(:notices, [{ type: :alert, message: 'An alert' }])
...@@ -32,9 +36,18 @@ RSpec.describe 'admin/dashboard/index.html.haml' do ...@@ -32,9 +36,18 @@ RSpec.describe 'admin/dashboard/index.html.haml' do
it 'includes license breakdown' do it 'includes license breakdown' do
render render
expect(rendered).to have_content "Users in License" expect(rendered).to have_content "Users in License:"
expect(rendered).to have_content "Active Users" expect(rendered).to have_content "Active Users"
expect(rendered).to have_content "Maximum Users" expect(rendered).to have_content "Maximum Users"
expect(rendered).to have_content "Users over License" expect(rendered).to have_content "Users over License"
end end
end
context 'when license is not present' do
it 'does not show content' do
render
expect(rendered).not_to have_content('Users in License:')
end
end
end end
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'admin/licenses/_info' do
let_it_be(:license) { create(:license) }
before do
assign(:license, license)
end
context 'when observing licensees' do
it 'shows "How to upgrade" link' do
render
expect(rendered).to have_content('Plan: Starter - How to upgrade')
expect(rendered).to have_link('How to upgrade')
end
end
end
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'admin/licenses/show.html.haml' do
let_it_be(:license) { create(:license) }
before do
stub_feature_flags(licenses_app: false)
end
context 'when trial license is present' do
before do
trial_license = create(:license, trial: true)
assign(:license, trial_license)
end
it 'shows content as expected' do
render
expect(rendered).to have_content('Buy License')
end
end
context 'when non trial license is present' do
before do
assign(:license, license)
end
it 'shows content as expected' do
render
expect(rendered).not_to have_content('Buy License')
expect(rendered).to have_content('Licensed to')
expect(rendered).to have_content('Users in License:')
expect(rendered).to have_content('Upload New License')
end
end
context 'when license is not present' do
it 'does not show content' do
render
expect(rendered).not_to have_content('Licensed to')
expect(rendered).not_to have_content('Users in License:')
expect(rendered).to have_content('Upload New License')
end
end
context 'when licenses are present' do
before do
assign(:licenses, [license])
end
it 'shows content as expected' do
render
expect(rendered).to have_content('License History')
end
end
context 'when licenses are empty' do
before do
assign(:licenses, [])
end
it 'does not show content' do
render
expect(rendered).not_to have_content('License History')
end
end
context 'when licenses are not defined' do
it 'does not show content' do
render
expect(rendered).not_to have_content('License History')
end
end
end
...@@ -12593,6 +12593,9 @@ msgstr "" ...@@ -12593,6 +12593,9 @@ msgstr ""
msgid "How many users will be evaluating the trial?" msgid "How many users will be evaluating the trial?"
msgstr "" msgstr ""
msgid "How to upgrade"
msgstr ""
msgid "However, you are already a member of this %{member_source}. Sign in using a different account to accept the invitation." msgid "However, you are already a member of this %{member_source}. Sign in using a different account to accept the invitation."
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