{{ define "title" -}}
    {{ .Number | printf ( pgettext "Quotation %s" "title" )}}
{{- end }}

{{ define "breadcrumbs" -}}
    {{- /*gotype: dev.tandem.ws/tandem/numerus/pkg.quote*/ -}}
    <nav>
        <p data-hx-target="main" data-hx-boost="true">
            <a href="{{ companyURI "/" }}">{{( pgettext "Home" "title" )}}</a> /
            <a href="{{ companyURI "/quotes"}}">{{( pgettext "Quotations" "title" )}}</a> /
            <a>{{ .Number }}</a>
        </p>
        <p>
            <a class="button primary"
               data-hx-target="main" data-hx-boost="true"
               href="{{ companyURI "/invoices/new"}}?quote={{ .Slug }}">{{( pgettext "Create invoice" "action" )}}</a>
            <a class="button primary"
               data-hx-target="main" data-hx-boost="true"
               href="{{ companyURI "/quotes/new"}}?duplicate={{ .Slug }}">{{( pgettext "Duplicate" "action" )}}</a>
            <a class="button primary"
               data-hx-target="main" data-hx-boost="true"
               href="{{ companyURI "/quotes/"}}{{ .Slug }}/edit">{{( pgettext "Edit" "action" )}}</a>
            <a class="primary button"
               href="{{ companyURI "/quotes/" }}{{ .Slug }}.pdf"
               download="{{ .Number}}.pdf">{{( pgettext "Download quotation" "action" )}}</a>
        </p>
    </nav>
{{- end }}

{{ define "content" }}
    {{- /*gotype: dev.tandem.ws/tandem/numerus/pkg.quote*/ -}}
    <link rel="stylesheet" type="text/css" href="/static/invoice.css">
    <article class="invoice">
        <header>
            <div>
                <h1>{{ .Number | printf ( pgettext "Quotation %s" "title" )}}</h1>
                <p class="date">{{( pgettext "Date" "title" )}} {{ .Date | formatDate }}</p>
            </div>

            <address class="quoter">
                {{ .Quoter.Name }}<br>
                {{ .Quoter.VATIN }}<br>
                {{ .Quoter.Address }}<br>
                {{ .Quoter.City }} ({{ .Quoter.PostalCode}}), {{ .Quoter.Province }}<br>
                {{ .Quoter.Email }}<br>
                {{ .Quoter.Phone }}<br>
            </address>

            <p class="legal">{{ .LegalDisclaimer }}</p>
        </header>

        <div>
            {{ if .HasQuotee -}}
            <address class="quotee">
                {{ .Quotee.Name }}<br>
                {{ .Quotee.VATIN }}<br>
                {{ .Quotee.Address }}<br>
                {{ .Quotee.City }} ({{ .Quotee.PostalCode}}), {{ .Quotee.Province }}<br>
            </address>
            {{- end }}

            {{ if .TermsAndConditions -}}
                <p class="terms_and_conditions">{{(gettext "Terms and Conditions:")}} {{ .TermsAndConditions }}</p>
            {{- end }}
            
            {{- $columns := 5 | add (len .TaxClasses) | add (boolToInt .HasDiscounts) -}}
            <table>
                <thead>
                <tr>
                    <th>{{( pgettext "Concept" "title" )}}</th>
                    <th class="numeric">{{( pgettext "Price" "title" )}}</th>
                    {{ if .HasDiscounts -}}
                        <th class="numeric">{{( pgettext "Discount" "title" )}}</th>
                    {{ end -}}
                    <th class="numeric">{{( pgettext "Units" "title" )}}</th>
                    <th class="numeric">{{( pgettext "Subtotal" "title" )}}</th>
                    {{ range $class := .TaxClasses -}}
                        <th class="numeric">{{ . }}</th>
                    {{ end -}}
                    <th class="numeric">{{( pgettext "Total" "title" )}}</th>
                </tr>
                </thead>
                {{ $lastIndex := len .Products | sub 1 }}
                {{ range $index, $product := .Products -}}
                    <tbody>
                    {{- if .Description }}
                        <tr class="name">
                            <td colspan="{{ $columns }}">{{ .Name }}</td>
                        </tr>
                    {{ end -}}
                    <tr>
                        {{- if .Description }}
                            <td>{{ .Description }}</td>
                        {{- else }}
                            <td>{{ .Name }}</td>
                        {{- end -}}
                        <td class="numeric">{{ .Price | formatPrice }}</td>
                        {{ if $.HasDiscounts -}}
                            <td class="numeric">{{ $product.Discount | formatPercent }}</td>
                        {{ end -}}
                        <td class="numeric">{{ .Quantity }}</td>
                        <td class="numeric">{{ .Subtotal | formatPrice }}</td>
                        {{ range $class := $.TaxClasses -}}
                            <td class="numeric">{{ index $product.Taxes $class | formatPercent }}</td>
                        {{ end -}}
                        <td class="numeric">{{ .Total | formatPrice }}</td>
                    </tr>
                    {{ if (eq $index $lastIndex) }}
                        <tr class="tfoot separator">
                            <th scope="row" colspan="{{ $columns | sub 1 }}">{{( pgettext "Tax Base" "title" )}}</th>
                            <td class="numeric">{{ $.Subtotal | formatPrice }}</td>
                        </tr>
                        {{ range $tax := $.Taxes -}}
                            <tr class="tfoot">
                                <th scope="row" colspan="{{ $columns | sub 1 }}">{{ index . 0 }}</th>
                                <td class="numeric">{{ index . 1 | formatPrice }}</td>
                            </tr>
                        {{- end }}
                        <tr class="tfoot">
                            <th scope="row" colspan="{{ $columns | sub 1 }}">{{( pgettext "Total" "title" )}}</th>
                            <td class="numeric">{{ $.Total | formatPrice }}</td>
                        </tr>
                    {{ end }}
                    </tbody>
                {{- end }}
            </table>

            {{ if .Notes -}}
                <p class="notes">{{ .Notes }}</p>
            {{- end }}
            <p class="payment-instructions">{{ .PaymentInstructions }}</p>

        </div>
    </article>
{{- end}}
