Bootstrap: Issues, Merge Requests, SSH Key completed

This commit is contained in:
Dmitriy Zaporozhets 2012-01-29 23:59:12 +02:00
parent 20721eff1c
commit fca1ffb888
32 changed files with 213 additions and 1010 deletions

View file

@ -6,28 +6,24 @@
- @admin_project.errors.full_messages.each do |msg|
%li= msg
.form-row
.clearfix
= f.label :name
%br
= f.text_field :name
.form-row
.input= f.text_field :name
.clearfix
= f.label :code
%br
= f.text_field :code
.form-row
.input= f.text_field :code
.clearfix
= f.label :path
%br
= f.text_field :path
.input= f.text_field :path
.form-row
= f.label :tag_list
%br
= f.text_area :tag_list, :placeholder => "project tags", :style => "height:50px", :id => :tag_field
- unless @admin_project.new_record?
.clearfix
= f.label :owner_id
.input= f.select :owner_id, User.all.map { |user| [user.name, user.id] }
.form-row
.clearfix
= f.label :description
%br
= f.text_area :description
.input= f.text_area :description
.clear
%br
.actions
@ -36,4 +32,5 @@
:javascript
$(function(){
taggifyForm();
$('#project_owner_id').chosen();
})

View file

@ -2,48 +2,41 @@
= form_for [:admin, @admin_user] do |f|
-if @admin_user.errors.any?
#error_explanation
%h2= "#{pluralize(@admin_user.errors.count, "error")} prohibited this admin_user from being saved:"
%ul
- @admin_user.errors.full_messages.each do |msg|
%li= msg
.form-row
.clearfix
= f.label :name
%br
= f.text_field :name
.form-row
.input= f.text_field :name
.clearfix
= f.label :email
%br
= f.text_field :email
.form-row
.input= f.text_field :email
.clearfix
= f.label :password
%br
= f.password_field :password
.form-row
.input= f.password_field :password
.clearfix
= f.label :password_confirmation
%br
= f.password_field :password_confirmation
.form-row
.input= f.password_field :password_confirmation
.clearfix
= f.check_box :admin
= f.label :admin
.form-row
= f.text_field :projects_limit, :class => "small_input"
.clearfix
= f.label :projects_limit
.input= f.text_field :projects_limit, :class => "small_input"
.form-row
.clearfix
= f.label :skype
%br
= f.text_field :skype
.form-row
.input= f.text_field :skype
.clearfix
= f.label :linkedin
%br
= f.text_field :linkedin
.form-row
.input= f.text_field :linkedin
.clearfix
= f.label :twitter
%br
= f.text_field :twitter
.input= f.text_field :twitter
.clear
%br
.actions
= f.submit 'Save', :class => "btn"
= f.submit 'Save', :class => "btn primary"
= link_to 'Cancel', admin_users_path, :class => "btn"

View file

@ -1,6 +1,3 @@
%h1 New user
%h2 New user
%hr
= render 'form'
%br
= link_to 'Back', admin_users_path, :class => ""

View file

@ -29,5 +29,9 @@
:javascript
$(function(){
CommitsList.init("#{@ref}", 20);
$('.project-refs-select').chosen();
});
:javascript
$(function(){
$('.project-refs-select').chosen();
});

View file

@ -5,6 +5,6 @@
%strong
= merge_request.project.name
–
Issue #
Merge Request #
= merge_request.id
= truncate merge_request.title, :length => 50

View file

@ -1,12 +1,10 @@
%li.wll{ :id => dom_id(issue), :class => "issue #{issue.critical ? "critical" : ""}", :url => project_issue_path(issue.project, issue) }
= image_tag gravatar_icon(issue.author_email), :class => "avatar"
= image_tag gravatar_icon(issue.assignee_email), :class => "avatar"
%span.update-author
assigned to
%strong
= link_to project_team_member_path(@project, @project.team_member_by_id(issue.author_id)), :class => "author_link" do
= issue.author_name
authored
= time_ago_in_words(issue.created_at)
ago
= issue.assignee_name
- if issue.critical
%span.label.important critical
- if issue.today?

