diff --git a/app/controllers/open_source_projects_controller.rb b/app/controllers/open_source_projects_controller.rb
index a77ac858e..fa1f19058 100644
--- a/app/controllers/open_source_projects_controller.rb
+++ b/app/controllers/open_source_projects_controller.rb
@@ -18,6 +18,7 @@ class OpenSourceProjectsController < ApplicationController
per_page_option = 10
@open_source_projects = OpenSourceProject.filter(@app_dir, @language, @created_at)
+ @open_source_projects = @open_source_projects.like(params[:name]) if params[:name].present?
@os_project_count = @open_source_projects.count
@os_project_pages = Paginator.new @os_project_count, per_page_option, params['page']
@@ -65,17 +66,6 @@ class OpenSourceProjectsController < ApplicationController
order(sort_clause).
all
-
-
- # @offset, @limit = api_offset_and_limit({:limit => 10})
- # @forum = Forum.find(params[:id])
- # @memos_all = @forum.topics
- # @topic_count = @memos_all.count
- # @topic_pages = Paginator.new @topic_count, @limit, params['page']
-
- # @offset ||= @topic_pages.offset
- # @memos = @memos_all.offset(@offset).limit(@limit).all
-
respond_to do |format|
format.html {
render :layout => "base_opensource_p"
@@ -148,6 +138,28 @@ class OpenSourceProjectsController < ApplicationController
end
end
+ def remove_condition
+ @app_dir = params[:app_dir]
+ @language = params[:language]
+ @created_at = params[:created_at]
+ redirect_to open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => @created_at, :name => params[:name])
+ end
+
+ def search
+ per_page_option = 10
+
+ @open_source_projects = OpenSourceProject.filter(@app_dir, @language, @created_at)
+ @open_source_projects = @open_source_projects.like(params[:name]) if params[:name].present?
+
+ @os_project_count = @open_source_projects.count
+ @os_project_pages = Paginator.new @os_project_count, per_page_option, params['page']
+
+ @open_source_projects = @open_source_projects.offset(@os_project_pages.offset).limit(@os_project_pages.per_page)
+
+ redirect_to open_source_projects_path(:name => params[:name])
+
+ end
+
private
def require_master
diff --git a/app/helpers/open_source_projects_helper.rb b/app/helpers/open_source_projects_helper.rb
index 1ae851569..6c9060c18 100644
--- a/app/helpers/open_source_projects_helper.rb
+++ b/app/helpers/open_source_projects_helper.rb
@@ -1,22 +1,9 @@
module OpenSourceProjectsHelper
- def render_opensource_project(os_projects)
- s=''.html_safe
- s << "
应用方向:
- <%= link_to "操作系统相关", open_source_projects_path(:app_dir => "操作系统相关", :language => @language, :created_at => @created_at), :class => "nav-more J_More show" %>
- <%= link_to "管理和监控", open_source_projects_path(:app_dir => "管理和监控", :language => @language, :created_at => @created_at), :class => "nav-more J_More show" %>
- <%= link_to "游戏/娱乐", open_source_projects_path(:app_dir => "游戏/娱乐", :language => @language, :created_at => @created_at), :class => "nav-more J_More show" %>
- <%= link_to "应用工具", open_source_projects_path(:app_dir => "应用工具", :language => @language, :created_at => @created_at), :class => "nav-more J_More show" %>
- <%= link_to "数据库相关", open_source_projects_path(:app_dir => "数据库相关", :language => @language, :created_at => @created_at), :class => "nav-more J_More show" %>
- <%= link_to "服务器软件", open_source_projects_path(:app_dir => "服务器软件", :language => @language, :created_at => @created_at), :class => "nav-more J_More show" %>
- <%= link_to "网站系统", open_source_projects_path(:app_dir => "网站系统", :language => @language, :created_at => @created_at), :class => "nav-more J_More show" %>
- <%= link_to "插件和扩展", open_source_projects_path(:app_dir => "插件和扩展", :language => @language, :created_at => @created_at), :class => "nav-more J_More show" %>
+ <%= link_to "操作系统相关", open_source_projects_path(:app_dir => "操作系统相关", :language => @language, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "管理和监控", open_source_projects_path(:app_dir => "管理和监控", :language => @language, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "游戏/娱乐", open_source_projects_path(:app_dir => "游戏/娱乐", :language => @language, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "应用工具", open_source_projects_path(:app_dir => "应用工具", :language => @language, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "数据库相关", open_source_projects_path(:app_dir => "数据库相关", :language => @language, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "服务器软件", open_source_projects_path(:app_dir => "服务器软件", :language => @language, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "网站系统", open_source_projects_path(:app_dir => "网站系统", :language => @language, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "插件和扩展", open_source_projects_path(:app_dir => "插件和扩展", :language => @language, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
开发语言:
- <%= link_to "JAVA", open_source_projects_path(:language => "JAVA", :app_dir => @app_dir, :created_at => @created_at), :class => "nav-more J_More show" %>
- <%= link_to "C++", open_source_projects_path(:language => "c++", :app_dir => @app_dir, :created_at => @created_at), :class => "nav-more J_More show" %>
- <%= link_to "C", open_source_projects_path(:language => "c", :app_dir => @app_dir, :created_at => @created_at), :class => "nav-more J_More show" %>
- <%= link_to "C#", open_source_projects_path(:language => "c#", :app_dir => @app_dir, :created_at => @created_at), :class => "nav-more J_More show" %>
- <%= link_to "ruby", open_source_projects_path(:language => "ruby", :app_dir => @app_dir, :created_at => @created_at), :class => "nav-more J_More show" %>
+ <%= link_to "JAVA", open_source_projects_path(:language => "JAVA", :app_dir => @app_dir, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "C++", open_source_projects_path(:language => "c++", :app_dir => @app_dir, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "C", open_source_projects_path(:language => "c", :app_dir => @app_dir, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "C#", open_source_projects_path(:language => "c#", :app_dir => @app_dir, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "ruby", open_source_projects_path(:language => "ruby", :app_dir => @app_dir, :created_at => @created_at, :name => params[:name]), :class => "nav-more J_More show" %>
<%#= link_to "其他", open_source_projects_path(:language => "其他", :app_dir => @app_dir, :created_at => @created_at), :class => "nav-more J_More show" %>
@@ -185,12 +183,12 @@ li {
创立时间:
- <%= link_to "2014", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "2014"), :class => "nav-more J_More show" %>
- <%= link_to "2013", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "2013"), :class => "nav-more J_More show" %>
- <%= link_to "2012", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "2012"), :class => "nav-more J_More show" %>
- <%= link_to "2011", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "2011"), :class => "nav-more J_More show" %>
- <%= link_to "2010", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "2010"), :class => "nav-more J_More show" %>
- <%= link_to "更早", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "更早"), :class => "nav-more J_More show" %>
+ <%= link_to "2014", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "2014", :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "2013", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "2013", :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "2012", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "2012", :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "2011", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "2011", :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "2010", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "2010", :name => params[:name]), :class => "nav-more J_More show" %>
+ <%= link_to "更早", open_source_projects_path(:app_dir => @app_dir, :language => @language, :created_at => "更早", :name => params[:name]), :class => "nav-more J_More show" %>
diff --git a/config/routes.rb b/config/routes.rb
index e2d4b2fd8..5fbd3b438 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -28,6 +28,7 @@ RedmineApp::Application.routes.draw do
resources :open_source_projects do
collection do
match 'search', via: [:get, :post]
+ match 'remove_condition', via: [:get, :post]
end
resources :relative_memos
member do