File: /var/www/vhost/disk-apps/agile-selling-wpb/public/js/categories.js
/**
* metodo para crear Banner
* @diegoDuque
*/
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: "/categories/saveImage",
success: function (r) {
if (r.r) {
swal(Lang.get("messagesClient.screen_categories_tag5"), {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/categories");
}
});
} else {
swal("Ok", "¡Error al crear la categoría!", "error");
$("#btn-create-category").prop("disabled", false);
}
},
error: function (e) {
swal("Ok", "¡Error al crear la categoría!", "error");
$("#btn-create-category").prop("disabled", false);
},
});
} else {
swal("Ok", "Categoría creada sin imagen.", {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/categories");
}
});
}
}
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: "/categories/updateImage",
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
console.log("creado");
$(location).attr("href", "/categories");
}
});
} else {
swal("Error", r.m, "error");
}
},
});
} else {
swal("Ok", "Categoría actualizada sin imagen.", {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/categories");
}
});
}
}
/**
* 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 createCategory() {
$("#createCategory").validator("update");
$("#createCategory")
.validator("update")
.on("submit", function (e) {
if (e.isDefaultPrevented()) {
} else {
e.preventDefault();
$("#btn-create-category").prop("disabled", true);
var name = $(" #createCategory input[name='name']").val();
var priority = $(
" #createCategory input[name='priority']"
).val();
var sucursal_id = $(
"#createCategory select[name='sucursal_id']"
).val();
if (!sucursal_id) {
sucursal_id = null;
}
if (name == "" || priority == "") {
swal(
Lang.get("messagesClient.screen_categories_tag4"),
"warning",
Lang.get("messagesClient.screen_categories_tag1")
);
$("#btn-create-category").prop("disabled", false);
} else {
var info = {
name: name,
priority: priority,
sucursal_id: sucursal_id,
};
swal(Lang.get("messagesClient.screen_categories_tag2"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
createCategory(info);
} else {
$("#btn-create-category").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 createCategory(info) {
$.ajax({
url: "/categories/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_category = r.d;
var img = document.getElementById("image");
if (img != null) {
console.log(id_category);
saveImage(id_category);
} else {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/categories");
}
});
}
} else {
swal(r.m, { icon: "error" });
$("#btn-create-category").prop("disabled", false);
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.screen_categories_tag6"),
"error"
);
$("#btn-create-category").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 clickEditCategory(value) {
_table = $("#example2").DataTable();
index = _table.page();
localStorage.setItem("productsTableIndex", index);
$(location).attr("href", "/categories/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 editCategory() {
$("#editCategory").validator("update");
$("#editCategory")
.validator("update")
.on("submit", function (e) {
if (e.isDefaultPrevented()) {
} else {
$("#btn-edit-category").prop("disabled", true);
e.preventDefault();
var name = $(" #editCategory input[name='name']").val();
var priority = $(" #editCategory input[name='priority']").val();
var sucursal_id = $(
"#editCategory select[name='sucursal_id']"
).val();
if (!sucursal_id) {
sucursal_id = null;
}
if (name == "" || priority == "") {
swal(
"Error",
Lang.get("messagesClient.screen_edit_categories_tag2"),
"warning"
);
$("#btn-edit-category").prop("disabled", false);
} else {
var info = {
id: $(" #editCategory input[name='id']").val(),
name: name,
priority: priority,
sucursal_id: sucursal_id,
};
swal(
Lang.get("messagesClient.screen_edit_Categories_tag5"),
{
buttons: {
cancel: "No",
Ok: true,
},
}
).then((val) => {
if (val == "Ok") {
updateCategory(info);
} else {
$("#btn-edit-category").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: "/categories/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_category = r.d.id;
var img = document.getElementById("image");
if (img != null) {
updateImage(id_category);
} else {
swal(
Lang.get("messagesClient.screen_edit_categories_tag3"),
{
icon: "success",
buttons: {
Ok: true,
},
}
).then((val) => {
if (val == "Ok") {
localStorage.setItem("setPageTable", true);
$(location).attr("href", "/categories");
}
});
}
} else {
swal(r.m, { icon: "error" });
$("#btn-create-category").prop("disabled", false);
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.screen_edit_categories_tag4"),
"error"
);
$("#btn-edit-category").prop("disabled", false);
},
});
}
function setPageTable() {
localStorage.setItem("setPageTable", true);
$(location).attr("href", "/categories");
}
function chkCategory(value) {
var state;
if ($("#Checkactive" + value).is(":checked")) {
state = 1;
} else {
state = 0;
}
var info = {
id: value,
state: state,
};
$.ajax({
url: "/categories/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_Categories_tag6"),
"error"
);
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.screen_edit_Categories_tag6"),
"error"
);
},
});
}
//eliminar categoría
function clickDeleteCategory(value) {
var info = {
id: value,
};
swal(Lang.get("messagesClient.screen_delete_Categories_tag1"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
deleteCategory(info);
}
});
}
//funcion eliminar linea de negocio
function deleteCategory(info) {
$.ajax({
url: "/categories/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", "/categories");
}
});
} else {
swal(
"Error",
Lang.get("messagesClient.screen_delete_categories_tag2"),
"error"
);
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.screen_delete_categories_tag2"),
"error"
);
},
});
}