Skip to content
Snippets Groups Projects
Commit e2c5d08e authored by Peter Göbel's avatar Peter Göbel
Browse files

added user preference to change layout width

parent 144eef38
No related branches found
No related tags found
1 merge request!9697Added user preference to change layout width
Loading
Loading
@@ -31,6 +31,7 @@ v 8.1.0 (unreleased)
- Hide password in the service settings form
- Fix anchors to comments in diffs
- Move CI web hooks page to project settings area
- Add user preference to change layout width (Peter Göbel)
 
v 8.0.3
- Fix URL shown in Slack notifications
Loading
Loading
Loading
Loading
@@ -31,6 +31,7 @@ class Profiles::PreferencesController < Profiles::ApplicationController
def preferences_params
params.require(:user).permit(
:color_scheme_id,
:layout,
:dashboard,
:project_view,
:theme_id
Loading
Loading
Loading
Loading
@@ -26,7 +26,7 @@ module PageLayoutHelper
 
def fluid_layout(enabled = false)
if @fluid_layout.nil?
@fluid_layout = enabled
@fluid_layout = (current_user && current_user.layout == "wide") || enabled
else
@fluid_layout
end
Loading
Loading
# Helper methods for per-User preferences
module PreferencesHelper
def layout_choices
[
['Small', :small],
['Wide', :wide]
]
end
# Maps `dashboard` values to more user-friendly option text
DASHBOARD_CHOICES = {
projects: 'Your Projects (default)',
Loading
Loading
Loading
Loading
@@ -54,6 +54,7 @@
# public_email :string(255) default(""), not null
# dashboard :integer default(0)
# project_view :integer default(0)
# layout :integer default(0)
#
 
require 'carrierwave/orm/activerecord'
Loading
Loading
@@ -171,6 +172,9 @@ class User < ActiveRecord::Base
after_create :post_create_hook
after_destroy :post_destroy_hook
 
# User's Layout preference
enum layout: [:small, :wide]
# User's Dashboard preference
# Note: When adding an option, it MUST go on the end of the array.
enum dashboard: [:projects, :stars, :project_activity, :starred_project_activity]
Loading
Loading
Loading
Loading
@@ -32,6 +32,13 @@
.panel-heading
Behavior
.panel-body
.form-group
= f.label :layout, class: 'control-label' do
Layout width
.col-sm-10
= f.select :layout, layout_choices, {}, class: 'form-control'
.help-block
Choose between small (max. 1200px) and wide (100%) application layout
.form-group
= f.label :dashboard, class: 'control-label' do
Default Dashboard
Loading
Loading
Loading
Loading
@@ -2,6 +2,13 @@
$('body').removeClass('<%= Gitlab::Themes.body_classes %>')
$('body').addClass('<%= user_application_theme %>')
 
// Toggle container-fluid class
if ('<%= current_user.layout %>' === 'wide') {
$('.content-wrapper').find('.container-fluid').removeClass('container-limited')
} else {
$('.content-wrapper').find('.container-fluid').addClass('container-limited')
}
// Re-enable the "Save" button
$('input[type=submit]').enable()
 
Loading
Loading
class AddLayoutOptionForUsers < ActiveRecord::Migration
def change
add_column :users, :layout, :integer, :default => 0
end
end
\ No newline at end of file
Loading
Loading
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
 
ActiveRecord::Schema.define(version: 20150930095736) do
ActiveRecord::Schema.define(version: 20151005150751) do
 
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
Loading
Loading
@@ -753,6 +753,7 @@ ActiveRecord::Schema.define(version: 20150930095736) do
t.integer "dashboard", default: 0
t.integer "project_view", default: 0
t.integer "consumed_timestep"
t.integer "layout", default: 0
end
 
add_index "users", ["admin"], name: "index_users_on_admin", using: :btree
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment