{% extends "./layout/default" %}

{% block breadcrumbs %}
    {{ Breadcrumbs.renderIfExists(Route.getCurrentRoute.getName, journal) }}
{% endblock %}

{% block content %}
    <form method="POST" action="{{ route('transactions.update',journal.id) }}" accept-charset="UTF-8" class="form-horizontal" id="update"
          enctype="multipart/form-data">

        <input name="_token" type="hidden" value="{{ csrf_token() }}">
        <input type="hidden" name="id" value="{{ journal.id }}"/>
        <input type="hidden" name="what" value="{{ what }}"/>

        {% if errors.all|length > 0 %}
            <div class="row">
                <div class="col-lg-12">
                    <h3 class="text-danger">{{ 'errors'|_ }}</h3>
                    <ul>
                        {% for err in errors.all %}
                            <li class="text-danger">{{ err }}</li>
                        {% endfor %}
                    </ul>
                </div>
            </div>
        {% endif %}


        <div class="row">
            <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
                <div class="box box-primary">
                    <div class="box-header with-border">
                        <h3 class="box-title">{{ 'mandatoryFields'|_ }}</h3>
                    </div>
                    <div class="box-body">
                        {# ALWAYS AVAILABLE #}
                        {{ ExpandedForm.text('description',journal.description) }}

                        {# SELECTABLE SOURCE ACCOUNT ONLY FOR WITHDRAWALS AND TRANSFERS #}
                        {% if what == 'transfer' or what == 'withdrawal' %}
                            {{ ExpandedForm.select('source_account_id',assetAccounts, data.source_account_id, {label: trans('form.asset_source_account')}) }}
                        {% endif %}

                        {# FREE FORMAT SOURCE ACCOUNT ONLY FOR DEPOSITS #}
                        {% if what == 'deposit' %}
                            {{ ExpandedForm.text('source_account_name',data.source_account_name, {label: trans('form.revenue_account')}) }}
                        {% endif %}

                        {# FREE FORMAT DESTINATION ACCOUNT ONLY FOR EXPENSES #}
                        {% if what == 'withdrawal' %}
                            {{ ExpandedForm.text('destination_account_name',data.destination_account_name, {label: trans('form.expense_account')}) }}
                        {% endif %}

                        {# SELECTABLE DESTINATION ACCOUNT ONLY FOR TRANSFERS AND DEPOSITS #}
                        {% if what == 'transfer' or what == 'deposit' %}
                            {{ ExpandedForm.select('destination_account_id',assetAccounts, data.destination_account_id, {label: trans('form.asset_destination_account')} ) }}
                        {% endif %}

                        {# ALWAYS SHOW AMOUNT #}
                        {{ ExpandedForm.amount('amount',data.amount, {'currency' : data.currency}) }}

                        {# INSTRUCTIONS FOR EXCHANGE RATES #}
                        {{ ExpandedForm.staticText('exchange_rate_instruction','(here be text)') }}

                        {{ ExpandedForm.nonSelectableAmount('native_amount', data.native_amount, {currency: data.native_currency}) }}

                        {{ ExpandedForm.nonSelectableAmount('source_amount', data.source_amount, {currency: data.source_currency }) }}

                        {{ ExpandedForm.nonSelectableAmount('destination_amount', data.destination_amount, {currency: data.destination_currency }) }}

                        {# ALWAYS SHOW DATE #}
                        {{ ExpandedForm.date('date',data['date']) }}
                    </div>
                </div>

            </div>
            <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
                <div class="box">
                    <div class="box-header with-border">
                        <h3 class="box-title">{{ 'optionalFields'|_ }}</h3>
                    </div>
                    <div class="box-body">
                        <!-- BUDGET ONLY WHEN CREATING A WITHDRAWAL -->
                        {% if what == 'withdrawal' %}
                            {{ ExpandedForm.select('budget_id',budgetList,data['budget_id']) }}
                        {% endif %}

                        <!-- CATEGORY ALWAYS -->
                        {{ ExpandedForm.text('category',data['category']) }}

                        <!-- TAGS -->
                        {{ ExpandedForm.text('tags') }}

                        {# NO PIGGY BANK #}
                    </div>
                </div>


                <!-- explain if necessary -->
                {% if
                not optionalFields.interest_date or
                not optionalFields.book_date or
                not optionalFields.process_date or
                not optionalFields.due_date or
                not optionalFields.payment_date or
                not optionalFields.invoice_date or
                not optionalFields.internal_reference or
                not optionalFields.notes or
                not optionalFields.attachments %}
                    <p class="text-center text-success"><i class="fa fa-info-circle" aria-hidden="true"></i>
                        <em>{{ trans('firefly.hidden_fields_preferences', {link: route('preferences.index')})|raw }}</em></p>
                {% endif %}


                <!-- box for dates -->
                {% if
                optionalFields.interest_date or
                optionalFields.book_date or
                optionalFields.process_date or
                optionalFields.due_date or
                optionalFields.payment_date or
                optionalFields.invoice_date or
                data.interest_date or
                data.book_date or
                data.process_date or
                data.due_date or
                data.payment_date %}
                    <div class="box">
                        <div class="box-header with-border">
                            <h3 class="box-title">{{ 'optional_field_meta_dates'|_ }}</h3>
                        </div>
                        <div class="box-body">

                            {% if optionalFields.interest_date or data['interest_date'] %}
                                <!-- INTEREST DATE -->
                                {{ ExpandedForm.date('interest_date',data['interest_date']) }}
                            {% endif %}

                            {% if optionalFields.book_date or data['book_date'] %}
                                <!-- BOOK DATE -->
                                {{ ExpandedForm.date('book_date',data['book_date']) }}
                            {% endif %}

                            {% if optionalFields.process_date or data['process_date'] %}
                                <!-- PROCESSING DATE -->
                                {{ ExpandedForm.date('process_date',data['process_date']) }}
                            {% endif %}

                            {% if optionalFields.due_date or data['due_date'] %}
                                <!-- DUE DATE -->
                                {{ ExpandedForm.date('due_date',data['due_date']) }}
                            {% endif %}

                            {% if optionalFields.payment_date or data['payment_date'] %}
                                <!-- PAYMENT DATE -->
                                {{ ExpandedForm.date('payment_date',data['payment_date']) }}
                            {% endif %}

                            {% if optionalFields.invoice_date or data['invoice_date'] %}
                                <!-- INVOICE DATE -->
                                {{ ExpandedForm.date('invoice_date',data['invoice_date']) }}
                            {% endif %}

                        </div>
                    </div>
                {% endif %}


                <!-- box for business fields -->
                {% if
                optionalFields.internal_reference or
                optionalFields.notes or
                data['interal_reference'] or
                data['notes'] %}
                    <div class="box">
                        <div class="box-header with-border">
                            <h3 class="box-title">{{ 'optional_field_meta_business'|_ }}</h3>
                        </div>
                        <div class="box-body">
                            {% if optionalFields.internal_reference or data['interal_reference'] %}
                                <!-- REFERENCE -->
                                {{ ExpandedForm.text('internal_reference', data['interal_reference']) }}
                            {% endif %}

                            {% if optionalFields.notes or data['notes'] %}
                                <!-- NOTES -->
                                {{ ExpandedForm.textarea('notes', data['notes']) }}
                            {% endif %}

                        </div>
                    </div>
                {% endif %}

                <!-- box for attachments -->
                {% if optionalFields.attachments %}
                    <div class="box">
                        <div class="box-header with-border">
                            <h3 class="box-title">{{ 'optional_field_attachments'|_ }}</h3>
                        </div>
                        <div class="box-body">
                            {% if optionalFields.attachments %}
                                <!-- ATTACHMENTS -->
                                {{ ExpandedForm.file('attachments[]', {'multiple': 'multiple','helpText': trans('firefly.upload_max_file_size', {'size': uploadSize|filesize}) }) }}
                            {% endif %}
                        </div>
                    </div>
                {% endif %}

                <!-- panel for options -->
                <div class="box">
                    <div class="box-header with-border">
                        <h3 class="box-title">{{ 'options'|_ }}</h3>
                    </div>
                    <div class="box-body">
                        {{ ExpandedForm.optionsList('update','transaction') }}

                        <div class="form-group" id="do_split_holder">
                            <label for="ffInput_do_split" class="col-sm-4 control-label">{{ 'do_split'|_ }}</label>

                            <div class="col-sm-8">
                                <p class="form-control-static">
                                    <a href="{{ route('transactions.split.edit', journal.id) }}">{{ ('split_this_'~what)|_ }}</a>
                                </p>
                            </div>
                        </div>
                    </div>
                    <div class="box-footer">
                        <button type="submit" class="pull-right btn btn-success">{{ ('update_' ~ what)|_ }}</button>
                    </div>
                </div>
            </div>
        </div>

    </form>


{% endblock %}
{% block scripts %}
    <script type="text/javascript">
        var what = "{{ what }}";
    </script>
    <script type="text/javascript" src="js/lib/bootstrap3-typeahead.min.js"></script>
    <script type="text/javascript" src="js/lib/bootstrap-tagsinput.min.js"></script>
    <script type="text/javascript" src="js/lib/jquery-ui.min.js"></script>
    <script type="text/javascript" src="js/lib/modernizr-custom.js"></script>
    <script type="text/javascript" src="javascript/accounts?ext=.js"></script>
    <script type="text/javascript" src="javascript/currencies?ext=.js"></script>
    <script type="text/javascript">
        var journal = {{ journal.toArray()|json_encode|raw }};
        var journalData = {{ data|json_encode|raw }};
        var exchangeRateInstructions = "{{ 'exchange_rate_instructions'|_|escape('js') }}";
        var transferInstructions = "{{ 'transfer_exchange_rate_instructions'|_|escape('js') }}";
    </script>
    <script type="text/javascript" src="js/ff/transactions/single/common.js"></script>
    <script type="text/javascript" src="js/ff/transactions/single/edit.js"></script>

{% endblock %}
{% block styles %}
    <link href="css/bootstrap-tagsinput.css" type="text/css" rel="stylesheet" media="all">
    <link href="css/jquery-ui/jquery-ui.structure.min.css" type="text/css" rel="stylesheet" media="all">
    <link href="css/jquery-ui/jquery-ui.theme.min.css" type="text/css" rel="stylesheet" media="all">
{% endblock %}