View file

@ -1,13 +1,10 @@
- if current_user.private_token
= content_for :rss_icon do
.rss-icon
= link_to project_issues_path(@project, :atom, { :private_token => current_user.private_token }) do
= image_tag "Rss-UI.PNG", :width => 22, :title => "feed"
.issues_content
%h3
Issues
%span.rss-icon
= link_to project_issues_path(@project, :atom, { :private_token => current_user.private_token }) do
= image_tag "Rss-UI.PNG", :width => 22, :title => "feed"
- if can? current_user, :write_issue, @project
= link_to new_project_issue_path(@project), :class => "right btn small", :title => "New Issue", :remote => true do
New Issue

View file

@ -1,3 +1,3 @@
:plain
$('#issues-table tbody').html("#{escape_javascript(render('issues'))}");
$('#issues-table').html("#{escape_javascript(render('issues'))}");
setSortable();

View file

@ -1,5 +1,8 @@
%h3
Issue ##{@issue.id}
%small
created at
= @issue.created_at.stamp("Aug 21, 2011")
%span.right
- if can?(current_user, :admin_project, @project) || @issue.author == current_user
@ -20,21 +23,18 @@
%div.well
%div
%span.entity-info
= image_tag gravatar_icon(@issue.author_email), :class => "left", :width => 40, :style => "padding-right:5px;"
%span.commit-title
%strong
%span.commit-author
%strong
= link_to project_team_member_path(@project, @project.team_member_by_id(@issue.author.id)) do
%span.author= @issue.author_name
→
= link_to project_team_member_path(@project, @project.team_member_by_id(@issue.assignee.id)) do
%span.author= @issue.assignee_name
%br
.cgray= @issue.created_at.stamp("Aug 21, 2011 9:23pm")
%cite.cgray Created by
= image_tag gravatar_icon(@issue.author_email), :width => 16, :class => "lil_av"
= link_to project_team_member_path(@project, @project.team_member_by_id(@issue.author.id)) do
%strong.author= @issue.author_name
%cite.cgray and currently assigned to
= image_tag gravatar_icon(@issue.assignee_email), :width => 16, :class => "lil_av"
= link_to project_team_member_path(@project, @project.team_member_by_id(@issue.assignee.id)) do
%strong.author= @issue.assignee_name
%hr
%div= simple_format @issue.title

View file

@ -1,16 +1,18 @@
%div
= form_for @key, :remote => true do |f|
= form_for @key do |f|
-if @key.errors.any?
%ul
- @key.errors.full_messages.each do |msg|
%li= msg
.alert-message.block-message.error
%ul
- @key.errors.full_messages.each do |msg|
%li= msg
.form-row
.clearfix
= f.label :title
= f.text_field :title, :style => "width:300px"
.form-row
.input= f.text_field :title
.clearfix
= f.label :key
= f.text_area :key, :style => "width:300px; height:130px"
.form-row
= f.submit 'Save', :class => "grey-button"
.input= f.text_area :key, :class => "xlarge"
.actions
= f.submit 'Save', :class => "primary btn"
= link_to "Cancel", keys_path, :class => "btn"

View file

@ -1,7 +1,7 @@
%a.update-item{:href => key_path(key)}
%span.update-title
= key.title
%span.update-author
Added
= time_ago_in_words(key.created_at)
ago
%li.entry
= link_to key_path(key) do
%strong= key.title
%span.right.cgray
Added
= time_ago_in_words(key.created_at)
ago

View file

@ -1,16 +1,10 @@
%h2.icon
%span>
%h3
SSH Keys
%div#new-key-holder.right
= link_to "Add new", new_key_path, :remote => true, :class => "grey-button"
%br
= link_to "Add new", new_key_path, :class => "btn small right"
%hr
%div#keys-table{ :class => "update-data ui-box ui-box-small ui-box-big" }
.data
%ul.unstyled
- @keys.each do |key|
= render(:partial => 'show', :locals => {:key => key})
:javascript
$('.delete-key').live('ajax:success', function() {
$(this).closest('.update-item').fadeOut(); });

