Design tab for profile. Colorscheme as db value

This commit is contained in:
Dmitriy Zaporozhets 2011-12-20 22:47:09 +02:00
parent 2f7b671619
commit 9a2a861276
15 changed files with 100 additions and 66 deletions

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View file

@ -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 {
}
}
}

View file

@ -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

View file

@ -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?

View file

@ -7,6 +7,8 @@ class Tree
:name,
:data,
:mime_type,
:mode,
:size,
:text?,
:colorize,
:to => :tree

View file

@ -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

View file

@ -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?

View file

@ -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

View 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"

View file

@ -1,33 +1,38 @@
.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"

View file

@ -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