Merge branch 'master' into features/feeds
This commit is contained in:
commit
8d74123d61
56 changed files with 1042 additions and 758 deletions
|
@ -27,12 +27,13 @@
|
|||
%a.project-update{:href => dashboard_feed_path(project, update)}
|
||||
= image_tag gravatar_icon(update.author_email), :class => "left", :width => 40
|
||||
%span.update-title
|
||||
- if update.kind_of?(Grit::Commit)
|
||||
%span.right.tag.commit= update.head.name
|
||||
= dashboard_feed_title(update)
|
||||
%span.update-author
|
||||
%strong= update.author_name
|
||||
authored
|
||||
= time_ago_in_words(update.created_at)
|
||||
ago
|
||||
%br
|
||||
/ #news-feed
|
||||
/ #dashboard-content
|
||||
|
|
|
@ -8,15 +8,11 @@
|
|||
<%= image_tag gravatar_icon(current_user.email) %>
|
||||
<% end %>
|
||||
|
||||
<a href="#" class="arrow-up"></a>
|
||||
|
||||
<div class="account-links">
|
||||
<%= link_to profile_path, :class => "username" do %>
|
||||
<%#= current_user.name %>
|
||||
Your profile
|
||||
My profile
|
||||
<% end %>
|
||||
<%= link_to "Fluid layout", url_for( :view_style => 'fluid' ) if cookies[:view_style] == "collapsed"%>
|
||||
<%= link_to "Fixed layout", url_for( :view_style => 'collapsed' ) unless cookies[:view_style] == "collapsed"%>
|
||||
<%= link_to 'Logout', destroy_user_session_path, :class => "logout", :method => :delete %>
|
||||
</div>
|
||||
</div><!-- .account-box -->
|
||||
|
@ -50,3 +46,11 @@
|
|||
});
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% if current_user.keys.all.empty? %>
|
||||
<div id="no_ssh_key_defined">
|
||||
<h2>ATTENTION!</h2>
|
||||
<p>No SSH Key is defined. You won't be able to use any Git command!
|
||||
<p>Click <%=link_to( 'here', keys_path ) %> to add one!
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
@ -20,11 +20,13 @@
|
|||
.project-container
|
||||
.project-sidebar
|
||||
.fixed
|
||||
%input.git-url.text{:id => "", :name => "", :readonly => "", :type => "text", :value => @project.url_to_repo, :class => "one_click_select"}
|
||||
.git_url_wrapper
|
||||
%input.git-url.text{:id => "", :name => "", :readonly => "", :type => "text", :value => @project.url_to_repo, :class => "one_click_select"}
|
||||
%aside
|
||||
= link_to "History", project_path(@project), :class => current_page?(:controller => "projects", :action => "show", :id => @project) ? "current" : nil
|
||||
= link_to "Activities", project_path(@project), :class => current_page?(:controller => "projects", :action => "show", :id => @project) ? "current" : nil
|
||||
= link_to "Tree", tree_project_path(@project), :class => current_page?(:controller => "projects", :action => "tree", :id => @project) ? "current" : nil
|
||||
= link_to "Commits", project_commits_path(@project), :class => current_page?(:controller => "commits", :action => "index", :project_id => @project) ? "current" : nil
|
||||
= link_to "Network graph", graph_project_path(@project), :class => current_page?(:controller => "projects", :action => "graph", :id => @project) ? "current" : nil
|
||||
= link_to team_project_path(@project), :class => (current_page?(:controller => "projects", :action => "team", :id => @project) || controller.controller_name == "team_members") ? "current" : nil do
|
||||
Team
|
||||
- if @project.users_projects.count > 0
|
||||
|
|
|
@ -28,4 +28,4 @@
|
|||
|
||||
.clear
|
||||
%br
|
||||
= f.submit 'Add note', :class => "lbutton vm", :id => "submit_note"
|
||||
= f.submit 'Add note', :class => "button", :id => "submit_note"
|
||||
|
|
15
app/views/projects/_feed.html.haml
Normal file
15
app/views/projects/_feed.html.haml
Normal file
|
@ -0,0 +1,15 @@
|
|||
%a.project-update{:href => dashboard_feed_path(project, update)}
|
||||
= image_tag gravatar_icon(update.author_email), :class => "left", :width => 40
|
||||
%span.update-title
|
||||
= dashboard_feed_title(update)
|
||||
%span.update-author
|
||||
%strong= update.author_name
|
||||
authored
|
||||
= time_ago_in_words(update.created_at)
|
||||
ago
|
||||
.right
|
||||
- klass = update.class.to_s.split("::").last.downcase
|
||||
%span.tag{ :class => klass }= klass
|
||||
- if update.kind_of?(Grit::Commit)
|
||||
%span.tag.commit= update.head.name
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
%table
|
||||
%thead
|
||||
%th
|
||||
Commits
|
||||
.filter.right
|
||||
= form_tag project_path(@project), :method => :get, :class => "right" do
|
||||
.left
|
||||
= radio_button_tag :view, "recent", (params[:view] || "recent") == "recent", :onclick => "this.form.submit()", :id => "recent_view"
|
||||
= label_tag "recent_view","Recent"
|
||||
.left
|
||||
= radio_button_tag :view, "day", params[:view] == "day", :onclick => "this.form.submit()", :id => "day_view"
|
||||
= label_tag "day_view","Today"
|
||||
.left
|
||||
= radio_button_tag :view, "week", params[:view] == "week", :onclick => "this.form.submit()", :id => "week_view"
|
||||
= label_tag "week_view","Week"
|
||||
- @commits.each do |commit|
|
||||
%tr
|
||||
%td
|
||||
%div.commit
|
||||
- if commit.author.email
|
||||
= image_tag gravatar_icon(commit.author.email), :class => "left", :width => 40, :style => "padding-right:5px;"
|
||||
- else
|
||||
= image_tag "no_avatar.png", :class => "left", :width => 40, :style => "padding-right:5px;"
|
||||
.title
|
||||
%p= link_to truncate(commit.safe_message, :length => fixed_mode? ? 40 : 100), project_commit_path(@project, :id => commit.id)
|
||||
|
||||
%span
|
||||
%span.author
|
||||
%strong= commit.author.name.force_encoding("UTF-8")
|
||||
%cite.cgray
|
||||
= time_ago_in_words(commit.committed_date)
|
||||
ago
|
|
@ -1,27 +0,0 @@
|
|||
- @messages.group_by{ |x| [x.noteable_id, x.noteable_type]}.each do |item, notes|
|
||||
- id, type = item[0], item[1]
|
||||
- parent = load_note_parent(id, type, @project)
|
||||
- next unless parent
|
||||
|
||||
%table
|
||||
%thead
|
||||
%th
|
||||
%div{ :class => "recent_message_parent"}
|
||||
= link_to(truncate(dashboard_feed_title(parent), :length => fixed_mode? ? 40 : 100 ), dashboard_feed_path(@project, parent))
|
||||
- notes.sort {|x,y| y.updated_at <=> x.updated_at }.each do |note|
|
||||
%tr
|
||||
%td
|
||||
%div.message
|
||||
= image_tag gravatar_icon(note.author_email), :class => "left", :width => 40, :style => "padding-right:5px;"
|
||||
%div.title
|
||||
= link_to markdown(truncate(note.note, :length => fixed_mode? ? 40 : 100)), dashboard_feed_path(@project, parent) + "#note_#{note.id}"
|
||||
- if note.attachment.url
|
||||
%br
|
||||
Attachment:
|
||||
= link_to note.attachment_identifier, note.attachment.url
|
||||
%div.author
|
||||
%strong= note.author_name
|
||||
%cite.cgray
|
||||
= time_ago_in_words(note.updated_at)
|
||||
ago
|
||||
%br
|
|
@ -1,13 +1,13 @@
|
|||
- @projects.in_groups_of(3, false) do |projects|
|
||||
- projects.each_with_index do |project, i|
|
||||
%div.grid_1
|
||||
%div.grid_1.projects_selector
|
||||
%div{ :class => "project-box ui-box ui-box-big" }
|
||||
= link_to project_path(project) do
|
||||
%h3= project.name
|
||||
%h3= truncate(project.name, :length => 20)
|
||||
.data
|
||||
%p.title.repository
|
||||
%p.title.repository.git_url_wrapper
|
||||
%span Repository:
|
||||
= project.url_to_repo
|
||||
%input{ :value => project.url_to_repo, :class => ['git-url', 'one_click_select', 'text', 'project_list_url'], :readonly => 'readonly' }
|
||||
%p.title.activity
|
||||
%span Last Activity:
|
||||
- last_note = project.notes.last
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
= time_ago_in_words(content_commit.committed_date)
|
||||
ago
|
||||
%td.commit
|
||||
= link_to truncate(content_commit.safe_message, :length => fixed_mode? ? 40 : 80), project_commit_path(@project, content_commit), :class => "tree-commit-link"
|
||||
= link_to truncate(content_commit.safe_message, :length => 40), project_commit_path(@project, content_commit), :class => "tree-commit-link"
|
||||
- tm = @project.team_member_by_name_or_email(content_commit.author_email, content_commit.author_name)
|
||||
- if tm
|
||||
= link_to "[#{tm.user_name}]", project_team_member_path(@project, tm)
|
||||
|
|
|
@ -28,7 +28,7 @@ eos
|
|||
<h2>Existing Git Repo?</h2>
|
||||
<% exist_repo_setup_str = <<eos
|
||||
cd existing_git_repo
|
||||
git remote add origin #{@project.url_to_repo}
|
||||
git remote add origin #{@project.url_to_repo}
|
||||
git push -u origin master
|
||||
eos
|
||||
%>
|
||||
|
|
9
app/views/projects/graph.html.haml
Normal file
9
app/views/projects/graph.html.haml
Normal file
|
@ -0,0 +1,9 @@
|
|||
#holder.graph
|
||||
|
||||
:javascript
|
||||
var chunk1={commits:#{@commits_json}};
|
||||
var days=#{@days_json};
|
||||
initGraph();
|
||||
$(function(){
|
||||
branchGraph($("#holder")[0]);
|
||||
});
|
|
@ -1,8 +1,10 @@
|
|||
.new-project-hodler
|
||||
.container_4
|
||||
%h2.icon
|
||||
%span
|
||||
New Project
|
||||
- content_for(:body_class, "new-project-page")
|
||||
- content_for(:page_title) do
|
||||
.new-project-hodler
|
||||
.container
|
||||
%h2.icon
|
||||
%span
|
||||
New Project
|
||||
|
||||
%div.clear
|
||||
= render 'form'
|
||||
%div.clear
|
||||
= render 'form'
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
.left.width-49p
|
||||
=render "projects/recent_commits"
|
||||
- content_for(:body_class, "project-page dashboard")
|
||||
|
||||
.right.width-49p
|
||||
=render "projects/recent_messages"
|
||||
#news-feed.news-feed
|
||||
%h2.icon
|
||||
%span>
|
||||
Activities
|
||||
.project-box.project-updates.ui-box.ui-box-small.ui-box-big
|
||||
- @activities.each do |update|
|
||||
= render "projects/feed", :update => update, :project => @project
|
||||
|
||||
:javascript
|
||||
function updateDashboard(){
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
%td{:colspan => 2}
|
||||
= f.label :content, "Code"
|
||||
%br
|
||||
= f.text_area :content, :style => "height:240px;width:932px;"
|
||||
%br
|
||||
= f.text_area :content
|
||||
|
||||
.actions.prepend-top
|
||||
= f.submit 'Save', :class => "lbutton vm"
|
||||
= f.submit 'Save', :class => "button"
|
||||
|
|
|
@ -2,11 +2,17 @@
|
|||
%tr{ :id => dom_id(snippet), :class => "snippet", :url => project_snippet_path(@project, snippet) }
|
||||
%td
|
||||
= image_tag gravatar_icon(snippet.author.email), :class => "left", :width => 40, :style => "padding:0 5px;"
|
||||
= truncate snippet.author.name, :lenght => 20
|
||||
%td= html_escape snippet.title
|
||||
%td= html_escape snippet.file_name
|
||||
%td
|
||||
- if can?(current_user, :admin_snippet, @project) || snippet.author == current_user
|
||||
= link_to 'Edit', edit_project_snippet_path(@project, snippet), :class => "lbutton positive"
|
||||
- if can?(current_user, :admin_snippet, @project) || snippet.author == current_user
|
||||
= link_to 'Destroy', [@project, snippet], :confirm => 'Are you sure?', :method => :delete, :remote => true, :class => "lbutton delete-snippet negative", :id => "destroy_snippet_#{snippet.id}"
|
||||
%span
|
||||
%strong= html_escape snippet.title
|
||||
%br
|
||||
%br
|
||||
%div.author
|
||||
%strong= truncate snippet.author.name, :lenght => 20
|
||||
%cite.cgray
|
||||
= time_ago_in_words(snippet.updated_at)
|
||||
ago
|
||||
.right.action-links
|
||||
- if can?(current_user, :admin_snippet, @project) || snippet.author == current_user
|
||||
= link_to 'Edit', edit_project_snippet_path(@project, snippet), :class => "cgray"
|
||||
- if can?(current_user, :admin_snippet, @project) || snippet.author == current_user
|
||||
= link_to 'Destroy', [@project, snippet], :confirm => 'Are you sure?', :method => :delete, :remote => true, :class => "cred delete-snippet negative", :id => "destroy_snippet_#{snippet.id}"
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
%div
|
||||
- if can? current_user, :write_snippet, @project
|
||||
.left= link_to 'New Snippet', new_project_snippet_path(@project), :class => "lbutton vm"
|
||||
= link_to 'New Snippet', new_project_snippet_path(@project), :class => "button append-bottom-10"
|
||||
|
||||
%table.round-borders#snippets-table
|
||||
%tr
|
||||
%th Author
|
||||
%th Title
|
||||
%th File name
|
||||
%th
|
||||
%thead
|
||||
%th
|
||||
= render @snippets.fresh
|
||||
:javascript
|
||||
$('.delete-snippet').live('ajax:success', function() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue