You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

249 lines
12 KiB

function send_cancel_teach_comment(form, root){
// Проверить комментарий
// Отправить
if (CKEDITOR.instances.comment_sent_text.getData()){
$('[name=sent_comment_progress]').show();
$('[name='+form+']').find('[name=comment_sent_text]').val(CKEDITOR.instances.comment_sent_text.getData());
$.ajax({
type: 'POST',
url: '/courses/send_exam_cancel_teach_comment',
data: $('[name='+form+']').serialize(),
success: function(data){
if(data['code'] == '1'){
$('[name=sent_comment_progress]').hide();
document.forms[form].reset();
$('[name="comment_for_user_id"]').val($('[name=USER_ID]').val());
$('[name=comment_for_theme_id]').val($('[name=THEME_ID]').val());
CKEDITOR.instances.comment_sent_text.setData('');
reload_lesson_comments(data['data']);
$('[name='+$('#'+root).attr('sketch_place')+']').html('')
}
}
});
} else {
show_system_message('Введите текст сообщения')
}
}
function send_accept_teach_comment(form, root){
// Проверить комментарий
// Отправить
$('[name=sent_comment_progress]').show();
$('[name='+form+']').find('[name=comment_sent_text]').val(CKEDITOR.instances.comment_sent_text.getData());
$.ajax({
type: 'POST',
url: '/courses/send_exam_accept_teach_comment',
data: $('[name=' + form + ']').serialize(),
success: function (data) {
if (data['code'] == '1') {
$('[name=sent_comment_progress]').hide();
document.forms[form].reset();
$('[name="comment_for_user_id"]').val($('[name=USER_ID]').val());
$('[name=comment_for_theme_id]').val($('[name=THEME_ID]').val());
CKEDITOR.instances.comment_sent_text.setData('');
reload_lesson_comments(data['data']);
$('[name=' + $('#' + root).attr('sketch_place') + ']').html('')
}
}
});
}
function write_comment(block, data){
var message;
var user_status;
var reply;
if (data['replies'].length==0){
reply = ''
} else {
reply = '<img src="/static/img/1442036154_reply-circle-blue.png" style="margin-left: 30px;">' +
'<Br>' +
'<div class="m-b b-l m-l-md streamline" parent_id="' + data['id'] + '" style="margin-left: 75px;margin-top: -25px;"></div>';
}
if (data['files'].length > 0 && !data['closed']){
message = '<div name="message_files" message_id="' + data['id'] + '"></div>'
} else {
message = '';
}
if (data['owner_type'] == 'U'){
user_status = ''
} else if (data['owner_type'] == 'T'){
user_status = '<label class="label bg-primary m-l-xs">Преподаватель</label>'
} else if (data['owner_type'] == 'M'){
user_status = '<label class="label bg-primary m-l-xs">Менеджер</label>'
} else if (data['owner_type'] == 'S'){
user_status = '<label class="label bg-primary m-l-xs">Руководитель</label>'
} else if (data['owner_type'] == 'A'){
user_status = '<label class="label bg-primary m-l-xs">Админстратор</label>'
}
var avatar;
if (data['closed']){
avatar = '<span class="pull-left thumb-sm avatar m-l-n-md"><img src="/static/img/1442473207_delete.png"></span>'
} else {
avatar = '<span class="pull-left thumb-sm avatar m-l-n-md">'+
'<img src="' + data['owner_avatar'] + '" class="img-circle">'+
'</span>'
}
var head;
if (data['closed']){
head = '<div class="panel-heading pos-rlt b-b b-light" style="background: #f1f1f1; color: #ccc;">'+
'<span class="arrow left" style="display: none;"></span>' +
'КОММЕНТАРИЙ УДАЛЕН' +
'<span class="text-muted m-l-sm pull-right">'+
'</span></div>'
} else {
head = '<div class="panel-heading pos-rlt b-b b-light">'+
'<span class="arrow left" style="display: none;"></span>' +
'<b style="margin-right: 5px;">' + data['owner'] + '</b>' +
'<span class="arrow left"></span>' + user_status +
'<span class="text-muted m-l-sm pull-right">'+
'<i class="fa fa-clock-o"></i> &nbsp;'+
data['date']+
'</span></div>'
}
var reply_button;
if (data['closed']){
reply_button = ''
} else {
if ( data['owner_id'] == $('[name=REQUEST_USER_ID]').val() ){
reply_button = '<a type="button" class="btn btn-danger btn-xs" onclick="delete_comment('+data['id']+')">' +
'<i class="glyphicon glyphicon-remove"></i>&nbsp;Удалить</a>'
} else {
reply_button = '<a type="button" class="btn btn-default btn-xs" onclick="reply_comment('+data['id']+')"><i class="fa fa-mail-reply text-muted"></i>&nbsp;Ответить</a>'
}
}
var text;
if (data['closed']){
text = '<div class="panel-body" style="display: none;">'
} else {
text = '<div class="panel-body">'+
'<div class="m-b-xs">' + data['text'] + '</div>'
}
$(block).append('<a name="comment_'+data['id']+'"></a><div name="comment_'+data['id']+'">' +
avatar +
'<div class="m-l-lg panel b-a">'+
head +
text +
message +
'<div class="m-t-sm">'
+ reply_button +
'</div>' +
'</div>'+
'</div>'+
'</div>' + reply);
for (var r=0;r<data['replies'].length;r++){
write_comment($('[parent_id=' + data['id'] + ']'), data['replies'][r])
}
var file_block = $('[name=message_files][message_id=' + data['id'] + ']');
for (var n=0;n<data['files'].length;n++){
var file_id = '';
var target = '';
var context = '';
if (data['files'][n]['format'] == 'I'){
file_id = 'single_image';
target = '__blank';
context = '<img src="'+data['files'][n]['url']+'" style="display: none;">'
}
var m = '<div class="panel m-b-none"' +
' style="box-shadow: none; border: 1px solid rgba(0, 0, 0, 0.05); padding: 4px; margin-bottom: 3px !important;">' +
'<a href="' + data['files'][n]['url'] + '" target="'+target+'" id="'+file_id+'">' + context +
'<i class="' + data['files'][n]['icon'] + ' text-primary"></i> &nbsp;' +
data['files'][n]['title'] +
'<span class="text-u-l" style="margin-left: 5px;">' + data['files'][n]['name'] + '</span></a></div>';
file_block.append(m);
}
$("a#single_image").fancybox();
}
function load_lesson_comments(type, reload_data){
$('[name=lesson_comments_empty]').hide();
$('[name=lesson_comments_block]').show();
var comment_block = $('[name=lesson_comments_block]');
$.ajax({
type: 'POST',
url: '/courses/load_exam_comments_for_teacher',
data: {'theme': $('[name=THEME_ID]').val(), 'student': $('[name=USER_ID]').val()},
success: function(data) {
$('[name=lesson_comments_load]').hide();
comment_block.show();
if (data['code'] == 0){
$('[name=lesson_comments_empty]').show();
$('[name=lesson_comments_block]').hide();
$('[name=comments_length]').html('0');
} else {
if (data['data'].length>0) {
for (var i = 0; i < data['data'].length; i++) {
write_comment(comment_block, data['data'][i]);
}
if (type == 'reload' && reload_data) {
location.hash = '';
location.hash = 'comment_' + reload_data
}
$('[name=comments_length]').html(window.lesson_comments_length);
} else {
$('[name=lesson_comments_empty]').show();
$('[name=lesson_comments_block]').hide();
$('[name=comments_length]').html('0');
}
}
}
});
}
function reload_lesson_comments(data){
$('[name=lesson_comments_load]').show();
$('[name=lesson_comments_block]').html('');
if (data){
load_lesson_comments('reload', data)
} else {
load_lesson_comments('reload')
}
}
function delete_comment(id){
$.ajax({
type: 'POST',
url: '/courses/delete_comment',
data: {'comment': id},
success: function(data){
if (data['code'] == '1'){
reload_lesson_comments(false);
location.hash='comment_list_place';
} else {
show_system_message(data['response'])
}
}
});
}
function reply_comment(id){
$('[name=reply_for_comment_id]').val(id);
$('[name=comment_sent_text]').focus()
}
function get_lesson_comments_length(){
$.ajax({
type: 'GET',
url: '/courses/get_exam_comments_length_for_teacher',
async: true,
data: {'id': $('[name=THEME_ID]').val(), 'student': $('[name=USER_ID]').val()},
success: function(data){
if (data['code'] == '1'){
var comments_length = data['data'];
if (window.lesson_comments_length != comments_length){
reload_lesson_comments();
window.lesson_comments_length = comments_length
}
} else {
show_system_message(data['response'])
}
}
});
}
$(function() {
CKEDITOR.replace( 'comment_sent_text' );
$("a#single_image").fancybox();
setInterval(function(){
get_lesson_comments_length();
}
, 200000);
});