<main class="common_margin" id="main"> <div class="main-wrap"> <div class="dashboard-cover"> <div class="subsec_sec"> <div class="subject_r"> <div class="subject_lsec"> <a href="javascript:history.back()"><button class="btn btn-dark btn-sm">Back</button></a> <div class="common-heading"> <h2><?= $title; ?></h2> </div> <div class="alert alert-success" id="success" style="display:none;"> <?php if ($idVal == 0) { ?> <strong>Success!</strong> The new book added successfully. <?php } else { ?> <strong>Success!</strong> The book data updated successfully. <?php } ?> </div> <?php $isbn = ''; $book_code = ''; $title = ''; $author = ''; $publisher = ''; $published_year = ''; $price = ''; $total_no_of_pages = ''; $total_quantity = ''; $rack_no = ''; $description = ''; $can_be_issued_for = ''; $fine_per_day = 0; $cat_id = ''; $cat_na = ''; if (isset($details) && !empty($details)) { $isbn = $details['isbn']; $book_code = $details['book_code']; $title = $details['title']; $author = $details['author']; $publisher = $details['publisher']; $published_year = $details['published_year']; $price = (int)$details['price']; $total_no_of_pages = $details['total_no_of_pages']; $total_quantity = $details['total_quantity']; $rack_no = $details['rack_no']; $description = $details['description']; $can_be_issued_for = $details['can_be_issued_for']; $category_id = $details['category_id']; $data = $this->db->get_where('lms_categories', ['id' => $category_id])->row(); if (!empty($data)) { $cat_id = $data->id; $cat_name = $data->name; } } if (isset($gSData) && !empty($gSData) && ($idVal == 0)) { $fine_per_day = $gSData['due_fee_per_day']; } ?> <div class="common-sub-heading">Book Details</div> <form id="bookForm" method="POST"> <input type="hidden" id="id" name="id" value="<?= $idVal; ?>" /> <input type="hidden" name="fine_per_day" value="<?= $fine_per_day; ?>"> <div class="subject_lformarea book-form-area"> <div class="form-group"> <input type="text" class="form-control txtData" placeholder="ISBN*" name="isbn" id="isbn" autocomplete="off" value="<?= $isbn; ?>"> <i class="fas fa-barcode"></i> <p class="form_err" id="error-isbn"></p> </div> <div class="form-group"> <input type="text" class="form-control txtData" placeholder="Book Code" name="book_code" id="book_code" autocomplete="off" value="<?= $book_code; ?>"> <i class="fas fa-barcode"></i> <p class="form_err" id="error-isbn"></p> </div> <div class="form-group"> <input type="text" class="form-control txtData" placeholder="Book Title*" name="title" id="title" autocomplete="off" value="<?= $title; ?>"> <p class="form_err" id="error-title"></p> </div> <div class="form-group assign_subject"> <select class="form-control txtData" name="category_id" id="category_id"> <?php if (!empty($data)) { ?> <option value="<?= $cat_id; ?>" selected disabled><?= $cat_name; ?></option> <?php } else { ?> <option value="">Select Category*</option> <?php } ?> <?php if (isset($categoryData) && !empty($categoryData)) { foreach ($categoryData as $cData) { ?> <option value="<?= $cData['id']; ?>"><?= $cData['name']; ?></option> <?php } } ?> </select> <p class="form_err" id="error-category_id"></p> </div> <div class="form-group"> <input type="text" class="form-control txtData" placeholder="Author" name="author" id="author" autocomplete="off" value="<?= $author; ?>"> <p class="form_err" id="error-author"></p> </div> <div class="form-group"> <input type="text" class="form-control txtData" placeholder="Publisher" name="publisher" id="publisher" autocomplete="off" value="<?= $publisher; ?>"> <p class="form_err" id="error-publisher"></p> </div> <div class="form-group"> <input type="text" class="form-control txtData" placeholder="Year" name="published_year" id="published_year" autocomplete="off" value="<?= $published_year; ?>"> <p class="form_err" id="error-year"></p> </div> <div class="form-group"> <input type="text" class="form-control txtData" placeholder="Total Pages" name="total_no_of_pages" id="total_no_of_pages" autocomplete="off" value="<?= $total_no_of_pages; ?>"> <p class="form_err" id="error-ttl_page"></p> </div> <div class="form-group"> <input type="text" class="form-control txtData" placeholder="Total Quantity*" name="total_quantity" id="total_quantity" autocomplete="off" value="<?= $total_quantity; ?>"> <p class="form_err" id="error-ttl_qty"></p> </div> <div class="form-group"> <input type="text" class="form-control txtData" placeholder="Rack no" name="rack_no" id="rack_no" autocomplete="off" value="<?= $rack_no; ?>"> <p class="form_err" id="error-rack_no"></p> </div> <div class="form-group"> <input type="text" class="form-control txtData" placeholder="Price" name="price" id="price" autocomplete="off" value="<?= $price; ?>"> <p class="form_err" id="error-price"></p> </div> <div class="form-group"> <input type="text" class="form-control txtData" placeholder="Description" name="description" id="description" autocomplete="off" value="<?= $description; ?>"> <p class="form_err" id="error-description"></p> </div> <div class="form-group"> <div class="form-inner-div"> <input type="checkbox" id="overwriteDays" <?php if ($can_be_issued_for != 0) { echo 'checked'; } else { echo ''; } ?> onclick="check()" /><label>Overwrite default lending days</label> <input type="number" step="1" min="0" class="form-control txtData" name="can_be_issued_for" id="can_be_issued_for" value="<?= $can_be_issued_for; ?>" autocomplete="off" /> </div> <p class="form_err" id="error-lending_days"></p> </div> </div> <button type="submit" class="subject_addbtn"><?= $button; ?></button> </form> </div> </div> </div> </div> </div> </main> <!--End right-top side--> </div> <!-- <script src="assets/js/jquery-3.2.1.slim.min.js"></script> --> <script src="<?= base_url(); ?>assets-lms/js/jquery-3.4.1.min.js"></script> <script src="<?= base_url(); ?>assets-lms/js/jquery.validate.js"></script> <script src="<?= base_url(); ?>assets-lms/js/additional-methods.js"></script> <script src="<?= base_url(); ?>assets-lms/js/bootstrap.min.js"></script> <script src="<?= base_url(); ?>assets-lms/js/popper.min.js"></script> <script defer src="<?= base_url(); ?>assets-lms/js/all.js"></script> <script defer src="<?= base_url(); ?>assets-lms/js/main.js"></script> <script src="<?= base_url(); ?>assets-lms/owl-carousel/js/owl.carousel.min.js"></script> <script> $(document).ready(function() { $('.user-drpdown').click(function() { $('.drpdown-items').toggle(); }); }); //table js $('#tbl').DataTable({ "lengthMenu": [ [5, 10, 25, 50, -1], [5, 10, 25, 50, "All"] ] }); //table js end //multiple select js start $('select').selectpicker(); //multiple select js end </script> <script> function check() { var id = $('#id').val(); if ($("#overwriteDays").is(":checked")) { $('#error-lending_days').text('Please enter lending days'); } else { if (id > 0) { $('#can_be_issued_for').val(''); } else { $('#can_be_issued_for').val(''); } $('#error-lending_days').html(''); } } </script> <script> $.validator.addMethod("nameRegex", function(value, element) { return this.optional(element) || /^[a-zA-Z0-9\s]*$/.test(value); }, "Contain only letters."); $("#bookForm").validate({ errorClass: 'error', rules: { isbn: { required: true, minlength: 10, maxlength: 13, digits: true, alphanumeric: true }, title: { required: true, minlength: 3, nameRegex: true }, category_id: { required: { depends: function(element) { return $("#category_id").val() == ''; } } }, author: { nameRegex: true, }, publisher: { nameRegex: true }, published_year: { minlength: 4, maxlength: 4, digits: true }, total_no_of_pages: { digits: true, alphanumeric: true }, total_quantity: { required: true, digits: true, alphanumeric: true }, rack_no: { alphanumeric: true }, price: { number: true, alphanumeric: true }, can_be_issued_for: { min: 0 } }, messages: { isbn: { required: "ISBN is required", minlength: "At least 10 characters long", maxlength: "Should not exceed 13 characters", digits: "Accepts only integer", alphanumeric: "Special character not allowed" }, title: { required: "Title is required", minlength: "At least 3 characters long", nameRegex: "Contains only characters" }, category_id: { required: "category is required" }, author: { nameRegex: "Contains only characters" }, publisher: { nameRegex: "Contains only characters" }, published_year: { minlength: "At least 4 characters long", maxlength: "Should not exceed 4 characters", digits: "Accepts only integer" }, total_no_of_pages: { digits: "Accepts only integer", alphanumeric: "Special character not allowed" }, total_quantity: { required: "Total quantity is required", digits: "Accepts only integer", alphanumeric: "Special character not allowed" }, rack_no: { alphanumeric: "Special character not allowed" }, price: { number: "Accepts only integer", alphanumeric: "Special character not allowed" }, can_be_issued_for: { min: "Value must be greater than 0" } }, errorPlacement: function(error, element) { if (element.attr("name") == "isbn") { error.appendTo($("#error-isbn")); } else if (element.attr("name") == "title") { error.appendTo($("#error-title")); } else if (element.attr("name") == "category_id") { error.appendTo($("#error-category_id")); } else if (element.attr("name") == "author") { error.appendTo($("#error-author")); } else if (element.attr("name") == "publisher") { error.appendTo($("#error-publisher")); } else if (element.attr("name") == "published_year") { error.appendTo($("#error-year")); } else if (element.attr("name") == "total_no_of_pages") { error.appendTo($("#error-ttl_page")); } else if (element.attr("name") == "total_quantity") { error.appendTo($("#error-ttl_qty")); } else if (element.attr("name") == "rack_no") { error.appendTo($("#error-rack_no")); } else if (element.attr("name") == "price") { error.appendTo($("#error-price")); } else if (element.attr("name") == "can_be_issued_for") { error.appendTo($("#error-lending_days")); } else { error.appendTo(element); } }, submitHandler: function(form) { var formdata = new FormData(form); var id = $('#id').val(); $.ajax({ type: 'post', url: '<?= base_url(); ?>LmsAdmin/add_edit_book/' + id, data: formdata, cache: false, contentType: false, processData: false, success: function(result) { $('#error-isbn').html(''); if (result == 0) { $("#error-ttl_qty").html(''); $('#error-isbn').text('Already exists book.'); } else if (result == 1) { $('.txtData').val(''); $("#error-ttl_qty").html(''); $('#error-lending_days').html(''); $("#overwriteDays").prop('checked', false); $('#success').show(); setTimeout(() => { location.reload(); }, 2000); } else { var qtyVals = result.split('_'); var issuedQty = qtyVals[0]; var remQty = qtyVals[1]; $("#error-ttl_qty").text('Total quantity is having remaining and issued quantity respectively (' + remQty + '+' + issuedQty + '). if u want to edit enter greater than total value.'); } } }); } }); </script> </body> </html>