From 28b10ed3fd0200d89d0499946898d8be86fd2705 Mon Sep 17 00:00:00 2001
From: fanqiang <316257774@qq.com>
Date: Tue, 22 Apr 2014 08:21:35 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E6=90=9C=E7=B4=A2?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=B9=B6=E8=83=BD=E5=AF=B9=E6=90=9C?=
=?UTF-8?q?=E7=B4=A2=E8=BF=9B=E8=A1=8C=E8=BF=87=E6=BB=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../open_source_projects_controller.rb | 34 ++++---
app/helpers/open_source_projects_helper.rb | 22 +----
app/models/open_source_project.rb | 91 ++++++++++---------
app/views/open_source_projects/index.html.erb | 42 ++++-----
config/routes.rb | 1 +
5 files changed, 97 insertions(+), 93 deletions(-)
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