diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index 60f12fb38..1e4b01df0 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -79,7 +79,7 @@ class AccountController < ApplicationController return end end - render :template => "account/password_recovery" + render :layout => 'static_base', :template => "account/password_recovery" return else if request.post? @@ -87,6 +87,7 @@ class AccountController < ApplicationController # user not found or not active unless user && user.active? flash.now[:error] = l(:notice_account_unknown_email) + render :layout => 'static_base' return end # user cannot change its password @@ -99,10 +100,11 @@ class AccountController < ApplicationController if token.save Mailer.run.lost_password(token) flash[:notice] = l(:notice_account_lost_email_sent) - redirect_to signin_url + redirect_to lost_password_path return end end + render :layout => 'static_base' end end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 6b7545fe8..a3f9f02ce 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -45,7 +45,7 @@ class UsersController < ApplicationController :activity_new_score_index, :influence_new_score_index, :score_new_index,:update_score,:user_activities,:user_projects_index, :user_courses4show,:user_projects4show,:user_course_activities,:user_project_activities,:user_feedback4show,:user_visitorlist, :user_resource,:user_resource_create,:user_resource_delete,:rename_resource,:search_user_course,:add_exist_file_to_course, - :search_user_project,:resource_preview,:resource_search,:add_exist_file_to_project,:user_messages, :edit_brief_introduction] + :search_user_project,:resource_preview,:resource_search,:add_exist_file_to_project,:user_messages,:edit_brief_introduction,:user_new_homework] #edit has been deleted by huang, 2013-9-23 before_filter :find_user, :only => [:user_fanslist, :user_watchlist, :show, :edit, :update, :destroy, :edit_membership, :user_courses, :user_homeworks, :destroy_membership, :user_activities, :user_projects, :user_newfeedback, :user_comments, @@ -335,6 +335,38 @@ class UsersController < ApplicationController end end + def user_new_homework + if params[:homework_common] + homework = HomeworkCommon.new + homework.name = params[:homework_common][:name] + homework.description = params[:homework_common][:description] + homework.end_time = params[:homework_common][:end_time] + homework.publish_time = Time.now + homework.homework_type = 1 + homework.late_penalty = 0 + homework.user_id = User.current.id + homework.course_id = params[:course_id] + + homework.save_attachments(params[:attachments]) + render_attachment_warning_if_needed(homework) + + #匿评作业相关属性 + homework_detail_manual = HomeworkDetailManual.new + homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6 + homework_detail_manual.comment_status = 1 + homework_detail_manual.evaluation_start = Time.now + homework_detail_manual.evaluation_end = Time.now + homework_detail_manual.evaluation_num = params[:evaluation_num] || 3 + homework_detail_manual.absence_penalty = 0 + homework.homework_detail_manual = homework_detail_manual + + if homework.save + homework_detail_manual.save if homework_detail_manual + redirect_to user_homeworks_user_path(User.current.id) + end + end + end + include CoursesHelper def user_courses diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 342ee70be..ebfd9f881 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -537,4 +537,16 @@ module UsersHelper end end + #获取指定用户作为老师的课程 + def get_as_teacher_courses user + type = [] + user.courses.select{|c| user.allowed_to?(:as_teacher,c)}.each do |course| + option = [] + option << course.name + option << course.id + type << option + end + type + end + end diff --git a/app/views/account/agreement.html.erb b/app/views/account/agreement.html.erb index f18731348..95befbfd4 100644 --- a/app/views/account/agreement.html.erb +++ b/app/views/account/agreement.html.erb @@ -1,5 +1,5 @@ <%= stylesheet_link_tag 'new_user'%> -
+

Trustie服务协议

