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.
250 lines
12 KiB
250 lines
12 KiB
var comments_length;
|
|
|
|
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_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_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> '+
|
|
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> Удалить</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> Ответить</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> ' +
|
|
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_homework_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_homework_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);
|
|
});
|
|
|