Design tab for profile. Colorscheme as db value
This commit is contained in:
parent
2f7b671619
commit
9a2a861276
15 changed files with 100 additions and 66 deletions
BIN
app/assets/images/dark.png
Normal file
BIN
app/assets/images/dark.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
app/assets/images/white.png
Normal file
BIN
app/assets/images/white.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
|
@ -654,3 +654,15 @@ body.project-page h2.icon.loading {
|
||||||
background: url("ajax-loader-tree.gif") no-repeat;
|
background: url("ajax-loader-tree.gif") no-repeat;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dark_scheme_box {
|
||||||
|
padding:20px 0;
|
||||||
|
|
||||||
|
label {
|
||||||
|
float:left;
|
||||||
|
box-shadow: 0 0px 5px rgba(0,0,0,.3);
|
||||||
|
|
||||||
|
img {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -4,10 +4,14 @@ class ProfileController < ApplicationController
|
||||||
@user = current_user
|
@user = current_user
|
||||||
end
|
end
|
||||||
|
|
||||||
def social_update
|
def design
|
||||||
|
@user = current_user
|
||||||
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
@user = current_user
|
@user = current_user
|
||||||
@user.update_attributes(params[:user])
|
@user.update_attributes(params[:user])
|
||||||
redirect_to [:profile]
|
redirect_to :back
|
||||||
end
|
end
|
||||||
|
|
||||||
def password
|
def password
|
||||||
|
|
|
@ -2,9 +2,9 @@ require 'digest/md5'
|
||||||
module ApplicationHelper
|
module ApplicationHelper
|
||||||
include Utils::CharEncode
|
include Utils::CharEncode
|
||||||
|
|
||||||
def gravatar_icon(user_email)
|
def gravatar_icon(user_email, size = 40)
|
||||||
gravatar_host = request.ssl? ? "https://secure.gravatar.com" : "http://www.gravatar.com"
|
gravatar_host = request.ssl? ? "https://secure.gravatar.com" : "http://www.gravatar.com"
|
||||||
"#{gravatar_host}/avatar/#{Digest::MD5.hexdigest(user_email)}?s=40&d=identicon"
|
"#{gravatar_host}/avatar/#{Digest::MD5.hexdigest(user_email)}?s=#{size}&d=identicon"
|
||||||
end
|
end
|
||||||
|
|
||||||
def fixed_mode?
|
def fixed_mode?
|
||||||
|
|
|
@ -7,6 +7,8 @@ class Tree
|
||||||
:name,
|
:name,
|
||||||
:data,
|
:data,
|
||||||
:mime_type,
|
:mime_type,
|
||||||
|
:mode,
|
||||||
|
:size,
|
||||||
:text?,
|
:text?,
|
||||||
:colorize,
|
:colorize,
|
||||||
:to => :tree
|
:to => :tree
|
||||||
|
|
|
@ -6,7 +6,7 @@ class User < ActiveRecord::Base
|
||||||
|
|
||||||
# Setup accessible (or protected) attributes for your model
|
# Setup accessible (or protected) attributes for your model
|
||||||
attr_accessible :email, :password, :password_confirmation, :remember_me,
|
attr_accessible :email, :password, :password_confirmation, :remember_me,
|
||||||
:name, :projects_limit, :skype, :linkedin, :twitter
|
:name, :projects_limit, :skype, :linkedin, :twitter, :dark_scheme
|
||||||
|
|
||||||
has_many :users_projects, :dependent => :destroy
|
has_many :users_projects, :dependent => :destroy
|
||||||
has_many :projects, :through => :users_projects
|
has_many :projects, :through => :users_projects
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
%aside
|
%aside
|
||||||
= link_to "Profile", profile_path, :class => current_page?(:controller => "profile", :action => :show) ? "current" : nil
|
= link_to "Profile", profile_path, :class => current_page?(:controller => "profile", :action => :show) ? "current" : nil
|
||||||
= link_to "Password & token", profile_password_path, :class => current_page?(:controller => "profile", :action => :password) ? "current" : nil
|
= link_to "Password & token", profile_password_path, :class => current_page?(:controller => "profile", :action => :password) ? "current" : nil
|
||||||
|
= link_to "Design", profile_design_path, :class => current_page?(:controller => "profile", :action => :design) ? "current" : nil
|
||||||
= link_to keys_path, :class => controller.controller_name == "keys" ? "current" : nil do
|
= link_to keys_path, :class => controller.controller_name == "keys" ? "current" : nil do
|
||||||
Keys
|
Keys
|
||||||
- unless current_user.keys.empty?
|
- unless current_user.keys.empty?
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
!!!
|
|
||||||
%html
|
|
||||||
%head
|
|
||||||
%title
|
|
||||||
GitLab #{" - #{current_user.name}"}
|
|
||||||
= stylesheet_link_tag "application"
|
|
||||||
= javascript_include_tag "application"
|
|
||||||
= csrf_meta_tags
|
|
||||||
= javascript_tag do
|
|
||||||
REQ_URI = "#{request.env["REQUEST_URI"]}";
|
|
||||||
REQ_REFFER = "#{request.env["HTTP_REFERER"]}";
|
|
||||||
%body{ :class => body_class('project-page'), :id => yield(:boyd_id)}
|
|
||||||
= render :partial => "layouts/flash"
|
|
||||||
#container
|
|
||||||
= render :partial => "layouts/head_panel"
|
|
||||||
.project-container
|
|
||||||
.project-sidebar
|
|
||||||
.fixed
|
|
||||||
%aside
|
|
||||||
= link_to issues_path, :class => current_page?(issues_path) ? "current" : nil do
|
|
||||||
Issues
|
|
||||||
- unless current_user.assigned_issues.empty?
|
|
||||||
%span{ :class => "number" }= current_user.assigned_issues.count
|
|
||||||
= link_to merge_requests_path, :class => current_page?(merge_requests_path) ? "current" : nil do
|
|
||||||
Merge Requests
|
|
||||||
- unless current_user.assigned_merge_requests.empty?
|
|
||||||
%span{ :class => "number" }= current_user.assigned_merge_requests.count
|
|
||||||
|
|
||||||
.project-content
|
|
||||||
= yield
|
|
||||||
|
|
22
app/views/profile/design.html.haml
Normal file
22
app/views/profile/design.html.haml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
.ui-box.width-100p
|
||||||
|
%h3 Design
|
||||||
|
= form_for @user, :url => profile_update_path, :method => :put do |f|
|
||||||
|
.data
|
||||||
|
.left.dark_scheme_box
|
||||||
|
%label{:for => "user_dark_scheme_false"}
|
||||||
|
= image_tag "white.png", :width => 310, :height => 212
|
||||||
|
%center
|
||||||
|
%h4
|
||||||
|
= f.radio_button :dark_scheme, false
|
||||||
|
White code preview
|
||||||
|
.right.dark_scheme_box
|
||||||
|
%label{:for => "user_dark_scheme_true"}
|
||||||
|
= image_tag "dark.png", :width => 310, :height => 212
|
||||||
|
%center
|
||||||
|
%h4
|
||||||
|
= f.radio_button :dark_scheme, true
|
||||||
|
Dark code preview
|
||||||
|
.clear
|
||||||
|
.buttons
|
||||||
|
= f.submit 'Save', :class => "grey-button"
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
.ui-box.width-100p
|
.ui-box.width-100p
|
||||||
%h3= @user.name
|
%h3= @user.name
|
||||||
= form_for @user, :url => profile_edit_path, :method => :put do |f|
|
= form_for @user, :url => profile_update_path, :method => :put do |f|
|
||||||
.data
|
.data
|
||||||
|
.left
|
||||||
-if @user.errors.any?
|
-if @user.errors.any?
|
||||||
#error_explanation
|
#error_explanation
|
||||||
%ul
|
%ul
|
||||||
|
@ -28,6 +29,10 @@
|
||||||
= f.label :twitter
|
= f.label :twitter
|
||||||
%br
|
%br
|
||||||
= f.text_field :twitter
|
= f.text_field :twitter
|
||||||
|
|
||||||
|
.right
|
||||||
|
= image_tag gravatar_icon(current_user.email,64), :width => 64, :style => "margin:5px; border:5px solid #eee;"
|
||||||
|
.clear
|
||||||
.buttons
|
.buttons
|
||||||
= f.submit 'Save', :class => "grey-button"
|
= f.submit 'Save', :class => "grey-button"
|
||||||
|
|
||||||
|
|
|
@ -5,12 +5,12 @@
|
||||||
= name
|
= name
|
||||||
= link_to "raw", blob_project_ref_path(@project, @ref, :path => params[:path] ), :class => "right", :target => "_blank"
|
= link_to "raw", blob_project_ref_path(@project, @ref, :path => params[:path] ), :class => "right", :target => "_blank"
|
||||||
= link_to "history", project_commits_path(@project, :path => params[:path], :ref => @ref ), :class => "right", :style => "margin-right:10px;"
|
= link_to "history", project_commits_path(@project, :path => params[:path], :ref => @ref ), :class => "right", :style => "margin-right:10px;"
|
||||||
= switch_colorscheme_link(:class => "right", :style => "margin-right:10px;color:orange")
|
-#= switch_colorscheme_link(:class => "right", :style => "margin-right:10px;color:orange")
|
||||||
%br/
|
%br/
|
||||||
- if file.text?
|
- if file.text?
|
||||||
.view_file_content
|
.view_file_content
|
||||||
- unless file.empty?
|
- unless file.empty?
|
||||||
%div{:class => cookies[:colorschema]}
|
%div{:class => current_user.dark_scheme ? "black" : ""}
|
||||||
:erb
|
:erb
|
||||||
<%= raw file.colorize %>
|
<%= raw file.colorize %>
|
||||||
- else
|
- else
|
||||||
|
|
|
@ -19,8 +19,9 @@ Gitlab::Application.routes.draw do
|
||||||
get "profile/password", :to => "profile#password"
|
get "profile/password", :to => "profile#password"
|
||||||
put "profile/password", :to => "profile#password_update"
|
put "profile/password", :to => "profile#password_update"
|
||||||
put "profile/reset_private_token", :to => "profile#reset_private_token"
|
put "profile/reset_private_token", :to => "profile#reset_private_token"
|
||||||
put "profile/edit", :to => "profile#social_update"
|
|
||||||
get "profile", :to => "profile#show"
|
get "profile", :to => "profile#show"
|
||||||
|
get "profile/design", :to => "profile#design"
|
||||||
|
put "profile/update", :to => "profile#update"
|
||||||
|
|
||||||
get "dashboard", :to => "dashboard#index"
|
get "dashboard", :to => "dashboard#index"
|
||||||
get "dashboard/issues", :to => "dashboard#issues"
|
get "dashboard/issues", :to => "dashboard#issues"
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddColoschemeOptionToUser < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :users, :dark_scheme, :boolean, :default => false, :null => false
|
||||||
|
end
|
||||||
|
end
|
15
db/schema.rb
15
db/schema.rb
|
@ -11,7 +11,19 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended to check this file into your version control system.
|
# It's strongly recommended to check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(:version => 20111207211728) do
|
ActiveRecord::Schema.define(:version => 20111220190817) do
|
||||||
|
|
||||||
|
create_table "features", :force => true do |t|
|
||||||
|
t.string "name"
|
||||||
|
t.string "branch_name"
|
||||||
|
t.integer "assignee_id"
|
||||||
|
t.integer "author_id"
|
||||||
|
t.integer "project_id"
|
||||||
|
t.datetime "created_at"
|
||||||
|
t.datetime "updated_at"
|
||||||
|
t.string "version"
|
||||||
|
t.integer "status", :default => 0, :null => false
|
||||||
|
end
|
||||||
|
|
||||||
create_table "issues", :force => true do |t|
|
create_table "issues", :force => true do |t|
|
||||||
t.string "title"
|
t.string "title"
|
||||||
|
@ -118,6 +130,7 @@ ActiveRecord::Schema.define(:version => 20111207211728) do
|
||||||
t.string "linkedin", :default => "", :null => false
|
t.string "linkedin", :default => "", :null => false
|
||||||
t.string "twitter", :default => "", :null => false
|
t.string "twitter", :default => "", :null => false
|
||||||
t.string "authentication_token"
|
t.string "authentication_token"
|
||||||
|
t.boolean "dark_scheme", :default => false, :null => false
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "users", ["email"], :name => "index_users_on_email", :unique => true
|
add_index "users", ["email"], :name => "index_users_on_email", :unique => true
|
||||||
|
|
Loading…
Reference in a new issue