diff options
author | Robert Speicher <rspeicher@gmail.com> | 2015-06-10 03:23:28 -0400 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-06-16 12:51:46 -0400 |
commit | 7f702b33b91ad40c2d2648a6700c964ad2f3a905 (patch) | |
tree | 3860fd6b210ff038fead82d5fac46ea6e0cea92f | |
parent | 122e83c32612951e52bffe0bf770cce3e35115d6 (diff) | |
download | gitlab-ce-7f702b33b91ad40c2d2648a6700c964ad2f3a905.tar.gz |
Add `dashboard` attribute to User model
cherry-picked
-rw-r--r-- | app/controllers/profiles/preferences_controller.rb | 1 | ||||
-rw-r--r-- | app/models/user.rb | 7 | ||||
-rw-r--r-- | db/migrate/20150610065936_add_dashboard_to_users.rb | 9 | ||||
-rw-r--r-- | db/schema.rb | 8 | ||||
-rw-r--r-- | spec/controllers/profiles/preferences_controller_spec.rb | 2 | ||||
-rw-r--r-- | spec/models/user_spec.rb | 3 |
6 files changed, 25 insertions, 5 deletions
diff --git a/app/controllers/profiles/preferences_controller.rb b/app/controllers/profiles/preferences_controller.rb index 8b2630d1648..e43a247f725 100644 --- a/app/controllers/profiles/preferences_controller.rb +++ b/app/controllers/profiles/preferences_controller.rb @@ -26,6 +26,7 @@ class Profiles::PreferencesController < Profiles::ApplicationController def preferences_params params.require(:user).permit( :color_scheme_id, + :dashboard, :theme_id ) end diff --git a/app/models/user.rb b/app/models/user.rb index 8be0b622704..6ac287203b1 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -50,12 +50,13 @@ # bitbucket_access_token :string(255) # bitbucket_access_token_secret :string(255) # location :string(255) +# public_email :string(255) default(""), not null # encrypted_otp_secret :string(255) # encrypted_otp_secret_iv :string(255) # encrypted_otp_secret_salt :string(255) # otp_required_for_login :boolean # otp_backup_codes :text -# public_email :string(255) default(""), not null +# dashboard :integer default(0) # require 'carrierwave/orm/activerecord' @@ -701,4 +702,8 @@ class User < ActiveRecord::Base def can_be_removed? !solo_owned_groups.present? end + + # User's Dashboard preference + # Note: When adding an option, it MUST go on the end of the array. + enum dashboard: [:projects, :stars] end diff --git a/db/migrate/20150610065936_add_dashboard_to_users.rb b/db/migrate/20150610065936_add_dashboard_to_users.rb new file mode 100644 index 00000000000..2628e450722 --- /dev/null +++ b/db/migrate/20150610065936_add_dashboard_to_users.rb @@ -0,0 +1,9 @@ +class AddDashboardToUsers < ActiveRecord::Migration + def up + add_column :users, :dashboard, :integer, default: 0 + end + + def down + remove_column :users, :dashboard + end +end diff --git a/db/schema.rb b/db/schema.rb index aea0742cf3b..f063a4868b1 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150529150354) do +ActiveRecord::Schema.define(version: 20150610065936) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -29,12 +29,13 @@ ActiveRecord::Schema.define(version: 20150529150354) do t.boolean "twitter_sharing_enabled", default: true t.text "restricted_visibility_levels" t.boolean "version_check_enabled", default: true - t.integer "max_attachment_size", default: 10, null: false + t.integer "max_attachment_size", default: 10, null: false t.integer "default_project_visibility" t.integer "default_snippet_visibility" t.text "restricted_signup_domains" t.boolean "user_oauth_applications", default: true t.string "after_sign_out_path" + t.integer "session_expire_delay", default: 10080, null: false end create_table "broadcast_messages", force: true do |t| @@ -495,12 +496,13 @@ ActiveRecord::Schema.define(version: 20150529150354) do t.string "bitbucket_access_token" t.string "bitbucket_access_token_secret" t.string "location" - t.string "public_email", default: "", null: false t.string "encrypted_otp_secret" t.string "encrypted_otp_secret_iv" t.string "encrypted_otp_secret_salt" t.boolean "otp_required_for_login" t.text "otp_backup_codes" + t.string "public_email", default: "", null: false + t.integer "dashboard", default: 0 end add_index "users", ["admin"], name: "index_users_on_admin", using: :btree diff --git a/spec/controllers/profiles/preferences_controller_spec.rb b/spec/controllers/profiles/preferences_controller_spec.rb index 87503b1ed4d..646aa0320b2 100644 --- a/spec/controllers/profiles/preferences_controller_spec.rb +++ b/spec/controllers/profiles/preferences_controller_spec.rb @@ -25,6 +25,7 @@ describe Profiles::PreferencesController do def go(params: {}, format: :js) params.reverse_merge!( color_scheme_id: '1', + dashboard: 'stars', theme_id: '1' ) @@ -40,6 +41,7 @@ describe Profiles::PreferencesController do it "changes the user's preferences" do prefs = { color_scheme_id: '1', + dashboard: 'stars', theme_id: '2' }.with_indifferent_access diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index f1b8afa5854..5bf6ce3536c 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -50,12 +50,13 @@ # bitbucket_access_token :string(255) # bitbucket_access_token_secret :string(255) # location :string(255) +# public_email :string(255) default(""), not null # encrypted_otp_secret :string(255) # encrypted_otp_secret_iv :string(255) # encrypted_otp_secret_salt :string(255) # otp_required_for_login :boolean # otp_backup_codes :text -# public_email :string(255) default(""), not null +# dashboard :integer default(0) # require 'spec_helper' |