diff --git a/app/assets/javascripts/sidebar.js.erb b/app/assets/javascripts/sidebar.js.erb index 5fbbb2c6a..2d2558fbf 100644 --- a/app/assets/javascripts/sidebar.js.erb +++ b/app/assets/javascripts/sidebar.js.erb @@ -128,7 +128,7 @@ function setupSidebarTree() { } el .find(" > span i") - .attr("title", "Expand this branch") + .attr("title", I18n.t('sidebar.branch_expand')) .removeClass("expanded"); } else { if (animate) { @@ -138,7 +138,7 @@ function setupSidebarTree() { } el .find(" > span i") - .attr("title", "Collapse this branch") + .attr("title", I18n.t('sidebar.branch_collapse')) .addClass("expanded"); } } @@ -147,7 +147,7 @@ function setupSidebarTree() { $(".tree li:has(ul)") .addClass("parent_li") .find(" > span i") - .attr("title", "Collapse this branch"); + .attr("title", I18n.t('sidebar.branch_collapse')); $(".tree li.parent_li ") .find("> span i") .addClass("glyphicon glyphicon-triangle-right expanded"); diff --git a/app/assets/javascripts/users/settings/list_toggle.js.erb b/app/assets/javascripts/users/settings/list_toggle.js.erb new file mode 100644 index 000000000..a006dde1b --- /dev/null +++ b/app/assets/javascripts/users/settings/list_toggle.js.erb @@ -0,0 +1,18 @@ +(function() { + 'use strict'; + + $(".tree li.parent_li ").find("> span i").on("click", function (e) { + e.stopPropagation(); + var el = $(this).closest("li.parent_li"); + + if (el.find(" > ul.accountNavigation").is(":visible")) { + el.find(" > span > i.triangleDown").hide(); + el.find(" > span > i.triangleRight").show(); + el.find(" > ul.accountNavigation").hide(); + } else { + el.find(" > span > i.triangleDown").show(); + el.find(" > span > i.triangleRight").hide(); + el.find(" > ul.accountNavigation").show(); + } + }); +})(); diff --git a/app/controllers/users/registrations_controller.rb b/app/controllers/users/registrations_controller.rb index 9adfc5e6c..b50f8b9f3 100644 --- a/app/controllers/users/registrations_controller.rb +++ b/app/controllers/users/registrations_controller.rb @@ -4,6 +4,7 @@ class Users::RegistrationsController < Devise::RegistrationsController only: %i(new create new_with_provider create_with_provider) before_action :sign_up_with_provider_enabled?, only: %i(new_with_provider create_with_provider) + layout :layout def avatar user = User.find_by_id(params[:id]) || current_user @@ -291,6 +292,10 @@ class Users::RegistrationsController < Devise::RegistrationsController private + def layout + 'fluid' if action_name == 'edit' + end + def check_captcha if Rails.configuration.x.enable_recaptcha unless verify_recaptcha diff --git a/app/controllers/users/settings/account/addons_controller.rb b/app/controllers/users/settings/account/addons_controller.rb index 9b18d556a..aa4412a78 100644 --- a/app/controllers/users/settings/account/addons_controller.rb +++ b/app/controllers/users/settings/account/addons_controller.rb @@ -2,6 +2,7 @@ module Users module Settings module Account class AddonsController < ApplicationController + layout 'fluid' end end end diff --git a/app/controllers/users/settings/account/preferences_controller.rb b/app/controllers/users/settings/account/preferences_controller.rb index 723641a49..ef983b4c9 100644 --- a/app/controllers/users/settings/account/preferences_controller.rb +++ b/app/controllers/users/settings/account/preferences_controller.rb @@ -9,6 +9,7 @@ module Users :reset_tutorial, :notifications_settings ] + layout 'fluid' def index end diff --git a/app/controllers/users/settings/teams_controller.rb b/app/controllers/users/settings/teams_controller.rb index 620fcd3c5..8917cd25b 100644 --- a/app/controllers/users/settings/teams_controller.rb +++ b/app/controllers/users/settings/teams_controller.rb @@ -22,6 +22,8 @@ module Users before_action :check_create_team_permission, only: %i(new create) + layout 'fluid' + def index @user_teams = @user diff --git a/app/views/users/registrations/edit.html.erb b/app/views/users/registrations/edit.html.erb index 6ac1bd0d9..5f99d1fbd 100644 --- a/app/views/users/registrations/edit.html.erb +++ b/app/views/users/registrations/edit.html.erb @@ -1,14 +1,11 @@ <% provide(:head_title, t("users.registrations.edit.head_title")) %> -<%= render partial: "users/settings/navigation.html.erb" %> +<%= render partial: "users/settings/sidebar" %>
-
- <%= render partial: 'users/settings/account/navigation.html.erb' %> -
-
+

<%=t "users.registrations.edit.title" %>

diff --git a/app/views/users/settings/_navigation.html.erb b/app/views/users/settings/_navigation.html.erb deleted file mode 100644 index a5f481cd3..000000000 --- a/app/views/users/settings/_navigation.html.erb +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/app/views/users/settings/_sidebar.html.erb b/app/views/users/settings/_sidebar.html.erb new file mode 100644 index 000000000..d27b2be12 --- /dev/null +++ b/app/views/users/settings/_sidebar.html.erb @@ -0,0 +1,91 @@ +<%= content_for :sidebar do %> +
+
+
    +
  • + + <%= t('users.settings.sidebar.title') %> + +
  • + +
  • + + + + <% account_style = 'font-weight: bold;' if on_settings_account_page? %> + <%= link_to t("users.settings.sidebar.account"), + edit_user_registration_path, + style: account_style, + data: { 'no-turbolink' => 'true' } %> + + +
      + + + +
    +
  • + + +
  • + + <% if on_settings_team_page? %> + "><%= t("users.settings.sidebar.teams") %> + <% else %> + <%= link_to t("users.settings.sidebar.teams"), + teams_path, + data: { 'no-turbolink' => 'true' } %> + <% end %> + +
  • + +
+
+
+<% end %> + + + +<%= javascript_include_tag("users/settings/list_toggle") %> diff --git a/app/views/users/settings/account/_navigation.html.erb b/app/views/users/settings/account/_navigation.html.erb deleted file mode 100644 index efaf781db..000000000 --- a/app/views/users/settings/account/_navigation.html.erb +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/app/views/users/settings/account/addons/index.html.erb b/app/views/users/settings/account/addons/index.html.erb index de7c58a21..6022900b6 100644 --- a/app/views/users/settings/account/addons/index.html.erb +++ b/app/views/users/settings/account/addons/index.html.erb @@ -1,14 +1,11 @@ <% provide(:head_title, t('users.settings.account.addons.head_title')) %> -<%= render partial: 'users/settings/navigation.html.erb' %> +<%= render partial: 'users/settings/sidebar.html.erb' %>
-
- <%= render partial: 'users/settings/account/navigation.html.erb' %> -
-
+

<%= t('users.settings.account.addons.title') %>

diff --git a/app/views/users/settings/account/preferences/index.html.erb b/app/views/users/settings/account/preferences/index.html.erb index 662caf09f..2aa0d334c 100644 --- a/app/views/users/settings/account/preferences/index.html.erb +++ b/app/views/users/settings/account/preferences/index.html.erb @@ -1,14 +1,11 @@ <% provide(:head_title, t("users.settings.account.preferences.head_title")) %> -<%= render partial: "users/settings/navigation.html.erb" %> +<%= render partial: "users/settings/sidebar.html.erb" %>
-
- <%= render partial: 'users/settings/account/navigation.html.erb' %> -
-
+
<%= form_for(@user, url: update_preferences_path(format: :json), remote: true, diff --git a/app/views/users/settings/teams/index.html.erb b/app/views/users/settings/teams/index.html.erb index 13c749e0b..f2508f7ff 100644 --- a/app/views/users/settings/teams/index.html.erb +++ b/app/views/users/settings/teams/index.html.erb @@ -1,6 +1,6 @@ <% provide(:head_title, t("users.settings.teams.head_title")) %> -<%= render partial: "users/settings/navigation.html.erb" %> +<%= render partial: "users/settings/sidebar.html.erb" %>
diff --git a/app/views/users/settings/teams/new.html.erb b/app/views/users/settings/teams/new.html.erb index 72b9967ce..9c95922c7 100644 --- a/app/views/users/settings/teams/new.html.erb +++ b/app/views/users/settings/teams/new.html.erb @@ -1,6 +1,6 @@ <% provide(:head_title, t("users.settings.teams.head_title")) %> -<%= render partial: "users/settings/navigation.html.erb" %> +<%= render partial: "users/settings/sidebar.html.erb" %>
diff --git a/app/views/users/settings/teams/show.html.erb b/app/views/users/settings/teams/show.html.erb index f4cc608a2..64559af9b 100644 --- a/app/views/users/settings/teams/show.html.erb +++ b/app/views/users/settings/teams/show.html.erb @@ -2,7 +2,7 @@
-<%= render partial: "users/settings/navigation.html.erb" %> +<%= render partial: "users/settings/sidebar.html.erb" %>
diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index c76aa8e05..c32a85883 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -17,6 +17,7 @@ Rails.application.config.assets.precompile += %w(underscore.js) Rails.application.config.assets.precompile += %w(jsPlumb-2.0.4-min.js) Rails.application.config.assets.precompile += %w(jsnetworkx.js) Rails.application.config.assets.precompile += %w(handsontable.full.min.js) +Rails.application.config.assets.precompile += %w(users/settings/list_toggle.js.erb) Rails.application.config.assets.precompile += %w(users/settings/account/preferences/index.js) Rails.application.config.assets.precompile += %w(users/settings/teams/index.js) diff --git a/config/locales/en.yml b/config/locales/en.yml index 31847fa5c..1210b2f88 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -111,6 +111,8 @@ en: sidebar: title: "Navigation" + branch_expand: "Expand this branch" + branch_collapse: "Collapse this branch" no_module_group: "No workflow" projects: all: "All Projects" @@ -1354,14 +1356,15 @@ en: changed_team_flash: "You are working on %{team} now!" changed_team_error_flash: "Something went wrong! Try again later." changed_team_in_search: "The searched item is not in your current team. You will be redirected to %{team} team!" - navigation: + sidebar: + title: "Settings" account: "Account" teams: "Teams" - account: - navigation: + account_nav: profile: "Profile" preferences: "Preferences" addons: "Add-ons" + account: preferences: head_title: "Settings | My preferences" edit: