feat(developers): add service URLs and onboarding guide to provisioning reply and success page
All checks were successful
Build and Deploy / deploy (push) Successful in 41s

Ticket replies now include full onboarding info (webmail, IMAP/SMTP, Mattermost, Gitea, SilverDESK URLs) instead of raw provisioning status. Confirmation success page uses clickable service links with email client config details.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-22 22:57:51 +00:00
parent 296c7fefc5
commit 44e3ad94e0
2 changed files with 79 additions and 13 deletions

View File

@@ -50,18 +50,27 @@
<h2>Accounts Activated</h2> <h2>Accounts Activated</h2>
<p>@_resultMessage</p> <p>@_resultMessage</p>
<div class="confirm-services"> <div class="confirm-services">
<div class="confirm-service-item"> <a href="https://mail.silverlined.uk" target="_blank" class="confirm-service-item confirm-service-link">
<strong>Email</strong> <strong>Email</strong>
<span>@(_username)@@silverlabs.uk</span> <span>@(_username)@@silverlabs.uk</span>
</div> </a>
<div class="confirm-service-item"> <a href="https://ops.silverlined.uk" target="_blank" class="confirm-service-item confirm-service-link">
<strong>Mattermost</strong> <strong>Mattermost</strong>
<span>Team chat & collaboration</span> <span>Team chat & collaboration</span>
</div> </a>
<div class="confirm-service-item"> <a href="https://git.silverlabs.uk" target="_blank" class="confirm-service-item confirm-service-link">
<strong>Gitea</strong> <strong>Gitea</strong>
<span>Source code repositories</span> <span>Source code repositories</span>
</div> </a>
<a href="https://silverdesk.silverlabs.uk" target="_blank" class="confirm-service-item confirm-service-link">
<strong>SilverDESK</strong>
<span>Support & tickets</span>
</a>
</div>
<div class="confirm-email-config">
<strong>Email Client Setup</strong>
<div class="confirm-email-detail"><span>IMAP:</span> mail.silverlined.uk:993 (SSL)</div>
<div class="confirm-email-detail"><span>SMTP:</span> mail.silverlined.uk:465 (SSL)</div>
</div> </div>
<p class="dev-account-note">All accounts use the same password you just entered.</p> <p class="dev-account-note">All accounts use the same password you just entered.</p>
<div class="dev-success-actions"> <div class="dev-success-actions">
@@ -167,10 +176,10 @@
.confirm-services { .confirm-services {
display: grid; display: grid;
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(4, 1fr);
gap: 1rem; gap: 1rem;
margin: 1.5rem auto; margin: 1.5rem auto;
max-width: 500px; max-width: 600px;
} }
.confirm-service-item { .confirm-service-item {
@@ -182,6 +191,17 @@
text-align: center; text-align: center;
} }
.confirm-service-link {
text-decoration: none;
border: 1px solid rgba(77, 208, 225, 0.15);
transition: background 0.2s, border-color 0.2s;
}
.confirm-service-link:hover {
background: rgba(77, 208, 225, 0.08);
border-color: rgba(77, 208, 225, 0.35);
}
.confirm-service-item strong { .confirm-service-item strong {
color: #4DD0E1; color: #4DD0E1;
font-size: 0.95rem; font-size: 0.95rem;
@@ -193,6 +213,35 @@
font-size: 0.8rem; font-size: 0.8rem;
} }
.confirm-email-config {
margin: 1rem auto;
max-width: 360px;
padding: 0.75rem 1rem;
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.06);
font-size: 0.82rem;
}
.confirm-email-config strong {
display: block;
color: rgba(255, 255, 255, 0.5);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 0.4rem;
}
.confirm-email-detail {
color: rgba(255, 255, 255, 0.6);
padding: 0.15rem 0;
}
.confirm-email-detail span {
color: rgba(255, 255, 255, 0.4);
font-size: 0.8rem;
}
@@media (max-width: 768px) { @@media (max-width: 768px) {
.confirm-user-info { .confirm-user-info {
flex-direction: column; flex-direction: column;
@@ -200,7 +249,7 @@
} }
.confirm-services { .confirm-services {
grid-template-columns: 1fr; grid-template-columns: repeat(2, 1fr);
} }
} }
</style> </style>

View File

@@ -117,18 +117,35 @@ public static class DeveloperEndpoints
// Send follow-up ticket reply with results // Send follow-up ticket reply with results
var resultContent = success var resultContent = success
? $""" ? $"""
Your accounts have been successfully provisioned: Your accounts have been successfully provisioned! Here's how to access your services:
{message} **Email**: {deployment.Username}@silverlabs.uk
- Webmail: [mail.silverlined.uk](https://mail.silverlined.uk)
- IMAP: `mail.silverlined.uk:993` (SSL)
- SMTP: `mail.silverlined.uk:465` (SSL)
You can now log in to all services with your SilverDESK credentials. **Mattermost** (Team Chat): [ops.silverlined.uk](https://ops.silverlined.uk)
**Gitea** (Source Code): [git.silverlabs.uk](https://git.silverlabs.uk)
**SilverDESK** (Support & Tickets): [silverdesk.silverlabs.uk](https://silverdesk.silverlabs.uk)
All services use the same password you entered during activation.
---
*Provisioning status: {message}*
""" """
: $""" : $"""
Account provisioning completed with some issues: Account provisioning completed with some issues:
{message} {message}
Please contact an administrator if you have trouble accessing any services. Some services may not be available yet. Please contact an administrator for assistance.
Once resolved, your services will be:
- **Email**: {deployment.Username}@silverlabs.uk — [mail.silverlined.uk](https://mail.silverlined.uk)
- **Mattermost**: [ops.silverlined.uk](https://ops.silverlined.uk)
- **Gitea**: [git.silverlabs.uk](https://git.silverlabs.uk)
"""; """;
await provisioningService.SendTicketReplyAsync(deployment.TicketId, resultContent, "close"); await provisioningService.SendTicketReplyAsync(deployment.TicketId, resultContent, "close");