forked from MischaTheEvil/projects_tree_view
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Sync with Redmine 0.9.4 * Added plugin functionality to admin/projects page * Fix problem with projects without active children * Deleted unuseful plugin-skeleton files * added js exapnd all button * Fixed missing spent time link
- Loading branch information
Showing
9 changed files
with
297 additions
and
177 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
<div class="contextual"> | ||
<%= link_to l(:label_project_new), {:controller => 'projects', :action => 'new'}, :class => 'icon icon-add' %> | ||
</div> | ||
|
||
<h2><%=l(:label_project_plural)%></h2> | ||
|
||
<% form_tag({}, :method => :get) do %> | ||
<fieldset><legend><%= l(:label_filter_plural) %></legend> | ||
<label><%= l(:field_status) %> :</label> | ||
<%= select_tag 'status', project_status_options_for_select(@status), :class => "small", :onchange => "this.form.submit(); return false;" %> | ||
<label><%= l(:label_project) %>:</label> | ||
<%= text_field_tag 'name', params[:name], :size => 30 %> | ||
<%= submit_tag l(:button_apply), :class => "small", :name => nil %> | ||
</fieldset> | ||
<% end %> | ||
| ||
|
||
<div class="autoscroll"> | ||
<table class="list"> | ||
<thead><tr> | ||
<th><%=l(:label_project)%></th> | ||
<th><%=l(:field_description)%></th> | ||
<th><%=l(:field_is_public)%></th> | ||
<th><%=l(:field_created_on)%></th> | ||
<th></th> | ||
</tr></thead> | ||
<tbody> | ||
<% ancestors = [] %> | ||
<% for project in @projects %> | ||
<% rowid = "" %> | ||
<% classes = "" %> | ||
<% spanicon = "" %> | ||
<% openonclick = "" %> | ||
<% showchildren = false %> | ||
<% project.children.each do |child| %> | ||
<% if @projects.include?(child) %> | ||
<% showchildren = true %> | ||
<% break %> | ||
<% end %> | ||
<% end %> | ||
<% if(!project.children.empty? && showchildren) %> | ||
<% classes += " closed parent " + cycle("odd", "even") %> | ||
<% rowid = "id=\""+project.id.to_s+"span\"" %> | ||
<% openonclick = "onclick=\"showHide('"+project.id.to_s+"','"+project.id.to_s+"span')\""%> | ||
<% spanicon = "<span " + openonclick + " class=\"expander\">  </span>" %> | ||
<% else %> | ||
<% classes += " child" %> | ||
<% end %> | ||
<% if(project.parent_id == nil) %> | ||
<% ancestors.clear %> | ||
<% ancestors << project.id %> | ||
<% else %> | ||
<% while (ancestors.any? && !(project.parent_id == ancestors.last)) %> | ||
<% ancestors.pop %> | ||
<% end %> | ||
<% classes += " hide" %> | ||
<% if( !(ancestors.detect {|pid| pid == project.parent_id })) %> | ||
<% prvclasses = "closed show parent " + cycle("odd", "even") %> | ||
<% ancestors.each do |pid| %> | ||
<% prvclasses += " " + pid.to_s %> | ||
<% end %> | ||
<% openonclick = "onclick=\"showHide('"+project.parent_id.to_s+"','"+project.parent_id.to_s+"span')\"" %> | ||
<tr class="<%= prvclasses %>" id="<%= project.parent_id.to_s + "span" %>" > | ||
<td class="name" ><%= "<span style=\"padding-left: " + (2*(ancestors.length-1)).to_s + "em;\"></span>" %><%="<span " + openonclick + " class=\"expander\" >  </span>" %><%= h("<Private Project>") %><span <%= openonclick %> class="empty"> </span></td> | ||
<td <%= openonclick %> >Project is private. </td> | ||
</span> | ||
</tr> | ||
<% ancestors << project.parent_id %> | ||
<% end %> | ||
<% ancestors.each do |pid| %> | ||
<% classes += " " + pid.to_s %> | ||
<% end %> | ||
<% ancestors << project.id %> | ||
<% end %> | ||
<tr class="<%= classes %>" <%= rowid %> > | ||
<td class="name"><%= "<span style=\"padding-left: " + (2*(ancestors.length-1)).to_s + "em;\"></span>" %><%= spanicon %><%= project.active? ? link_to(h(project.name), {:controller => 'projects', :action => 'show', :id => project}, :class => "project") : h(project.name) %></td> | ||
<td <%= openonclick %> ><%= textilizable project.short_description, :project => project %></td> | ||
<td align="center"><%= image_tag 'true.png' if project.is_public? %></td> | ||
<td align="center"><%= format_date(project.created_on) %></td> | ||
<td class="buttons"> | ||
<%= link_to(l(:button_archive), { :controller => 'projects', :action => 'archive', :id => project, :status => params[:status] }, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-lock') if project.active? %> | ||
<%= link_to(l(:button_unarchive), { :controller => 'projects', :action => 'unarchive', :id => project, :status => params[:status] }, :method => :post, :class => 'icon icon-unlock') if !project.active? && (project.parent.nil? || project.parent.active?) %> | ||
<%= link_to(l(:button_copy), { :controller => 'projects', :action => 'copy', :id => project }, :class => 'icon icon-copy') %> | ||
<%= link_to(l(:button_delete), project_destroy_confirm_path(project), :class => 'icon icon-del') %> | ||
</td> | ||
</tr> | ||
<% end %> | ||
</tbody> | ||
</table> | ||
</div> | ||
|
||
<% html_title(l(:label_project_plural)) -%> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,79 +1,93 @@ | ||
<div class="contextual"> | ||
<% if authorize_global_implemented %> | ||
<%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new'}, :class => 'icon icon-add') + ' |' if User.current.allowed_to?(:add_project, nil, :global => true) %> | ||
<% else %> | ||
<%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new'}, :class => 'icon icon-add') + ' |' if User.current.admin? %> | ||
<% end %> | ||
<%= link_to l(:label_issue_view_all), { :controller => 'issues' } %> | | ||
<%= link_to l(:label_overall_activity), { :controller => 'activity' }%> | ||
</div> | ||
|
||
<h2><%=l(:label_project_plural)%></h2> | ||
|
||
<table class="list"> | ||
<thead> | ||
<tr> | ||
<th><%=l(:label_project)%></th> | ||
<th><%=l(:field_description)%></th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
<% ancestors = [] %> | ||
<% for project in @projects %> | ||
<% rowid = "" %> | ||
<% classes = "" %> | ||
<% spanicon = "" %> | ||
<% openonclick = "" %> | ||
<% if(!project.children.empty?) %> | ||
<% classes += " closed parent " + cycle("odd", "even") %> | ||
<% rowid = "id=\""+project.id.to_s+"span\"" %> | ||
<% openonclick = "onclick=\"showHide('"+project.id.to_s+"','"+project.id.to_s+"span')\""%> | ||
<% spanicon = "<span " + openonclick + " class=\"expander\">  </span>" %> | ||
<% else %> | ||
<% classes += " child" %> | ||
<% end %> | ||
<% if(project.parent_id == nil) %> | ||
<% ancestors.clear %> | ||
<% ancestors << project.id %> | ||
<% else %> | ||
<% while (ancestors.any? && !(project.parent_id == ancestors.last)) %> | ||
<% ancestors.pop %> | ||
<% end %> | ||
<% classes += " hide" %> | ||
<% if( !(ancestors.detect {|pid| pid == project.parent_id })) %> | ||
<% prvclasses = "closed show parent " + cycle("odd", "even") %> | ||
<% ancestors.each do |pid| %> | ||
<% prvclasses += " " + pid.to_s %> | ||
<% end %> | ||
<% openonclick = "onclick=\"showHide('"+project.parent_id.to_s+"','"+project.parent_id.to_s+"span')\"" %> | ||
<tr class="<%= prvclasses %>" id="<%= project.parent_id.to_s + "span" %>" > | ||
<td class="name" ><%= "<span style=\"padding-left: " + (2*(ancestors.length-1)).to_s + "em;\"></span>" %><%="<span " + openonclick + " class=\"expander\" >  </span>" %><%= h("<Private Project>") %><span <%= openonclick %> class="empty"> </span></td> | ||
<td <%= openonclick %> >Project is private. </td> | ||
</span> | ||
</tr> | ||
<% ancestors << project.parent_id %> | ||
<% end %> | ||
<% ancestors.each do |pid| %> | ||
<% classes += " " + pid.to_s %> | ||
<% end %> | ||
<% ancestors << project.id %> | ||
<% end %> | ||
<tr class="<%= classes %>" <%= rowid %> > | ||
<td class="name"><%= "<span style=\"padding-left: " + (2*(ancestors.length-1)).to_s + "em;\"></span>" %><%= spanicon %><%= project.active? ? link_to(h(project.name), {:controller => 'projects', :action => 'show', :id => project}, :class => "project") : h(project.name) %><span <%= openonclick %> class="empty <%=User.current.member_of?(project) ? 'my-project' : nil%>"> </span></td> | ||
<td <%= openonclick %> ><%= textilizable project.short_description.gsub(/\!.+\!/,""), :project => project %></td> | ||
</tr> | ||
<% end %> | ||
</tbody> | ||
</table> | ||
|
||
<% if User.current.logged? %> | ||
<p style="text-align:right;"> | ||
<span class="my-project"><%= l(:label_my_projects) %></span> | ||
</p> | ||
<% end %> | ||
<% other_formats_links do |f| %> | ||
<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %> | ||
<% end %> | ||
<% html_title(l(:label_project_plural)) -%> | ||
<% content_for :header_tags do %> | ||
<%= auto_discovery_link_tag(:atom, {:action => 'index', :format => 'atom', :key => User.current.rss_key}) %> | ||
<% end %> | ||
<div class="contextual"> | ||
<% if authorize_global_implemented %> | ||
<%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new'}, :class => 'icon icon-add') + ' |' if User.current.allowed_to?(:add_project, nil, :global => true) %> | ||
<% else %> | ||
<%= link_to(l(:label_project_new), {:controller => 'projects', :action => 'new'}, :class => 'icon icon-add') + ' |' if User.current.admin? %> | ||
<% end %> | ||
<%= link_to(l(:label_issue_view_all), { :controller => 'issues' }) + ' |' if User.current.allowed_to?(:view_issues, nil, :global => true) %> | ||
<%= link_to(l(:label_overall_spent_time), { :controller => 'time_entries' }) + ' |' if User.current.allowed_to?(:view_time_entries, nil, :global => true) %> | ||
<%= link_to l(:label_overall_activity), { :controller => 'activities', :action => 'index' }%> | ||
</div> | ||
|
||
<h2><%=l(:label_project_plural)%></h2> | ||
|
||
<table class="list"> | ||
<thead> | ||
<tr> | ||
<th><%=l(:label_project)%></th> | ||
<th><%=l(:field_description)%></th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
<% ancestors = [] %> | ||
<% for project in @projects %> | ||
<% rowid = "" %> | ||
<% classes = "" %> | ||
<% spanicon = "" %> | ||
<% openonclick = "" %> | ||
<% showchildren = false %> | ||
<% project.children.each do |child| %> | ||
<% if @projects.include?(child) %> | ||
<% showchildren = true %> | ||
<% break %> | ||
<% end %> | ||
<% end %> | ||
<% if(!project.children.empty? && showchildren) %> | ||
<% classes += " closed parent " + cycle("odd", "even") %> | ||
<% rowid = "id=\""+project.id.to_s+"span\"" %> | ||
<% openonclick = "onclick=\"showHide('"+project.id.to_s+"','"+project.id.to_s+"span')\""%> | ||
<% spanicon = "<span " + openonclick + " class=\"expander\">  </span>" %> | ||
<% else %> | ||
<% classes += " child" %> | ||
<% end %> | ||
<% if(project.parent_id == nil) %> | ||
<% ancestors.clear %> | ||
<% ancestors << project.id %> | ||
<% else %> | ||
<% while (ancestors.any? && !(project.parent_id == ancestors.last)) %> | ||
<% ancestors.pop %> | ||
<% end %> | ||
<% classes += " hide" %> | ||
<% if( !(ancestors.detect {|pid| pid == project.parent_id })) %> | ||
<% prvclasses = "closed show parent " + cycle("odd", "even") %> | ||
<% ancestors.each do |pid| %> | ||
<% prvclasses += " " + pid.to_s %> | ||
<% end %> | ||
<% openonclick = "onclick=\"showHide('"+project.parent_id.to_s+"','"+project.parent_id.to_s+"span')\"" %> | ||
<tr class="<%= prvclasses %>" id="<%= project.parent_id.to_s + "span" %>" > | ||
<td class="name" ><%= "<span style=\"padding-left: " + (2*(ancestors.length-1)).to_s + "em;\"></span>" %><%="<span " + openonclick + " class=\"expander\" >  </span>" %><%= h("<Private Project>") %><span <%= openonclick %> class="empty"> </span></td> | ||
<td <%= openonclick %> >Project is private. </td> | ||
</span> | ||
</tr> | ||
<% ancestors << project.parent_id %> | ||
<% end %> | ||
<% ancestors.each do |pid| %> | ||
<% classes += " " + pid.to_s %> | ||
<% end %> | ||
<% ancestors << project.id %> | ||
<% end %> | ||
<tr class="<%= classes %>" <%= rowid %> > | ||
<td class="name"><%= "<span style=\"padding-left: " + (2*(ancestors.length-1)).to_s + "em;\"></span>" %><%= spanicon %><%= project.active? ? link_to(h(project.name), {:controller => 'projects', :action => 'show', :id => project}, :class => "project") : h(project.name) %><span <%= openonclick %> class="empty <%=User.current.member_of?(project) ? 'my-project' : nil%>"> </span></td> | ||
<td <%= openonclick %> ><%= textilizable project.short_description.gsub(/\!.+\!/,""), :project => project %></td> | ||
</tr> | ||
<% end %> | ||
</tbody> | ||
</table> | ||
|
||
<a href="#" id="expand_all">Expand All</a> | ||
|
||
|
||
<% if User.current.logged? %> | ||
<p style="text-align:right;"> | ||
<span class="my-project"><%= l(:label_my_projects) %></span> | ||
</p> | ||
<% end %> | ||
<% other_formats_links do |f| %> | ||
<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %> | ||
<% end %> | ||
<% html_title(l(:label_project_plural)) -%> |
Oops, something went wrong.