diff --git a/Gemfile b/Gemfile
index eef93c371..bb94100a5 100644
--- a/Gemfile
+++ b/Gemfile
@@ -9,12 +9,11 @@ unless RUBY_PLATFORM =~ /w32/
gem "rmagick", "= 2.13.1" ## centos yum install ImageMagick-devel
end
gem 'certified'
+ gem 'net-ssh', '2.9.1'
+ gem 'jenkins_api_client'
+ gem 'nokogiri'
end
-gem 'net-ssh', '2.9.1'
-gem 'jenkins_api_client'
-gem 'nokogiri'
-
gem 'wechat',path: 'lib/wechat'
gem 'grack', path:'lib/grack'
gem 'gitlab', path: 'lib/gitlab-cli'
diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb
index 33d988e35..62b076754 100644
--- a/app/controllers/account_controller.rb
+++ b/app/controllers/account_controller.rb
@@ -239,14 +239,22 @@ class AccountController < ApplicationController
end
def resendmail
+ status = 1
user = User.find(params[:user]) if params[:user]
token = Token.new(:user => user, :action => "register")
if token.save
- Mailer.run.register(token)
-
+ # Mailer.run.register(token)
+ Mailer.register(token).deliver
else
yield if block_given?
+ status = 0
end
+ render :json => status
+ end
+
+ def email_activation
+
+
end
private
@@ -264,6 +272,7 @@ class AccountController < ApplicationController
if user.nil?
invalid_credentials
elsif user.status == 2
+ @user = user
invalid_credentials_new
elsif user.new_record?
onthefly_creation_failed(user, {:login => user.login, :auth_source_id => user.auth_source_id })
@@ -375,8 +384,9 @@ class AccountController < ApplicationController
def invalid_credentials_new
logger.warn "Failed login for '#{params[:username]}' from #{request.remote_ip} at #{Time.now.utc}"
- flash[:error] = l(:notice_account_invalid_creditentials_new)
- render signin_path(:login=>true)
+ # flash[:error] = l(:notice_account_invalid_creditentials_new)
+ # render signin_path(:login=>true)
+ render :action => 'email_activation'
end
# Register a user for email activation.
diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index 7dea90e4b..e81251f63 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -715,6 +715,7 @@ class CoursesController < ApplicationController
@trackers = Tracker.sorted.all
@course = Course.new
@course.safe_attributes = params[:course]
+ @syllabus = Syllabus.where("id = #{params[:syllabus_id].to_i}").first if params[:syllabus_id]
# month = Time.now.month
render :layout => 'new_base'
else
diff --git a/app/controllers/my_controller.rb b/app/controllers/my_controller.rb
index 0883b3799..32c605516 100644
--- a/app/controllers/my_controller.rb
+++ b/app/controllers/my_controller.rb
@@ -127,12 +127,14 @@ class MyController < ApplicationController
end
@user.safe_attributes = params[:user]
+ @user.lastname = params[:lastname]
+ @user.firstname = ""
@user.pref.attributes = params[:pref]
@user.pref[:no_self_notified] = (params[:no_self_notified] == '1')
#@user.login = params[:login]
unless @user.user_extensions.nil?
if @user.user_extensions.identity == 2
- @user.firstname = params[:enterprise_name]
+ # @user.firstname = params[:enterprise_name]
end
end
@@ -144,7 +146,7 @@ class MyController < ApplicationController
# end
@se.school_id = params[:occupation]
- @se.gender = params[:gender]
+ @se.gender = params[:sex]
@se.location = params[:province] if params[:province]
@se.location_city = params[:city] if params[:city]
@se.identity = params[:identity].to_i if params[:identity]
diff --git a/app/controllers/praise_tread_controller.rb b/app/controllers/praise_tread_controller.rb
index b6eb54d2f..9f0fe41c8 100644
--- a/app/controllers/praise_tread_controller.rb
+++ b/app/controllers/praise_tread_controller.rb
@@ -131,6 +131,8 @@ class PraiseTreadController < ApplicationController
@obj = Bid.find_by_id(id)
when 'Contest'
@obj = Contest.find_by_id(id)
+ when 'Syllabus'
+ @obj = Syllabus.find_by_id(id)
else
@obj = nil
end
diff --git a/app/controllers/school_controller.rb b/app/controllers/school_controller.rb
index e0aff6254..44f4378fe 100644
--- a/app/controllers/school_controller.rb
+++ b/app/controllers/school_controller.rb
@@ -150,4 +150,55 @@ class SchoolController < ApplicationController
format.js
end
end
+
+ #申请高校(单位) name:名称 province:省 city:市 address:地址 remarks:备注
+ def apply_add_school
+
+ data = {result:0,name:params[:name],school_id:0}
+ #0 成功 1参数错误 2名称已存在
+ data[:result] = 0
+
+ #检验参数
+ if params[:name] == "" || params[:province] == "" || params[:city] == "" || params[:address] == ""
+ data[:result] = 1
+ else
+ school_id = School.find_by_sql("select id from schools where name='#{params[:name]}'").first
+ if school_id
+ data[:result] = 2
+ else
+ school = School.new
+ school.name = params[:name].strip
+ school.pinyin = Pinyin.t(params[:name].strip, splitter: '')
+ school.save
+
+ #status 0未处理 1通过 2拒绝
+ applyschool = ApplyAddSchools.new
+ applyschool.school_id = school.id
+ applyschool.name = school.name
+ applyschool.province = params[:province]
+ applyschool.city = params[:city]
+ applyschool.address = params[:address]
+ applyschool.remarks = params[:remarks]
+ applyschool.save
+
+ data[:school_id] = school.id
+ end
+ end
+ render :json =>data
+ end
+
+ def search_repeat_schoolname
+ status = 0
+ name = params[:name]
+
+ if name
+ school_id = School.find_by_sql("select id from schools where name='#{name}'").first
+
+ if school_id
+ status = 1
+ end
+ end
+
+ render :json =>status
+ end
end
diff --git a/app/controllers/syllabuses_controller.rb b/app/controllers/syllabuses_controller.rb
index 69982b99a..a1c3f7665 100644
--- a/app/controllers/syllabuses_controller.rb
+++ b/app/controllers/syllabuses_controller.rb
@@ -1,15 +1,147 @@
+# encoding: utf-8
class SyllabusesController < ApplicationController
+ include ApplicationHelper
+ helper :attachments
+ include AttachmentsHelper
+ include CoursesHelper
- before_filter :is_logged, :only => [:index, :show]
- before_filter :find_syllabus, :only => [:show]
+ before_filter :is_logged, :only => [:index, :show, :edit, :new, :update, :destroy]
+ before_filter :find_syllabus, :only => [:show, :edit, :update, :destroy, :syllabus_courselist, :edit_syllabus_eng_name, :update_base_info]
def index
user = User.current
@syllabuses = user.syllabuses
end
def show
- @courses = @syllabus.courses
+ #@courses = @syllabus.courses
+ respond_to do |format|
+ format.js
+ format.html{render :layout => 'base_syllabus'}
+ format.api
+ end
+ end
+
+ def new
+ @syllabus = Syllabus.new
+ render :layout => 'new_base'
+ end
+
+ def create
+ if User.current.user_extensions.identity
+ @syllabus = Syllabus.new
+ @syllabus.title = params[:title]
+ @syllabus.eng_name = params[:eng_name]
+ @syllabus.user_id = User.current.id
+ @syllabus.description = Message.where("id = 19412").first.nil? ? '' : Message.where("id = 19412").first.content
+ if @syllabus && @syllabus.save
+ respond_to do |format|
+ flash[:notice] = l(:notice_successful_create)
+ format.html {redirect_to syllabus_path(@syllabus)}
+ format.api { render :action => 'show', :status => :created, :location => url_for(:controller => 'syllabuses', :action => 'show', :id => @syllabus.id) }
+ end
+ else
+ respond_to do |format|
+ flash[:notice] = l(:notice_create_failed)
+ format.html { redirect_to new_syllabus_path } #Added by young
+ format.api { render_validation_errors(@syllabus) }
+ end
+ end
+ end
+ end
+
+ def edit
+ respond_to do |format|
+ format.html{render :layout => 'base_syllabus'}
+ end
+ end
+
+ def update
+ @syllabus.description = params[:syllabus][:description]
+ @syllabus.des_status = 1
+ @syllabus.save_attachments(params[:attachments])
+ if @syllabus.save
+ if params[:asset_id]
+ ids = params[:asset_id].split(',')
+ update_kindeditor_assets_owner ids,@syllabus.id,OwnerTypeHelper::SYLLABUS
+ end
+ redirect_to syllabus_path(@syllabus)
+ else
+ redirect_to syllabus_path(@syllabus)
+ end
+ end
+
+ #删除课程大纲的描述
+ def destroy
+ if @syllabus && @syllabus.courses.empty?
+ @syllabus.destroy
+ redirect_to user_path(User.current.id)
+ end
+ end
+
+ #班级列表
+ def syllabus_courselist
+ @order, @c_sort,@type = params[:order] || 1, params[:sort] || 1, params[:type] || 1
+
+ #确定 sort_type
+ if @order.to_i == @type.to_i
+ @c_sort = @c_sort.to_i == 1 ? 2 : 1 #1升序 2降序
+ else
+ @c_sort = 2
+ end
+
+ sort_name = "updated_on"
+ sort_type = @c_sort == 1 ? "asc" : "desc"
+
+ @courses = User.current.courses.visible.where("is_delete =? and syllabus_id =?", 0, @syllabus.id).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS #{sort_name}").order("#{sort_name} #{sort_type}")
+
+ #根据 作业+资源数排序
+ if @order.to_i == 2
+ @type = 2
+ @courses.each do |course|
+ course[:infocount] = (User.current.admin? || User.current.allowed_to?(:as_teacher,course)) ? (course.homework_commons.count + visable_attachemnts_incourse(course).count) : (course.homework_commons.where("publish_time <= '#{Date.today}'").count + visable_attachemnts_incourse(course).count)
+ if course[:infocount] < 0
+ course[:infocount] = 0
+ end
+ end
+ @c_sort == 1 ? (@courses = @courses.sort{|x,y| x[:infocount] <=> y[:infocount] }) : (@courses = @courses.sort{|x,y| y[:infocount] <=> x[:infocount]})
+ @courses = sortby_time_countcommon_nosticky @courses,sort_name
+ else
+ @type = 1
+ end
+
+ #分页
+ @limit = 10
+ @is_remote = true
+ @atta_count = @courses.count
+ @atta_pages = Paginator.new @atta_count, @limit, params['page'] || 1
+ @offset ||= @atta_pages.offset
+ @courses = paginateHelper @courses,@limit
+
+ respond_to do |format|
+ format.js
+ format.html{render :layout => 'base_syllabus'}
+ end
+ end
+
+ #修改英文名称
+ def edit_syllabus_eng_name
+ if @syllabus
+ @syllabus.update_column("eng_name",params[:eng_name])
+ end
+ respond_to do |format|
+ format.js
+ end
+ end
+ #编辑属性
+ def update_base_info
+ if @syllabus
+ @syllabus.update_attributes(:credit => params[:credit], :hours => params[:hours], :theory_hours => params[:theory_hours], :practice_hours => params[:practice_hours], :applicable_major => params[:applicable_major], :pre_course => params[:pre_course])
+ @syllabus.update_attributes(:syllabus_type => params[:syllabus_type])
+ respond_to do |format|
+ format.js
+ end
+ end
end
private
diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb
index 2c390025e..e66f88848 100644
--- a/app/controllers/tags_controller.rb
+++ b/app/controllers/tags_controller.rb
@@ -13,6 +13,7 @@ class TagsController < ApplicationController
include ForumsHelper
include AttachmentsHelper
include ContestsHelper
+ include SyllabusesHelper
include ActsAsTaggableOn::TagsHelper
include TagsHelper
include FilesHelper
@@ -529,6 +530,8 @@ class TagsController < ApplicationController
@obj = Course.find_by_id(@obj_id)
when '10'
@obj = Attachment.find_by_id(@obj_id)
+ when '11'
+ @obj = Syllabus.find_by_id(@obj_id)
else
@obj = nil
end
@@ -619,6 +622,9 @@ class TagsController < ApplicationController
when '9' then
@obj = Course.find_by_id(obj_id)
@obj_pages, @courses_results, @results_count = for_pagination(get_courses_by_tag(selected_tags))
+ when '11' then
+ @obj = Syllabus.find_by_id(obj_id)
+ @obj_pages, @syllabuses_results, @results_count = for_pagination(get_syllabuses_by_tag(selected_tags))
else
@obj = nil
end
@@ -684,6 +690,8 @@ class TagsController < ApplicationController
return 'Course'
when '10'
return 'Attachment'
+ when '11'
+ return 'Syllabus'
else
render_error :message => e.message
return
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index b7972ff6f..287e48111 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -1248,6 +1248,12 @@ class UsersController < ApplicationController
render :layout=>'new_base_user'
end
+ #给某人留言
+ def feedBackTo
+
+
+ end
+
def user_comments
end
@@ -1367,7 +1373,15 @@ class UsersController < ApplicationController
#显示更多用户课程
def user_courses4show
@page = params[:page].to_i + 1
- @courses = @user.courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(5).offset(@page * 5)
+ @type = params[:type]
+ if @type == 'User'
+ @courses = @user.courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(5).offset(@page * 5)
+ @all_count = @user.courses.visible.where("is_delete =?", 0).count
+ elsif @type == 'Syllabus'
+ @syllabus = Syllabus.where("id = #{params[:syllabus]}").first
+ @courses = User.current.courses.visible.where("is_delete =? and syllabus_id =?", 0, @syllabus.id).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(5).offset(@page * 5)
+ @all_count = User.current.courses.visible.where("is_delete =? and syllabus_id =?", 0, @syllabus.id).count
+ end
end
#显示更多用户项目
@@ -3176,23 +3190,35 @@ class UsersController < ApplicationController
@c_sort = 2
end
- sort_name = "updated_on"
+ sort_name = "updated_at"
sort_type = @c_sort == 1 ? "asc" : "desc"
# @courses = @user.courses.visible.where("is_delete =?", 0).order("#{sort_name} #{sort_type}")
- @courses = @user.courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS #{sort_name}").order("#{sort_name} #{sort_type}")
+ #@courses = @user.courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS #{sort_name}").order("#{sort_name} #{sort_type}")
+
+ @courses = @user.courses.visible.where("is_delete =?", 0)
+ syllabus_ids = @courses.empty? ? '(-1)' : "(" + @courses.map{|course| !course.syllabus_id.nil? && course.syllabus_id}.join(",") + ")"
+ @syllabus = Syllabus.where("id in #{syllabus_ids} or user_id = #{User.current.id}").order("#{sort_name} #{sort_type}")
#根据 作业+资源数排序
if @order.to_i == 2
@type = 2
- @courses.each do |course|
- course[:infocount] = (User.current.admin? || User.current.allowed_to?(:as_teacher,course)) ? (course.homework_commons.count + visable_attachemnts_incourse(course).count) : (course.homework_commons.where("publish_time <= '#{Date.today}'").count + visable_attachemnts_incourse(course).count)
- if course[:infocount] < 0
- course[:infocount] = 0
+ # @courses.each do |course|
+ # course[:infocount] = (User.current.admin? || User.current.allowed_to?(:as_teacher,course)) ? (course.homework_commons.count + visable_attachemnts_incourse(course).count) : (course.homework_commons.where("publish_time <= '#{Date.today}'").count + visable_attachemnts_incourse(course).count)
+ # if course[:infocount] < 0
+ # course[:infocount] = 0
+ # end
+ # end
+ @syllabus.each do |syllabus|
+ count = 0
+ courses = @courses.where("syllabus_id = #{syllabus.id}")
+ courses.each do |c|
+ count += (User.current.admin? || User.current.allowed_to?(:as_teacher,c)) ? (c.homework_commons.count + visable_attachemnts_incourse(c).count) : (c.homework_commons.where("publish_time <= '#{Date.today}'").count + visable_attachemnts_incourse(c).count)
end
+ syllabus[:infocount] = count
end
- @c_sort == 1 ? (@courses = @courses.sort{|x,y| x[:infocount] <=> y[:infocount] }) : (@courses = @courses.sort{|x,y| y[:infocount] <=> x[:infocount]})
- @courses = sortby_time_countcommon_nosticky @courses,sort_name
+ @c_sort == 1 ? (@syllabus = @syllabus.sort{|x,y| x[:infocount] <=> y[:infocount] }) : (@syllabus = @syllabus.sort{|x,y| y[:infocount] <=> x[:infocount]})
+ @syllabus = sortby_time_countcommon_nosticky @syllabus,sort_name
else
@type = 1
end
@@ -3200,10 +3226,10 @@ class UsersController < ApplicationController
#分页
@limit = 10
@is_remote = true
- @atta_count = @courses.count
+ @atta_count = @syllabus.count
@atta_pages = Paginator.new @atta_count, @limit, params['page'] || 1
@offset ||= @atta_pages.offset
- @courses = paginateHelper @courses,@limit
+ @syllabus = paginateHelper @syllabus,@limit
respond_to do |format|
format.js
@@ -3268,6 +3294,9 @@ class UsersController < ApplicationController
when 'News'
obj = News.where('id = ?', params[:id].to_i).first
@journals = obj.comments.reorder("created_on desc")
+ when 'Syllabus'
+ obj = Syllabus.where('id = ?', params[:id].to_i).first
+ @journals = obj.comments.reorder("created_on desc")
when 'JournalsForMessage'
obj = JournalsForMessage.where('id = ?', params[:id].to_i).first
journals = []
diff --git a/app/controllers/words_controller.rb b/app/controllers/words_controller.rb
index 668269a26..828739cc4 100644
--- a/app/controllers/words_controller.rb
+++ b/app/controllers/words_controller.rb
@@ -264,6 +264,28 @@ class WordsController < ApplicationController
end
end
+ #课程大纲的回复
+ def leave_syllabus_message
+ if User.current.logged?
+ @user = User.current
+ @syllabus = Syllabus.find(params[:id]);
+ if params[:comment].size>0 && User.current.logged? && @user
+ feedback = Syllabus.add_syllabus_jour(@user, params[:comment], params[:id])
+ if (feedback.errors.empty?)
+ if params[:asset_id]
+ ids = params[:asset_id].split(',')
+ update_kindeditor_assets_owner ids,feedback[:id],OwnerTypeHelper::JOURNALSFORMESSAGE
+ end
+ redirect_to syllabus_path(@syllabus)
+ else
+ flash[:error] = feedback.errors.full_messages[0]
+ end
+ end
+ else
+ render_403
+ end
+ end
+
#作业的回复
def leave_homework_message
if User.current.logged?
@@ -337,6 +359,27 @@ class WordsController < ApplicationController
UserExtensions.introduction(user, message)
redirect_to user_url(user.id)
end
+
+ #邮箱激活问题留言 留言成功给出提示框
+ def leave_email_activation_message
+ status = 1 #成功
+ me = User.find(params[:user])
+ if me
+ #课程使者id=1
+ @user = User.find(1)
+ if params[:text].size>0 && @user
+ # @user.add_jour(me, params[:text])
+ #私信
+ message = "【未收到激活邮件的用户反馈,用户邮箱:"+me.mail+"】
"+params[:text]
+ @user.journals_for_messages << JournalsForMessage.new(:user_id => me.id, :notes => message, :reply_id => 0, :status => true, :is_readed => false, :private => 1)
+ else
+ status = 0
+ end
+ render :json => status
+ else
+ render_403
+ end
+ end
private
diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb
index bb144472b..55a4da73a 100644
--- a/app/helpers/courses_helper.rb
+++ b/app/helpers/courses_helper.rb
@@ -671,6 +671,22 @@ module CoursesHelper
is_current_term || is_next_term
end
+ #课程大纲下拉框
+ def syllabus_option
+ type = []
+ option1 = []
+ option1 << "请选择课程"
+ option1 << 0
+ type << option1
+ Syllabus.all.each do |syllabus|
+ option = []
+ option << syllabus.title
+ option << syllabus.id
+ type << option
+ end
+ type
+ end
+
#获取课程动态
def get_course_activity courses, activities
@course_ids=activities.keys()
@@ -777,6 +793,15 @@ module CoursesHelper
result
end
+ def visable_course_homework course
+ if User.current.admin? || User.current.allowed_to?(:as_teacher,course)
+ homework_num = course.homework_commons.count
+ else
+ homework_num = course.homework_commons.where("publish_time <= '#{Date.today}'").count
+ end
+ homework_num
+ end
+
def zh_course_role role
if role == "TeachingAsistant"
result = l(:label_TA)
diff --git a/app/helpers/owner_type_helper.rb b/app/helpers/owner_type_helper.rb
index 7119d4f60..01320660c 100644
--- a/app/helpers/owner_type_helper.rb
+++ b/app/helpers/owner_type_helper.rb
@@ -7,5 +7,6 @@ module OwnerTypeHelper
BID = 6
JOURNALSFORMESSAGE = 7
HOMEWORKCOMMON = 8
- BLOGCOMMENT=9
+ BLOGCOMMENT = 9
+ SYLLABUS = 10
end
\ No newline at end of file
diff --git a/app/helpers/syllabuses_helper.rb b/app/helpers/syllabuses_helper.rb
index dac84937b..00331e0dc 100644
--- a/app/helpers/syllabuses_helper.rb
+++ b/app/helpers/syllabuses_helper.rb
@@ -1,2 +1,72 @@
+# encoding: utf-8
module SyllabusesHelper
+ def get_syllabuses_by_tag(tag_name)
+ Syllabus.tagged_with(tag_name).order('updated_at desc')
+ end
+
+ def teacher_count syllabus
+ count = 0
+ courses = syllabus.courses
+ unless courses.empty?
+ courses.each do |c|
+ count += TeacherAndAssistantCount c
+ end
+ end
+ count
+ end
+
+ def student_count syllabus
+ count = 0
+ courses = syllabus.courses
+ unless courses.empty?
+ courses.each do |c|
+ count += studentCount c
+ end
+ end
+ count
+ end
+
+ def file_count syllabus
+ count = 0
+ courses = syllabus.courses
+ unless courses.empty?
+ courses.each do |c|
+ count += visable_attachemnts_incourse(c).count
+ end
+ end
+ count
+ end
+
+ #课程性质下拉框
+ def syllabus_type
+ type = []
+ option1 = []
+ option2 = []
+ option3 = []
+ option4 = []
+ option5 = []
+ option6 = []
+
+ option1 << "请选择"
+ option1 << 1
+ option2 << "公共必修课"
+ option2 << 2
+ option3 << "学科必修课"
+ option3 << 3
+ option4 << "专业选修课"
+ option4 << 4
+ option5 << "实践必修课"
+ option5 << 5
+ option6 << "实践选修课"
+ option6 << 6
+
+ type << option1
+ type << option2
+ type << option3
+ type << option4
+ type << option5
+ type << option6
+
+ type
+ end
end
diff --git a/app/helpers/tags_helper.rb b/app/helpers/tags_helper.rb
index 8847f4163..54753807d 100644
--- a/app/helpers/tags_helper.rb
+++ b/app/helpers/tags_helper.rb
@@ -23,6 +23,8 @@ module TagsHelper
@obj= Course.find_by_id(obj_id)
when '10'
@obj = Attachment.find_by_id(obj_id)
+ when '11'
+ @obj = Syllabus.find_by_id(obj_id)
else
raise Exception, '[TagsHelper] ===> tag type unknow.'
end
diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb
index 4a6dbc6b6..f312d2275 100644
--- a/app/helpers/users_helper.rb
+++ b/app/helpers/users_helper.rb
@@ -32,7 +32,7 @@ module UsersHelper
def get_resource_type type
case type
when 'Course'
- '课程资源'
+ '班级资源'
when 'Project'
'项目资源'
when 'Issue'
@@ -122,11 +122,11 @@ module UsersHelper
when 'homework'
'作业消息'
when 'course_message'
- '课程讨论'
+ '班级讨论'
when 'course_news'
- '课程通知'
+ '班级通知'
when 'poll'
- '课程问卷'
+ '班级问卷'
when 'issue'
'项目任务'
when 'forge_message'
diff --git a/app/models/apply_add_schools.rb b/app/models/apply_add_schools.rb
new file mode 100644
index 000000000..2082c0012
--- /dev/null
+++ b/app/models/apply_add_schools.rb
@@ -0,0 +1,3 @@
+class ApplyAddSchools < ActiveRecord::Base
+ attr_accessible :address, :city, :name, :province, :remarks, :school_id, :status
+end
diff --git a/app/models/attachment.rb b/app/models/attachment.rb
index aa4ef8670..88fadd644 100644
--- a/app/models/attachment.rb
+++ b/app/models/attachment.rb
@@ -24,6 +24,7 @@ class Attachment < ActiveRecord::Base
belongs_to :course, foreign_key: 'container_id', conditions: "attachments.container_type = 'Course'"
belongs_to :org_subfield, foreign_key: 'container_id', conditions: "attachements.container_type = 'OrgSubfield'"
belongs_to :organization, foreign_key: 'container_id', conditions: "attachements.container_type = 'Organization'"
+ belongs_to :syllabus, foreign_key: 'container_id', conditions: "attachements.container_type = 'Syllabus'"
belongs_to :softapplication, foreign_key: 'container_id', conditions: "attachments.container_type = 'Softapplication'"
belongs_to :author, :class_name => "User", :foreign_key => "author_id"
belongs_to :attachmentstype, :foreign_key => "attachtype",:primary_key => "id"
diff --git a/app/models/course.rb b/app/models/course.rb
index 0c4acce97..e4b08697b 100644
--- a/app/models/course.rb
+++ b/app/models/course.rb
@@ -90,7 +90,8 @@ class Course < ActiveRecord::Base
'description',
'class_period',
'open_student',
- 'is_delete'
+ 'is_delete',
+ 'syllabus_id'
acts_as_customizable
diff --git a/app/models/syllabus.rb b/app/models/syllabus.rb
index 7d6319955..5e368f341 100644
--- a/app/models/syllabus.rb
+++ b/app/models/syllabus.rb
@@ -1,5 +1,46 @@
+# encoding: utf-8
class Syllabus < ActiveRecord::Base
+ include Redmine::SafeAttributes
+ include ApplicationHelper
+ acts_as_taggable
+ acts_as_attachable
+ has_many_kindeditor_assets :assets, :dependent => :destroy
+
belongs_to :user
has_many :courses
- attr_accessible :description, :title
+ has_many :journals_for_messages, :as => :jour, :dependent => :destroy
+ attr_accessible :description, :title, :eng_name, :syllabus_type, :credit, :hours, :theory_hours, :practice_hours, :applicable_major, :pre_course
+ safe_attributes 'title', 'description', 'eng_name', 'syllabus_type', 'credit', 'hours', 'theory_hours', 'practice_hours', 'credit', 'applicable_major', 'pre_course'
+
+ def delete_kindeditor_assets
+ delete_kindeditor_assets_from_disk self.id,OwnerTypeHelper::SYLLABUS
+ end
+
+ def syllabus_type_str
+ case self.syllabus_type
+ when 1
+ type = "公共必修课"
+ when 2
+ type = "学科必修课"
+ when 3
+ type = "专业选修课"
+ when 4
+ type = "实践必修课"
+ when 5
+ type = "实践选修课"
+ end
+ type
+ end
+
+ ###添加回复
+ def self.add_syllabus_jour(user, notes, id , options = {})
+ syllabus = Syllabus.find(id)
+ if options.count == 0
+ jfm = syllabus.journals_for_messages.build(:user_id => user.id, :notes => notes, :reply_id => 0)
+ else
+ jfm = syllabus.journals_for_messages.build(options)
+ end
+ jfm.save
+ jfm
+ end
end
diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb
index dce3e1f18..f6bf59af0 100644
--- a/app/services/courses_service.rb
+++ b/app/services/courses_service.rb
@@ -213,6 +213,7 @@ class CoursesService
#@course.safe_attributes(current_user,params[:course])
#@course.password = params[:course][:password]
@course.tea_id = current_user.id
+ @course.syllabus_id = params[:syllabus_id].to_i
@course.term = params[:term]
@course.time = params[:time]
@course.end_term = params[:end_term]
@@ -271,6 +272,7 @@ class CoursesService
course.send(:safe_attributes=, params[:course], current_user)
#course.safe_attributes = params[:course]
#course.password = params[:course][:password]
+ course.syllabus_id = params[:syllabus_id].to_i
course.time = params[:time]
course.term = params[:term]
course.end_time = params[:end_time]
diff --git a/app/views/account/email_activation.html.erb b/app/views/account/email_activation.html.erb
new file mode 100644
index 000000000..d625e7fc9
--- /dev/null
+++ b/app/views/account/email_activation.html.erb
@@ -0,0 +1,52 @@
+
您的账号尚未激活,请先进入您的注册邮箱,激活您的账号。
+ + <%#= link_to l(:label_mail_resend), { :controller => 'account', :action => 'resendmail',:user => @user}, :class=>"email_verify_btn mt30 ml30", :remote => true, :method => 'get' %> +如果您尚未收到激活邮件,请按照以下步骤操作:
+<%= f.text_field :login, :size => 25, :required => true %> - <%= l(:label_max_number) %> -
-<%= f.password_field :password, :size => 25, :required => true %> - <%= l(:text_caracters_minimum, :count => Setting.password_min_length) %> -
-<%= f.password_field :password_confirmation, :size => 25, :required => true %>
- <% end %> - -- <%= f.text_field :mail,:size => 25, :required => true %> - -
-
-
- <%= "#{l(:label_mail_attention)} " %> <%= "#{l(:label_mail_attention1)} " %>
-
<%= submit_tag l(:button_submit) %> | -
<%= f.text_field :identity_url %>
-<% end %> -<% @user.custom_field_values.select { |v| v.editable? || v.required? }.each do |value| %> -<%= custom_field_tag_with_label :user, value %>
-<% end %> - -<% password_min_length = Setting.password_min_length %> - \ No newline at end of file diff --git a/app/views/admin/course_resource_list.html.erb b/app/views/admin/course_resource_list.html.erb index 2e83a96aa..4786bbe89 100644 --- a/app/views/admin/course_resource_list.html.erb +++ b/app/views/admin/course_resource_list.html.erb @@ -39,7 +39,7 @@ <%= number_to_human_size(resource.filesize)%><%=@syllabus.title %>
+ +