课程邀请码

This commit is contained in:
cxt 2016-06-24 15:33:45 +08:00
parent 2959391438
commit ac629440b1
8 changed files with 29 additions and 27 deletions

View File

@ -65,7 +65,7 @@ class Course < ActiveRecord::Base
acts_as_attachable :view_permission => :view_course_files, acts_as_attachable :view_permission => :view_course_files,
:delete_permission => :manage_files :delete_permission => :manage_files
validates_presence_of :password, :term,:name validates_presence_of :term,:name
validates_format_of :class_period, :with =>/^[1-9]\d*$/ validates_format_of :class_period, :with =>/^[1-9]\d*$/
validates_format_of :name,:with =>/^[^ ]+[a-zA-Z0-9_\u4e00-\u9fa5\s\S]+$/ validates_format_of :name,:with =>/^[^ ]+[a-zA-Z0-9_\u4e00-\u9fa5\s\S]+$/
validates_length_of :description, :maximum => 10000 validates_length_of :description, :maximum => 10000

View File

@ -193,7 +193,7 @@ class CoursesService
@course.extra = 'course' + DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d_%H-%M-%S').to_s @course.extra = 'course' + DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d_%H-%M-%S').to_s
@course.send(:safe_attributes=, params[:course], current_user) @course.send(:safe_attributes=, params[:course], current_user)
#@course.safe_attributes(current_user,params[:course]) #@course.safe_attributes(current_user,params[:course])
@course.password = params[:course][:password] #@course.password = params[:course][:password]
@course.tea_id = current_user.id @course.tea_id = current_user.id
@course.term = params[:term] @course.term = params[:term]
@course.time = params[:time] @course.time = params[:time]
@ -252,7 +252,7 @@ class CoursesService
def edit_course(params,course,current_user) def edit_course(params,course,current_user)
course.send(:safe_attributes=, params[:course], current_user) course.send(:safe_attributes=, params[:course], current_user)
#course.safe_attributes = params[:course] #course.safe_attributes = params[:course]
course.password = params[:course][:password] #course.password = params[:course][:password]
course.time = params[:time] course.time = params[:time]
course.term = params[:term] course.term = params[:term]
course.end_time = params[:end_time] course.end_time = params[:end_time]

View File

