Commit 9a2a8612 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Design tab for profile. Colorscheme as db value

parent 2f7b6716
......@@ -654,3 +654,15 @@ body.project-page h2.icon.loading {
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
end
def social_update
def design
@user = current_user
end
def update
@user = current_user
@user.update_attributes(params[:user])
redirect_to [:profile]
redirect_to :back
end
def password
......
......@@ -2,9 +2,9 @@ require 'digest/md5'
module ApplicationHelper
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}/avatar/#{Digest::MD5.hexdigest(user_email)}?s=40&d=identicon"
"#{gravatar_host}/avatar/#{Digest::MD5.hexdigest(user_email)}?s=#{size}&d=identicon"
end
def fixed_mode?
......
......@@ -7,6 +7,8 @@ class Tree
:name,
:data,
:mime_type,
:mode,
:size,
:text?,
:colorize,
:to => :tree
......
......@@ -6,7 +6,7 @@ class User < ActiveRecord::Base
# Setup accessible (or protected) attributes for your model
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 :projects, :through => :users_projects
......
......@@ -19,6 +19,7 @@
%aside
= 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 "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
Keys
- unless current_user.keys.empty?
......
!!!
%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
.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"
.ui-box.width-100p
%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
-if @user.errors.any?
#error_explanation
%ul
- @user.errors.full_messages.each do |msg|
%li= msg
.left
-if @user.errors.any?
#error_explanation
%ul
- @user.errors.full_messages.each do |msg|
%li= msg
.form-row
= f.label :name
%br
= f.text_field :name
.form-row
= f.label :email
%br
= f.text_field :email
.form-row
= f.label :skype
%br
= f.text_field :skype
.form-row
= f.label :linkedin
%br
= f.text_field :linkedin
.form-row
= f.label :twitter
%br
= f.text_field :twitter
.form-row
= f.label :name
%br
= f.text_field :name
.form-row
= f.label :email
%br
= f.text_field :email
.form-row
= f.label :skype
%br
= f.text_field :skype
.form-row
= f.label :linkedin
%br
= f.text_field :linkedin
.form-row
= f.label :twitter
%br
= f.text_field :twitter
.right
= image_tag gravatar_icon(current_user.email,64), :width => 64, :style => "margin:5px; border:5px solid #eee;"
.clear
.buttons
= f.submit 'Save', :class => "grey-button"
......@@ -5,12 +5,12 @@
= name
= 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;"
= switch_colorscheme_link(:class => "right", :style => "margin-right:10px;color:orange")
-#= switch_colorscheme_link(:class => "right", :style => "margin-right:10px;color:orange")
%br/
- if file.text?
.view_file_content
- unless file.empty?
%div{:class => cookies[:colorschema]}
%div{:class => current_user.dark_scheme ? "black" : ""}
:erb
<%= raw file.colorize %>
- else
......
......@@ -19,8 +19,9 @@ Gitlab::Application.routes.draw do
get "profile/password", :to => "profile#password"
put "profile/password", :to => "profile#password_update"
put "profile/reset_private_token", :to => "profile#reset_private_token"
put "profile/edit", :to => "profile#social_update"
get "profile", :to => "profile#show"
get "profile/design", :to => "profile#design"
put "profile/update", :to => "profile#update"
get "dashboard", :to => "dashboard#index"
get "dashboard/issues", :to => "dashboard#issues"
......
class AddColoschemeOptionToUser < ActiveRecord::Migration
def change
add_column :users, :dark_scheme, :boolean, :default => false, :null => false
end
end
......@@ -11,7 +11,19 @@
#
# 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|
t.string "title"
......@@ -118,6 +130,7 @@ ActiveRecord::Schema.define(:version => 20111207211728) do
t.string "linkedin", :default => "", :null => false
t.string "twitter", :default => "", :null => false
t.string "authentication_token"
t.boolean "dark_scheme", :default => false, :null => false
end
add_index "users", ["email"], :name => "index_users_on_email", :unique => true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment