File: /var/www/vhost/disk-apps/dev-telemedicina.teky.com.co/public/js/notifications.js
/**
* metodo para crear Notificaciones
* @diegoDuque
*/
function convertTime12to24(time12h) {
const [time, modifier] = time12h.split(' ');
let [hours, minutes] = time.split(':');
if (hours === '12') {
hours = '00';
}
if (modifier === 'PM') {
hours = parseInt(hours, 10) + 12;
}
return hours + ':' + minutes;
}
function createNotification() {
$('#createNotification').validator('update');
$("#createNotification").validator('update').on('submit', function (e) {
if (e.isDefaultPrevented()) {} else {
e.preventDefault();
$("#btn-create-notification").addClass('displayNone');
$("#spinnerButton").removeClass('displayNone');
var date1 = dateNow();
var date2 = $(" #createNotification input[name='date']").val();
var hour1 = hourNow();
var hour2 = convertTime12to24($(" #createNotification input[name='time']").val());
var fecha1 = new Date(date1+' '+hour1);
var fecha2 = new Date(date2+' '+hour2);
if ((new Date(fecha1).getTime() > new Date(fecha2).getTime())) {
swal("Advertencia", Lang.get('messages.notifications.error_past'), "warning");
$("#spinnerButton").addClass('displayNone');
$("#btn-create-notification").removeClass('displayNone');
}else{
var info = {
"user_id": $('#user_id').val(),
"message": $(" #createNotification textarea[name='message']").val(),
"when_send": $(" #createNotification input[name='date']").val() + ' ' + convertTime12to24($(" #createNotification input[name='time']").val())
};
var warningText = "";
if($('#send_all').is(':checked')){
warningText = Lang.get('messages.notifications.send_to_all');
}
swal('Desea crear la notificación ?. ' + warningText, {
buttons: {
cancel: "No",
Ok: true,
}
}).then((val) => {
if (val == "Ok") {
goCreateNotification(info);
} else {
$("#btn-create-notification").removeClass('displayNone');
$("#spinnerButton").addClass('displayNone');
}
});
}
}
});
/**
* Esta función hace un llamado AJAX y envia un json creando un nuevo registro de notificaciones
* @param info el json con la informacion de la vista
* @version 2018/05/20
*/
function goCreateNotification(info) {
$.ajax({
url: "/notifications/add",
type: "POST",
contentType: 'application/json',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
'Content-Type': 'application/json'
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
}
}).then((val) => {
if (val == "Ok") {
$(location).attr('href', '/notifications');
}
});
} else {
swal(r.m, "error");
$("#btn-create-notification").removeClass('displayNone');
$("#spinnerButton").addClass('displayNone');
}
},
error: function (e) {
swal("Error", Lang.get('messages.notifications.error_create'), "error");
$("#btn-create-notification").removeClass('displayNone');
$("#spinnerButton").addClass('displayNone');
}
});
}
}
$('#send_all').change(function(){
if($('#send_all').is(':checked')){
$('#user_id').val('');
$('#user_document').val('');
$('#user_document').attr('readonly', true);
}else{
$('#user_document').attr('readonly', false);
}
});
function dateNow() {
var hoy = new Date();
var dd = hoy.getDate();
var mm = hoy.getMonth() + 1;
var yyyy = hoy.getFullYear();
dd = addZero(dd);
mm = addZero(mm);
return yyyy + '-' + mm + '-' + dd;
}
function addZero(i) {
if (i < 10) {
i = '0' + i;
}
return i;
}
function hourNow(){
var hour = new Date();
hour = hour.getHours()+":"+hour.getMinutes();
return hour;
}