Commit 9a2a8612769d472503b367fa35e99f6fb2876704
1 parent
2f7b6716
Exists in
master
and in
4 other branches
Design tab for profile. Colorscheme as db value
Showing
15 changed files
with
100 additions
and
66 deletions
Show diff stats
16.5 KB
16.8 KB
app/assets/stylesheets/projects.css.scss
@@ -654,3 +654,15 @@ body.project-page h2.icon.loading { | @@ -654,3 +654,15 @@ body.project-page h2.icon.loading { | ||
654 | background: url("ajax-loader-tree.gif") no-repeat; | 654 | background: url("ajax-loader-tree.gif") no-repeat; |
655 | } | 655 | } |
656 | } | 656 | } |
657 | + | ||
658 | +.dark_scheme_box { | ||
659 | + padding:20px 0; | ||
660 | + | ||
661 | + label { | ||
662 | + float:left; | ||
663 | + box-shadow: 0 0px 5px rgba(0,0,0,.3); | ||
664 | + | ||
665 | + img { | ||
666 | + } | ||
667 | + } | ||
668 | +} |
app/controllers/profile_controller.rb
@@ -4,10 +4,14 @@ class ProfileController < ApplicationController | @@ -4,10 +4,14 @@ class ProfileController < ApplicationController | ||
4 | @user = current_user | 4 | @user = current_user |
5 | end | 5 | end |
6 | 6 | ||
7 | - def social_update | 7 | + def design |
8 | + @user = current_user | ||
9 | + end | ||
10 | + | ||
11 | + def update | ||
8 | @user = current_user | 12 | @user = current_user |
9 | @user.update_attributes(params[:user]) | 13 | @user.update_attributes(params[:user]) |
10 | - redirect_to [:profile] | 14 | + redirect_to :back |
11 | end | 15 | end |
12 | 16 | ||
13 | def password | 17 | def password |
app/helpers/application_helper.rb
@@ -2,9 +2,9 @@ require 'digest/md5' | @@ -2,9 +2,9 @@ require 'digest/md5' | ||
2 | module ApplicationHelper | 2 | module ApplicationHelper |
3 | include Utils::CharEncode | 3 | include Utils::CharEncode |
4 | 4 | ||
5 | - def gravatar_icon(user_email) | 5 | + def gravatar_icon(user_email, size = 40) |
6 | gravatar_host = request.ssl? ? "https://secure.gravatar.com" : "http://www.gravatar.com" | 6 | gravatar_host = request.ssl? ? "https://secure.gravatar.com" : "http://www.gravatar.com" |
7 | - "#{gravatar_host}/avatar/#{Digest::MD5.hexdigest(user_email)}?s=40&d=identicon" | 7 | + "#{gravatar_host}/avatar/#{Digest::MD5.hexdigest(user_email)}?s=#{size}&d=identicon" |
8 | end | 8 | end |
9 | 9 | ||
10 | def fixed_mode? | 10 | def fixed_mode? |
app/models/tree.rb
app/models/user.rb
@@ -6,7 +6,7 @@ class User < ActiveRecord::Base | @@ -6,7 +6,7 @@ class User < ActiveRecord::Base | ||
6 | 6 | ||
7 | # Setup accessible (or protected) attributes for your model | 7 | # Setup accessible (or protected) attributes for your model |
8 | attr_accessible :email, :password, :password_confirmation, :remember_me, | 8 | attr_accessible :email, :password, :password_confirmation, :remember_me, |
9 | - :name, :projects_limit, :skype, :linkedin, :twitter | 9 | + :name, :projects_limit, :skype, :linkedin, :twitter, :dark_scheme |
10 | 10 | ||
11 | has_many :users_projects, :dependent => :destroy | 11 | has_many :users_projects, :dependent => :destroy |
12 | has_many :projects, :through => :users_projects | 12 | has_many :projects, :through => :users_projects |
app/views/layouts/profile.html.haml
@@ -19,6 +19,7 @@ | @@ -19,6 +19,7 @@ | ||
19 | %aside | 19 | %aside |
20 | = link_to "Profile", profile_path, :class => current_page?(:controller => "profile", :action => :show) ? "current" : nil | 20 | = link_to "Profile", profile_path, :class => current_page?(:controller => "profile", :action => :show) ? "current" : nil |
21 | = link_to "Password & token", profile_password_path, :class => current_page?(:controller => "profile", :action => :password) ? "current" : nil | 21 | = link_to "Password & token", profile_password_path, :class => current_page?(:controller => "profile", :action => :password) ? "current" : nil |
22 | + = link_to "Design", profile_design_path, :class => current_page?(:controller => "profile", :action => :design) ? "current" : nil | ||
22 | = link_to keys_path, :class => controller.controller_name == "keys" ? "current" : nil do | 23 | = link_to keys_path, :class => controller.controller_name == "keys" ? "current" : nil do |
23 | Keys | 24 | Keys |
24 | - unless current_user.keys.empty? | 25 | - unless current_user.keys.empty? |
app/views/layouts/user.html.haml
@@ -1,31 +0,0 @@ | @@ -1,31 +0,0 @@ | ||
1 | -!!! | ||
2 | -%html | ||
3 | - %head | ||
4 | - %title | ||
5 | - GitLab #{" - #{current_user.name}"} | ||
6 | - = stylesheet_link_tag "application" | ||
7 | - = javascript_include_tag "application" | ||
8 | - = csrf_meta_tags | ||
9 | - = javascript_tag do | ||
10 | - REQ_URI = "#{request.env["REQUEST_URI"]}"; | ||
11 | - REQ_REFFER = "#{request.env["HTTP_REFERER"]}"; | ||
12 | - %body{ :class => body_class('project-page'), :id => yield(:boyd_id)} | ||
13 | - = render :partial => "layouts/flash" | ||
14 | - #container | ||
15 | - = render :partial => "layouts/head_panel" | ||
16 | - .project-container | ||
17 | - .project-sidebar | ||
18 | - .fixed | ||
19 | - %aside | ||
20 | - = link_to issues_path, :class => current_page?(issues_path) ? "current" : nil do | ||
21 | - Issues | ||
22 | - - unless current_user.assigned_issues.empty? | ||
23 | - %span{ :class => "number" }= current_user.assigned_issues.count | ||
24 | - = link_to merge_requests_path, :class => current_page?(merge_requests_path) ? "current" : nil do | ||
25 | - Merge Requests | ||
26 | - - unless current_user.assigned_merge_requests.empty? | ||
27 | - %span{ :class => "number" }= current_user.assigned_merge_requests.count | ||
28 | - | ||
29 | - .project-content | ||
30 | - = yield | ||
31 | - |
@@ -0,0 +1,22 @@ | @@ -0,0 +1,22 @@ | ||
1 | +.ui-box.width-100p | ||
2 | + %h3 Design | ||
3 | + = form_for @user, :url => profile_update_path, :method => :put do |f| | ||
4 | + .data | ||
5 | + .left.dark_scheme_box | ||
6 | + %label{:for => "user_dark_scheme_false"} | ||
7 | + = image_tag "white.png", :width => 310, :height => 212 | ||
8 | + %center | ||
9 | + %h4 | ||
10 | + = f.radio_button :dark_scheme, false | ||
11 | + White code preview | ||
12 | + .right.dark_scheme_box | ||
13 | + %label{:for => "user_dark_scheme_true"} | ||
14 | + = image_tag "dark.png", :width => 310, :height => 212 | ||
15 | + %center | ||
16 | + %h4 | ||
17 | + = f.radio_button :dark_scheme, true | ||
18 | + Dark code preview | ||
19 | + .clear | ||
20 | + .buttons | ||
21 | + = f.submit 'Save', :class => "grey-button" | ||
22 | + |
app/views/profile/show.html.haml
1 | .ui-box.width-100p | 1 | .ui-box.width-100p |
2 | %h3= @user.name | 2 | %h3= @user.name |
3 | - = form_for @user, :url => profile_edit_path, :method => :put do |f| | 3 | + = form_for @user, :url => profile_update_path, :method => :put do |f| |
4 | .data | 4 | .data |
5 | - -if @user.errors.any? | ||
6 | - #error_explanation | ||
7 | - %ul | ||
8 | - - @user.errors.full_messages.each do |msg| | ||
9 | - %li= msg | 5 | + .left |
6 | + -if @user.errors.any? | ||
7 | + #error_explanation | ||
8 | + %ul | ||
9 | + - @user.errors.full_messages.each do |msg| | ||
10 | + %li= msg | ||
10 | 11 | ||
11 | - .form-row | ||
12 | - = f.label :name | ||
13 | - %br | ||
14 | - = f.text_field :name | ||
15 | - .form-row | ||
16 | - = f.label :email | ||
17 | - %br | ||
18 | - = f.text_field :email | ||
19 | - .form-row | ||
20 | - = f.label :skype | ||
21 | - %br | ||
22 | - = f.text_field :skype | ||
23 | - .form-row | ||
24 | - = f.label :linkedin | ||
25 | - %br | ||
26 | - = f.text_field :linkedin | ||
27 | - .form-row | ||
28 | - = f.label :twitter | ||
29 | - %br | ||
30 | - = f.text_field :twitter | 12 | + .form-row |
13 | + = f.label :name | ||
14 | + %br | ||
15 | + = f.text_field :name | ||
16 | + .form-row | ||
17 | + = f.label :email | ||
18 | + %br | ||
19 | + = f.text_field :email | ||
20 | + .form-row | ||
21 | + = f.label :skype | ||
22 | + %br | ||
23 | + = f.text_field :skype | ||
24 | + .form-row | ||
25 | + = f.label :linkedin | ||
26 | + %br | ||
27 | + = f.text_field :linkedin | ||
28 | + .form-row | ||
29 | + = f.label :twitter | ||
30 | + %br | ||
31 | + = f.text_field :twitter | ||
32 | + | ||
33 | + .right | ||
34 | + = image_tag gravatar_icon(current_user.email,64), :width => 64, :style => "margin:5px; border:5px solid #eee;" | ||
35 | + .clear | ||
31 | .buttons | 36 | .buttons |
32 | = f.submit 'Save', :class => "grey-button" | 37 | = f.submit 'Save', :class => "grey-button" |
33 | 38 |
app/views/refs/_tree_file.html.haml
@@ -5,12 +5,12 @@ | @@ -5,12 +5,12 @@ | ||
5 | = name | 5 | = name |
6 | = link_to "raw", blob_project_ref_path(@project, @ref, :path => params[:path] ), :class => "right", :target => "_blank" | 6 | = link_to "raw", blob_project_ref_path(@project, @ref, :path => params[:path] ), :class => "right", :target => "_blank" |
7 | = link_to "history", project_commits_path(@project, :path => params[:path], :ref => @ref ), :class => "right", :style => "margin-right:10px;" | 7 | = link_to "history", project_commits_path(@project, :path => params[:path], :ref => @ref ), :class => "right", :style => "margin-right:10px;" |
8 | - = switch_colorscheme_link(:class => "right", :style => "margin-right:10px;color:orange") | 8 | + -#= switch_colorscheme_link(:class => "right", :style => "margin-right:10px;color:orange") |
9 | %br/ | 9 | %br/ |
10 | - if file.text? | 10 | - if file.text? |
11 | .view_file_content | 11 | .view_file_content |
12 | - unless file.empty? | 12 | - unless file.empty? |
13 | - %div{:class => cookies[:colorschema]} | 13 | + %div{:class => current_user.dark_scheme ? "black" : ""} |
14 | :erb | 14 | :erb |
15 | <%= raw file.colorize %> | 15 | <%= raw file.colorize %> |
16 | - else | 16 | - else |
config/routes.rb
@@ -19,8 +19,9 @@ Gitlab::Application.routes.draw do | @@ -19,8 +19,9 @@ Gitlab::Application.routes.draw do | ||
19 | get "profile/password", :to => "profile#password" | 19 | get "profile/password", :to => "profile#password" |
20 | put "profile/password", :to => "profile#password_update" | 20 | put "profile/password", :to => "profile#password_update" |
21 | put "profile/reset_private_token", :to => "profile#reset_private_token" | 21 | put "profile/reset_private_token", :to => "profile#reset_private_token" |
22 | - put "profile/edit", :to => "profile#social_update" | ||
23 | get "profile", :to => "profile#show" | 22 | get "profile", :to => "profile#show" |
23 | + get "profile/design", :to => "profile#design" | ||
24 | + put "profile/update", :to => "profile#update" | ||
24 | 25 | ||
25 | get "dashboard", :to => "dashboard#index" | 26 | get "dashboard", :to => "dashboard#index" |
26 | get "dashboard/issues", :to => "dashboard#issues" | 27 | get "dashboard/issues", :to => "dashboard#issues" |
db/migrate/20111220190817_add_coloscheme_option_to_user.rb
0 → 100644
db/schema.rb
@@ -11,7 +11,19 @@ | @@ -11,7 +11,19 @@ | ||
11 | # | 11 | # |
12 | # It's strongly recommended to check this file into your version control system. | 12 | # It's strongly recommended to check this file into your version control system. |
13 | 13 | ||
14 | -ActiveRecord::Schema.define(:version => 20111207211728) do | 14 | +ActiveRecord::Schema.define(:version => 20111220190817) do |
15 | + | ||
16 | + create_table "features", :force => true do |t| | ||
17 | + t.string "name" | ||
18 | + t.string "branch_name" | ||
19 | + t.integer "assignee_id" | ||
20 | + t.integer "author_id" | ||
21 | + t.integer "project_id" | ||
22 | + t.datetime "created_at" | ||
23 | + t.datetime "updated_at" | ||
24 | + t.string "version" | ||
25 | + t.integer "status", :default => 0, :null => false | ||
26 | + end | ||
15 | 27 | ||
16 | create_table "issues", :force => true do |t| | 28 | create_table "issues", :force => true do |t| |
17 | t.string "title" | 29 | t.string "title" |
@@ -118,6 +130,7 @@ ActiveRecord::Schema.define(:version => 20111207211728) do | @@ -118,6 +130,7 @@ ActiveRecord::Schema.define(:version => 20111207211728) do | ||
118 | t.string "linkedin", :default => "", :null => false | 130 | t.string "linkedin", :default => "", :null => false |
119 | t.string "twitter", :default => "", :null => false | 131 | t.string "twitter", :default => "", :null => false |
120 | t.string "authentication_token" | 132 | t.string "authentication_token" |
133 | + t.boolean "dark_scheme", :default => false, :null => false | ||
121 | end | 134 | end |
122 | 135 | ||
123 | add_index "users", ["email"], :name => "index_users_on_email", :unique => true | 136 | add_index "users", ["email"], :name => "index_users_on_email", :unique => true |