Merge branch 'szzh' of http://xianbo_trustie2@repository.trustie.net/xianbo/trustie2.git into szzh
This commit is contained in:
commit
942035f698
|
@ -26,6 +26,7 @@ class HomeworkAttachController < ApplicationController
|
||||||
get_not_batch_homework_list sort,direction, @bid.id
|
get_not_batch_homework_list sort,direction, @bid.id
|
||||||
@cur_page = params[:page] || 1
|
@cur_page = params[:page] || 1
|
||||||
@cur_type = 1
|
@cur_type = 1
|
||||||
|
@cur_sort,@cur_direction = params[:sort] || "s_socre", params[:direction] || "desc"
|
||||||
@direction = direction == 'asc'? 'desc' : 'asc'
|
@direction = direction == 'asc'? 'desc' : 'asc'
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
|
@ -433,7 +434,7 @@ class HomeworkAttachController < ApplicationController
|
||||||
#添加留言
|
#添加留言
|
||||||
def addjours
|
def addjours
|
||||||
@is_teacher,@is_anonymous_comments,@m_score = params[:is_teacher]=="true",params[:is_anonymous_comments]=="true",params[:stars_value]
|
@is_teacher,@is_anonymous_comments,@m_score = params[:is_teacher]=="true",params[:is_anonymous_comments]=="true",params[:stars_value]
|
||||||
@cur_page,@cur_type = params[:cur_page] || 1,params[:cur_type] || 5
|
@cur_page,@cur_type = params[:page] || 1,params[:cur_type] || 5
|
||||||
@homework = HomeworkAttach.find(params[:homework_id])
|
@homework = HomeworkAttach.find(params[:homework_id])
|
||||||
@stars_reates = @homework.rates(:quality)
|
@stars_reates = @homework.rates(:quality)
|
||||||
homework = @homework
|
homework = @homework
|
||||||
|
@ -479,7 +480,7 @@ class HomeworkAttachController < ApplicationController
|
||||||
|
|
||||||
if @cur_type == "1" #如果当前是老师未批列表,需要刷新整个作业列表界面
|
if @cur_type == "1" #如果当前是老师未批列表,需要刷新整个作业列表界面
|
||||||
@bid = @homework.bid
|
@bid = @homework.bid
|
||||||
get_not_batch_homework_list "s_socre","desc",@homework.bid_id
|
get_not_batch_homework_list params[:cur_sort] || "s_socre",params[:cur_direction] || "desc",@homework.bid_id
|
||||||
elsif @cur_type == "2" #老师已批列表
|
elsif @cur_type == "2" #老师已批列表
|
||||||
@result_homework = HomeworkAttach.find_by_sql("SELECT homework_attaches.*,
|
@result_homework = HomeworkAttach.find_by_sql("SELECT homework_attaches.*,
|
||||||
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
|
(SELECT stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND is_teacher_score = 1 AND stars IS NOT NULL ORDER BY updated_at DESC limit 0,1) AS t_score,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
class PollController < ApplicationController
|
class PollController < ApplicationController
|
||||||
before_filter :find_poll_and_course, :only => [:edit,:update,:destroy,:show,:statistics_result,:create_poll_question,:commit_poll,:commit_answer,:publish_poll,:republish_poll]
|
before_filter :find_poll_and_course, :only => [:edit,:update,:destroy,:show,:statistics_result,:create_poll_question,:commit_poll,:commit_answer,:publish_poll,:republish_poll,:poll_result]
|
||||||
before_filter :find_container, :only => [:new,:create, :index]
|
before_filter :find_container, :only => [:new,:create, :index]
|
||||||
before_filter :is_member_of_course, :only => [:index,:show]
|
before_filter :is_member_of_course, :only => [:index,:show,:poll_result]
|
||||||
before_filter :is_course_teacher, :only => [:new,:create,:edit,:update,:destroy,:publish_poll,:republish_poll]
|
before_filter :is_course_teacher, :only => [:new,:create,:edit,:update,:destroy,:publish_poll,:republish_poll]
|
||||||
include PollHelper
|
include PollHelper
|
||||||
def index
|
def index
|
||||||
|
@ -330,6 +330,14 @@ class PollController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#显示某个学生某份问卷的填写结果
|
||||||
|
def poll_result
|
||||||
|
@poll_questions = paginateHelper @poll.poll_questions,5
|
||||||
|
respond_to do |format|
|
||||||
|
format.html{render :layout => 'base_courses'}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def find_poll_and_course
|
def find_poll_and_course
|
||||||
@poll = Poll.find params[:id]
|
@poll = Poll.find params[:id]
|
||||||
|
|
|
@ -35,7 +35,7 @@ class ProjectsController < ApplicationController
|
||||||
# edit
|
# edit
|
||||||
before_filter :authorize1, :only => [:show]
|
before_filter :authorize1, :only => [:show]
|
||||||
#
|
#
|
||||||
before_filter :find_project, :except => [ :index, :search,:list, :new, :create, :copy, :statistics, :new_join, :course, :enterprise_course, :course_enterprise,:view_homework_attaches]
|
before_filter :find_project, :except => [ :index, :search,:list, :new, :create, :copy, :statistics, :new_join, :course, :enterprise_course, :course_enterprise,:view_homework_attaches,:join_project]
|
||||||
# before_filter :authorize, :except => [:new_join, :new_homework, :homework, :statistics, :search, :watcherlist, :index, :list, :new, :create, :copy, :archive, :unarchive, :destroy, :member, :focus, :file,
|
# 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,
|
# :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]
|
# :show_projects_score, :issue_score_index, :news_score_index, :file_score_index, :code_submit_score_index, :projects_topic_score_index]
|
||||||
|
@ -917,6 +917,14 @@ class ProjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#加入私有项目
|
||||||
|
def join_project
|
||||||
|
respond_to do |format|
|
||||||
|
format.js
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def memberAccess
|
def memberAccess
|
||||||
|
|
|
@ -73,5 +73,5 @@ module PollHelper
|
||||||
"多行主观题"
|
"多行主观题"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
|
@ -56,18 +56,30 @@
|
||||||
<%= link_to(bid.name, course_for_bid_path(bid), :class => 'bid_path') %>
|
<%= link_to(bid.name, course_for_bid_path(bid), :class => 'bid_path') %>
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td style="width: 110px;">
|
<td style="width: 150px;">
|
||||||
<span style="float: right">
|
<span style="float: right">
|
||||||
<% if User.current.logged? && is_cur_course_student(@course) %>
|
<% if User.current.logged? && is_cur_course_student(@course) %>
|
||||||
<% cur_user_homework = cur_user_homework_for_bid(bid) %>
|
<% cur_user_homework = cur_user_homework_for_bid(bid) %>
|
||||||
|
<span class="span_wping">
|
||||||
|
<% if bid.open_anonymous_evaluation == 1 %>
|
||||||
|
<% case bid.comment_status %>
|
||||||
|
<% when 0 %>
|
||||||
|
<a>未开启匿评</a>
|
||||||
|
<% when 1 %>
|
||||||
|
<a> 匿评中.. </a>
|
||||||
|
<% when 2 %>
|
||||||
|
<a> 匿评结束 </a>
|
||||||
|
<% end %>
|
||||||
|
<% end%>
|
||||||
|
</span>
|
||||||
<% if cur_user_homework && cur_user_homework.empty? %>
|
<% if cur_user_homework && cur_user_homework.empty? %>
|
||||||
<span class="span_wping">
|
<span class="span_wping">
|
||||||
<%= link_to l(:label_commit_homework),new_exercise_book_path(bid) %>
|
<%= link_to l(:label_commit_homework),new_exercise_book_path(bid) %>
|
||||||
</span>
|
</span>
|
||||||
<% else %>
|
<% else %>
|
||||||
<span style="color: green; float: right">
|
<span class="span_wping">
|
||||||
<%= l(:lable_has_commit_homework)%>
|
<a>已 提 交</a>
|
||||||
</span>
|
</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if (User.current.admin?||User.current.allowed_to?(:as_teacher,@course)) %>
|
<% if (User.current.admin?||User.current.allowed_to?(:as_teacher,@course)) %>
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
:url => {:controller => 'homework_attach',
|
:url => {:controller => 'homework_attach',
|
||||||
:action => 'addjours',
|
:action => 'addjours',
|
||||||
:homework_id => homework_attach.id,
|
:homework_id => homework_attach.id,
|
||||||
:cur_page => cur_page,
|
:page => cur_page,
|
||||||
:cur_type => cur_type,
|
:cur_type => cur_type,
|
||||||
:is_anonymous_comments => @is_anonymous_comments,
|
:is_anonymous_comments => @is_anonymous_comments,
|
||||||
:is_teacher => @is_teacher
|
:is_teacher => @is_teacher
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<% else %>
|
<% else %>
|
||||||
<% homework_filename = homework.name %>
|
<% homework_filename = homework.name %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= link_to homework_filename , homework_attach_path(homework,:cur_page => @cur_page,:cur_type => @cur_type), :title => homework_filename, :remote => true%>
|
<%= link_to homework_filename , homework_attach_path(homework,:cur_page => @cur_page,:cur_type => @cur_type,:cur_sort => @cur_sort, :cur_direction => @cur_direction), :title => homework_filename, :remote => true%>
|
||||||
<span class="c_grey ">
|
<span class="c_grey ">
|
||||||
提交时间:
|
提交时间:
|
||||||
<%= format_time homework.created_at%>
|
<%= format_time homework.created_at%>
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
<% if is_teacher %>
|
<% if is_teacher %>
|
||||||
<!-- 是老师,所有列表正常显示 -->
|
<!-- 是老师,所有列表正常显示 -->
|
||||||
<li class="wping">
|
<li class="wping">
|
||||||
<%= link_to l(:label_work_rating),homework_attach_path(homework,:cur_page => @cur_page,:cur_type => @cur_type),:remote => true %>
|
<%= link_to l(:label_work_rating),homework_attach_path(homework,:cur_page => @cur_page,:cur_type => @cur_type,:cur_sort => @cur_sort, :cur_direction => @cur_direction),:remote => true %>
|
||||||
<% if Time.parse(bid.deadline.to_s).strftime("%Y-%m-%d") < Time.parse(homework.created_at.to_s).strftime("%Y-%m-%d") %>
|
<% if Time.parse(bid.deadline.to_s).strftime("%Y-%m-%d") < Time.parse(homework.created_at.to_s).strftime("%Y-%m-%d") %>
|
||||||
<span class="c_red"> 迟交!</span>
|
<span class="c_red"> 迟交!</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -1,49 +1,122 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<style type="text/css">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
#scrollsidebar{ font-size:12px; font-family:"微软雅黑","宋体"; line-height:1.9; background:#fff; font-style:normal;}
|
||||||
<head>
|
#scrollsidebar div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span,ol{ }
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
#scrollsidebar div,img,tr,td,table{ border:0;}
|
||||||
<title>意见反馈浮窗</title>
|
#scrollsidebar ol,ul,li{ list-style-type:none}
|
||||||
|
#scrollsidebar .cl{ clear:both; overflow:hidden; }
|
||||||
|
#scrollsidebar a{ text-decoration:none;}
|
||||||
|
|
||||||
|
html{ overflow-x:hidden;}
|
||||||
|
.custom_service p img {display: inline; margin-top:-5px; vertical-align:middle;}
|
||||||
|
.scrollsidebar{position:absolute; z-index:999; top:150px;}
|
||||||
|
.side_content{width:154px; height:auto; overflow:hidden; float:left; }
|
||||||
|
.side_content .side_list {width:154px;overflow:hidden;}
|
||||||
|
.show_btn{ width:0; height:112px; overflow:hidden; margin-top:50px; float:left; cursor:pointer;}
|
||||||
|
.show_btn span { display:none;}
|
||||||
|
.close_btn{width:24px;height:24px;cursor:pointer;}
|
||||||
|
.side_title,.side_bottom,.close_btn,.show_btn {background:url(/images/sidebar_bg.png) no-repeat;}
|
||||||
|
.side_title {height:46px;}
|
||||||
|
.side_bottom { height:8px;}
|
||||||
|
.side_center {font-family:Verdana, Geneva, sans-serif; padding:5px 12px; font-size:12px;}
|
||||||
|
.close_btn { float:right; display:block; width:21px; height:16px; margin:16px 10px 0 0; _margin:16px 5px 0 0;}
|
||||||
|
.close_btn span { display:none;}
|
||||||
|
.side_center .custom_service p { text-align:center; padding:6px 0; margin:0; vertical-align:middle;}
|
||||||
|
.msgserver { margin:10px 0 4px 4px;}
|
||||||
|
.msgserver a { background:url(/images/sidebar_bg.png) no-repeat -119px -115px; padding-left:22px;}
|
||||||
|
.opnionText{ width:120px; height:180px; border-color:#cecece; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; color:#999; padding:3px;}
|
||||||
|
a.opnionButton{ display:block; font-weight: bold; margin:-25px auto 0; text-align:center;}
|
||||||
|
a:hover.opnionButton{ text-decoration:underline;}
|
||||||
|
|
||||||
|
|
||||||
|
/* blue skin as the default skin */
|
||||||
|
.side_title {background-position:-195px 0;}
|
||||||
|
.side_center {background:url(/images/blue_line.png) repeat-y center;}
|
||||||
|
.side_bottom {background-position:-195px -50px;}
|
||||||
|
.close_btn {background-position:-44px 0;}
|
||||||
|
.close_btn:hover {background-position:-66px 0;}
|
||||||
|
.show_btn {background-position:-119px 0;}
|
||||||
|
.msgserver a {color:#15bccf; }
|
||||||
|
.msgserver a:hover { text-decoration:underline; }
|
||||||
|
</style>
|
||||||
<script>
|
<script>
|
||||||
function mypostion(o){
|
/* =================================================
|
||||||
var width=$(window).width();
|
//
|
||||||
var height=$(window).height();
|
// jQuery Fixed Plugins 1.3.1
|
||||||
var divW=$(o).outerWidth();
|
// author :
|
||||||
var divH=$(o).outerHeight();
|
// Url:
|
||||||
var left=(width-divW)/2+$(window).scrollLeft();
|
// Data : 2012-03-30
|
||||||
var top=(height-divH)/2+$(window).scrollTop();
|
//
|
||||||
return {"left":left,"top":top};
|
// ???? : float --> ????[left or right]
|
||||||
};
|
// minStatue --> ??С???????show_btn
|
||||||
|
// skin --> ???????
|
||||||
|
// durationTime --> ??????
|
||||||
|
//???? :
|
||||||
|
$("#scrollsidebar2").fix({
|
||||||
|
float : 'right', //default.left or right
|
||||||
|
minStatue : true, //default.false or true
|
||||||
|
skin : 'green', //default.gray or yellow ??blue ??green ??orange ??white
|
||||||
|
durationTime : 1000 //
|
||||||
|
});
|
||||||
|
//
|
||||||
|
// =================================================*/
|
||||||
|
|
||||||
function myTips(msg,status){
|
(function($){
|
||||||
if(status!="success" && status!="error"){status="error";};
|
$.fn.fix = function(options){
|
||||||
if (status=="success") {
|
var defaults = {
|
||||||
$("body").append('<div class="ui-mask" id="ui-mask"></div><div class="change_success" id="change_success"><!--span class="send_close" onclick="$(this).parent().remove();$("#ui-mask").remove();"></span--><i></i>'+msg+'</div>');
|
float : 'left',
|
||||||
var my=mypostion("#change_success");
|
minStatue : false,
|
||||||
$("#change_success").css({"position":"absolute","z-index":"9999999","top":my.top+"px","left":my.left+"px"});
|
skin : 'blue',
|
||||||
$("#ui-mask").show();
|
durationTime : 1000
|
||||||
$("#change_success").show();
|
}
|
||||||
setTimeout(function(){
|
var options = $.extend(defaults, options);
|
||||||
$("#change_success,#ui-mask").fadeOut("slow",function(){
|
|
||||||
$("#ui-mask").remove();
|
this.each(function(){
|
||||||
$("#change_success").remove();
|
//???????
|
||||||
|
var thisBox = $(this),
|
||||||
|
closeBtn = thisBox.find('.close_btn' ),
|
||||||
|
show_btn = thisBox.find('.show_btn' ),
|
||||||
|
sideContent = thisBox.find('.side_content'),
|
||||||
|
sideList = thisBox.find('.side_list')
|
||||||
|
;
|
||||||
|
var defaultTop = thisBox.offset().top; //????????top
|
||||||
|
|
||||||
|
thisBox.css(options.float, 0);
|
||||||
|
if(options.minStatue){
|
||||||
|
$(".show_btn").css("float", options.float);
|
||||||
|
sideContent.css('width', 0);
|
||||||
|
show_btn.css('width', 25);
|
||||||
|
|
||||||
|
}
|
||||||
|
//???????
|
||||||
|
if(options.skin) thisBox.addClass('side_'+options.skin);
|
||||||
|
|
||||||
|
|
||||||
|
//????scroll???
|
||||||
|
$(window).bind("scroll",function(){
|
||||||
|
var offsetTop = defaultTop + $(window).scrollTop() + "px";
|
||||||
|
thisBox.animate({
|
||||||
|
top: offsetTop
|
||||||
|
},
|
||||||
|
{
|
||||||
|
duration: options.durationTime,
|
||||||
|
queue: false //???????????????????
|
||||||
|
});
|
||||||
});
|
});
|
||||||
},2500);
|
//close???
|
||||||
}
|
closeBtn.bind("click",function(){
|
||||||
else{
|
sideContent.animate({width: '0px'},"fast");
|
||||||
$("body").append('<div class="ui-mask" id="ui-mask"></div><div class="change_error" id="change_error"><!--span class="send_close" onclick="$(this).parent().remove();$("#ui-mask").remove();"></span--><i></i>'+msg+'</div>');
|
show_btn.stop(true, true).delay(300).animate({ width: '25px'},"fast");
|
||||||
var my=mypostion("#change_error");
|
|
||||||
$("#change_error").css({"position":"absolute","z-index":"9999999","top":my.top+"px","left":my.left+"px"});
|
|
||||||
$("#ui-mask").show();
|
|
||||||
$("#change_error").show();
|
|
||||||
setTimeout(function(){
|
|
||||||
$("#change_error,#ui-mask").fadeOut("slow",function(){
|
|
||||||
$("#ui-mask").remove();
|
|
||||||
$("#change_error").remove();
|
|
||||||
});
|
});
|
||||||
},1000);
|
//show???
|
||||||
};
|
show_btn.click(function() {
|
||||||
};
|
$(this).animate({width: '0px'},"fast");
|
||||||
|
sideContent.stop(true, true).delay(200).animate({ width: '154px'},"fast");
|
||||||
|
});
|
||||||
|
|
||||||
|
}); //end this.each
|
||||||
|
|
||||||
|
};
|
||||||
|
})(jQuery);
|
||||||
|
|
||||||
|
|
||||||
$(function(){
|
$(function(){
|
||||||
|
@ -59,92 +132,52 @@ function f_submit()
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style type="text/css">
|
|
||||||
/*浮窗*/
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
/*body{ height:3000px; font-family:'微软雅黑';}*/
|
<head>
|
||||||
/*div,ul,li,body,h3,p{margin:0; padding:0;}*/
|
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
|
||||||
#roll a{ text-decoration:none;}
|
<title>意见反馈</title>
|
||||||
#roll{ background:url(/images/f_opnion.jpg) 0 0 no-repeat;width:157px; height:332px; position:absolute;}
|
|
||||||
.opnionBox{ width: 130px; height:146px; margin:76px auto 20px; }
|
|
||||||
.opnionText{ width: 120px !important; height:130px; outline:none; border:none !important;padding: 0 5px !important; color: #03a8bb;line-height:1.5; font-size:12px; }
|
|
||||||
a.opnionButton{ width:40px; height:20px; display:block; margin:0 auto;font-size:14px; color:#fd6e2a; font-weight: bold; }
|
|
||||||
a:hover.opnionButton{ text-decoration:underline;}
|
|
||||||
.opnionCall{ color:#03a8bb; font-size:12px; width:105px; margin:0 auto;}
|
|
||||||
.opnionCall .tectitle{ font-size:14px; alignment-adjust: central; color:#03a8bb; margin-bottom:8px,}
|
|
||||||
/*提示框*/
|
|
||||||
.ui-mask{background-color:#000;opacity:0.5;filter:alpha(opacity=50);width:100%;height:100%;position:fixed;_position:absolute;left:0;top:0;z-index:9999998;display:none;}
|
|
||||||
.change_success{
|
|
||||||
display:block;
|
|
||||||
height:60px;
|
|
||||||
width:300px;
|
|
||||||
line-height:1.9;
|
|
||||||
font-size:14px;
|
|
||||||
font-weight:500;
|
|
||||||
background:#fff;
|
|
||||||
color:#1395a4;
|
|
||||||
border:5px solid #1395a4;
|
|
||||||
font-size:14px;
|
|
||||||
padding:30px 20px;
|
|
||||||
position: absolute;
|
|
||||||
_position: absolute;
|
|
||||||
left:0;
|
|
||||||
top:0;
|
|
||||||
z-index:9999999;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
</head>
|
||||||
|
<body style="height:auto">
|
||||||
<body>
|
<!-- ?ú?? ???? -->
|
||||||
<div id="roll">
|
<div class="scrollsidebar" id="scrollsidebar">
|
||||||
<div class="opnionBox">
|
<div class="side_content">
|
||||||
|
<div class="side_list">
|
||||||
<% get_memo %>
|
<div class="side_title"><a title="意见反馈" class="close_btn"><span><%= l(:label_feedback) %></span></a></div>
|
||||||
<%= form_for(@new_memo, :url => create_feedback_forum_path(@public_forum)) do |f| %>
|
<div class="side_center">
|
||||||
<div class="actions" style="max-width:680px;">
|
<div class="custom_service">
|
||||||
<p style="margin:0; padding:0;">
|
<% get_memo %>
|
||||||
<%= f.text_area :subject, :class => "opnionText",:placeholder => "有什么想说的,尽管来咆哮吧~~"%>
|
<%= form_for(@new_memo, :url => create_feedback_forum_path(@public_forum)) do |f| %>
|
||||||
</p>
|
<%= f.text_area :subject, :class => "opnionText",:placeholder => "有什么想说的,尽管来咆哮吧~~"%>
|
||||||
<p style="margin:0; padding:0;">
|
<%= f.hidden_field :content, :required => true ,:value=>'该贴来自用户反馈!'%>
|
||||||
<%= f.hidden_field :content, :required => true ,:value=>'该贴来自用户反馈!'%>
|
<%#= f.submit :value => l(:label_memo_create), :class => "opnionButton", :id => "button1" %>
|
||||||
</p>
|
<a href="javascript:void(0);" class="opnionButton" style=" color:#fd6e2a;" id="" onclick="f_submit();">提 交</a>
|
||||||
<%#= f.submit :value => l(:label_memo_create), :class => "opnionButton", :id => "button1" %>
|
<% end %>
|
||||||
<a href="javascript:void(0);" class="opnionButton" id="" onclick="f_submit();">提 交</a>
|
</div>
|
||||||
<% end %>
|
<div class="msgserver">
|
||||||
</div>
|
<p>
|
||||||
|
<a href="http://user.trustie.net/users/12/user_newfeedback" style="color: #15BCCF;"><%= l(:label_technical_support) %>黄井泉</a></br>
|
||||||
|
<a href="http://user.trustie.net/users/34/user_newfeedback" style="color: #15BCCF;"><%= l(:label_technical_support) %>白 羽</a>
|
||||||
</form>
|
</p>
|
||||||
<div class="clear"></div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="side_bottom"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="show_btn"><span>提交</span></div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- ?ú?? ?á?? -->
|
||||||
<div class="opnionCall">
|
<script type="text/javascript">
|
||||||
<div class="tectitle">技术支持:</div>
|
$(function() {
|
||||||
<p style="margin:0; padding:0;" ><%= l(:label_course_adcolick) %><a href="http://user.trustie.net/users/12/user_newfeedback">黄井泉</a><br>
|
$("#scrollsidebar").fix({
|
||||||
<%= l(:label_course_adcolick) %><a href="http://user.trustie.net/users/34/user_newfeedback">白羽</a></p>
|
float : 'right', //default.left or right
|
||||||
</div>
|
//minStatue : true,
|
||||||
|
skin : 'green', //default.gray or blue
|
||||||
</div>
|
durationTime : 600
|
||||||
|
});
|
||||||
</body>
|
});
|
||||||
</html>
|
|
||||||
<script>
|
|
||||||
var roll=document.getElementById('roll'),
|
|
||||||
initX=0,
|
|
||||||
initY,
|
|
||||||
compY,
|
|
||||||
sp=15,
|
|
||||||
//可调整时间间隔,步进值不宜过大,不然IE下有点闪屏;
|
|
||||||
timeGap=5,
|
|
||||||
doc=document.documentElement,
|
|
||||||
docBody=document.body;
|
|
||||||
compY=initY=100;
|
|
||||||
roll.style.right=initX+"px";
|
|
||||||
;(function(){
|
|
||||||
var curScrollTop=(doc.scrollTop||docBody.scrollTop||0)-(doc.clientTop||docBody.clientTop||0);
|
|
||||||
//每次comP的值都不一样;直到roll.style.top===doc.scrollTop+initY;
|
|
||||||
compY+=(curScrollTop+initY-compY)/sp;
|
|
||||||
roll.style.top=Math.ceil(compY)+"px";
|
|
||||||
setTimeout(arguments.callee,timeGap);
|
|
||||||
})();
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -300,13 +300,22 @@
|
||||||
|
|
||||||
<div class="user_underline"></div>
|
<div class="user_underline"></div>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
.polls_btn{ height:33px;border-top:0 solid #15bed1; border-bottom:1px solid #15bed1;border-right:1px solid #cee6e6; width:224px; padding:7px 0 0 15px; }
|
||||||
|
.polls_btn a{font-size:14px; color:#444444;font-weight:bold;}
|
||||||
|
.polls_btn span{ color:#15bed1; font-size:12px; font-weight:normal;}
|
||||||
|
.polls_btn a{ float:left;}
|
||||||
|
.polls_n{float: left;background: #ff5d31;color: #fff;width: 12px;padding-left: 2px;height: 7px;padding-bottom: 5px;padding-top: 3px;margin-top: -4px;margin-left: 3px; }
|
||||||
|
.polls_n p{ margin-top:-4px;}
|
||||||
|
.cl{ clear:both; overflow:hidden; }
|
||||||
|
</style>
|
||||||
<div class="polls_btn">
|
<div class="polls_btn">
|
||||||
<!--<a href="#">问卷调查<span >(12)</span></a>-->
|
<!--<a href="#">问卷调查<span >(12)</span></a>-->
|
||||||
<style type="text/css">
|
|
||||||
.polls_btn{ height:33px;border-top:1px solid #15bed1; border-bottom:1px solid #15bed1;border-right:1px solid #cee6e6; width:224px !important; padding:7px 0 0 15px; }
|
|
||||||
.polls_btn a{font-size:14px; color:#444444;font-weight:bold;}
|
|
||||||
</style>
|
|
||||||
<%= link_to l(:label_poll), poll_index_path(:polls_type => "Course", :polls_group_id => @course.id)%>
|
<%= link_to l(:label_poll), poll_index_path(:polls_type => "Course", :polls_group_id => @course.id)%>
|
||||||
|
<div class="polls_n">
|
||||||
|
<p>N</p>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -10,37 +10,43 @@ body{ font-size:12px; font-family:"微软雅黑","宋体"; line-height:1.9; back
|
||||||
div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span,ol{ margin:0; padding:0;}
|
div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span,ol{ margin:0; padding:0;}
|
||||||
div,img,tr,td,table{ border:0;}
|
div,img,tr,td,table{ border:0;}
|
||||||
table,tr,td{border:0;cellspacing:0; cellpadding:0;}
|
table,tr,td{border:0;cellspacing:0; cellpadding:0;}
|
||||||
|
.mail{ width:600px; margin:20px; height:auto; color:#4b4b4b; font-size:14px; }
|
||||||
ol,ul,li{ list-style-type:none}
|
ol,ul,li{ list-style-type:none}
|
||||||
.cl{ clear:both; overflow:hidden; margin-top: 30px;}
|
.cl{ clear:both; overflow:hidden; margin-top: 30px;}
|
||||||
a{ text-decoration:none; }
|
|
||||||
a:hover{ text-decoration:underline; }
|
|
||||||
.mail_box,ul,li{ list-style-type:none}
|
.mail_box,ul,li{ list-style-type:none}
|
||||||
.mail{ width:600px; margin:20px; height:auto; color:#4b4b4b; font-size:14px; }
|
|
||||||
.mail a{color:#1b55a7; font-weight: bold; }
|
.mail a{color:#1b55a7; font-weight: bold; }
|
||||||
.mail_content{ margin-top:30px;}
|
.mail_content{ margin-top:30px;}
|
||||||
.c_blue{ color:#1b55a7;}
|
.c_blue{ color:#1b55a7;}
|
||||||
.mail_box{ border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;}
|
.mail_box{ border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;}
|
||||||
.mail_box_p{ float:left; display: block; width:527px;}
|
.mail_box_p{ float:left; display: block; width:527px;}
|
||||||
a.mail_reply{ display:block; float:right; width:80px; text-align:center; height:30px; background:#15bccf; color:#fff; font-weight:normal; font-size:14px;}
|
|
||||||
a:hover.mail_reply{ background:#06a9bc; text-decoration:none;}
|
|
||||||
.mail_fujian{ float:left; width:527px; display: block; }
|
.mail_fujian{ float:left; width:527px; display: block; }
|
||||||
.mail_fujian a{ font-weight:normal; font-size:12px;}
|
.mail_fujian a{ font-weight:normal; font-size:12px;}
|
||||||
.mail_foot a{ font-size:12px; font-weight:normal;}
|
.mail_foot a{ font-size:12px; font-weight:normal;}
|
||||||
|
|
||||||
|
a{ text-decoration:none; }
|
||||||
|
a:hover{ text-decoration:underline; }
|
||||||
|
a.mail_reply{ display:block; float:right; width:80px; text-align:center; height:30px; background:#15bccf; color:#fff; font-weight:normal; font-size:14px;}
|
||||||
|
a:hover.mail_reply{ background:#06a9bc; text-decoration:none;}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
|
||||||
<div class="container">
|
<body style="font-size:12px; font-family:"微软雅黑","宋体"; line-height:1.9; background:#fff; font-style:normal; margin:0; padding:0; border:0;">
|
||||||
<div class="mail">
|
<div class="container" style="margin:0; padding:0; border:0;">
|
||||||
<div class="mail_head">
|
<div class="mail" style="width:600px; margin:20px; height:auto; color:#4b4b4b; font-size:14px; margin:0; padding:0; border:0;">
|
||||||
|
<div class="mail_head" style="margin:0; padding:0; border:0;">
|
||||||
<p><%= l(:mail_issue_greetings)%></p>
|
<p><%= l(:mail_issue_greetings)%></p>
|
||||||
</div><!--mail_head end-->
|
</div><!--mail_head end-->
|
||||||
<%= yield %>
|
<%= yield %>
|
||||||
<hr />
|
<hr />
|
||||||
<span class="footer"><%= Redmine::WikiFormatting.to_html(Setting.text_formatting, Setting.emails_footer).html_safe %></span><!--mail_foot end-->
|
<span class="footer" style="margin:0; padding:0;"><%= Redmine::WikiFormatting.to_html(Setting.text_formatting, Setting.emails_footer).html_safe %></span><!--mail_foot end-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,32 +1,40 @@
|
||||||
<!-- <h1><%#= link_to(h("#{issue.tracker.name} ##{issue.project_index}: #{issue.subject}"), issue_url) %></h1> -->
|
<!-- <h1><%#= link_to(h("#{issue.tracker.name} ##{issue.project_index}: #{issue.subject}"), issue_url) %></h1> -->
|
||||||
<p>
|
<p>
|
||||||
<span class="c_blue">
|
<span class="c_blue" style="color:#1b55a7;">
|
||||||
<%= link_to(h("#{@issue.author}(#{@issue.author.show_name})"), @issue_author_url) %>
|
<%= link_to(h("#{@issue.author}(#{@issue.author.show_name})"), @issue_author_url , :style=>'color:#1b55a7; font-weight:bold;') %>
|
||||||
</span><%= l(:mail_issue_title_userin)%>
|
</span><%= l(:mail_issue_title_userin)%>
|
||||||
<span class="c_blue"><%= link_to(h("#{@issue.project.name}"),@project_url) %></span></span><%= l(:mail_issue_title_active)%></p>
|
<span class="c_blue" style="color:#1b55a7;"><%= link_to(h("#{@issue.project.name}"), @project_url, :style=>'color:#1b55a7; font-weight:bold;') %></span><%= l(:mail_issue_title_active)%></p>
|
||||||
<div class="mail_box">
|
<div class="mail_box" style="border:1px solid #c8c8c8; width:570px; height: auto; padding:15px; margin-top:10px; margin-bottom:10px;">
|
||||||
<ul>
|
<ul style="list-style-type:none; margin:0; padding:0;">
|
||||||
<li style="list-style-type:none"><span style="float: left"><strong><%= l(:mail_issue_subject)%></strong></span><span style="float: left; width: 500px"><%= link_to(issue.subject, issue_url) %></span></li>
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_subject)%></strong></span><span style="float: left; width: 526px"><%= link_to(issue.subject, issue_url, :style=>'color:#1b55a7; font-weight:bold;') %></span></li>
|
||||||
<li style="list-style-type:none"><span style="float: left"> <strong><%= l(:mail_issue_sent_from)%></strong></span><span style="float: left; width: 500px"><%= issue.project.name %><b>| </b><%= l(:mail_issue_from_project)%></span></li>
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_sent_from)%></strong></span><span style="float: left; width: 526px"><%= issue.project.name %><b>| </b><%= l(:mail_issue_from_project)%></span></li>
|
||||||
<li style="list-style-type:none"><span style="float: left"> <strong ><%= l(:mail_issue_content)%></strong></span><span style="float: left; width: 500px">
|
<li style="list-style-type:none; margin:0; padding:0;"><span style="float: left;"><strong><%= l(:mail_issue_content)%></strong></span>
|
||||||
<%= issue.description %></span>
|
<span style="float: left; width: 526px">
|
||||||
|
<% if @journal.nil? %>
|
||||||
|
<%= issue.description %>
|
||||||
|
<% else %>
|
||||||
|
<%= @journal.notes %>
|
||||||
|
<% end%>
|
||||||
|
</span>
|
||||||
</li>
|
</li>
|
||||||
<li style="list-style-type:none">
|
<li style="list-style-type:none; margin:0; padding:0;">
|
||||||
|
|
||||||
<% unless @issue.attachments.nil? %>
|
<% unless @issue.attachments.nil? %>
|
||||||
<span style="float: left"> <strong><%= l(:mail_issue_attachments)%></strong>
|
<span style="float: left"> <strong><%= l(:mail_issue_attachments)%></strong></span>
|
||||||
</span><span style="float: left; width: 500px">
|
<span style="float: left; width: 526px; margin:0; padding:0;">
|
||||||
<% @issue.attachments.each do |attach| %>
|
<% @issue.attachments.each do |attach| %>
|
||||||
<p><%= link_to_attachment(attach, :download => true, :token => @token.value, :only_path => false) %></p>
|
<p style="float: left; width: 526px; margin:0; padding:0;"><%= link_to_attachment(attach, :download => true, :token => @token.value, :only_path => false, :style=>'color:#1b55a7; font-weight:bold;')%></p>
|
||||||
<% end %></span>
|
<% end %></span>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="cl"></div>
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
<label class="mail_reply"><%= link_to( l(:mail_issue_reply), issue_url, :class => "mail_reply") %></label>
|
<label class="mail_reply">
|
||||||
<div class="cl"></div>
|
<%= link_to( l(:mail_issue_reply), issue_url, :class => "mail_reply", :style =>'display:block; float:right; width:80px; text-align:center; height:30px; background:#15bccf; color:#fff; font-weight:normal; font-size:14px; line-height: 30px;') %>
|
||||||
|
</label>
|
||||||
|
<div class="cl" style="margin-top: 30px; clear:both; overflow:hidden;"></div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <li><%#=l(:field_author)%>: <%#=h issue.author %></li>
|
<!-- <li><%#=l(:field_author)%>: <%#=h issue.author %></li>
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,11 @@
|
||||||
<%= l(:mail_issue_subject)%><%= link_to(issue.subject, issue_url) %>
|
<%= l(:mail_issue_subject)%><%= link_to(issue.subject, issue_url) %>
|
||||||
<%= l(:mail_issue_sent_from)%>| <%= l(:mail_issue_from_project)%>
|
<%= l(:mail_issue_sent_from)%>| <%= l(:mail_issue_from_project)%>
|
||||||
<%= l(:mail_issue_content)%>
|
<%= l(:mail_issue_content)%>
|
||||||
|
<% if @journal.nil? %>
|
||||||
<%= issue.description %>
|
<%= issue.description %>
|
||||||
|
<% else %>
|
||||||
|
<%= @journal.notes %>
|
||||||
|
<% end%>
|
||||||
<% unless @issue.attachments.nil? %>
|
<% unless @issue.attachments.nil? %>
|
||||||
<%= l(:mail_issue_attachments)%>
|
<%= l(:mail_issue_attachments)%>
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<div class="mail_content">
|
<div class="mail_content" style="margin-top:30px; margin:0; padding:0; border:0;">
|
||||||
|
|
||||||
|
|
||||||
<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="mail_foot"><%= link_to( l(:mail_issue_footer), @user_url) %> </div>
|
<div class="mail_foot" style="margin:0; padding:0; border:0;"><%= link_to( l(:mail_issue_footer), @user_url , :style=>'font-size:12px; font-weight:normal; color:#1b55a7;') %> </div>
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,11 @@
|
||||||
<div>
|
<div>
|
||||||
<%= l(:text_issue_updated, :id => "##{@issue.project_index}", :author => h(@journal.user)) %>
|
<%= l(:text_issue_updated, :id => "##{@issue.project_index}", :author => h(@journal.user)) %>
|
||||||
|
|
||||||
<ul>
|
|
||||||
<% details_to_strings(@journal.details, false, :only_path => false, :token => @token.value).each do |string| %>
|
|
||||||
<% if (!string.include? l(:label_attachment)) && (!string.include? "attachments") %>
|
|
||||||
<li><%= string %></li>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<span style="float: left"><strong><%= l(:field_content)%>:</strong></span><span style="float: left; width: 540px"><%= @journal.notes %></span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="cl"></div>
|
<div class="cl" style="margin-top: 15px; clear:both; overflow:hidden;"></div>
|
||||||
|
<hr/>
|
||||||
|
|
||||||
<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||||
<div class="mail_foot"><%= link_to( l(:mail_issue_footer), @user_url) %> </div>
|
<div class="mail_foot"><%= link_to( l(:mail_issue_footer), @user_url, :style=>'font-size:12px; font-weight:normal; color:#1b55a7;') %> </div>
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,7 @@
|
||||||
<%= l(:text_issue_updated, :id => "##{@issue.project_index}", :author => @journal.user) %>
|
<%= l(:text_issue_updated, :id => "##{@issue.project_index}", :author => @journal.user) %>
|
||||||
|
|
||||||
<% details_to_strings(@journal.details, true, :token => @token.value).each do |string| -%>
|
|
||||||
<% if (!string.include? l(:label_attachment)) && (!string.include? "attachments") %>
|
|
||||||
<li><%= string %></li>
|
|
||||||
<% end %>
|
|
||||||
<% end -%>
|
|
||||||
|
|
||||||
<% if @journal.notes? -%>
|
|
||||||
<%= l(:field_content)%>:<%= @journal.notes %>
|
|
||||||
|
|
||||||
<% end -%>
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
<%= render :partial => 'issue', :formats => [:text], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
<%= render :partial => 'issue', :formats => [:text], :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||||
|
|
||||||
|
|
|
@ -1,20 +1,19 @@
|
||||||
<% has_commit = has_commit_poll?(poll.id ,User.current)%>
|
<% has_commit = has_commit_poll?(poll.id ,User.current)%>
|
||||||
|
<% poll_name = poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name%>
|
||||||
<li title="<%= poll.polls_name %>">
|
<li title="<%= poll.polls_name %>">
|
||||||
<% if @is_teacher %>
|
<% if @is_teacher %>
|
||||||
<% if has_commit %>
|
<% if has_commit %>
|
||||||
<sapn class="polls_title fl">
|
<sapn class="polls_title fl">
|
||||||
<%= poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name%>
|
<%= link_to poll_name, poll_result_poll_path(poll.id), :class => "polls_title polls_title_w fl", :style => "max-width: 550px;width: 550px;" %>
|
||||||
</sapn>
|
</sapn>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to (poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name), poll_path(poll.id), :class => "polls_title polls_title_w fl" %>
|
<%= link_to poll_name, poll_path(poll.id), :class => "polls_title polls_title_w fl" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<% if has_commit && poll.polls_status == 2 %>
|
<% if has_commit && poll.polls_status == 2 %>
|
||||||
<sapn class="polls_title fl" style="max-width: 500px;">
|
<%= link_to poll_name, poll_result_poll_path(poll.id), :class => "polls_title polls_title_w fl", :style => "max-width: 500px;width: auto;" %>
|
||||||
<%= poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name %>
|
|
||||||
</sapn>
|
|
||||||
<% elsif !has_commit && poll.polls_status == 2 %>
|
<% elsif !has_commit && poll.polls_status == 2 %>
|
||||||
<%= link_to (poll.polls_name.empty? ? l(:label_poll_new) : poll.polls_name), poll_path(poll.id), :class => "polls_title polls_title_w fl", :style => "max-width: 550px;width: 550px;" %>
|
<%= link_to poll_name, poll_path(poll.id), :class => "polls_title polls_title_w fl", :style => "max-width: 550px;width: 550px;" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
{
|
{
|
||||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'poll_submit', locals: { :poll => @poll,:is_remote => false}) %>');
|
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'poll_submit', locals: { :poll => @poll,:is_remote => false}) %>');
|
||||||
showModal('ajax-modal', '310px');
|
showModal('ajax-modal', '310px');
|
||||||
$('#ajax-modal').css('height','110px');
|
$('#ajax-modal').css('height','115px');
|
||||||
$('#ajax-modal').siblings().remove();
|
$('#ajax-modal').siblings().remove();
|
||||||
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
||||||
"<a href='#' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
"<a href='#' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
<li class="ur_question_item checkbox">
|
||||||
|
<div class="ur_title">
|
||||||
|
<span class="title_index">
|
||||||
|
第<%= poll_question.question_number%>题:
|
||||||
|
</span>
|
||||||
|
<%= poll_question.question_title %>
|
||||||
|
<span class="title_index">[多选题]</span>
|
||||||
|
<%if poll_question.is_necessary == 1%>
|
||||||
|
<span class="ur_required" title="必答">*</span>
|
||||||
|
<%end%>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="ur_inputs">
|
||||||
|
<table class="ur_table">
|
||||||
|
<tbody>
|
||||||
|
<% poll_question.poll_votes.where("user_id = #{User.current.id}").each do |answer|%>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<%= answer.poll_answer.answer_text %>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<% end%>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</li><!--多选题 end-->
|
|
@ -0,0 +1,27 @@
|
||||||
|
<li class="ur_question_item radio">
|
||||||
|
<div class="ur_title">
|
||||||
|
<span class="title_index">
|
||||||
|
第<%= poll_question.question_number%>题:
|
||||||
|
</span>
|
||||||
|
<%= poll_question.question_title %>
|
||||||
|
<span class="title_index">[单选题]</span>
|
||||||
|
<%if poll_question.is_necessary == 1%>
|
||||||
|
<span class="ur_required" title="必答">*</span>
|
||||||
|
<%end%>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="ur_inputs">
|
||||||
|
<table class="ur_table" >
|
||||||
|
<tbody>
|
||||||
|
<% poll_question.poll_votes.where("user_id = #{User.current.id}").each do |answer|%>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<%= answer.poll_answer.answer_text %>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<% end%>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</li><!--单选题 end-->
|
|
@ -0,0 +1,20 @@
|
||||||
|
<li class="ur_question_item textarea">
|
||||||
|
<div class="ur_preview">
|
||||||
|
<div class="ur_title">
|
||||||
|
<span class="title_index">
|
||||||
|
第<%= poll_question.question_number%>题:
|
||||||
|
</span>
|
||||||
|
<%= poll_question.question_title %>
|
||||||
|
<span class="title_index">[多行主观]</span>
|
||||||
|
<%if poll_question.is_necessary == 1%>
|
||||||
|
<span class="ur_required" title="必答">*</span>
|
||||||
|
<%end%>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="ur_inputs">
|
||||||
|
<p>
|
||||||
|
<%= get_anwser_vote_text(poll_question.id,User.current.id).html_safe%>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li><!--多行输入 end-->
|
|
@ -0,0 +1,18 @@
|
||||||
|
<li class="ur_question_item text">
|
||||||
|
<div class="ur_title">
|
||||||
|
<span class="title_index">
|
||||||
|
第<%= poll_question.question_number%>题:
|
||||||
|
</span>
|
||||||
|
<%= poll_question.question_title %>
|
||||||
|
<span class="title_index">[单行主观]</span>
|
||||||
|
<%if poll_question.is_necessary == 1%>
|
||||||
|
<span class="ur_required" title="必答">*</span>
|
||||||
|
<%end%>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
<div class="ur_inputs">
|
||||||
|
<p>
|
||||||
|
<%= get_anwser_vote_text poll_question.id,User.current.id%>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</li><!--当行输入 end-->
|
|
@ -15,7 +15,7 @@
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</div>");
|
"</div>");
|
||||||
showModal('ajax-modal', '310px');
|
showModal('ajax-modal', '310px');
|
||||||
$('#ajax-modal').css('height','110px');
|
$('#ajax-modal').css('height','115px');
|
||||||
$('#ajax-modal').siblings().remove();
|
$('#ajax-modal').siblings().remove();
|
||||||
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
||||||
"<a onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
"<a onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
||||||
|
@ -41,7 +41,7 @@
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</div>");
|
"</div>");
|
||||||
showModal('ajax-modal', '310px');
|
showModal('ajax-modal', '310px');
|
||||||
$('#ajax-modal').css('height','110px');
|
$('#ajax-modal').css('height','115px');
|
||||||
$('#ajax-modal').siblings().remove();
|
$('#ajax-modal').siblings().remove();
|
||||||
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
|
||||||
"<a href='#' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
"<a href='#' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
<%= stylesheet_link_tag 'polls', :media => 'all' %>
|
||||||
|
<div class="polls_content polls_box">
|
||||||
|
<div class="ur_page_head" >
|
||||||
|
<h1 class="ur_page_title">
|
||||||
|
<%= @poll.polls_name.empty? ? l(:label_poll_new) : @poll.polls_name %>
|
||||||
|
</h1>
|
||||||
|
<p class="ur_prefix_content">
|
||||||
|
<%= @poll.polls_description%>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="ur_card">
|
||||||
|
<ol class="ur_questions">
|
||||||
|
<% @poll_questions.each do |poll_question|%>
|
||||||
|
<% if poll_question.question_type == 1%>
|
||||||
|
<%= render :partial => 'show_MC_result', :locals => {:poll_question => poll_question} %>
|
||||||
|
<% elsif poll_question.question_type == 2%>
|
||||||
|
<%= render :partial => 'show_MCQ_result', :locals => {:poll_question => poll_question} %>
|
||||||
|
<% elsif poll_question.question_type == 3%>
|
||||||
|
<%= render :partial => 'show_single_result', :locals => {:poll_question => poll_question} %>
|
||||||
|
<% elsif poll_question.question_type == 4%>
|
||||||
|
<%= render :partial => 'show_mulit_result', :locals => {:poll_question => poll_question} %>
|
||||||
|
<% end%>
|
||||||
|
<% end%>
|
||||||
|
</ol>
|
||||||
|
</div> <!--ur_cards end-->
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<!-- 分页 -->
|
||||||
|
<div class="polls_content" id="polls">
|
||||||
|
<ul class="wlist">
|
||||||
|
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
|
||||||
|
</ul>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
</div><!--问卷内容end-->
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<title>快速进入项目通道</title>
|
||||||
|
<style>
|
||||||
|
#popbox{ font-size:12px; font-family:"微软雅黑","宋体"; line-height:1.9; background:#fff; font-style:normal;}
|
||||||
|
#popbox div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span{ margin:0; padding:0;}
|
||||||
|
#popbox div,img,tr,td{ border:0;}
|
||||||
|
#popbox table,tr,td{border:0; cellspacing:0; cellpadding:0;}
|
||||||
|
#popbox ul,li{ list-style-type:none}
|
||||||
|
#popbox .cl{ clear:both; overflow:hidden; }
|
||||||
|
#popbox a{ text-decoration:none; }
|
||||||
|
#popbox a:hover{ }
|
||||||
|
|
||||||
|
.alert_box {width:400px;height:200px;position:fixed;z-index:1002;left:50%;top:40%;margin:-215px 0 0 -300px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; padding:5px; overflow:auto; }
|
||||||
|
#popbox{width:400px;height:200px;}
|
||||||
|
.alert .C{width:388px;height:200px;position:absolute;left:5px;top:5px; }
|
||||||
|
.C_top{ margin-top:20px; width:368px; height:100px; background:#e9e9e9; padding:0px 60px !important; }
|
||||||
|
.C_top h2{ color:#1c1d1d; font-size:24px; font-style:normal; font-weight:normal;}
|
||||||
|
.C_top p{ color:#a9aaaa; line-height:22px;}
|
||||||
|
.C_form{ margin:20px 0 0 60px;}
|
||||||
|
.C_form ul li{ font-size:14px; color:#3f3a39; line-height:30px; padding-left: 60px;}
|
||||||
|
.C_form ul li input{ margin-left:20px; border:0px; border:1px solid #e1e1e1; color:#898989; padding-left:5px; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; padding: 0 !important; }
|
||||||
|
.C_form ul li.mB5{ color:#898989; font-size:12px; padding-left:150px;}
|
||||||
|
.width190{ width:190px; height:26px; border-color:#e1e1e1;}
|
||||||
|
.C_form a{ font-size:12px; color:#15bccf; float:left; display:block; height:40px; width:200px; margin-top:25px;}
|
||||||
|
.C_form a:hover{ text-decoration:underline;}
|
||||||
|
.C_form a.btn{ display:block; width:100px; height:36px; padding-top:4px; text-align: center; background:#15bccf; color:#fff; font-size:14px; margin:20px 20px 0 95px;}
|
||||||
|
.C_form a.btn:hover{ background:#ff821d;}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function submit_form(obj)
|
||||||
|
{
|
||||||
|
hideModal(obj);
|
||||||
|
$("#new-watcher-form").submit();
|
||||||
|
alert("申请成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
function hidden_join_course_form()
|
||||||
|
{
|
||||||
|
hideModal($("#popbox"));
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="popbox">
|
||||||
|
<div class="C" >
|
||||||
|
<div class="C_top">
|
||||||
|
<h2>快速进入项目通道</h2>
|
||||||
|
<p>只要持有项目的ID,就可快速申请加入所在项目。项目页面搜索不到的私有项目只能从此通道进入哦!</p>
|
||||||
|
</div>
|
||||||
|
<div class="C_form">
|
||||||
|
<%= form_tag({:controller => 'applied_project',
|
||||||
|
:action => 'applied_join_project'},
|
||||||
|
:remote => true,
|
||||||
|
:method => :post,
|
||||||
|
:id => 'new-watcher-form') do %>
|
||||||
|
<ul>
|
||||||
|
<li style="padding-top: 15px;">
|
||||||
|
<span class="tips">项 目 ID:</span>
|
||||||
|
<input type="hidden" name="user_id" value="<%= User.current.id%>">
|
||||||
|
<input class=" width190" name="project_id" id="project_id" type="text" value="" >
|
||||||
|
<input type="text" style="display: none"/>
|
||||||
|
</li>
|
||||||
|
<li class="mB5">项目ID是所在项目网址中显示的序号</li>
|
||||||
|
<li>
|
||||||
|
<a href="#" class="btn" style="margin-left: 50px;" onclick="submit_form(this);">
|
||||||
|
<%= l(:label_new_join) %>
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn" style="margin-left: 20px;" onclick="hideModal(this);">
|
||||||
|
<%= l(:button_cancel)%>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<% end%>
|
||||||
|
</div>
|
||||||
|
</div><!---- C end---->
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'projects/join_project') %>');
|
||||||
|
showModal('ajax-modal', '510px');
|
||||||
|
$('#ajax-modal').css('height','260px');
|
||||||
|
$('#ajax-modal').siblings().remove();
|
||||||
|
$('#ajax-modal').before("<span style='float: right;cursor:pointer;padding-left: 513px;'>" +
|
||||||
|
"<a href='#' onclick='hidden_join_course_form();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");
|
||||||
|
$('#ajax-modal').parent().removeClass("alert_praise");
|
||||||
|
$('#ajax-modal').parent().css("top","").css("left","");
|
||||||
|
$('#ajax-modal').parent().addClass("alert_box");
|
|
@ -66,6 +66,9 @@
|
||||||
:course => 0,
|
:course => 0,
|
||||||
:project_type =>( @project_type||=0)},
|
:project_type =>( @project_type||=0)},
|
||||||
:class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %>
|
:class => 'icon icon-add') if User.current.allowed_to?(:add_project, nil, :global => true) %>
|
||||||
|
|
||||||
|
<%= link_to l(:label_join_project), join_project_projects_path ,:remote => true, :class => 'icon icon-add' %>
|
||||||
|
|
||||||
<% end %>
|
<% end %>
|
||||||
</span>
|
</span>
|
||||||
<div class="d-p-projectlist-box">
|
<div class="d-p-projectlist-box">
|
||||||
|
|
|
@ -87,12 +87,12 @@ default:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
address: smtp.126.com
|
address: smtp.163.com
|
||||||
port: 25
|
port: 25
|
||||||
domain: smtp.126.com
|
domain: smtp.163.com
|
||||||
authentication: :plain
|
authentication: :plain
|
||||||
user_name: "alanlong9278@126.com"
|
user_name: mcb592@163.com
|
||||||
password: "alanlong8788786"
|
password: 'mcb1989822'
|
||||||
|
|
||||||
# Absolute path to the directory where attachments are stored.
|
# Absolute path to the directory where attachments are stored.
|
||||||
# The default is the 'files' directory in your Redmine instance.
|
# The default is the 'files' directory in your Redmine instance.
|
||||||
|
|
|
@ -2299,4 +2299,7 @@ zh:
|
||||||
label_answer: 答案:
|
label_answer: 答案:
|
||||||
label_poll_answer_valid_result: 以上为有效问答题答案!
|
label_poll_answer_valid_result: 以上为有效问答题答案!
|
||||||
label_answer_total: 总计:
|
label_answer_total: 总计:
|
||||||
|
label_join_project: 加入项目
|
||||||
|
|
||||||
|
label_technical_support: 技术支持:
|
||||||
|
label_feedback: 意见反馈
|
||||||
|
|
|
@ -66,6 +66,7 @@ RedmineApp::Application.routes.draw do
|
||||||
post 'commit_poll'
|
post 'commit_poll'
|
||||||
get 'publish_poll'
|
get 'publish_poll'
|
||||||
get 'republish_poll'
|
get 'republish_poll'
|
||||||
|
get 'poll_result'
|
||||||
end
|
end
|
||||||
collection do
|
collection do
|
||||||
delete 'delete_poll_question'
|
delete 'delete_poll_question'
|
||||||
|
@ -376,6 +377,10 @@ RedmineApp::Application.routes.draw do
|
||||||
match 'copy', :via => [:get, :post]
|
match 'copy', :via => [:get, :post]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
collection do
|
||||||
|
match 'join_project', :via => [:get, :post]
|
||||||
|
end
|
||||||
|
|
||||||
#by young
|
#by young
|
||||||
match '/member', :to => 'projects#member', :as => 'member', :via => :get
|
match '/member', :to => 'projects#member', :as => 'member', :via => :get
|
||||||
match '/file', :to => 'projects#file', :as => 'file', :via => :get
|
match '/file', :to => 'projects#file', :as => 'file', :via => :get
|
||||||
|
|
12
db/schema.rb
12
db/schema.rb
|
@ -23,6 +23,18 @@ ActiveRecord::Schema.define(:version => 20150121030451) do
|
||||||
add_index "activities", ["user_id", "act_type"], :name => "index_activities_on_user_id_and_act_type"
|
add_index "activities", ["user_id", "act_type"], :name => "index_activities_on_user_id_and_act_type"
|
||||||
add_index "activities", ["user_id"], :name => "index_activities_on_user_id"
|
add_index "activities", ["user_id"], :name => "index_activities_on_user_id"
|
||||||
|
|
||||||
|
create_table "api_keys", :force => true do |t|
|
||||||
|
t.string "access_token"
|
||||||
|
t.datetime "expires_at"
|
||||||
|
t.integer "user_id"
|
||||||
|
t.boolean "active", :default => true
|
||||||
|
t.datetime "created_at", :null => false
|
||||||
|
t.datetime "updated_at", :null => false
|
||||||
|
end
|
||||||
|
|
||||||
|
add_index "api_keys", ["access_token"], :name => "index_api_keys_on_access_token"
|
||||||
|
add_index "api_keys", ["user_id"], :name => "index_api_keys_on_user_id"
|
||||||
|
|
||||||
create_table "applied_projects", :force => true do |t|
|
create_table "applied_projects", :force => true do |t|
|
||||||
t.integer "project_id", :null => false
|
t.integer "project_id", :null => false
|
||||||
t.integer "user_id", :null => false
|
t.integer "user_id", :null => false
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
After Width: | Height: | Size: 9.2 KiB |
|
@ -1433,8 +1433,8 @@ ul.contest-notification-list li span{
|
||||||
}
|
}
|
||||||
|
|
||||||
.xls {
|
.xls {
|
||||||
background: url('../images/icon_excel.gif') no-repeat scroll 1px 50% transparent;
|
/*background: url('../images/icon_excel.gif') no-repeat scroll 1px 50% transparent;*/
|
||||||
padding: 2px 0px 3px 16px;
|
/*padding: 2px 0px 3px 16px;*/
|
||||||
font-family:微软雅黑 !important;
|
font-family:微软雅黑 !important;
|
||||||
font-size: 12px !important;
|
font-size: 12px !important;
|
||||||
color: #136b3b !important;
|
color: #136b3b !important;
|
||||||
|
|
|
@ -14,9 +14,9 @@ div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span{ margi
|
||||||
#polls .fr{ float:right;}
|
#polls .fr{ float:right;}
|
||||||
|
|
||||||
/*问卷按钮*/
|
/*问卷按钮*/
|
||||||
.polls_btn{ height:33px;border-top:1px solid #15bed1; border-bottom:1px solid #15bed1;border-right:1px solid #cee6e6; width:225px; padding:7px 0 0 15px; }
|
/*.polls_btn{ height:33px;border-top:1px solid #15bed1; border-bottom:1px solid #15bed1;border-right:1px solid #cee6e6; width:225px; padding:7px 0 0 15px; }*/
|
||||||
.polls_btn a{font-size:14px; color:#444444;font-weight:bold;}
|
/*.polls_btn a{font-size:14px; color:#444444;font-weight:bold;}*/
|
||||||
.polls_btn span{ color:#15bed1; font-size:12px; font-weight:normal;}
|
/*.polls_btn span{ color:#15bed1; font-size:12px; font-weight:normal;}*/
|
||||||
|
|
||||||
/*问卷列表*/
|
/*问卷列表*/
|
||||||
.polls_content{ width:615px;padding-left: 6px;}
|
.polls_content{ width:615px;padding-left: 6px;}
|
||||||
|
@ -53,7 +53,7 @@ ul.wlist li a:hover{ background:#15bccf; color:#fff; text-decoration:none;}
|
||||||
.ur_inputs label{ padding-left:10px;word-break: break-all; word-wrap: break-word;}
|
.ur_inputs label{ padding-left:10px;word-break: break-all; word-wrap: break-word;}
|
||||||
.ur_inputs input{ margin-right:5px;}
|
.ur_inputs input{ margin-right:5px;}
|
||||||
.ur_text{ height:30px;}
|
.ur_text{ height:30px;}
|
||||||
.ur_textbox{ border:1px solid #dcdcdc !important; color:#676765;}
|
.ur_textbox{ border:1px solid #dcdcdc !important; color:#676765; word-break:break-all; word-wrap:break-word;}
|
||||||
.ur_buttons{ width:250px; margin:20px auto 10px;}
|
.ur_buttons{ width:250px; margin:20px auto 10px;}
|
||||||
a.ur_button{ display:block; width:106px; height:37px; background:#15bccf; color:#fff; font-size:16px; text-align:center; padding-top:3px; float:left; margin-right:15px;}
|
a.ur_button{ display:block; width:106px; height:37px; background:#15bccf; color:#fff; font-size:16px; text-align:center; padding-top:3px; float:left; margin-right:15px;}
|
||||||
a:hover.ur_button{ background:#0fa9bb; text-decoration:none;}
|
a:hover.ur_button{ background:#0fa9bb; text-decoration:none;}
|
||||||
|
|
Loading…
Reference in New Issue