From 473a44d11a6414ec9184ede5fb62b9d226b5f016 Mon Sep 17 00:00:00 2001
From: Wen
Date: Wed, 23 Apr 2014 21:20:03 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E6=A0=A1-=E8=AF=BE=E7=A8=8B=E6=A8=A1?=
=?UTF-8?q?=E5=BC=8F=EF=BC=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/projects_controller.rb | 4 +-
app/controllers/school_controller.rb | 19 +-
app/helpers/application_helper.rb | 5 +
app/helpers/welcome_helper.rb | 49 ++-
app/views/my/account.html.erb | 8 +-
app/views/projects/_course.html.erb | 3 +-
app/views/school/index.html.erb | 42 +++
app/views/welcome/course.html.erb | 445 +++++++++++++------------
config/locales/zh.yml | 4 +
config/routes.rb | 3 +-
public/stylesheets/nyan.css | 89 +++++
11 files changed, 435 insertions(+), 236 deletions(-)
create mode 100644 app/views/school/index.html.erb
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 98f6316ad..ebefdf2bf 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -177,11 +177,13 @@ class ProjectsController < ApplicationController
def course
@project_type = params[:project_type]
+ @school_id = params[:school_id]
per_page_option = 10
@projects_all = Project.active.visible.
joins("LEFT JOIN #{ProjectStatus.table_name} ON #{Project.table_name}.id = #{ProjectStatus.table_name}.project_id").
- where("#{Project.table_name}.project_type = ? ", Project::ProjectType_course)
+ joins(:course_extra).
+ where("#{Project.table_name}.project_type = ? AND #{Course.table_name}.school_id = ?", Project::ProjectType_course, @school_id)
@project_count = @projects_all.count
@project_pages = Paginator.new @project_count, per_page_option, params['page']
diff --git a/app/controllers/school_controller.rb b/app/controllers/school_controller.rb
index ec9913684..a2f6a348c 100644
--- a/app/controllers/school_controller.rb
+++ b/app/controllers/school_controller.rb
@@ -1,4 +1,10 @@
class SchoolController < ApplicationController
+
+
+ def index
+
+ end
+
def get_options
@school = School.where("province = ?", params[:province])
p = params[:province]
@@ -7,11 +13,22 @@ class SchoolController < ApplicationController
@school.each do |s|
#options << ""
- options << "#{s.name}"
+ options << "#{s.name}"
end
render :text => options
end
+
+ def get_schoollist
+ @school = School.where("province = ?", params[:province])
+
+ options = ""
+ @school.each do |s|
+ options << "#{s.name}"
+ end
+
+ render :text => options
+ end
end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index ad90f8942..9d18f81c9 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -1579,9 +1579,14 @@ module ApplicationHelper
forum_link = link_to l(:label_project_module_forums), {:controller => "forums", :action => "index"}
stores_link = link_to l(:label_stores_index), {:controller => 'stores', :action=> 'index'}
+
+ school_all_school_link = link_to l(:label_school_all), {:controller => 'school', :action => 'index'}
+
+
#@nav_dispaly_project_label
nav_list = Array.new
nav_list.push(home_link) if !@nav_dispaly_home_path_label
+ nav_list.push(school_all_school_link) if @nav_dispaly_course_all_label
nav_list.push(course_all_course_link) if @nav_dispaly_course_all_label
nav_list.push(course_teacher_all_link) if @nav_dispaly_teacher_all_label
diff --git a/app/helpers/welcome_helper.rb b/app/helpers/welcome_helper.rb
index 9970ee9c6..b622e6818 100644
--- a/app/helpers/welcome_helper.rb
+++ b/app/helpers/welcome_helper.rb
@@ -56,12 +56,49 @@ module WelcomeHelper
# # => 前7个项目为新课程,后面三个是参与人数最多的
#
# Returns project&courses array
- def find_miracle_course(sum=10, max_rate=7)
- Project.active.visible.course_entities.
- joins(:course_extra).
- joins(:memberships).
- group('members.project_id').
- reorder("courses.time DESC, COUNT(members.project_id) DESC").take sum
+ def find_miracle_course(sum=10, max_rate=7, school_id)
+
+ if User.current.user_extensions.school.nil? and school_id.nil?
+ Project.active.visible.course_entities.
+ joins(:course_extra).
+ joins(:memberships).
+ group('members.project_id').
+ reorder("courses.time DESC, COUNT(members.project_id) DESC").take sum
+# elseif school_id.nil?
+
+ else
+ if school_id.nil?
+ Project.active.visible.course_entities.
+ joins(:course_extra).
+ joins(:memberships).
+ where("#{Course.table_name}.school_id = ?", User.current.user_extensions.school.id).
+ group('members.project_id').
+ reorder("courses.time DESC, COUNT(members.project_id) DESC").take sum
+ else
+ if school_id == "0"
+ Project.active.visible.course_entities.
+ joins(:course_extra).
+ joins(:memberships).
+ group('members.project_id').
+ reorder("courses.time DESC, COUNT(members.project_id) DESC").take sum
+ else
+ Project.active.visible.course_entities.
+ joins(:course_extra).
+ joins(:memberships).
+ where("#{Course.table_name}.school_id = ?", school_id).
+ group('members.project_id').
+ reorder("courses.time DESC, COUNT(members.project_id) DESC").take sum
+ end
+ end
+ end
+# else
+# Project.active.visible.course_entities.
+# joins(:course_extra).
+# joins(:memberships).
+# where("#{Course.table_name}.school_id = ?", school_id).
+# group('members.project_id').
+# reorder("courses.time DESC, COUNT(members.project_id) DESC").take sum
+# end
# max = sum*(max_rate.to_f/10)
# c1 = find_new_course(sum).to_a.dup
# c2 = find_all_hot_course(sum).to_a.dup
diff --git a/app/views/my/account.html.erb b/app/views/my/account.html.erb
index 13a6ec43d..bec07145b 100644
--- a/app/views/my/account.html.erb
+++ b/app/views/my/account.html.erb
@@ -3,7 +3,7 @@
diff --git a/app/views/projects/_course.html.erb b/app/views/projects/_course.html.erb
index f55a80db3..11da90776 100644
--- a/app/views/projects/_course.html.erb
+++ b/app/views/projects/_course.html.erb
@@ -16,7 +16,8 @@
<%= content_tag('span', "#{l(:label_institution_name)}:", :class => "course-font")%>
<% @admin = @project.project_infos%>
<%if @admin&&@admin.first&&@admin.first.user&&@admin.first.user.user_extensions%>
- <%= @admin.first.user.user_extensions.occupation %>
+
+ <%= @project.course_extra.school.name %>
<% end %>
diff --git a/app/views/school/index.html.erb b/app/views/school/index.html.erb
new file mode 100644
index 000000000..ad9523025
--- /dev/null
+++ b/app/views/school/index.html.erb
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+ 全部学校
+
+
+ 请选择省份:<%= select_tag "province",
+ options_from_collection_for_select(School.find_by_sql("select distinct province from schools"), :province, :province),
+ :onclick => "get_school(this.value)" %>
+
+
+
+
diff --git a/app/views/welcome/course.html.erb b/app/views/welcome/course.html.erb
index 1f498fb5d..03710844b 100644
--- a/app/views/welcome/course.html.erb
+++ b/app/views/welcome/course.html.erb
@@ -1,223 +1,224 @@
-<%= stylesheet_link_tag 'welcome' %>
-
-
-
-
-
-
- <%= image_tag '/images/qrweixin.jpg', size: '150x150', alt: 'trustie', class: "weixin" %>
-
微信扫码
-
-
-
- <%= l(:label_welcome_trustie) %><%= l(:label_welcome_trustie_course) %> , <%= l(:label_welcome_trustie_course_description) %>
-
-
- <%= render :partial => "search_project", :locals => {:project_type => Project::ProjectType_course}%>
-
-
-
-
-
-
-
-
-
-
新开课程
-
<%= link_to "更多>>", {:controller => 'projects', :action => 'course', :project_type => 1} %>
-
-
- <% find_miracle_course(10, 7).map do |project| %>
- - >
-
- <%= image_tag(get_course_avatar(project), :class => "avatar-4") %>
-
-
-
- [<%= get_course_term project %>]
- <%= link_to( project.name, project_path(project.id), :class => "d-g-blue d-p-project-name",:title => "#{project.name}" )%>
- (<%= link_to "#{studentCount(project)}人", project_member_path(project, :role => 2) ,:course =>'1' %>)
- <% files_count = (project.attachments.count.to_i+Version.joins(:project).where("projects.id=#{project.id}").count.to_i).to_s %>
- (<%=link_to "#{files_count}份", project_files_path(project) %>资料)
-
-
-
- <% course = Course.find_by_extra(project.identifier) %>
- <%= course.teacher.user_extensions.occupation.try(:gsub, /(.+)$/, '\1:') %>
-
-
- <%= link_to(course.try(:teacher).try(:name), user_path(course.teacher)) %>
- <%#=course.try(:teacher).try(:name)%>
-
-
-
-
- <% if !course_endTime_timeout?(project)%>
-
- <%= join_in_course(project, User.current)%>
-
- <% end %>
-
-
- <% end; reset_cycle %>
-
-
-
-
-
-
-
-
当前网站状态
-
-
-
- 课程总量: <%#=@course.count%> |
- 教师数量: <%#=@teacher.count%> |
-
-
- 用户总量: <%#=User.count%> |
- 学生数量: <%#=@student.count%> |
-
-
- 资源总量: <%#=Attachment.count%> |
- |
-
-
-
-
- <%= link_to "意见反馈" , suggestion_send_path, {:class => 'orangeButton', :style => "color: #EEEEEE" }%>
-
-
-
-
-
- 问题和反馈动态
- <%= link_to "我要提问" , newbie_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%>
- <%= link_to "我要反馈" , suggestion_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%>
-
-
<%= link_to "更多>>", forums_path %>
-
-
- <% find_new_forum_topics(10).each do |topic|%>
- -
-
-
- <%= link_to topic.subject.truncate(30, omission: '...'), topic.event_url, :class => "gray" , :style => "font-size: 10pt !important;" %>
-
-
- <%= l(:field_updated_on) %><%=time_tag_welcome(topic_last_time topic)%>前
-
- 由 <%= link_to topic.author ? topic.author : 'Anonymous', user_path(topic.author_id), :style => "font-size: 9pt !important; color: rgb(17, 102, 173);" %> 发表
-
- 回复(<%= link_to (topic.parent ? topic.parent.replies_count : topic.replies_count), topic.event_url %>)
-
-
- <% end %>
-
-
-
-
-
-
-
-
-
- 当前网站状态 |
- 活跃课程: <%=@courseCount%> |
- 高校: 2个 |
- 教师: <%=@teacherCount%> 名 |
- 学生: <%=@studentCount%> 名 |
- |
-
-
+<%= stylesheet_link_tag 'welcome' %>
+
+
+
+
+
+
+ <%= image_tag '/images/qrweixin.jpg', size: '150x150', alt: 'trustie', class: "weixin" %>
+
微信扫码
+
+
+
+ <%= School.find(params[:school_id]).name %>
+ <%= l(:label_welcome_trustie) %><%= l(:label_welcome_trustie_course) %> , <%= l(:label_welcome_trustie_course_description) %>
+
+
+ <%= render :partial => "search_project", :locals => {:project_type => Project::ProjectType_course}%>
+
+
+
+
+
+
+
+
+
+
新开课程
+
<%= link_to "更多>>", {:controller => 'projects', :action => 'course', :project_type => 1, :school_id => params[:school_id]} %>
+
+
+ <% find_miracle_course(10, 7,params[:school_id]).map do |project| %>
+ - >
+
+ <%= image_tag(get_course_avatar(project), :class => "avatar-4") %>
+
+
+
+ [<%= get_course_term project %>]
+ <%= link_to( project.name, project_path(project.id), :class => "d-g-blue d-p-project-name",:title => "#{project.name}" )%>
+ (<%= link_to "#{studentCount(project)}人", project_member_path(project, :role => 2) ,:course =>'1' %>)
+ <% files_count = (project.attachments.count.to_i+Version.joins(:project).where("projects.id=#{project.id}").count.to_i).to_s %>
+ (<%=link_to "#{files_count}份", project_files_path(project) %>资料)
+
+
+
+ <% course = Course.find_by_extra(project.identifier) %>
+ <%= course.teacher.user_extensions.occupation.try(:gsub, /(.+)$/, '\1:') %>
+
+
+ <%= link_to(course.try(:teacher).try(:name), user_path(course.teacher)) %>
+ <%#=course.try(:teacher).try(:name)%>
+
+
+
+
+ <% if !course_endTime_timeout?(project)%>
+
+ <%= join_in_course(project, User.current)%>
+
+ <% end %>
+
+
+ <% end; reset_cycle %>
+
+
+
+
+
+
+
+
当前网站状态
+
+
+
+ 课程总量: <%#=@course.count%> |
+ 教师数量: <%#=@teacher.count%> |
+
+
+ 用户总量: <%#=User.count%> |
+ 学生数量: <%#=@student.count%> |
+
+
+ 资源总量: <%#=Attachment.count%> |
+ |
+
+
+
+
+ <%= link_to "意见反馈" , suggestion_send_path, {:class => 'orangeButton', :style => "color: #EEEEEE" }%>
+
+
+
+
+
+ 问题和反馈动态
+ <%= link_to "我要提问" , newbie_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%>
+ <%= link_to "我要反馈" , suggestion_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%>
+
+
<%= link_to "更多>>", forums_path %>
+
+
+ <% find_new_forum_topics(10).each do |topic|%>
+ -
+
+
+ <%= link_to topic.subject.truncate(30, omission: '...'), topic.event_url, :class => "gray" , :style => "font-size: 10pt !important;" %>
+
+
+ <%= l(:field_updated_on) %><%=time_tag_welcome(topic_last_time topic)%>前
+
+ 由 <%= link_to topic.author ? topic.author : 'Anonymous', user_path(topic.author_id), :style => "font-size: 9pt !important; color: rgb(17, 102, 173);" %> 发表
+
+ 回复(<%= link_to (topic.parent ? topic.parent.replies_count : topic.replies_count), topic.event_url %>)
+
+
+ <% end %>
+
+
+
+
+
+
+
+
+
+ 当前网站状态 |
+ 活跃课程: <%=@courseCount%> |
+ 高校: 2个 |
+ 教师: <%=@teacherCount%> 名 |
+ 学生: <%=@studentCount%> 名 |
+ |
+
+
\ No newline at end of file
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index 079ad450d..bb1983356 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -1759,6 +1759,10 @@ zh:
label_has_been: 已经被
label_course_userd_by: 个课程引用
+
+ label_school_all: 学校列表
+
+
role_of_course: 课程角色
label_student: 学生
diff --git a/config/routes.rb b/config/routes.rb
index bf6f3ceee..50b38d337 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -582,7 +582,8 @@ RedmineApp::Application.routes.draw do
post 'school/get_options/:province', :to => 'school#get_options'
get 'school/get_options/:province', :to => 'school#get_options'
-
+ post 'school/get_schoollist/:province', :to => 'school#get_schoollist'
+ get 'school/get_schoollist/:province', :to => 'school#get_schoollist'
######added by nie
match 'tags/show_projects_tags',:to => 'tags#show_projects_tags'
diff --git a/public/stylesheets/nyan.css b/public/stylesheets/nyan.css
index 867f76241..6ac1966a4 100644
--- a/public/stylesheets/nyan.css
+++ b/public/stylesheets/nyan.css
@@ -216,6 +216,95 @@ body {
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
width: auto;
}
+/*********************************************************************************************************************
+ * Wen的OpenWindow
+ *********************************************************************************************************************/
+
+#WOpenWindow {
+ background: none repeat scroll 0 0 #FFFFFF;
+ border-radius: 5px 5px 5px 5px;
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
+ display: none;
+ padding-bottom: 2px;
+ width: 1000px;
+ z-index: 100;
+ left: 50%;
+ margin-left: -202px;
+ opacity: 1;
+ position: fixed;
+ top: 200px;
+}
+#WOpenWindow .school_list{
+ width:1000px;
+ line-height: 20px;
+
+}
+#WOpenWindow-header {
+ background: url("/images/showmodal/hd-bg.png") repeat scroll 0 0 transparent;
+ border-bottom: 1px solid #CCCCCC;
+ border-top-left-radius: 5px;
+ border-top-right-radius: 5px;
+ padding: 18px 18px 14px;
+}
+#WOpenWindow-content{
+ -webkit-transition: all 0.2s linear 1s;
+ -o-transition: all 0.2s linear 1s;
+ -moz-transition: all 0.2s linear 1s;
+ transition: all 0.2s linear 1s;
+ border-top-left-radius: 5px;
+ border-top-right-radius: 5px;
+ padding: 18px 18px 14px;
+}
+#WOpenWindow .content{
+ width: 1000px;
+}
+
+
+#WOpenWindow .txt-fld {
+ border-bottom: 1px solid #EEEEEE;
+ padding: 14px 20px;
+ position: relative;
+ text-align: right;
+ width: 364px;
+}
+#WOpenWindow .txt-fld input {
+ background: none repeat scroll 0 0 #F7F7F7;
+ border-color: #CCCCCC #E7E6E6 #E7E6E6 #CCCCCC;
+ border-radius: 4px 4px 4px 4px;
+ border-style: solid;
+ border-width: 1px;
+ color: #222222;
+ font-family: "Helvetica Neue";
+ font-size: 1.2em;
+ outline: medium none;
+ padding: 8px;
+ width: 244px;
+}
+#WOpenWindow .txt-fld input.good_input {
+ background: url("/images/showmodal/good.png") no-repeat scroll 236px center #DEF5E1;
+}
+#WOpenWindow .btn-fld {
+ overflow: hidden;
+ padding: 12px 20px 12px 130px;
+ width: 254px;
+}
+#WOpenWindow button {
+ background: none repeat scroll 0 0 #3F9D4A;
+ border: medium none;
+ border-radius: 4px 4px 4px 4px;
+ color: #FFFFFF;
+ float: right;
+ font-family: Verdana;
+ font-size: 13px;
+ font-weight: bold;
+ overflow: visible;
+ padding: 7px 10px;
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
+ width: auto;
+}
+
+
+/*********************************************************************************************************************/
/* 按钮