Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <div class="card-body">
- <div class="row">
- <div class="col-12">
- <div class="card-body">
- <form method="POST" action="javascript:void(0)" enctype="multipart/form-data" id="upload_form">
- @csrf
- <h2>@lang('labels.backend.grades.note_before_import_title')</h2>
- @lang('labels.backend.grades.note_before_import')
- <h5 class="text-danger">@lang('labels.backend.grades.warning_import')</h5>
- <div class="row">
- <div class="form-group col-md-6 col-12">
- <label class="font-weight-bold ">@lang('labels.backend.grades.import_student')</label>
- <input type="file" id="select_button" accept=".xls,.xlx,.xlsx,.ods" class="form-control" name="file">
- </div>
- <div class="form-group col-md-6 col-12 d-flex">
- <button id="upload_button" class="btn btn-primary mt-auto"
- type="submit" >@lang('labels.backend.grades.upload')</button>
- </div>
- </div>
- <div class='table-responsive'>
- <table id='students_table' class='table table-bordered table-striped'>
- </table>
- </div>
- </form>
- <button id="save_button" class="btn btn-primary mt-auto">
- Save</button>
- </div>
- </div>
- </div>
- </div>
- </div>
- @push('after-scripts')
- <script type="text/javascript" src=" https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script>
- <script>
- //Extract grade_id from URL, it should be the last element in the URL
- path_name = window.location.pathname;
- grade_id = path_name.split('/');
- grade_id = grade_id[grade_id.length - 1];
- var result_data = [];
- columns = [
- {"title" : "First Name"},
- {"title" : "Last Name"},
- {"title": "Email"}
- ]
- /*Nasser 11-01-2020
- This function will be called from the save button to save the result data into the database,
- there should be a separated function in the controller (For each Model) to manage the data parsing and saving*/
- $('#save_button').on("click", function () {
- var result_data_array = [];
- var result_data_object = {"data" : result_data}
- var result_data_string = JSON.stringify(result_data_object);
- data = {
- "students": result_data,
- "grade_id": grade_id
- };
- $.ajax({
- url: "{{ route('admin.grades.save_from_file') }}",
- type: "POST",
- data: data,
- success: function(result){
- warnings = result["warnings"];
- saved_students = result["saved_students"];
- warnings_message = warnings["duplications"]["message"];
- duplicated_emails = warnings["duplications"]["duplicated_emails"];
- alert(message);
- alert(duplicated_email);
- console.log("Response: ", result);
- }
- });
- });
- $('#upload_form').submit(function (e) {
- console.log($(this));
- var formData = new FormData($(this)[0]);
- console.log("Form data: ", formData);
- formData.append("_token", "{{ csrf_token() }}");
- formData.append("grade_id", grade_id);
- $.ajax(
- {
- url: "{{ route('admin.upload_students_report') }}",
- type: "POST",
- data: formData,
- contentType: false,
- processData: false,
- success: function(result){
- result_data = [...result["data"]];
- warning = result["warning"];
- alert(warning);
- preview_file(result_data);
- }
- });
- });
- function preview_file(data)
- {
- //console.log("Data: ", data);
- $('#students_table').DataTable({
- "destroy": true,
- "data": data,
- columns: columns
- });
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement