File: /var/www/vhost/disk-apps/teamdemo.sports-crowd.com/public/js/subcategories.js
function saveImage(id) {
var fImage = document.getElementById("image");
fImage = fImage.files[0];
if (fImage) {
var formData = new FormData();
formData.append("id", id);
formData.append("image", fImage);
$.ajax({
type: 'POST',
dataType: 'json',
processData: false,
contentType: false,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: formData,
url: '/subcategories/saveImage',
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
}
}).then((val) => {
if (val == "Ok") {
$(location).attr('href', '/subcategories/' + localStorage.getItem("storeType"));
}
});
} else {
swal("Error", Lang.get('messagesClient.screen_add_subcategories_tag1'), "error");
$("#btn-create-subcategory").prop("disabled", false);
}
}
});
}
else {
swal("Ok", "Subcategoría creada sin archivo.", {
icon: "success",
buttons: {
Ok: true,
}
}).then((val) => {
if (val == "Ok") {
$(location).attr('href', '/subcategories/' + localStorage.getItem("storeType"));
}
});
}
}
function updateImage(id) {
var fImage = document.getElementById("image");
fImage = fImage.files[0];
if (fImage) {
var formData = new FormData();
formData.append("id", id);
formData.append("image", fImage);
$.ajax({
type: 'POST',
dataType: 'json',
processData: false,
contentType: false,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: formData,
url: '/subcategories/updateImage',
success: function (r) {
if (r.r) {
swal(r.m,
{
icon: "success",
buttons: {
Ok: true,
}
}).then((val) => {
if (val == "Ok") {
$(location).attr('href', '/subcategories/' + localStorage.getItem("storeType"));
}
});
} else {
swal("Error", r.m, "error");
}
}
});
}
else {
swal("Ok", "Subcategoría actualizada sin archivo.", {
icon: "success",
buttons: {
Ok: true,
}
}).then((val) => {
if (val == "Ok") {
$(location).attr('href', '/subcategories/' + localStorage.getItem("storeType"));
}
});
}
}
/**
* Esta función obtiene los datos de la vista y los envía a la capa de lógica
* para la creacion de una línea de negocio
* @version 2018/05/20
*/
function createSubcategory() {
$('#createSubcategory').validator('update');
$("#createSubcategory").validator('update').on('submit', function (e) {
if (e.isDefaultPrevented()) { } else {
e.preventDefault();
$("#btn-create-subcategory").prop("disabled", true);
var name = $(" #createSubcategory input[name='name']").val();
var priority = $(" #createSubcategory input[name='priority']").val();
var category = $(" #createSubcategory select[name='subcategory_id']").val();
if (name == '' || priority == '' || category == "") {
swal("warning", Lang.get('messagesClient.screen_add_subcategories_tag2'), "error");
$("#btn-create-subcategory").prop("disabled", false);
} else {
var info = {
"name": name,
"priority": priority,
"category": category
};
swal(Lang.get('messagesClient.screen_add_subcategories_tag3'),
{
icon: "warning",
buttons: {
cancel: "No",
Ok: true,
}
}).then((val) => {
if (val == "Ok") {
createSubcategory(info);
} else {
$("#btn-create-subcategory").prop("disabled", false);
}
});
}
}
});
/**
* Esta función hace un llamado AJAX y envia un json creando un nuevo registro de categoría
* @param info el json con la informacion de la vista
* @version 2018/05/20
*/
function createSubcategory(info) {
$.ajax({
url: "/subcategories/create",
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) {
var id_subcategory = r.d.id;
var img = document.getElementById("image");
if (img != null) {
saveImage(id_subcategory);
} else {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
}
}).then((val) => {
if (val == "Ok") {
$(location).attr('href', '/subcategories/' + localStorage.getItem("storeType"));
}
});
}
} else {
swal("Error", Lang.get('messagesClient.screen_add_subcategories_tag4'), "error");
$("#btn-create-subcategory").prop("disabled", false);
}
}, error: function (e) {
swal("Error", Lang.get('messagesClient.screen_add_subcategories_tag4'), "error");
$("#btn-create-subcategory").prop("disabled", false);
}
});
}
}
/*
* En caso de que se haga clic en el icono de editar
* se redirecciona a la vista de edición de categoría
*/
function clickEditSubcategory(value) {
_table = $("#example2").DataTable();
index = _table.page();
localStorage.setItem("productsTableIndex", index);
$(location).attr('href', '/subcategories/' + localStorage.getItem("storeType") + '/edit/' + value);
};
/**
* Esta función obtiene los datos de la vista de edtitar y los envía a la capa de lógica
* para la actualización de los datos de una línea de negocio
* @version 2018/10/02
*/
function editSubcategory() {
$('#editSubcategory').validator('update');
$("#editSubcategory").validator('update').on('submit', function (e) {
if (e.isDefaultPrevented()) { } else {
$("#btn-edit-subcategory").prop("disabled", true);
e.preventDefault();
var name = $(" #editSubcategory input[name='name']").val();
var priority = $(" #editSubcategory input[name='priority']").val();
var category = $(" #editSubcategory select[name='category_id'] ").val();
if (name == '' || priority == '' || category == '') {
swal("Error", Lang.get('messagesClient.screen_edit_subcategories_tag1'), "warning");
$("#btn-edit-subcategory").prop("disabled", false);
} else {
var info = {
"id": $(" #editSubcategory input[name='id']").val(),
"name": name,
"priority": priority,
"category_id": category
};
swal(Lang.get('messagesClient.screen_edit_subcategories_tag2'), {
buttons: {
cancel: "No",
Ok: true,
}
}).then((val) => {
if (val == "Ok") {
updateCategory(info);
} else {
$("#btn-edit-subcategory").prop("disabled", false);
}
});
}
}
});
}
/**
* Esta función hace un llamado AJAX y envia un json actualizando un registro de linea de negocio
* @param info el json con la informacion de la vista
* @version 2018/05/20
*/
function updateCategory(info) {
$.ajax({
url: "/subcategories/update",
type: "PUT",
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) {
var id_subcategory = r.d.id;
var img = document.getElementById("image");
if (img != null) {
updateImage(id_subcategory);
} else {
swal(Lang.get('messagesClient.screen_edit_subcategories_tag3'), {
icon: "success",
buttons: {
Ok: true,
}
}).then((val) => {
if (val == "Ok") {
localStorage.setItem("setPageTable", true);
$(location).attr('href', '/subcategories/' + localStorage.getItem("storeType"));
}
});
}
} else {
swal(Lang.get('messagesClient.screen_edit_subcategories_tag4'), "error");
$("#btn-create-subcategory").prop("disabled", false);
}
}, error: function (e) {
swal(Lang.get('messagesClient.screen_edit_subcategories_tag4'), "error");
$('#btn-edit-subcategory').prop('disabled', false);
}
});
}
function setPageTable() {
localStorage.setItem("setPageTable", true);
$(location).attr('href', '/subcategories/' + localStorage.getItem("storeType"));
}
function chkSubcategory(value) {
var state;
if ($('#Checkactive' + value).is(':checked')) {
state = 1;
} else {
state = 0;
}
var info = {
"id": value,
"state": state
};
$.ajax({
url: "/subcategories/active",
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("Ok", r.m);
} else {
swal("Error", Lang.get('messagesClient.screen_edit_subcategories_tag5'), "error");
}
},
error: function (e) {
swal("Error", Lang.get('messagesClient.screen_edit_subcategories_tag5'), "error");
}
});
};
//eliminar subcategoría
function clickDeleteSubcategory(value) {
var info = {
"id": value
};
swal(Lang.get('messagesClient.screen_delete_subcategories_tag1'), {
buttons: {
cancel: "No",
Ok: true,
}
}).then((val) => {
if (val == "Ok") {
deleteCategory(info);
}
});
};
//funcion eliminar linea de negocio
function deleteCategory(info) {
$.ajax({
url: "/subcategories/delete",
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', '/subcategories/' + localStorage.getItem("storeType"));
}
});
} else {
swal("Error", Lang.get('messagesClient.screen_delete_subcategories_tag2'), "error");
}
},
error: function (e) {
swal("Error", Lang.get('messagesClient.screen_delete_subcategories_tag2'), "error");
}
});
}