cmc-sales/go/templates/enquiries/show.html

326 lines
15 KiB
HTML

{{define "title"}}Enquiry: {{.Enquiry.Title}} - CMC Sales{{end}}
{{define "content"}}
<!-- Header -->
<div class="level">
<div class="level-left">
<div class="level-item">
<h1 class="title">Enquiry: {{.Enquiry.Title}}</h1>
</div>
</div>
<div class="level-right">
<div class="level-item">
<div class="buttons">
<a href="/enquiries/{{.Enquiry.ID}}/edit" class="button is-warning">
<span class="icon">
<i class="fas fa-edit"></i>
</span>
<span>Edit</span>
</a>
<a href="/enquiries" class="button is-light">
<span class="icon">
<i class="fas fa-arrow-left"></i>
</span>
<span>Back to List</span>
</a>
</div>
</div>
</div>
</div>
<div class="columns">
<!-- Main Enquiry Details -->
<div class="column is-8">
<div class="card">
<header class="card-header">
<p class="card-header-title">Enquiry Details</p>
</header>
<div class="card-content">
<div class="content">
<div class="columns">
<div class="column">
<table class="table is-fullwidth">
<tbody>
<tr>
<td><strong>Enquiry Number:</strong></td>
<td>{{.Enquiry.Title}}</td>
</tr>
<tr>
<td><strong>Created:</strong></td>
<td>{{.Enquiry.Created.Format "2 Jan 2006 15:04"}}</td>
</tr>
{{if .Enquiry.Submitted.Valid}}
<tr>
<td><strong>Submitted:</strong></td>
<td>{{.Enquiry.Submitted.Time.Format "2 Jan 2006"}}</td>
</tr>
{{end}}
<tr>
<td><strong>Sales Rep:</strong></td>
<td>
{{if and .Enquiry.UserFirstName.Valid .Enquiry.UserLastName.Valid}}
<a href="/users/{{.Enquiry.UserID}}">
{{.Enquiry.UserFirstName.String}} {{.Enquiry.UserLastName.String}}
</a>
{{else}}
-
{{end}}
</td>
</tr>
<tr>
<td><strong>Status:</strong></td>
<td>
<span class="tag is-info">
{{if .Enquiry.StatusName.Valid}}
{{.Enquiry.StatusName.String}}
{{else}}
Unknown
{{end}}
</span>
</td>
</tr>
<tr>
<td><strong>Posted:</strong></td>
<td>
{{if .Enquiry.Posted}}
<span class="tag is-success">Yes</span>
{{else}}
<span class="tag is-warning">No</span>
{{end}}
</td>
</tr>
<tr>
<td><strong>GST:</strong></td>
<td>
{{if .Enquiry.Gst}}
<span class="tag is-success">Applicable</span>
{{else}}
<span class="tag is-light">Not Applicable</span>
{{end}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
{{if .Enquiry.Comments}}
<div class="field">
<label class="label">Comments</label>
<div class="content">
<p style="white-space: pre-wrap;">{{.Enquiry.Comments}}</p>
</div>
</div>
{{end}}
</div>
</div>
</div>
<!-- Related Documents -->
<div class="card mt-5">
<header class="card-header">
<p class="card-header-title">Related Documents</p>
</header>
<div class="card-content">
<div class="content">
<div class="columns">
<div class="column">
<h6 class="subtitle is-6">Quick Stats</h6>
<div class="tags">
<span class="tag">{{.Enquiry.EmailCount}} Emails</span>
<span class="tag">{{.Enquiry.QuoteCount}} Quotes</span>
<span class="tag">{{.Enquiry.InvoiceCount}} Invoices</span>
<span class="tag">{{.Enquiry.JobCount}} Jobs</span>
</div>
</div>
</div>
<!-- Placeholder for related documents - would need additional queries -->
<div class="notification is-light">
<p><strong>Note:</strong> Related quotes, invoices, jobs, and email correspondence would be displayed here. These require additional database queries and relationships to be implemented.</p>
</div>
</div>
</div>
</div>
</div>
<!-- Sidebar -->
<div class="column is-4">
<!-- Customer Information -->
<div class="card">
<header class="card-header">
<p class="card-header-title">Customer</p>
</header>
<div class="card-content">
<div class="content">
{{if .Enquiry.CustomerName.Valid}}
<h6 class="subtitle is-6">
<a href="/customers/{{.Enquiry.CustomerID}}">{{.Enquiry.CustomerName.String}}</a>
</h6>
{{end}}
<table class="table is-fullwidth">
<tbody>
<tr>
<td><strong>Contact:</strong></td>
<td>
{{if and .Enquiry.ContactFirstName.Valid .Enquiry.ContactLastName.Valid}}
<a href="/users/{{.Enquiry.ContactUserID}}">
{{.Enquiry.ContactFirstName.String}} {{.Enquiry.ContactLastName.String}}
</a>
{{else}}
-
{{end}}
</td>
</tr>
{{if .Enquiry.ContactEmail.Valid}}
<tr>
<td><strong>Email:</strong></td>
<td>
<a href="mailto:{{.Enquiry.ContactEmail.String}}?subject={{.Enquiry.Title}}&bcc=carpis@cmctechnologies.com.au">
{{.Enquiry.ContactEmail.String}}
</a>
</td>
</tr>
{{end}}
<tr>
<td><strong>Phone:</strong></td>
<td>
{{if .Enquiry.ContactMobile.Valid}}
{{.Enquiry.ContactMobile.String}}
{{else if .Enquiry.ContactDirectPhone.Valid}}
{{.Enquiry.ContactDirectPhone.String}}
{{else if .Enquiry.ContactPhone.Valid}}
{{.Enquiry.ContactPhone.String}}
{{if .Enquiry.ContactPhoneExtension.Valid}}
ext:{{.Enquiry.ContactPhoneExtension.String}}
{{end}}
{{else}}
-
{{end}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- Principle Information -->
<div class="card mt-4">
<header class="card-header">
<p class="card-header-title">Principle (Supplier)</p>
</header>
<div class="card-content">
<div class="content">
{{if .Enquiry.PrincipleName.Valid}}
<h6 class="subtitle is-6">
<a href="/principles/{{.Enquiry.PrincipleID}}">
{{if .Enquiry.PrincipleShortName.Valid}}
{{.Enquiry.PrincipleShortName.String}}
{{else}}
{{.Enquiry.PrincipleName.String}}
{{end}}
</a>
</h6>
{{if and .Enquiry.PrincipleShortName.Valid .Enquiry.PrincipleName.Valid}}
<p class="is-size-7">{{.Enquiry.PrincipleName.String}}</p>
{{end}}
<p class="is-size-7">Code: {{.Enquiry.PrincipleCode}}</p>
{{end}}
</div>
</div>
</div>
<!-- Location Information -->
<div class="card mt-4">
<header class="card-header">
<p class="card-header-title">Location</p>
</header>
<div class="card-content">
<div class="content">
<table class="table is-fullwidth">
<tbody>
<tr>
<td><strong>State:</strong></td>
<td>
{{if .Enquiry.StateName.Valid}}
{{.Enquiry.StateName.String}}
{{else}}
-
{{end}}
</td>
</tr>
<tr>
<td><strong>Country:</strong></td>
<td>
{{if .Enquiry.CountryName.Valid}}
{{.Enquiry.CountryName.String}}
{{else}}
-
{{end}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- Actions -->
<div class="card mt-4">
<header class="card-header">
<p class="card-header-title">Actions</p>
</header>
<div class="card-content">
<div class="content">
<div class="buttons">
{{if not .Enquiry.Submitted.Valid}}
<button
class="button is-success is-fullwidth"
hx-put="/api/v1/enquiries/{{.Enquiry.ID}}/mark-submitted"
hx-confirm="Mark this enquiry as submitted today?"
hx-target="#main-content"
hx-swap="outerHTML">
Mark as Submitted
</button>
{{end}}
{{if .Enquiry.Archived}}
<button
class="button is-info is-fullwidth"
hx-put="/api/v1/enquiries/{{.Enquiry.ID}}/undelete"
hx-confirm="Undelete this enquiry?"
hx-target="#main-content"
hx-swap="outerHTML">
Undelete Enquiry
</button>
{{else}}
<button
class="button is-danger is-fullwidth"
hx-delete="/api/v1/enquiries/{{.Enquiry.ID}}"
hx-confirm="Are you sure you want to delete this enquiry?"
hx-target="#main-content"
hx-swap="outerHTML">
Delete Enquiry
</button>
{{end}}
</div>
</div>
</div>
</div>
</div>
</div>
{{end}}
{{define "scripts"}}
<script>
// Handle action responses
document.addEventListener('htmx:afterSwap', function(evt) {
if (evt.detail.xhr.status === 204) {
// For delete/undelete actions, redirect to enquiries list
window.location.href = '/enquiries';
}
});
</script>
{{end}}