Your IP : 216.73.216.91


Current Path : /var/www/html/tax/public/http/
Upload File :
Current File : /var/www/html/tax/public/http/book.js

document.write('<script type="text/javascript" src="http/config.js" ></script>');
$(document).ready(()=>{
	var books = [];
	function validate(){
		var validateFlag = true;
		if($('#b_type').val() == -1){
            $('#b_type').css('border','1px solid red');
            validateFlag = false;
		}
        if($('#b_has_parent').val() == -1){
            $('#b_has_parent').css('border','1px solid red');
            $('#b_parent_book_id').css('border','1px solid red');
            validateFlag = false;
        }else if($('#b_has_parent').val() == "1" && $('#b_parent_book_id').val() == -1){
			$('#b_parent_book_id').css('border','1px solid red');
			validateFlag = false;
        }
        if($('#b_issued_by').val() == -1){
            $('#b_issued_by').css('border','1px solid red');
            validateFlag = false;
        }
		if($('#b_issued_to').val() == -1){
            $('#b_issued_to').css('border','1px solid red');
            validateFlag = false;
		}
		$('#b_type').change(()=>{
			$('#b_type').css('border','');
		});
		$('#b_has_parent').change(()=>{
			$('#b_has_parent').css('border','');
			$('#b_parent_book_id').css('border','');
		});
		$('#b_issued_by').change(()=>{
			$('#b_issued_by').css('border','');
		});
		$('#b_issued_to').change(()=>{
			$('#b_issued_to').css('border','');
		});
		return validateFlag;
	}
	var url = getConfig("baseUrl")+"resource=book&action=getBookTypes";
	$.post( url, function( data ) {
		var res = JSON.parse(data);
		var options = "";
		// console.log(res.result);
		if(res.rowsAffected > 0){
			res.result.forEach((r)=>{
				// console.log(r);
				options += "<option value='"+r.idBookType+"'>"+r.type+"</option>";
			});
		}
		$('#b_type').append(options);
	});

	$("#b_type").change(()=>{
		getBooks();
	});

	$('#b_has_parent').change(()=>{
		if($("#b_has_parent").val() == 0){
			$('#b_parent_book_id').attr('disabled', true);
		}else{
			$('#b_parent_book_id').attr('disabled', false);
		}
	});

	function getBooks(){
		var deferred = new $.Deferred();
		var url = getConfig("baseUrl")+"resource=book&action=getBooks&source=book";
		$.post( url, function( data ) {
			var res = JSON.parse(data);
			var options = "";
			var rows =  "";
			// console.log(res.result);
			options += "<option value='-1'>Select Parent Book</option>";
			if(res.rowsAffected > 0){
				res.result.forEach((r)=>{
					books.push(r);
					if(r.idBookType == $("#b_type").val() || $("#b_type").val() == "-1"){
						options += "<option value='"+r.idBook+"'>"+r.name+"</option>";
					}
					rows += "<tr id='row_"+ r.idBook +"'>";
					rows += "<td>"+ r.idBook +"</td>";
					rows += "<td>"+ r.name +"</td>";
					rows += "<td>"+ r.description +"</td>";
					rows += "<td>"+ r.bookType +"</td>";
					rows += "<td>"+ r.pageCount +"</td>";
					rows += "<td>"+ r.serialStart + " - " + r.serialEnd +"</td>";
					rows += "<td>"+ r.serialActive +"</td>";
					rows += "<td>"+ r.status +"</td>";
					rows += "<td>"+ r.parentBookName +"</td>";
					rows += "<td>"+ r.issuedBy +"</td>";
					rows += "<td>"+ r.issuedTo +"</td>";
					rows += "<td class='bookAction' id='"+ r.idBook +"'>";
					rows += "<label class='edit'><img src='asset/images/edit.png' alt='Edit' width='18' title='Click to edit'></label>";
					rows += "&emsp;";
					rows += "<label class='delete'><img src='asset/images/delete.png' alt='Delete' width='18' title='Click to delete'></label>";
					rows += "</td>";
					rows += "<tr>";
				});
			}
			$('#b_parent_book_id').html(options);
			$('#bookdata').html(rows);
			deferred.resolve(true);
		});
		return deferred.promise();
	}
	getBooks();

	var url = getConfig("baseUrl")+"resource=user&action=getUsers";
	$.post( url, function( data ) {
		var res = JSON.parse(data);
		var options = "";
		// console.log(res.result);
		if(res.rowsAffected > 0){
			res.result.forEach((r)=>{
				// console.log(r);
				options += "<option value='"+r.idUser+"'>"+r.userName+"</option>";
			});
		}
		$('#b_issued_by').append(options);
		$('#b_issued_to').append(options);
	});

	$( "#bookForm" ).submit(function( event ) {
		if(validate()){
			var url = "";
			var update = false;
			var msg = "";
			url = getConfig("baseUrl")+"resource=book&action=createBook";
			if(parseInt($("#b_id").val()) == -1){
				msg = "Book has been created successfully";
			}else if(parseInt($("#b_id").val()) > 0){
				// url = getConfig("baseUrl")+"resource=book&action=updateBook";
				msg = "Book has been updated successfully";
				update = true;
			}
			var formData = $( this ).serialize();
			// console.log(formData);
			$.post( url, formData, (res)=>{
				$("#submit").attr("disabled", true);
				// console.log(res);
				json = JSON.parse(res);
				if(json.status == "success"){
					$.toast({
					    heading: 'Success',
					    text: msg,
					    showHideTransition: 'slide',
					    icon: 'success',
					    hideAfter: getConfig("toastHideAfter")
					})
					getBooks();
					$('#bookForm').trigger("reset");
				}else if(json.status == "info"){
					$.toast({
					    heading: 'Information',
					    text: json.msg,
					    showHideTransition: 'slide',
					    icon: 'info',
					    hideAfter: getConfig("toastHideAfter")
					})
				}else{
					$.toast({
					    heading: 'Error',
					    text: 'Some thing went wrong',
					    showHideTransition: 'fade',
					    icon: 'error',
					    hideAfter: getConfig("toastHideAfter")
					})
				}
			});
			setTimeout(()=>{
				$("#submit").attr("disabled", false);
			},2000);
			event.preventDefault();
		}else{
			$.toast({
			    heading: 'Missing Information',
			    text: 'Please fill out all the mendatory fields',
			    showHideTransition: 'fade',
			    icon: 'error',
				hideAfter: getConfig("toastHideAfter")
			})
		}
	});
	$("#viewBooks").click(()=>{
		getBooks();
		$("#booksList").fadeIn();
		$(".container").hide();
	});
	$("#back").click(()=>{
		$("#booksList").hide();
		$(".container").fadeIn();
	});
	$("#booksTable").on("click", "label", function(){
		// console.log($(this).parent().attr('id'));
		// console.log($(this).attr('class'));
		if($(this).attr('class') == "edit"){
			if (confirm('Are you sure you want to make changes?')) {
				getBooks().then(()=>{
					// console.log('Working fine!!!');
					var bookId = $(this).parent().attr('id');
					var myBook;
					books.forEach((b)=>{
						if(b.idBook == bookId){
							myBook = b;
							return;
						}
					});
					var hasParent = (myBook.parentIdBook == -1) ? 0 : 1;
					$("#b_id").val(myBook.idBook);
					$("#b_name").val(myBook.name);
					$("#b_description").val(myBook.description);
					$("#b_type").val(myBook.idBookType);
					$("#b_page_count").val(myBook.pageCount);
					$("#b_has_parent").val(hasParent);
					$("#b_parent_book_id").val(myBook.parentIdBook);
					$("#b_issued_by").val(myBook.idIssuedBy);
					$("#b_issued_to").val(myBook.idIssuedTo);
					$("#booksList").hide();
					$(".container").fadeIn();
					// console.log(myBook);
				});
			}else {
			    // alert('Why did you press cancel? You should have confirmed');
			    $.toast({
				    heading: 'Error',
				    text: "Please always think before you modify anything in system",
				    showHideTransition: 'fade',
				    icon: 'error',
				    hideAfter: getConfig("toastHideAfter")
				})
			}
			// getBooks();
		}else if($(this).attr('class') == "delete"){
			if (confirm('Are you sure you want to delete?')) {
			    var bookId = $(this).parent().attr('id');
				var url = getConfig("baseUrl")+"resource=book&action=deleteBook";
				// console.log(formData);
				$.post( url, {b_id: bookId}, (res)=>{
					json = JSON.parse(res);
					if(json.status == "success"){
						$.toast({
						    heading: 'Success',
						    text: 'Book deleted successfully',
						    showHideTransition: 'slide',
						    icon: 'success',
						    hideAfter: getConfig("toastHideAfter")
						});
						$(this).parents().eq(1).remove();
					}else{
						$.toast({
						    heading: 'Error',
						    text: "Book can't be deleted, transactions has been generated against it",
						    showHideTransition: 'fade',
						    icon: 'error',
						    hideAfter: getConfig("toastHideAfter")
						})
					}
				});
			} else {
			    // alert('Why did you press cancel? You should have confirmed');
			    $.toast({
				    heading: 'Error',
				    text: "Please always think before you click delete",
				    showHideTransition: 'fade',
				    icon: 'error',
				    hideAfter: getConfig("toastHideAfter")
				})
			}
		}
	})
});