<vn-crud-model
    vn-id="model"
    url="Receipts/filter"
    limit="20"
    data="$ctrl.balances">
</vn-crud-model>
<vn-crud-model
    vn-id="riskModel"
    url="ClientRisks"
    filter="$ctrl.filter"
    data="$ctrl.clientRisks">
</vn-crud-model>
<vn-crud-model
    auto-load="true"
    url="Companies"
    data="companies"
    order="code">
</vn-crud-model>
<vn-side-menu side="right">
    <div class="vn-pa-md">
        <vn-autocomplete
            vn-one
            vn-id="company"
            ng-model="$ctrl.companyId"
            data="companies"
            show-field="code"
            value-field="id"
            label="Company">
        </vn-autocomplete>
        <div
            class="totalBox"
            style="text-align: center;"
            ng-if="$ctrl.clientRisks.length">
            <h6 translate>Total by company</h6>
            <vn-label-value
                ng-repeat="riskByCompany in $ctrl.clientRisks"
                label="{{riskByCompany.company.code}}"
                value="{{riskByCompany.amount | currency: 'EUR':2}}">
            </vn-label-value>
        </div>
    </div>
</vn-side-menu>
<div class="vn-w-lg">
    <vn-data-viewer model="model">
        <vn-card>
        <vn-table model="model">
            <vn-thead>
                <vn-tr>
                    <vn-th expand>Date</vn-th>
                    <vn-th>Creation date</vn-th>
                    <vn-th>Employee</vn-th>
                    <vn-th>Reference</vn-th>
                    <vn-th number>Bank</vn-th>
                    <vn-th number>Debit</vn-th>
                    <vn-th number>Havings</vn-th>
                    <vn-th number>Balance</vn-th>
                    <vn-th center>Conciliated</vn-th>
                    <vn-th></vn-th>
                </vn-tr>
            </vn-thead>
            <vn-tbody>
                <vn-tr ng-repeat="balance in $ctrl.balances">
                    <vn-td expand>
                        <span title="{{::balance.payed | date:'dd/MM/yyyy'}}">
                            {{::balance.payed | date:'dd/MM/yyyy'}}
                        </span>
                    </vn-td>
                    <vn-td shrink-datetime>
                        <span title="{{::balance.created | date:'dd/MM/yyyy HH:mm'}}">
                            {{::balance.created | date:'dd/MM/yyyy HH:mm'}}
                        </span>
                    </vn-td>
                    <vn-td>
                        <span
                            vn-click-stop="workerDescriptor.show($event, balance.workerFk)"
                            class="link">
                            {{::balance.userName}}
                        </span>
                    </vn-td>
                    <vn-td-editable disabled="balance.isInvoice || !$ctrl.isAdministrative" expand>
                        <text>
                            <div ng-show="::balance.description">
                                <span
                                    ng-if="balance.isInvoice"
                                    title="{{'BILL' | translate: {ref: balance.description} }}"
                                    vn-click-stop="$ctrl.showInvoiceOutDescriptor($event, balance)"
                                    class="link">
                                    {{'BILL' | translate: {ref: balance.description} }}
                                </span>
                                <span
                                    ng-if="!balance.isInvoice"
                                    title="{{::balance.description}}">
                                    {{balance.description}}
                                </span>
                            </div>
                        </text>
                        <field>
                            <vn-textfield vn-acl="administrative" class="dense" vn-focus
                                ng-model="balance.description"
                                on-change="$ctrl.changeDescription(balance)">
                            </vn-textfield>
                        </field>
                    </vn-td-editable>
                    <vn-td number>{{::balance.bankFk}}</vn-td>
                    <vn-td number expand>{{::balance.debit | currency: 'EUR':2}}</vn-td>
                    <vn-td number expand>{{::balance.credit | currency: 'EUR':2}}</vn-td>
                    <vn-td number expand>{{balance.balance | currency: 'EUR':2}}</vn-td>
                    <vn-td center shrink>
                        <vn-check
                            ng-model="balance.isConciliate"
                            disabled="true">
                        </vn-check>
                    </vn-td>
                    <vn-td center shrink>
                        <a ng-show="balance.hasPdf"
                            target="_blank"
                            href="api/InvoiceOuts/{{::balance.id}}/download?access_token={{::$ctrl.vnToken.tokenMultimedia}}">
                            <vn-icon-button
                                icon="cloud_download"
                                title="{{'Download PDF' | translate}}">
                            </vn-icon-button>
                        </a>
                    </vn-td>
                        <vn-td center shrink ng-if="balance.isCompensation">
                            <vn-icon-button
                                vn-dialog="send_compensation"
                                icon="outgoing_mail"
                                title="{{'Send compensation' | translate}}">
                            </vn-icon-button>
                        </vn-td>
                        <vn-confirm
                            vn-id="send_compensation"
                            on-accept="$ctrl.sendEmail(balance)"
                            question="Notify compensation"
                            message="Send compensation">
                        </vn-confirm>
                    </vn-tr>
                </vn-tbody>
            </vn-table>
        </vn-card>
    </vn-data-viewer>
</div>
<vn-float-button
    vn-acl="salesAssistant"
    vn-acl-action="remove"
    icon="add"
    vn-tooltip="New payment"
    vn-bind="+"
    fixed-bottom-right
    ng-click="balanceCreate.show()">
</vn-float-button>
<vn-client-balance-create
    vn-id="balance-create"
    on-accept="$ctrl.getData()"
    company-fk="$ctrl.companyId"
    client-fk="$ctrl.$params.id">
</vn-client-balance-create>
<vn-worker-descriptor-popover
    vn-id="workerDescriptor">
</vn-worker-descriptor-popover>
<vn-invoice-out-descriptor-popover
    vn-id="invoiceOutDescriptor">
</vn-invoice-out-descriptor-popover>