{% extends 'back.html.twig' %}

{% block title %} Edit Job{% endblock %}

{% block body %}

<div class="app-content-header">
    <div class="container-fluid">
        <div class="row">
            <div class="col-sm-6">
                <h3 class="mb-0">
                    Edit Job ({{ job.id }})
                    {% if job.type == "JOB" %}
                        <span class='badge bg-primary'>JOB</span>
                    {% elseif job.type == "REWORK" %}
                        <span class='badge bg-warning'>REWORK</span>
                    {% endif %}

                    {% if job.urgentDate %}
                        <span class='badge bg-warning' style="color: #000000;">URGENT</span>
                    {% endif %}

                    {% if job.printStatus %}
                        <span class='badge bg-secondary'>Job Sheet Printed</span>
                    {% else %}
                        <span class='badge bg-info'>Job Sheet Not Printed</span>
                    {% endif %}
                </h3>
            </div>
            <div class="col-sm-6">
                <ol class="breadcrumb float-sm-end">
                    <li class="breadcrumb-item"><a href="{{ path('app_admin_dashboard') }}">Home</a></li>
                    <li class="breadcrumb-item"><a href="{{ path('admin_job_index') }}">Jobs</a></li>
                    <li class="breadcrumb-item active">Edit Job</li>
                </ol>
            </div>
        </div>
    </div>
</div>

<div class="app-content">
    <div class="container-fluid">
        <div class="row g-4">
            <div class="col-md-12">
                <div class="card">
                    <div class="card-header with-border" style="padding-bottom: 0px;">
                        {% include '@Job/jobs/partials/job-header-links.html.twig' %}
                    </div>
                    <div class="card-body">

                        <div class="row">
                            <div class="col-md-10" id="job_progress">
                                <div class="progress mb-2" role="progressbar" aria-label="Job Progress" aria-valuenow="{{ progress }}" aria-valuemin="0" aria-valuemax="100">
                                    <div class="progress-bar bg-success" style="width: {{ progress }}%; border-radius: 0.375rem"></div>
                                </div>
                            </div>
                            <div class="col-md-2" id="job_progress_text">
                                <p>{{ paidInvoiceCount }} out of {{ totalInvoiceCount }} Invoices paid</p>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-12">
                                <table id="invoices_table" class="table table-bordered table-striped">
                                    <thead>
                                    <tr>
                                        <th>Invoice No</th>
                                        <th>Job Date</th>
                                        <th>Payment Status</th>
                                        <th>Invoice Status</th>
                                        <th>Discount %</th>
                                        <th>{{ 'Supervisor'|trans }}</th>
                                        <th>Total</th>
                                        <th>Actions</th>
                                    </tr>
                                    </thead>
                                    <tbody></tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>


    {% include '@Job/jobs/partials/job-notes-modal.twig' %}
    {% include '@Invoice/invoices/partials/create-invoice-modal.html.twig' %}
    {% include '@Job/jobs/partials/job-status-modal.twig' %}
    {% include '@Job/jobs/partials/rework-job-modal.twig' %}


    <script type="text/javascript">
        $(document).ready(function () {
            $('#invoices_table').DataTable({
                "processing": true,
                "serverSide": true,
                "searching": false,
                "ajax": {
                    url : '{{ path('api_invoice_filter') }}',
                    type : 'post',
                    data : function(data){
                        data.jobId = {{ job.id }}
                    }
                },
                "columns": [
                    {
                        "data": "invoiceNo",
                        "render": function ( data, type, full, meta ) {
                            var output =  "<div class='col-md-12'><a target='_blank' href='/admin/invoice/edit/"+ full.id +"'>"+ full.invoiceNo +"</a></div>";

                            return output;
                        }
                    },
                    {
                        "data": "jobDate",
                        "render": function ( data, type, full, meta ) {
                            return full.jobDate;
                        }
                    },
                    {
                        "data": "paymentStatus",
                        "render": function ( data, type, full, meta ) {
                            var output = "<span class='unpaid'>UNPAID</span>";

                            if (full.isPaid){
                                output = "<span class='paid'>PAID</span>";;
                            }

                            return output;
                        }
                    },
                    {
                        "data": "invoiceStatus",
                        "render": function ( data, type, full, meta ) {
                            var output = "";

                            if (!full.sentDate) {
                                output = "<span class='not-sent'>NOT SENT</span>";
                            }
                            else if(!full.paymentDate){
                                output = "<span class='pending-payment'>PENDING PAYMENT</span>";
                            }
                            else if(full.paymentDate){
                                output = "<span class='paid'>PAID</span>";
                            }

                            return output;
                        }
                    },
                    {
                        "data": "discount",
                        "render": function ( data, type, full, meta ) {
                            var output = full.discount;

                            if (full.discount == null){
                                output = 0;
                            }

                            return output;
                        }
                    },
                    {
                        "data": "supervisor",
                        "render": function ( data, type, full, meta ) {
                            var output = full.supervisorName + " -> <i>"+ full.customerName +"</i>";

                            return output;
                        }
                    },
                    {
                        "data": "total",
                        "render": function ( data, type, full, meta ) {

                            return "$"+full.total;
                        }
                    },
                    {
                        "data": "actions",
                        "orderable": false,
                        "render" : function (data, type, full, meta) {
                            var output = '';
                            output += '<div class="dropdown">';
                            output += '<button class="btn btn-dark dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">';
                            output += '<i class="bi bi-chevron-down"></i> Actions';
                            output += '</button>';
                            output += '<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">';
                            output += '<a class="dropdown-item" href="/admin/invoice/edit/'+ full.id +'" target="_blank"><i class="bi bi-pencil-square"></i> &nbsp;&nbsp; Edit Invoice</a>';
                            output +=  '<a class="dropdown-item action_btn" href="/admin/pdf/invoice/view/'+ full.id +'" target="_blank"><i class="bi bi-currency-dollar"></i> &nbsp;&nbsp; View Invoice</a>';
                            output +=  '</div>';
                            output +=  '</div>';

                            return output;
                        }
                    }
                ],
                error: function(xhr, status, error) {
                    toastr.options.progressBar = true;
                    toastr.error('Failed to Retrieve Invoice Data!', 'Error!');
                }
            });
        });
    </script>

{% endblock %}