@@ -28,7 +28,7 @@
-
+ diff --git a/app/views/users/_user_homework_attachment.html.erb b/app/views/users/_user_homework_attachment.html.erb index 9e198a762..eafa9cf0d 100644 --- a/app/views/users/_user_homework_attachment.html.erb +++ b/app/views/users/_user_homework_attachment.html.erb @@ -1,4 +1,4 @@ -
+
<% if defined?(container) && container && container.saved_attachments %> <% container.attachments.each_with_index do |attachment, i| %> @@ -10,8 +10,8 @@ <%= link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') unless attachment.id.nil? %> <%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %> - <% end %> - <% container.saved_attachments.each_with_index do |attachment, i| %> + <% end %> + <% container.saved_attachments.each_with_index do |attachment, i| %> <%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%> <%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 254, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") %> @@ -20,46 +20,34 @@ <%= link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') unless attachment.id.nil? %> <%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %> - <% end %> -<% end %> - - <% project = project %> - - <%= button_tag l(:button_browse), :type=>"button", :onclick=>"_file.click()",:onmouseover => 'this.focus()',:class => 'sub_btn', :style => ie8? ? 'display:none' : '' %> - <%= file_field_tag 'attachments[dummy][file]', - :id => '_file', - :class => ie8? ? '' : 'file_selector', - :multiple => true, - :onchange => 'addInputFiles(this);', - :style => ie8? ? '' : 'display:none', - :data => { - :max_file_size => Setting.attachment_max_size.to_i.kilobytes, - :max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)), - :max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i, - :upload_path => uploads_path(:format => 'js',:project =>project), - :description_placeholder => l(:label_optional_description), - :field_is_public => l(:field_is_public), - :are_you_sure => l(:text_are_you_sure), - :file_count => l(:label_file_count), - :delete_all_files => l(:text_are_you_sure_all) - } %> - - <%= l(:label_no_file_uploaded)%> - - (<%= l(:label_max_size) %>: - <%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>) - + <% end %> + <% end %> + + <%= file_field_tag 'attachments[dummy][file]', + :id => '_file', + :class => ie8? ? '' : 'file_selector', + :multiple => true, + :onchange => 'addInputFiles(this);', + :style => ie8? ? '' : 'display:none', + :data => { + :max_file_size => Setting.attachment_max_size.to_i.kilobytes, + :max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)), + :max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i, + :upload_path => uploads_path(:format => 'js',:project =>nil), + :description_placeholder => l(:label_optional_description), + :field_is_public => l(:field_is_public), + :are_you_sure => l(:text_are_you_sure), + :file_count => l(:label_file_count), + :delete_all_files => l(:text_are_you_sure_all) + } %> +
+
- <% content_for :header_tags do %> - <%= javascript_include_tag 'attachments' %> - <% end %> + - - - - - - - - \ No newline at end of file +<% content_for :header_tags do %> + <%= javascript_include_tag 'attachments' %> +<% end %> \ No newline at end of file diff --git a/app/views/users/_user_homework_form.html.erb b/app/views/users/_user_homework_form.html.erb index 3a4c3496c..90fa51715 100644 --- a/app/views/users/_user_homework_form.html.erb +++ b/app/views/users/_user_homework_form.html.erb @@ -2,20 +2,16 @@
+

导入作业 - - <%= calendar_for('homework_end_time')%> - - - - - - - +
+ + <%= calendar_for('homework_end_time')%> +
@@ -30,27 +26,17 @@
- + + <%= select_tag :course_id,options_for_select(get_as_teacher_courses(User.current),homework.course_id), {:class => "InputBox W700 SearchIcon"} %>
-
- <%= render :partial => 'attachments/new_form', :locals => {:container => homework} %> -
-
+ <%= render :partial => 'users/user_homework_attachment', :locals => { :container => homework } %> -
- 上传附件 - 资源库 - 发送 +
+ 发送 取消
-
- - - - -
\ No newline at end of file diff --git a/app/views/users/_user_homework_list.html.erb b/app/views/users/_user_homework_list.html.erb index 6476f9e71..7998128e0 100644 --- a/app/views/users/_user_homework_list.html.erb +++ b/app/views/users/_user_homework_list.html.erb @@ -30,7 +30,8 @@ <%= render :partial => 'student_work/work_attachments', :locals => {:attachments => homework_common.attachments} %>
- <% if is_teacher%> + <%# if is_teacher%> + <% if false%>
  • diff --git a/app/views/users/user_homeworks.html.erb b/app/views/users/user_homeworks.html.erb index 48666a0cb..0191dca7f 100644 --- a/app/views/users/user_homeworks.html.erb +++ b/app/views/users/user_homeworks.html.erb @@ -20,10 +20,18 @@
    发布作业
<% homework = HomeworkCommon.new %> - <%= labelled_form_for homework,:url => {:controller => 'homework_common',:action => 'create'} do |f| %> + <%= labelled_form_for homework,:url => user_new_homework_users_path,:method => "post" do |f| %> <%= render :partial => 'users/user_homework_form', :locals => { :homework => homework,:f => f,:edit_mode => false } %> <% end%>
+ +<%else%> +
+
+
作业
+
+
+
<% end%> <%= render :partial => 'users/user_homework_list', :locals => {:homework_commons => @homework_commons,:page => 0} %> diff --git a/app/views/users/user_newfeedback.html.erb b/app/views/users/user_newfeedback.html.erb index 13b4524ba..b8c5b106d 100644 --- a/app/views/users/user_newfeedback.html.erb +++ b/app/views/users/user_newfeedback.html.erb @@ -24,7 +24,7 @@ -
+
留言
diff --git a/config/routes.rb b/config/routes.rb index 6679151e3..f39542562 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -308,6 +308,7 @@ RedmineApp::Application.routes.draw do resources :users do collection do match "tag_saveEx" , :via => [:get, :post] + post "user_new_homework" end member do match 'user_projects_index', :to => 'users#user_projects_index', :via => :get @@ -326,7 +327,7 @@ RedmineApp::Application.routes.draw do match 'user_visitorlist', :to => 'users#user_visitorlist', :via => :get match 'user_homeworks', :to => 'users#user_homeworks', :via => :get match 'watch_projects', :to => 'users#watch_projects', :via => :get - + # # added by bai match 'show_score', :to => 'users#show_score', :via => :get match 'topic_score_index', :to => 'users#topic_score_index', :via => [:get, :post] diff --git a/db/schema.rb b/db/schema.rb index c905966ac..6aa6da41d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -476,6 +476,13 @@ ActiveRecord::Schema.define(:version => 20150826061843) do add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority" + create_table "discuss_demos", :force => true do |t| + t.string "title" + t.text "body" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + create_table "documents", :force => true do |t| t.integer "project_id", :default => 0, :null => false t.integer "category_id", :default => 0, :null => false @@ -906,7 +913,6 @@ ActiveRecord::Schema.define(:version => 20150826061843) do t.datetime "created_on" t.integer "comments_count", :default => 0, :null => false t.integer "course_id" - t.datetime "updated_on" end add_index "news", ["author_id"], :name => "index_news_on_author_id" diff --git a/public/javascripts/new_user.js b/public/javascripts/new_user.js index 42a1271cd..2b6b94eae 100644 --- a/public/javascripts/new_user.js +++ b/public/javascripts/new_user.js @@ -54,19 +54,34 @@ function show_more_project(url){ } ); } -// -//$(function(){ -// $(".newsType").mouseover(function(){ -// $(".resourcesIcon").css({background:"url(images/resource_icon_list.png) 0px -25px no-repeat"}); -// }); -// $(".newsType").mouseout(function(){ -// $(".resourcesIcon").css({background:"url(images/resource_icon_list.png) 0px 0px no-repeat"}); -// }); -// $(".resourcesSelected").mouseover(function(){ -// $(".resourcesIcon").css({background:"url(images/resource_icon_list.png) 0px -25px no-repeat"}); -// }); -// $(".resourcesSelected").mouseout(function(){ -// $(".resourcesIcon").css({background:"url(images/resource_icon_list.png) 0px 0px no-repeat"}); -// }); -//}); -//个人动态 end \ No newline at end of file + +//老师提交 新建/修改 作业 +function submit_homework(id) +{ + if(!regex_homework_name()) + { + $("#homework_name").focus(); + } + else + { + homework_description_editor.sync(); + $("#"+id).submit(); + } +} + +//验证新建作业的名字 +function regex_homework_name() +{ + var name = $.trim($("#homework_name").val()); + + if(name=="") + { + $("#homework_name_span").text("名称不能为空"); + return false; + } + else + { + $("#homework_name_span").text(""); + return true; + } +} \ No newline at end of file diff --git a/public/stylesheets/new_user.css b/public/stylesheets/new_user.css index 3dea90fba..22e13709b 100644 --- a/public/stylesheets/new_user.css +++ b/public/stylesheets/new_user.css @@ -635,7 +635,7 @@ ul.list_watch{ /*20150826忘记密码 LB*/ -.BgBox{ width:968px; border:1px solid #dddddd; background:#fff; padding:15px; padding-top:10px;} +.BgBox{ width:968px; border:1px solid #dddddd; background:#fff; padding:15px; padding-top:10px;margin: 20px auto} .BgBox_h2{ font-size:16px; color:#484848; width:968px;border-bottom:1px solid #e3e3e3; padding-bottom:5px;} .NomalInput{width:308px; height:38px; border:1px solid #98a1a6; outline:none; color:#888888; font-size:14px;} .BgBoxCon{ width:310px; margin:80px auto;} @@ -868,11 +868,30 @@ img.ui-datepicker-trigger { width:16px; height:15px; float:left; + margin: 7px; } /*消息*/ .homepageNewsType {width:95px; font-size:12px; color:#888888; display:block;} .homepageNewsTypeNotRead {width:95px; font-size:12px; color:#888888; display:block;} - +.calendar_input{border-left:none !important;border-bottom: none!important; border-top: none!important; border-right: 1px solid #d9d9d9;} +.calendar_div{border: 1px solid #d9d9d9;} + +#attachments_fields input.filename { + border: 0; + height: 1.8em; + max-width: 670px; + color: #7f7f7f; + background-color: inherit; + background: url(../images/pic_file.png) 0 3px no-repeat; + padding-left: 18px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + margin-bottom: 3px; +} +.description{display: none !important;} +.ispublic-label{display: none !important;} +.is_public_checkbox{display: none !important;}