View file

@ -1,5 +1,3 @@
%h1 New key
%h3 New key
%hr
= render 'form'
= link_to 'Back', keys_path

View file

@ -1,10 +1,7 @@
.ui-box.width-100p
%h3= @key.title
.data
%pre= @key.key
.clear
.buttons
= link_to 'Remove', @key, :confirm => 'Are you sure?', :method => :delete, :class => "red-button delete-key right"
.clear
%h3= @key.title
%hr
%pre= @key.key
.actions
= link_to 'Remove', @key, :confirm => 'Are you sure?', :method => :delete, :class => "btn danger delete-key"

View file

@ -11,10 +11,6 @@
= truncate @project.name, :length => 28
.git_url_wrapper
%input.git-url.text{:id => "", :name => "", :readonly => "", :type => "text", :value => @project.url_to_repo, :class => "one_click_select"}
-#- if @project.repo_exists?
.left{:style => "margin-left:5px;"}
= render :partial => "projects/refs", :locals => { :destination => controller.controller_name == "commits" ? "commits" : "tree" }
= yield :rss_icon
.account-box

View file

@ -6,14 +6,14 @@
- if @project.repo_exists?
= link_to "Repository", project_repository_path(@project), :class => repository_tab_class
= link_to "Tree", tree_project_ref_path(@project, @project.root_ref), :class => tree_tab_class
= link_to "Code", tree_project_ref_path(@project, @project.root_ref), :class => tree_tab_class
= link_to "Commits", project_commits_path(@project), :class => (controller.controller_name == "commits") ? "current" : nil
= link_to "Network", graph_project_path(@project), :class => current_page?(:controller => "projects", :action => "graph", :id => @project) ? "current" : nil
= link_to project_issues_filter_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do
Issues
= link_to project_merge_requests_path(@project), :class => (controller.controller_name == "merge_requests") ? "current" : nil do
Merge Requests
= link_to wall_project_path(@project), :class => current_page?(:controller => "projects", :action => "wall", :id => @project) ? "current" : nil do
Wall
@Wall
- if @project.common_notes.today.count > 0
%span.label= @project.common_notes.today.count
= link_to project_merge_requests_path(@project), :class => (controller.controller_name == "merge_requests") ? "current" : nil do
Requests

View file

@ -13,13 +13,15 @@
= render :partial => "layouts/head_panel"
.container-fluid
.sidebar
.fixed
%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?
%span{ :class => "number" }= current_user.keys.count
.content= yield
%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?
%span.label= current_user.keys.count
.content
.row
.span10= yield
.span4= render "layouts/projects_side"

View file

@ -5,6 +5,10 @@
→
%span.label= @merge_request.target_branch
%small
created at
= @merge_request.created_at.stamp("Aug 21, 2011")
%span.right
- if can?(current_user, :admin_project, @project) || @merge_request.author == current_user
- if @merge_request.closed
@ -24,19 +28,17 @@
%div.well
%div
%span.entity-info
= image_tag gravatar_icon(@merge_request.author_email), :class => "left", :width => 40, :style => "padding-right:5px;"
%span.commit-title
%strong
%span.commit-author
%strong
= link_to project_team_member_path(@project, @project.team_member_by_id(@merge_request.author.id)) do
%span.author= @merge_request.author_name
→
= link_to project_team_member_path(@project, @project.team_member_by_id(@merge_request.assignee.id)) do
%span.author= @merge_request.assignee_name
%br
.cgray= @merge_request.created_at.stamp("Aug 21, 2011 9:23pm")
%cite.cgray Created by
= image_tag gravatar_icon(@merge_request.author_email), :width => 16, :class => "lil_av"
= link_to project_team_member_path(@project, @project.team_member_by_id(@merge_request.author.id)) do
%strong.author= @merge_request.author_name
%cite.cgray and currently assigned to
= image_tag gravatar_icon(@merge_request.assignee_email), :width => 16, :class => "lil_av"
= link_to project_team_member_path(@project, @project.team_member_by_id(@merge_request.assignee.id)) do
%strong.author= @merge_request.assignee_name
%hr
%div= simple_format @merge_request.title
@ -56,7 +58,7 @@
%img{:src => "/assets/ajax-loader-facebook.gif", :class => "dashboard-loader"}
.merge-request-notes
.issue_notes= render "notes/notes"
.merge_request_notes= render "notes/notes"
.loading{ :style => "display:none;"}
%center= image_tag "ajax-loader.gif"
.clear

