[25031] users/jberry/mpwa

source_changes at macosforge.org source_changes at macosforge.org
Fri May 11 21:02:43 PDT 2007


Revision: 25031
          http://trac.macosforge.org/projects/macports/changeset/25031
Author:   jberry at macports.org
Date:     2007-05-11 21:02:42 -0700 (Fri, 11 May 2007)

Log Message:
-----------
Implement search for port by portname.

Modified Paths:
--------------
    users/jberry/mpwa/app/controllers/port_controller.rb
    users/jberry/mpwa/app/models/port.rb
    users/jberry/mpwa/app/views/layouts/application.rhtml
    users/jberry/mpwa/doc/TODO.txt

Added Paths:
-----------
    users/jberry/mpwa/app/views/port/query.rhtml

Modified: users/jberry/mpwa/app/controllers/port_controller.rb
===================================================================
--- users/jberry/mpwa/app/controllers/port_controller.rb	2007-05-12 03:06:52 UTC (rev 25030)
+++ users/jberry/mpwa/app/controllers/port_controller.rb	2007-05-12 04:02:42 UTC (rev 25031)
@@ -50,6 +50,12 @@
     redirect_to :action => 'list'
   end
   
+  def query
+    @q = params[:q]
+    @port_pages, @ports = paginate :ports, :per_page => 80, :order => 'name',
+      :conditions => Port.build_query_conditions(@q)
+  end
+  
   private :create, :edit, :update, :destroy
   
 end

Modified: users/jberry/mpwa/app/models/port.rb
===================================================================
--- users/jberry/mpwa/app/models/port.rb	2007-05-12 03:06:52 UTC (rev 25030)
+++ users/jberry/mpwa/app/models/port.rb	2007-05-12 04:02:42 UTC (rev 25031)
@@ -29,8 +29,12 @@
             port.save
         end
         return port
-    end    
+    end
     
+    def Port.build_query_conditions(q)
+      "name like '%#{sanitize_sql(q)}%'"
+    end
+    
     def has_tag(name)
         !self.tags.select { |t| t.name == name }.empty?
     end

Modified: users/jberry/mpwa/app/views/layouts/application.rhtml
===================================================================
--- users/jberry/mpwa/app/views/layouts/application.rhtml	2007-05-12 03:06:52 UTC (rev 25030)
+++ users/jberry/mpwa/app/views/layouts/application.rhtml	2007-05-12 04:02:42 UTC (rev 25031)
@@ -15,7 +15,7 @@
 			<h1><a href='/'>MacPorts</a></h1>
 		</div>
 		</div class='header_right'>
-			<form action='/search' method='post'>
+			<form action='/port/query' method='post'>
 				Search: <input type='text' size='25' value='' name='q'>
 			</form>
 		</div>

Added: users/jberry/mpwa/app/views/port/query.rhtml
===================================================================
--- users/jberry/mpwa/app/views/port/query.rhtml	                        (rev 0)
+++ users/jberry/mpwa/app/views/port/query.rhtml	2007-05-12 04:02:42 UTC (rev 25031)
@@ -0,0 +1,16 @@
+<h2>Search Results</h2>
+
+<p>Result of search for "<%=h @q %>"
+
+<table>
+	<% for row in columnize(@ports.sort, 4) %>
+		<tr>
+			<% for port in row %>
+				<td><%= link_to port.name, :controller => 'port', :action => 'show', :id => port if !port.nil? %></td>
+			<% end %>
+		</tr>
+	<% end %>
+</table>
+
+<%= link_to 'Previous page', { :page => @port_pages.current.previous, :q => @q } if @port_pages.current.previous %>
+<%= link_to 'Next page', { :page => @port_pages.current.next, :q => @q } if @port_pages.current.next %> 

Modified: users/jberry/mpwa/doc/TODO.txt
===================================================================
--- users/jberry/mpwa/doc/TODO.txt	2007-05-12 03:06:52 UTC (rev 25030)
+++ users/jberry/mpwa/doc/TODO.txt	2007-05-12 04:02:42 UTC (rev 25031)
@@ -1,10 +1,10 @@
 Short Term:
 
-Medium Term:
+  - Get it live
+  - Improve ui and gui
+  - Implement tagging
+  - Make latest/greatest port version more visible
 	
-	- Improve (drastically) the UI for port browsing
-	- Implement port searching	
-	
 UI Design Thoughts:
 
 	- Global Page header:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070511/897fac0a/attachment.html


More information about the macports-changes mailing list