@ -1,6 +1,6 @@
<script type="text/javascript"> <script type="text/javascript">
function submit_copy_course() { function submit_copy_course() {
if(regex_course_name('new')&&regex_course_class_period('new')&&regex_time_term('new')&&regex_course_password('new')) if(regex_course_name('new')&&regex_course_class_period('new')&&regex_time_term('new'))
{ {
$("#new_course").submit(); $("#new_course").submit();
document.getElementById("submit_copy_course").onclick = ""; document.getElementById("submit_copy_course").onclick = "";
@ -79,15 +79,15 @@
<span class="mr15 c_red">仅针对跨越多个学期的班级,否则不用修改。</span> <span class="mr15 c_red">仅针对跨越多个学期的班级,否则不用修改。</span>
</li> </li>
<div class="cl"></div> <div class="cl"></div>
<li class="ml45 mb10"> <!--<li class="ml45 mb10">
<label><span class="c_red">*</span>&nbsp;<%= l(:label_new_course_password)%>&nbsp;&nbsp;</label> <label><span class="c_red">*</span>&nbsp;<%#= l(:label_new_course_password)%>&nbsp;&nbsp;</label>
<input type="text" style="display: none;"> <input type="text" style="display: none;">
<input type="text" name="course[password]" id="new_course_course_password" class="hwork_input02 grey_border" onkeyup="regex_course_password('new');" value="<%=@course.password %>"> <input type="text" name="course[password]" id="new_course_course_password" class="hwork_input02 grey_border" onkeyup="regex_course_password('new');" value="<%#=@course.password %>">
<!--<a id="psw_btn" href="javascript:void(0)">显示明码</a>--> &lt;!&ndash;<a id="psw_btn" href="javascript:void(0)">显示明码</a>&ndash;&gt;
<span class="c_red" id="new_course_course_password_notice"></span> <span class="c_red" id="new_course_course_password_notice"></span>
<div class="cl"></div> <div class="cl"></div>
<span class="ml95 c_red">学生或其他成员申请加入课程时候需要使用该口令,该口令可以由老师在课堂上公布。</span> <span class="ml95 c_red">学生或其他成员申请加入课程时候需要使用该口令,该口令可以由老师在课堂上公布。</span>
</li> </li>-->
<li class="ml50"> <li class="ml50">
<label class="fl" >&nbsp;&nbsp;<%= l(:label_new_course_description)%>&nbsp;&nbsp;</label> <label class="fl" >&nbsp;&nbsp;<%= l(:label_new_course_description)%>&nbsp;&nbsp;</label>
<textarea name="course[description]" placeholder="最多3000个汉字(或6000个英文字符)" class="courses_text fl grey_border" ><%= @course.description.nil? ? "" : @course.description %></textarea> <textarea name="course[description]" placeholder="最多3000个汉字(或6000个英文字符)" class="courses_text fl grey_border" ><%= @course.description.nil? ? "" : @course.description %></textarea>

View File

@ -50,7 +50,7 @@
<div class="C" > <div class="C" >
<div class="C_top"> <div class="C_top">
<h2>快速进入课程通道</h2> <h2>快速进入课程通道</h2>
<p>只要持有课程ID和密码就可快速加入所在课程。课程页面搜索不到的私有课程只能从此通道进入哦!</p> <p>只要持有课程邀请码,就可以快速加入所在课程。课程页面搜索不到的私有课程只能从此通道进入哦!</p>
</div> </div>
<div class="C_form"> <div class="C_form">
<%= form_tag({:controller => 'courses', <%= form_tag({:controller => 'courses',
@ -62,16 +62,12 @@
<li> <li>
<input type="text" style="display: none"/> <!--阻止表单自动填充 --> <input type="text" style="display: none"/> <!--阻止表单自动填充 -->
<input type="password" style="display: none"/> <!--阻止表单自动填充 --> <input type="password" style="display: none"/> <!--阻止表单自动填充 -->
<span class="tips" style="width: 68px; display: inline-block;">课&nbsp;程&nbsp;ID</span> <span class="tips" style="width: 90px; display: inline-block;">课程邀请码</span>
<input class=" width190" name="object_id" id="object_id" type="text" value="" > <input class="width190" style="margin-left: 0px;" name="object_id" id="object_id" type="text" value="" >
<input type="text" style="display: none"/> <input type="text" style="display: none"/>
</li> </li>
<li class="mB5">课程ID是所在课程网址中显示的序号</li> <li class="mB5">课程邀请码是所在课程页面中显示的邀请码</li>
<li> <li style="margin-top: 15px;">
<span class="tips" style="width: 68px; display: inline-block;">密&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;码:</span>
<input class=" width190" type="password" name="course_password" id="course_password" value="" >
</li>
<li style="margin-top: 30px;">
<span style="margin-right: 20px;">身&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;份:</span> <span style="margin-right: 20px;">身&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;份:</span>
<% if User.current.logged? && User.current.extensions && User.current.extensions.identity == 0%> <% if User.current.logged? && User.current.extensions && User.current.extensions.identity == 0%>
<select name="role" class="IDType"> <select name="role" class="IDType">

View File

@ -32,15 +32,15 @@
<span class="mr15 c_red">仅针对跨越多个学期的班级,否则不用修改。</span> <span class="mr15 c_red">仅针对跨越多个学期的班级,否则不用修改。</span>
</li> </li>
<div class="cl"></div> <div class="cl"></div>
<li class="ml45 mb10"> <!--<li class="ml45 mb10">
<label><span class="c_red">*</span>&nbsp;<%= l(:label_new_course_password)%>&nbsp;&nbsp;</label> <label><span class="c_red">*</span>&nbsp;<%#= l(:label_new_course_password)%>&nbsp;&nbsp;</label>
<input type="text" style="display: none;"> <input type="text" style="display: none;">
<input type="password" name="course[password]" id="new_course_course_password" class="hwork_input02" onkeyup="regex_course_password('new');"> <input type="password" name="course[password]" id="new_course_course_password" class="hwork_input02" onkeyup="regex_course_password('new');">
<a id="psw_btn" href="javascript:void(0)">显示明码</a> <a id="psw_btn" href="javascript:void(0)">显示明码</a>
<span class="c_red" id="new_course_course_password_notice"></span> <span class="c_red" id="new_course_course_password_notice"></span>
<div class="cl"></div> <div class="cl"></div>
<span class="ml80 c_red">学生或其他成员申请加入课程时候需要使用该口令,该口令可以由老师在课堂上公布。</span> <span class="ml80 c_red">学生或其他成员申请加入课程时候需要使用该口令,该口令可以由老师在课堂上公布。</span>
</li> </li>-->
<li class="ml45"> <li class="ml45">
<label class="fl" >&nbsp;&nbsp;<%= l(:label_new_course_description)%>&nbsp;&nbsp;</label> <label class="fl" >&nbsp;&nbsp;<%= l(:label_new_course_description)%>&nbsp;&nbsp;</label>
<textarea name="course[description]" placeholder="最多3000个汉字(或6000个英文字符)" class="courses_text fl" ></textarea> <textarea name="course[description]" placeholder="最多3000个汉字(或6000个英文字符)" class="courses_text fl" ></textarea>

View File

@ -57,14 +57,14 @@
<span class="c_red" id="edit_course_time_term_notice"></span> <span class="c_red" id="edit_course_time_term_notice"></span>
</li> </li>
<div class="cl"></div> <div class="cl"></div>
<li class="ml45 mb10"> <!--<li class="ml45 mb10">
<label><span class="c_red">*</span>&nbsp;<%= l(:label_new_course_password)%>&nbsp;&nbsp;</label> <label><span class="c_red">*</span>&nbsp;<%#= l(:label_new_course_password)%>&nbsp;&nbsp;</label>
<input type="password" name="course[password]" id="edit_course_course_password" class="hwork_input02" value="<%= @course.password%>" onkeyup="regex_course_password('edit');"> <input type="password" name="course[password]" id="edit_course_course_password" class="hwork_input02" value="<%#= @course.password%>" onkeyup="regex_course_password('edit');">
<a id="psw_btn" href="javascript:void(0)">显示明码</a> <a id="psw_btn" href="javascript:void(0)">显示明码</a>
<span class="c_red" id="edit_course_course_password_notice"></span> <span class="c_red" id="edit_course_course_password_notice"></span>
<div class="cl"></div> <div class="cl"></div>
<span class=" ml80 c_orange">学生或其他成员申请加入课程时候需要使用该口令,该口令可以由老师在课堂上公布。</span> <span class=" ml80 c_orange">学生或其他成员申请加入课程时候需要使用该口令,该口令可以由老师在课堂上公布。</span>
</li> </li>-->
<li class="ml45"> <li class="ml45">
<label class="fl" >&nbsp;&nbsp;<%= l(:label_new_course_description)%>&nbsp;&nbsp;</label> <label class="fl" >&nbsp;&nbsp;<%= l(:label_new_course_description)%>&nbsp;&nbsp;</label>
<textarea name="course[description]" placeholder="最多3000个汉字(或6000个英文字符)" class="courses_text fl" maxlength="6000"><%= @course.description%></textarea> <textarea name="course[description]" placeholder="最多3000个汉字(或6000个英文字符)" class="courses_text fl" maxlength="6000"><%= @course.description%></textarea>

View File

@ -57,6 +57,12 @@
<div class="project_info" style="position: relative" id="project_info_<%=@course.id %>"> <div class="project_info" style="position: relative" id="project_info_<%=@course.id %>">
<%=render :partial=>'layouts/project_info' %> <%=render :partial=>'layouts/project_info' %>
</div><!--课程信息 end--> </div><!--课程信息 end-->
<% if (User.current.logged? && User.current.member_of_course?(@course)) || is_teacher %>
<div class="info_box mb10">
<p class="f14">邀请码</p>
<p class="f14 fontBlue2">123456</p>
</div>
<% end %>
<div class="info_box"> <div class="info_box">
<ul> <ul>
<li><%= l(:label_main_teacher)%> :&nbsp;&nbsp;<%= link_to(@course.teacher.lastname+@course.teacher.firstname, user_path(@course.teacher), :class => 'c_dblue') %></li> <li><%= l(:label_main_teacher)%> :&nbsp;&nbsp;<%= link_to(@course.teacher.lastname+@course.teacher.firstname, user_path(@course.teacher), :class => 'c_dblue') %></li>

View File

@ -185,7 +185,7 @@ function regex_course_password(str)
//提交新建课程 //提交新建课程
function submit_new_course() function submit_new_course()
{ {
if(regex_course_name('new')&&regex_course_class_period('new')&&regex_time_term('new')&&regex_course_password('new')) if(regex_course_name('new')&&regex_course_class_period('new')&&regex_time_term('new'))
{ {
$("#new_course").submit(); $("#new_course").submit();
} }
@ -193,7 +193,7 @@ function submit_new_course()
function submit_edit_course(id) function submit_edit_course(id)
{ {
if(regex_course_name('edit')&&regex_course_class_period('edit')&&regex_time_term('edit')&&regex_course_password('edit')) if(regex_course_name('edit')&&regex_course_class_period('edit')&&regex_time_term('edit'))
{ {
$("#edit_course_"+id).submit(); $("#edit_course_"+id).submit();
} }