View file

@ -1,22 +1,20 @@
.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 => "btn"
%h3 Design
%hr
= form_for @user, :url => profile_update_path, :method => :put do |f|
.row
%label.span4{:for => "user_dark_scheme_false"}
= image_tag "white.png", :width => 210
%center
%h4
= f.radio_button :dark_scheme, false
White code preview
%label.span4{:for => "user_dark_scheme_true"}
= image_tag "dark.png", :width => 210
%center
%h4
= f.radio_button :dark_scheme, true
Dark code preview
.clearfix
.actions
= f.submit 'Save', :class => "btn"

View file

@ -1,44 +1,41 @@
.ui-box.width-100p.append-bottom-20
%h3 Password
= form_for @user, :url => profile_password_path, :method => :put do |f|
.data
%p After successfull password update you will be redirected to login page where you should login with new password
-if @user.errors.any?
#error_explanation
%ul
- @user.errors.full_messages.each do |msg|
%li= msg
%h3 Password
%hr
= form_for @user, :url => profile_password_path, :method => :put do |f|
.data
%p After successfull password update you will be redirected to login page where you should login with new password
-if @user.errors.any?
#error_explanation
%ul
- @user.errors.full_messages.each do |msg|
%li= msg
.form-row
= f.label :password
%br
= f.password_field :password
.form-row
= f.label :password_confirmation
%br
= f.password_field :password_confirmation
.buttons
= f.submit 'Save', :class => "btn"
.clear
.ui-box.width-100p
%h3
Private token
%em.cred.right
keep it in secret!
= form_for @user, :url => profile_reset_private_token_path, :method => :put do |f|
.data
%p Private token used to access application resources without authentication.
%p For example its required to access commits feed.
%hr
%p.cgray
- if current_user.private_token
= text_field_tag "token", current_user.private_token
- else
You don`t have one yet. Click generate to fix it.
.buttons
.clearfix
= f.label :password
.input= f.password_field :password
.clearfix
= f.label :password_confirmation
.input= f.password_field :password_confirmation
.actions
= f.submit 'Save', :class => "btn"
%h3
Private token
%span.cred.right
keep it in secret!
%hr
= form_for @user, :url => profile_reset_private_token_path, :method => :put do |f|
.data
%p Private token used to access application resources without authentication.
%p For example its required to access commits feed.
%hr
%p.cgray
- if current_user.private_token
= f.submit 'Reset', :confirm => "Are you sure?", :class => "grey-button"
= text_field_tag "token", current_user.private_token
- else
= f.submit 'Generate', :class => "btn"
You don`t have one yet. Click generate to fix it.
.actions
- if current_user.private_token
= f.submit 'Reset', :confirm => "Are you sure?", :class => "btn"
- else
= f.submit 'Generate', :class => "btn"

View file

@ -1,4 +1,9 @@
%h3= @user.name
.media-grid
= link_to "#" do
= image_tag gravatar_icon(@user.email, 90), :class => "thumbnail"
%h3.media_h= @user.name
%hr
= form_for @user, :url => profile_update_path, :method => :put do |f|
-if @user.errors.any?