changeset 1007:3e52bc15dd67 browsing

Add browse page stub
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Fri, 09 Nov 2012 20:04:29 +0000
parents 4ffe9098c16c
children 8196ed891e54
files app/controllers/projects_controller.rb app/controllers/welcome_controller.rb app/views/projects/_latest.html.erb app/views/projects/browse.html.erb app/views/welcome/index.html.erb config/routes.rb
diffstat 6 files changed, 37 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/app/controllers/projects_controller.rb	Fri Nov 09 17:41:04 2012 +0000
+++ b/app/controllers/projects_controller.rb	Fri Nov 09 20:04:29 2012 +0000
@@ -20,8 +20,8 @@
   menu_item :roadmap, :only => :roadmap
   menu_item :settings, :only => :settings
 
-  before_filter :find_project, :except => [ :index, :list, :new, :create, :copy ]
-  before_filter :authorize, :except => [ :index, :list, :new, :create, :copy, :archive, :unarchive, :destroy]
+  before_filter :find_project, :except => [ :index, :list, :browse, :new, :create, :copy ]
+  before_filter :authorize, :except => [ :index, :list, :browse, :new, :create, :copy, :archive, :unarchive, :destroy]
   before_filter :authorize_global, :only => [:new, :create]
   before_filter :require_admin, :only => [ :copy, :archive, :unarchive, :destroy ]
   accept_rss_auth :index
@@ -76,6 +76,16 @@
     end
   end
 
+  # A different view of projects using browse boxes
+  def browse
+    respond_to do |format|
+      format.html {
+        @projects = Project.visible
+        render :template => 'projects/browse.html.erb', :layout => !request.xhr?
+      }
+    end
+  end
+
   def new
     @issue_custom_fields = IssueCustomField.find(:all, :order => "#{CustomField.table_name}.position")
     @trackers = Tracker.all
--- a/app/controllers/welcome_controller.rb	Fri Nov 09 17:41:04 2012 +0000
+++ b/app/controllers/welcome_controller.rb	Fri Nov 09 20:04:29 2012 +0000
@@ -25,7 +25,6 @@
     @site_project = Project.find_by_identifier "soundsoftware-site"
     @site_news = []
     @site_news = News.latest_for @site_project if @site_project
-    @projects = Project.latest User.current
     
     # tests if user is logged in to generate the tips of the day list
     if User.current.logged?
--- a/app/views/projects/_latest.html.erb	Fri Nov 09 17:41:04 2012 +0000
+++ b/app/views/projects/_latest.html.erb	Fri Nov 09 20:04:29 2012 +0000
@@ -1,6 +1,5 @@
     <ul>
-    <% for project in @projects %>
-      <% @project = project %>
+    <% for project in Project.latest(User.current) %>
 	<li class="latest">
 	<span class="title">
 	  <% if !project.root? %>
@@ -17,5 +16,4 @@
 	<%= render_project_short_description project %>
       </li>
     <% end %>
-    <% @project = nil %>
     </ul>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/views/projects/browse.html.erb	Fri Nov 09 20:04:29 2012 +0000
@@ -0,0 +1,22 @@
+
+<h2><%= l(:label_browse) %></h2>
+
+<div class="splitcontentleft">
+  <div class="projects box">
+  <h3><%=l(:label_project_latest)%></h3>
+    <%= render :partial => 'projects/latest' %>
+    <%= link_to l(:label_projects_more), :controller => 'projects' %>
+  </div>
+</div>
+<div class="splitcontentleft">
+  <div class="projects box">
+  <h3><%=l(:label_project_tags_all)%></h3>
+    <%= render :partial => 'projects/tagcloud' %>
+    <%= link_to l(:label_projects_more), :controller => 'projects' %>
+  </div>
+  <div class="projects box">
+  <h3><%=l(:label_projects_busy)%></h3>
+    <%= render :partial => 'activities/busy' %>
+    <%= link_to l(:label_projects_more), :controller => 'projects' %>
+  </div>
+</div>
--- a/app/views/welcome/index.html.erb	Fri Nov 09 17:41:04 2012 +0000
+++ b/app/views/welcome/index.html.erb	Fri Nov 09 20:04:29 2012 +0000
@@ -20,7 +20,6 @@
 	<%= link_to l(:label_news_more), { :controller => 'projects', :action => @site_project.identifier, :id => 'news' } %>
   </div>
   <% end %>
-  <% if @projects.any? %>
   <div class="projects box">
   <h3><%=l(:label_project_latest)%></h3>
     <%= render :partial => 'projects/latest' %>
@@ -36,7 +35,6 @@
     <%= render :partial => 'activities/busy' %>
     <%= link_to l(:label_projects_more), :controller => 'projects' %>
   </div>
-  <% end %>
     <%= call_hook(:view_welcome_index_right, :projects => @projects) %>
 </div>
 
--- a/config/routes.rb	Fri Nov 09 17:41:04 2012 +0000
+++ b/config/routes.rb	Fri Nov 09 20:04:29 2012 +0000
@@ -32,6 +32,8 @@
   # TODO: wasteful since this is also nested under issues, projects, and projects/issues
   map.resources :time_entries, :controller => 'timelog'
 
+  map.connect 'browse', :controller => 'projects', :action => 'browse'
+
   map.connect 'projects/:id/wiki', :controller => 'wikis', :action => 'edit', :conditions => {:method => :post}
   map.connect 'projects/:id/wiki/destroy', :controller => 'wikis', :action => 'destroy', :conditions => {:method => :get}
   map.connect 'projects/:id/wiki/destroy', :controller => 'wikis', :action => 'destroy', :conditions => {:method => :post}