Skip to content
Snippets Groups Projects
Commit 59704f48 authored by Aleksei Kvitinskii's avatar Aleksei Kvitinskii
Browse files

extended user profile with social fields

parent 9ad444f0
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -3,6 +3,12 @@ class ProfileController < ApplicationController
@user = current_user
end
 
def social_update
@user = current_user
@user.update_attributes(params[:user])
redirect_to [:profile]
end
def password
@user = current_user
end
Loading
Loading
Loading
Loading
@@ -5,7 +5,8 @@ class User < ActiveRecord::Base
:recoverable, :rememberable, :trackable, :validatable
 
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :name, :projects_limit
attr_accessible :email, :password, :password_confirmation, :remember_me,
:name, :projects_limit, :skype, :linkedin, :twitter
 
has_many :users_projects, :dependent => :destroy
has_many :projects, :through => :users_projects
Loading
Loading
@@ -58,5 +59,8 @@ end
# name :string(255)
# admin :boolean default(FALSE), not null
# projects_limit :integer
# skype :string
# linkedin :string
# twitter :string
#
 
Loading
Loading
@@ -25,13 +25,26 @@
= f.label :password_confirmation
%br
= f.password_field :password_confirmation
.span-11
.field.prepend-top.append-bottom
.field.prepend-top
= f.check_box :admin
= f.label :admin
.span-11
.field.prepend-top
= f.text_field :projects_limit, :class => "small_input"
= f.label :projects_limit
.field
= f.label :skype
%br
= f.text_field :skype
.field
= f.label :linkedin
%br
= f.text_field :linkedin
.field
= f.label :twitter
%br
= f.text_field :twitter
.clear
%br
.actions
Loading
Loading
Loading
Loading
@@ -14,6 +14,17 @@
%b Projects limit:
= @admin_user.projects_limit
 
%p
%b Skype:
= @admin_user.skype
%p
%b LinkedIn:
= @admin_user.linkedin
%p
%b Twitter:
= @admin_user.twitter
.clear
= link_to 'Edit', edit_admin_user_path(@admin_user)
\|
Loading
Loading
Loading
Loading
@@ -6,3 +6,28 @@
%p
%b Email:
= @user.email
%br
= form_for @user, :url => profile_edit_path, :method => :put do |f|
-if @user.errors.any?
#error_explanation
%ul
- @user.errors.full_messages.each do |msg|
%li= msg
.div
= f.label :skype
%br
= f.text_field :skype
.div
= f.label :linkedin
%br
= f.text_field :linkedin
.div
= f.label :twitter
%br
= f.text_field :twitter
.actions
= f.submit 'Save', :class => "lbutton vm"
Loading
Loading
@@ -13,6 +13,7 @@ Gitlab::Application.routes.draw do
get "errors/gitosis"
get "profile/password", :to => "profile#password"
put "profile/password", :to => "profile#password_update"
put "profile/edit", :to => "profile#social_update"
get "profile", :to => "profile#show"
#get "profile/:id", :to => "profile#show"
 
Loading
Loading
class AddSocialToUser < ActiveRecord::Migration
def change
add_column :users, :skype, :string
add_column :users, :linkedin, :string
add_column :users, :twitter, :string
end
end
Loading
Loading
@@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
 
ActiveRecord::Schema.define(:version => 20111016195506) do
ActiveRecord::Schema.define(:version => 20111019212429) do
 
create_table "issues", :force => true do |t|
t.string "title"
Loading
Loading
@@ -82,6 +82,9 @@ ActiveRecord::Schema.define(:version => 20111016195506) do
t.string "name"
t.boolean "admin", :default => false, :null => false
t.integer "projects_limit", :default => 10
t.string "skype"
t.string "linkedin"
t.string "twitter"
end
 
add_index "users", ["email"], :name => "index_users_on_email", :unique => true
Loading
Loading
Loading
Loading
@@ -39,5 +39,8 @@ end
# name :string(255)
# admin :boolean default(FALSE), not null
# projects_limit :integer
# skype :string
# linkedin :string
# twitter :string
#
 
Loading
Loading
@@ -14,6 +14,22 @@ describe "Profile" do
it { page.should have_content(@user.email) }
end
 
describe "Profile update" do
before do
visit profile_path
fill_in "user_skype", :with => "testskype"
fill_in "user_linkedin", :with => "testlinkedin"
fill_in "user_twitter", :with => "testtwitter"
click_button "Save"
@user.reload
end
it { @user.skype.should == 'testskype' }
it { @user.linkedin.should == 'testlinkedin' }
it { @user.twitter.should == 'testtwitter' }
end
describe "Password update" do
before do
visit profile_password_path
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