diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 0c98b804e..db47319ef 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -49,7 +49,7 @@ class ProjectsController < ApplicationController
# before_filter :authorize, :except => [:new_join, :new_homework, :homework, :statistics, :search, :watcherlist, :index, :list, :new, :create, :copy, :archive, :unarchive, :destroy, :member, :focus, :file,
# :statistics, :feedback, :course, :enterprise_course, :course_enterprise, :project_respond, :share,
# :show_projects_score, :issue_score_index, :news_score_index, :file_score_index, :code_submit_score_index, :projects_topic_score_index]
- before_filter :authorize, :only => [:sort_project_demo, :show, :settings, :edit, :sort_project_members, :update, :modules, :close, :reopen]
+ before_filter :authorize, :only => [:show, :settings, :edit, :sort_project_members, :update, :modules, :close, :reopen]
before_filter :authorize_global, :only => [:new, :create]
before_filter :require_admin, :only => [ :copy, :archive, :unarchive, :destroy, :calendar]
#by young
@@ -127,32 +127,39 @@ class ProjectsController < ApplicationController
def index
#Modified by nie
@project_type = params[:project_type]
- @limit = 10
- @project_count = Project.visible.where("project_type = ?", 0).count
- @project_pages = Paginator.new @project_count, @limit, params['page']
- if params[:project_sort_type].present?
- case params[:project_sort_type]
- when '0'
- @projects = @projects = Project.visible.where("project_type = ?", 0).order("created_on desc").offset(@project_pages.offset).limit(@limit).all
- @s_type = 0
- when '1'
- @projects = sort_project_demo project_type = 0, order_by="grade desc", @project_pages.offset, @limit
- @s_type = 1
- when '2'
- @projects = sort_project_demo project_type = 0, order_by="watchers_count desc", @project_pages.offset, @limit
- @s_type = 2
- end
+ 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_project)
+
+ @project_count = @projects_all.count
+ @project_pages = Paginator.new @project_count, per_page_option, params['page']
+
+
+ case params[:project_sort_type]
+ when '0'
+ @projects = @projects_all.order("created_on desc")
+ @s_type = 0
+ when '1'
+ @projects = @projects_all.order("grade desc")
+ @s_type = 1
+ when '2'
+ @projects = @projects_all.order("watchers_count desc")
+ @s_type = 2
else
- @projects = sort_project_demo project_type = 0, order_by="grade desc", @project_pages.offset, @limit
- @s_type = 1
+ @projects = @projects = @projects_all.order("grade desc")
+ @s_type = 1
end
+ @projects = @projects.offset(@project_pages.offset).limit(@project_pages.per_page)
+
respond_to do |format|
format.html {
render :layout => 'base'
- scope = Project
- unless params[:closed]
- scope = scope.active
- end
+ # scope = Project
+ # unless params[:closed]
+ # scope = scope.active
+ # end
}
format.api {
# @offset, @limit = api_offset_and_limit
@@ -168,34 +175,34 @@ class ProjectsController < ApplicationController
def course
@project_type = params[:project_type]
- @limit = 10;
- @project_count = Project.visible.where("project_type = 1").count
- @project_pages = Paginator.new @project_count, @limit, params['page']
- if params[:project_sort_type].present?
- case params[:project_sort_type]
- when '0'
- @projects = Project.visible.where("project_type = ?", 1).order("created_on desc").offset(@project_pages.offset).limit(@limit).all
- @s_type = 0
- when '1'
- @projects = sort_project_demo 1, "course_ac_para desc", @project_pages.offset, @limit
- @s_type = 1
- when '2'
- @projects = sort_project_demo 1, "watchers_count desc", @project_pages.offset, @limit
- @s_type = 2
- end
+ 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)
+
+ @project_count = @projects_all.count
+ @project_pages = Paginator.new @project_count, per_page_option, params['page']
+
+ case params[:project_sort_type]
+ when '0'
+ @projects = @projects_all.order("created_on desc")
+ @s_type = 0
+ when '1'
+ @projects = @projects_all.order("course_ac_para desc")
+ @s_type = 1
+ when '2'
+ @projects = @projects_all.order("watchers_count desc")
+ @s_type = 2
else
- # @projects = sort_project_demo 1, "course_ac_para desc", @project_pages.offset, @limit
- @s_type = 0
- @projects = Project.visible.where("project_type = ?", 1).order("created_on desc").offset(@project_pages.offset).limit(@limit).all
- # @s_type = 0
+ @s_type = 0
+ @projects = @projects_all.order("created_on desc")
end
+ @projects = @projects.offset(@project_pages.offset).limit(@project_pages.per_page)
+
respond_to do |format|
format.html {
render :layout => 'base'
- scope = Project
- unless params[:closed]
- scope = scope.active
- end
}
format.api {
# @offset, @limit = api_offset_and_limit
@@ -208,17 +215,8 @@ class ProjectsController < ApplicationController
}
end
end
-
- def sort_project_demo project_type, order_by, offset, limit
- #Project.visible.joins(:project_status).where("#{Project.table_name}.project_type = ?", project_type).order(order_by).offset(offset).limit(limit).all
- Project.visible.find_by_sql("
- SELECT *
- FROM projects AS p RIGHT OUTER JOIN (
- SELECT project_id,grade FROM project_statuses
- WHERE project_type = #{project_type} ORDER BY #{order_by} LIMIT #{limit} OFFSET #{offset}) AS t ON p.id = t.project_id ")
- end
-
- def search
+
+ def search
#modified by nie
@projects = Project.visible
@projects = @projects.visible.where('project_type = ?', params[:project_type]).like(params[:name]) if params[:name].present?
@@ -298,10 +296,17 @@ class ProjectsController < ApplicationController
#Ended by young
def feedback
+ page = params[:page]
+ # Find the page of the requested reply
@jours = @project.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC')
@limit = 10
+ if params[:r] && page.nil?
+ offset = @jours.count(:conditions => ["#{JournalsForMessage.table_name}.id > ?", params[:r].to_i])
+ page = 1 + offset / @limit
+ end
+
@feedback_count = @jours.count
- @feedback_pages = Paginator.new @feedback_count, @limit, params['page']
+ @feedback_pages = Paginator.new @feedback_count, @limit, page
@offset ||= @feedback_pages.offset
@jour = @jours[@offset, @limit]
@state = false
@@ -461,7 +466,7 @@ class ProjectsController < ApplicationController
project = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id)
user_grades = UserGrade.create(:user_id => User.current.id, :project_id => @project.id)
if params[:project][:is_public] == '1' || @course_tag=="1"
- project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0)
+ project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0, :project_type => @project.project_type)
end
@project.members << m
@project.project_infos << project
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index fc3d6cd61..f8acafc1f 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -65,7 +65,7 @@ module ApplicationHelper
if user.is_a?(User)
name = h(user.name(options[:format]))
if user.active? || (User.current.admin? && user.logged?)
- link_to name, {:controller=> 'users', :action => 'show', id: user.id, host: Setting.forge_domain}, :class => user.css_classes
+ link_to name, {:controller=> 'users', :action => 'show', id: user.id, host: Setting.user_domain}, :class => user.css_classes
else
name
end
@@ -1500,20 +1500,20 @@ module ApplicationHelper
end
def render_dynamic_nav
- home_link = link_to l(:field_homepage), {:controller => 'welcome', :action => 'index',:host => Setting.forge_domain}
+ home_link = link_to l(:field_homepage), {:controller => 'welcome', :action => 'index'}
course_all_course_link = link_to l(:label_course_all), {:controller => 'projects', :action => 'course', :project_type => 1}
course_teacher_all_link = link_to l(:label_teacher_all), {:controller => 'users', :action => 'index', :role => 'teacher'}
- courses_link = link_to l(:label_course_practice), {:controller => 'projects', :action => 'course', :project_type => 1, :host=>Setting.course_domain}
- projects_link = link_to l(:label_project_deposit), {:controller => 'projects', :action => 'index', :project_type => 0, :host => Setting.project_domain}
+ courses_link = link_to l(:label_course_practice), {:controller => 'projects', :action => 'course', :project_type => 1}
+ projects_link = link_to l(:label_project_deposit), {:controller => 'projects', :action => 'index', :project_type => 0}
users_link = link_to l(:label_software_user), {:controller => 'users', :action => 'index'}
- contest_link = link_to l(:label_contest_innovate), {:controller => 'bids', :action => 'contest', :project_type => 1, :host=>Setting.contest_domain}
+ contest_link = link_to l(:label_contest_innovate), {:controller => 'bids', :action => 'contest', :project_type => 1 }
bids_link = link_to l(:label_requirement_enterprise), {:controller => 'bids', :action => 'index'}
- forum_link = link_to l(:label_project_module_forums), {:controller => "forums", :action => "index", :host => Setting.forge_domain}
- stores_link = link_to l(:label_stores_index), {:controller => 'stores', :action=> 'index', :host => Setting.forge_domain}
+ 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'}
#@nav_dispaly_project_label
nav_list = Array.new
- nav_list.push(home_link)
+ nav_list.push(home_link)
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/courses_helper.rb b/app/helpers/courses_helper.rb
index 78e20c2a7..d474b5587 100644
--- a/app/helpers/courses_helper.rb
+++ b/app/helpers/courses_helper.rb
@@ -9,8 +9,13 @@ module CoursesHelper
=end
TeacherRoles = [3, 4, 7, 9]
StudentRoles = [5, 10]
-
+ AllPeople = StudentRoles+TeacherRoles
## return people count
+
+ # 返回x项目成员数量,即roles表中定义的所有成员
+ def projectCount project
+ searchCountByRoles project, AllPeople
+ end
# 返回教师数量,即roles表中定义的Manager
def teacherCount project
diff --git a/app/helpers/journals_helper.rb b/app/helpers/journals_helper.rb
index 788bd0765..480524457 100644
--- a/app/helpers/journals_helper.rb
+++ b/app/helpers/journals_helper.rb
@@ -25,7 +25,7 @@ module JournalsHelper
links = []
if !journal.notes.blank?
links << link_to(l(:button_quote),
- {:controller => 'journals', :action => 'new', :id => issue, :journal_id => journal},
+ {:controller => 'journals', :action => 'new', :id => issue.id, :journal_id => journal},
:remote => true,
:method => 'post',
:title => l(:button_quote)) if options[:reply_links]
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 35314efcc..b9d8ef932 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -285,6 +285,7 @@ module ProjectsHelper
SELECT project_id,grade FROM project_statuses
WHERE project_type = 0 ORDER BY grade DESC LIMIT #{limit} ) AS t ON p.id = t.project_id ")
end
+
# 判断课程是否结束,快别用,这个定日子的方法有问题
def course_timeout? project
diff --git a/app/helpers/welcome_helper.rb b/app/helpers/welcome_helper.rb
index a446631d7..9fc768d9c 100644
--- a/app/helpers/welcome_helper.rb
+++ b/app/helpers/welcome_helper.rb
@@ -39,6 +39,13 @@ module WelcomeHelper
end
end
+ def get_project_avatar project
+ if get_avatar?(project)
+ url_to_avatar(project)
+ else
+ '../images/avatars/Project/project.jpg'
+ end
+ end
# 前略·天国の首页君/Earth has been unable stop to welcomePage's.
# sum - 要搜索的项目数量
# max_rate - 新项目所占所有项目的比重,10分制
@@ -56,10 +63,22 @@ module WelcomeHelper
c2 = c2 - c1
(c1.take(max)+c2).take(sum)
end
-
+
+ def find_miracle_project(sum, max_rate)
+ max = sum*(max_rate.to_f/10)
+ c1 = find_new_project(sum).to_a.dup
+ c2 = find_all_hot_project(sum).to_a.dup
+ (c2.take(sum-max)+c1.take(max)).take(sum)
+ end
+
def find_new_course limit=15
Project.visible.joins(:course_extra).where("#{Project.table_name}.project_type = ? ", 1).order("courses.time DESC, #{Project.table_name}.created_on DESC").limit(limit).all
end
+
+ def find_new_project limit=15
+ Project.visible.where("#{Project.table_name}.project_type = ? ", 0).order("#{Project.table_name}.updated_on DESC, #{Project.table_name}.created_on DESC").limit(limit).all
+ end
+
def find_all_hot_project limit=15
sort_project_by_hot limit
@@ -214,7 +233,7 @@ module WelcomeHelper
"show_news" => true,
"show_bids" => true
}
- activity.scope_select{|t| ['changesets', 'documents', 'memos', 'messages', 'journals_for_messages'].include?(t) ? nil : 'You may think you know what the following code does, may be. but why don"t you close this file and go play with something else, Now?' }
+ activity.scope_select{|t| ['changesets', 'documents', 'memos', 'messages', 'journals_for_messages', 'bids', 'news'].include?(t) ? nil : 'You may think you know what the following code does, may be. but why don"t you close this file and go play with something else, Now?' }
activity.events_welcome(nil, nil, {:limit => limit, :types => 'welcome'})
end
diff --git a/app/models/issue.rb b/app/models/issue.rb
index cc321aad0..c69343c6b 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -57,7 +57,7 @@ class Issue < ActiveRecord::Base
# sort by id so that limited eager loading doesn't break with postgresql
:order_column => "#{table_name}.id"
acts_as_event :title => Proc.new {|o| "#{o.tracker.name} ##{o.id} (#{o.status}): #{o.subject}"},
- :url => Proc.new {|o| {:controller => 'issues', :action => 'show', :id => o.id}},
+ :url => Proc.new {|o| {:controller => 'issues', :action => 'show', :id => o}},
:type => Proc.new {|o| 'issue' + (o.closed? ? ' closed' : '') }
acts_as_activity_provider :find_options => {:include => [:project, :author, :tracker]},
@@ -212,9 +212,14 @@ class Issue < ActiveRecord::Base
@workflow_rule_by_attribute = nil
@assignable_versions = nil
@relations = nil
+ @to_param = nil
base_reload(*args)
end
+ def to_param
+ @to_param ||= "#{id}_#{self.project.name}(#{self.project.issues.index(self)+1}-#{self.project.issues.count})"#.parameterize
+ end
+
# Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields
def available_custom_fields
(project && tracker) ? (project.all_issue_custom_fields & tracker.custom_fields.all) : []
diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb
index 426d1b56b..2c4f10886 100644
--- a/app/models/journals_for_message.rb
+++ b/app/models/journals_for_message.rb
@@ -27,8 +27,10 @@ class JournalsForMessage < ActiveRecord::Base
:datetime => Proc.new {|o| o.updated_on },
:author => Proc.new {|o| o.user },
:description => Proc.new{|o| o.notes },
- :type => Proc.new {|o| o.jour_type }#,
- #:url => Proc.new {|o| ''}#{:controller => 'documents', :action => 'show', :id => o.id}}
+ :type => Proc.new {|o| o.jour_type },
+ :url => Proc.new {|o|
+ (o.jour.kind_of? Project) ? {:controller => 'projects', :action => 'feedback', :id => o.jour, :r => o.id, :anchor => "word_li_#{o.id}"} : {}
+ }#{:controller => 'documents', :action => 'show', :id => o.id}}
acts_as_activity_provider :author_key => :user_id,
:timestamp => "#{self.table_name}.updated_on",
:find_options => {:include => :project }
diff --git a/app/views/issues/show.html.erb b/app/views/issues/show.html.erb
index 7166f306f..f8159fc7a 100644
--- a/app/views/issues/show.html.erb
+++ b/app/views/issues/show.html.erb
@@ -9,14 +9,14 @@
<%= link_to_if @prev_issue_id,
"\xc2\xab #{l(:label_previous)}",
- (@prev_issue_id ? issue_path(@prev_issue_id) : nil),
+ (@prev_issue_id ? issue_path(Issue.find_by_id(@prev_issue_id)) : nil),
:title => "##{@prev_issue_id}" %> |
<% if @issue_position && @issue_count %>
<%= l(:label_item_position, :position => @issue_position, :count => @issue_count) %> |
<% end %>
<%= link_to_if @next_issue_id,
"#{l(:label_next)} \xc2\xbb",
- (@next_issue_id ? issue_path(@next_issue_id) : nil),
+ (@next_issue_id ? issue_path(Issue.find_by_id(@next_issue_id)) : nil),
:title => "##{@next_issue_id}" %>
<% end %>
@@ -87,7 +87,7 @@ end %>
<% if @issue.description? %>
- <%= link_to l(:button_quote), quoted_issue_path(@issue), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %>
+ <%= link_to l(:button_quote), quoted_issue_path(@issue.id), :remote => true, :method => 'post', :class => 'icon icon-comment' if authorize_for('issues', 'edit') %>
<%=l(:field_description)%>
diff --git a/app/views/layouts/_base_header.html.erb b/app/views/layouts/_base_header.html.erb
index 2cb5fafa0..7bdd8a728 100644
--- a/app/views/layouts/_base_header.html.erb
+++ b/app/views/layouts/_base_header.html.erb
@@ -15,11 +15,11 @@
<%=link_to l(:label_my_course), {:controller => 'users', :action => 'user_courses', id: User.current.id, host: Setting.course_domain} %>
<% end -%>
<%=link_to l(:label_my_projects),{:controller => 'users', :action => 'user_projects', id: User.current.id, host: Setting.project_domain} %>
-
<%=link_to l(:label_user_edit), {:controller => 'my', :action=> 'account', host: Setting.forge_domain}%>
+
<%=link_to l(:label_user_edit), {:controller => 'my', :action=> 'account', host: Setting.user_domain}%>
- <%=link_to l(:label_my_message)+'('+User.current.count_new_jour.to_s+')', { :controller => 'users', :action => 'user_newfeedback', id: User.current.id, host: Setting.forge_domain }, {:class => 'my-message'} if User.current.logged?%>
+ <%=link_to l(:label_my_message)+'('+User.current.count_new_jour.to_s+')', { :controller => 'users', :action => 'user_newfeedback', id: User.current.id, host: Setting.user_domain }, {:class => 'my-message'} if User.current.logged?%>
diff --git a/app/views/layouts/base.html.erb b/app/views/layouts/base.html.erb
index e475bbd5f..fcf7d2195 100644
--- a/app/views/layouts/base.html.erb
+++ b/app/views/layouts/base.html.erb
@@ -13,7 +13,7 @@
@nav_dispaly_bid_label = 1
elsif (realUrl.match(/forums/))
@nav_dispaly_forum_label = 1
- elsif (realUrl.match(/[^projects]\/course[^\.]/))
+ elsif (realUrl.match(/[^forge]\/course[^\.]/))
@nav_dispaly_course_label = 1
@nav_dispaly_project_label = 1
@nav_dispaly_contest_label = 1
@@ -21,6 +21,14 @@
@nav_dispaly_course_all_label = 1
@nav_dispaly_teacher_all_label = 1
@nav_dispaly_forum_label = 1
+ elsif (realUrl.match(/user\.trustie\.net/))
+ @nav_dispaly_project_label = 1
+ @nav_dispaly_user_label = 1
+ @nav_dispaly_forum_label = 1
+ elsif (realUrl.match(/forge\.trustie\.net/))
+ @nav_dispaly_project_label = 1
+ @nav_dispaly_user_label = 1
+ @nav_dispaly_forum_label = 1
else
@nav_dispaly_course_label = 1
@nav_dispaly_project_label = 1
diff --git a/app/views/projects/course.html.erb b/app/views/projects/course.html.erb
index 13672a6f1..d7a84f534 100644
--- a/app/views/projects/course.html.erb
+++ b/app/views/projects/course.html.erb
@@ -38,7 +38,7 @@
diff --git a/app/views/projects/index.html.erb b/app/views/projects/index.html.erb
index 9d2aaccdd..fd81c636e 100644
--- a/app/views/projects/index.html.erb
+++ b/app/views/projects/index.html.erb
@@ -35,7 +35,7 @@
diff --git a/app/views/welcome/_search_project.html.erb b/app/views/welcome/_search_project.html.erb
new file mode 100644
index 000000000..61770cace
--- /dev/null
+++ b/app/views/welcome/_search_project.html.erb
@@ -0,0 +1,7 @@
+<%= form_tag(:controller => 'projects', :action => "search", :method => :get) do %>
+
+ <%= text_field_tag 'name', params[:name], placeholder:'请输入要搜索的关键字', :size => 30 %>
+ <%= hidden_field_tag 'project_type', project_type %>
+ <%= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/welcome/course.html.erb b/app/views/welcome/course.html.erb
index a5b5a351c..e1890a7e6 100644
--- a/app/views/welcome/course.html.erb
+++ b/app/views/welcome/course.html.erb
@@ -95,7 +95,8 @@
<%= l(:label_welcome_trustie_course) %> , <%= l(:label_welcome_trustie_course_description) %>
- <%= render :partial => "search_bar"%>
+ <%= render :partial => "search_project", :locals => {:project_type => 1}%>
+
全站课程搜索。
diff --git a/app/views/welcome/index.html.erb b/app/views/welcome/index.html.erb
index 3f9ddea3c..0af0dea21 100644
--- a/app/views/welcome/index.html.erb
+++ b/app/views/welcome/index.html.erb
@@ -87,15 +87,16 @@
- <%= image_tag '/images/qrweixin.jpg', size: '150x150', alt: 'trustie', class: "weixin" %>
+ <%= link_to image_tag('/images/qrweixin.jpg', size: '150x150', alt: 'trustie', class: "weixin" ), home_path %>
微信扫码
<%= l(:label_welcome_trustie_project) %> , <%= l(:label_welcome_trustie_project_description) %>
-
- <%= render :partial => "search_bar"%>
+
+ <%= render :partial => "search_project", :locals => {:project_type => 0}%>
+
全站项目搜索。不会搜索私有项目
@@ -105,39 +106,44 @@
<%= stylesheet_link_tag 'welcome' %>
-
-
-
-
-
贴吧动态
- <%= link_to "更多>>", forums_path %>
-
-
- <% find_new_forum_topics(8).each do |topic|%>
-
-
-
-
- <%= link_to topic.subject.truncate(30, omission: '...'), topic.event_url, :class => "gray" , :style => "font-size: 10pt !important;", :target => "_blank" %>
-
-
-
<%= 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);", :target => "_blank" %> 发表
-
-
回复(<%= link_to (topic.parent ? topic.parent.replies_count : topic.replies_count), topic.event_url, :target => "_blank" %>)
+
+
热门项目
+
<%= link_to "更多>>", { :controller => 'projects', :action => 'index', :project_type => 0, :host => Setting.project_domain}, :target => "_blank" %>
+
+
+ <% find_miracle_project(10, 3).map do |project| %>
+ -
+
+ <%= image_tag(get_project_avatar(project), :class => "avatar-4") %>
+
+
+
+ <%= link_to( project.name, project_path(project.id), :class => "d-g-blue d-p-project-name",:title => "#{project.name}" )%>
+ (<%= link_to "#{projectCount(project)}人", project_member_path(project) ,:course =>'0' %>)
+
+
+ ><%=project.description.truncate(50, omission: '...')%>
+
+
+ <%= content_tag "span", show_grade(project),
+ :style => "cursor: pointer; display: inline-block; float: right; color: #ec6300; ",
+ :title => "项目得分,综合考虑了项目的各项活动,反映了该项目的活跃程度",
+ :class => "tooltip",
+ :id => "tooltip-#{project.id}" %>
+
- <% end %>
-
-
-
+ <% end; reset_cycle %>
+
+
+
-
+
用户动态
- <%= link_to "更多>>", { :controller => 'users', :action => 'index'}, :target => "_blank" %>
-
+
<%= link_to "更多>>", { :controller => 'users', :action => 'index'}, :target => "_blank" %>
+
<% find_all_activities.each do |event| %>
-
@@ -154,67 +160,34 @@
-
-
-
热门项目
-
<%= link_to "更多>>", { :controller => 'projects', :action => 'index', :project_type => 0, :host => Setting.project_domain}, :target => "_blank" %>
-
-
-
-
-
热门课程
-
<%= link_to "更多>>", {:controller => 'projects', :action => 'course', :project_type => 1, :project_sort_type => 1, :host => Setting.course_domain}, :target => "_blank" %>
-
-
- <% find_all_hot_course.map do |project| break if(project == find_all_hot_course[5]) %>
- -
-
- <% if get_avatar?(project)%>
- <%= image_tag(url_to_avatar(project), :class => "avatar-4") %>
- <% else %>
- <%= image_tag('../images/avatars/Project/course.jpg', :class => "avatar-4") %>
- <% end %>
-
-
-
- <%= link_to( project.name, :controller => 'projects', :action => 'show', :id => project.id, :host => Setting.course_domain, :class => "d-g-blue d-p-project-name",:title => "#{project.name}", :target => "_blank" )%>
- 学生人数:<%= link_to "#{studentCount(project)}", project_member_path(project, :role => 2) ,:course =>'1', :target => "_blank" %>
-
-
- <%= content_tag "span", project.description.truncate(50, omission: '...'), :class => "d-p-project-intro" , :title => project.description %>
-
-
+
+
+
+
贴吧动态
+ <%= link_to "更多>>", forums_path %>
+
+
+ <% find_new_forum_topics(8).each do |topic|%>
+
-
+
+
+ <%= link_to topic.subject.truncate(30, omission: '...'), topic.event_url, :class => "gray" , :style => "font-size: 10pt !important;", :target => "_blank" %>
+
+
+ <%= 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);", :target => "_blank" %> 发表
+
+ 回复(<%= link_to (topic.parent ? topic.parent.replies_count : topic.replies_count), topic.event_url, :target => "_blank" %>)
+
<% end %>
-
-
-
+
+
+
-
-
+
+
-
+
diff --git a/config/settings.yml b/config/settings.yml
index 2a50e6cb4..d43d3699b 100644
--- a/config/settings.yml
+++ b/config/settings.yml
@@ -236,11 +236,11 @@ tags_max_length:
tags_show_search_results:
format: int
default: 5
-forge_domain:
- default: forge.trustie.net
+user_domain:
+ default: user.trustie.net
project_domain:
default: forge.trustie.net
contest_domain:
- default: forge.trustie.net
+ default: contest.trustie.net
course_domain:
- default: forge.trustie.net
+ default: course.trustie.net
diff --git a/lib/redmine.rb b/lib/redmine.rb
index 1d1df605d..3990d10d3 100644
--- a/lib/redmine.rb
+++ b/lib/redmine.rb
@@ -203,7 +203,7 @@ Redmine::AccessControl.map do |map|
end
#by young
Redmine::MenuManager.map :top_menu do |menu|
- menu.push :home, {:host => Setting.forge_domain}
+ menu.push :home, {:host => Setting.user_domain}
menu.push :course_practice, {:controller => 'projects', :action => 'course', :project_type => 1}
menu.push :project_deposit, { :controller => 'projects', :action => 'index', :project_type => 0}, :caption => :label_project_deposit
menu.push :software_user, {:controller => 'users', :action => 'index'}
@@ -264,10 +264,10 @@ end
# end
Redmine::MenuManager.map :account_menu do |menu|
- menu.push :login, {:controller => 'account', :action => 'login', :host => Setting.forge_domain}, :if => Proc.new { !User.current.logged? }
- menu.push :register, {:controller => 'account', :action => 'register', :host => Setting.forge_domain}, :if => Proc.new { !User.current.logged? && Setting.self_registration? }
+ menu.push :login, {:controller => 'account', :action => 'login', :host => Setting.project_domain}, :if => Proc.new { !User.current.logged? }
+ menu.push :register, {:controller => 'account', :action => 'register'}, :if => Proc.new { !User.current.logged? && Setting.self_registration? }
# menu.push :my_account, { :controller => 'my', :action => 'account' }, :if => Proc.new { User.current.logged? }
- menu.push :logout, {:controller => 'account', :action => 'logout', :host => Setting.forge_domain}, :html => {:method => 'post'}, :if => Proc.new { User.current.logged? }
+ menu.push :logout, {:controller => 'account', :action => 'logout'}, :html => {:method => 'post'}, :if => Proc.new { User.current.logged? }
end
########fq
Redmine::MenuManager.map :bid_menu do |menu|
@@ -341,29 +341,29 @@ Redmine::MenuManager.map :course_menu do |menu|
end
Redmine::MenuManager.map :user_menu do |menu|
- menu.push :activity, {:controller => 'users', :action => 'show', :host => Setting.forge_domain }
+ menu.push :activity, {:controller => 'users', :action => 'show', :host => Setting.user_domain }
menu.push :user_course, {:controller => 'users', :action => 'user_courses', :host => Setting.course_domain}
#menu.push :user_homework, {:controller => 'users', :action => 'user_homeworks'} by huang
menu.push :user_project, {:controller => 'users', :action => 'user_projects', :host => Setting.project_domain}
# menu.push :requirement_focus, {:controller => 'users', :action => 'watch_bids'} by huang
- menu.push :user_newfeedback, {:controller => 'users', :action => 'user_newfeedback', :host => Setting.forge_domain}
+ menu.push :user_newfeedback, {:controller => 'users', :action => 'user_newfeedback', :host => Setting.user_domain}
end
Redmine::MenuManager.map :user_enterprise_menu do |menu|
- menu.push :activity, {:controller => 'users', :action => 'show', :host => Setting.forge_domain }
+ menu.push :activity, {:controller => 'users', :action => 'show', :host => Setting.user_domain }
menu.push :user_project, {:controller => 'users', :action => 'user_projects', :host => Setting.project_domain}
- menu.push :requirement_focus, {:controller => 'users', :action => 'watch_bids', :host => Setting.forge_domain}
- menu.push :user_newfeedback, {:controller => 'users', :action => 'user_newfeedback', :host => Setting.forge_domain}
+ menu.push :requirement_focus, {:controller => 'users', :action => 'watch_bids', :host => Setting.user_domain}
+ menu.push :user_newfeedback, {:controller => 'users', :action => 'user_newfeedback', :host => Setting.user_domain}
end
Redmine::MenuManager.map :user_menu_self do |menu|
- menu.push :activity, {:controller => 'users', :action => 'show', :host => Setting.forge_domain }
- menu.push :user_information, {:controller => 'users', :action => 'info', :host => Setting.forge_domain}
- menu.push :user_project, {:controller => 'users', :action => 'user_projects', :host => Setting.forge_domain}
- menu.push :requirement_focus, {:controller => 'users', :action => 'watch_bids', :host => Setting.forge_domain}
- menu.push :user_newfeedback, {:controller => 'users', :action => 'user_newfeedback', :host => Setting.forge_domain}
+ menu.push :activity, {:controller => 'users', :action => 'show', :host => Setting.project_domain }
+ menu.push :user_information, {:controller => 'users', :action => 'info', :host => Setting.user_domain}
+ menu.push :user_project, {:controller => 'users', :action => 'user_projects', :host => Setting.project_domain}
+ menu.push :requirement_focus, {:controller => 'users', :action => 'watch_bids', :host => Setting.user_domain}
+ menu.push :user_newfeedback, {:controller => 'users', :action => 'user_newfeedback', :host => Setting.user_domain}
end
#end