Add passkey prompt dismissal and consolidate company admin navigation
- Add "Don't ask me again" to passkey enrollment prompt (PasskeyPromptDismissed field on ApplicationUser; DismissPrompt POST action; migration applied) - Add Subscription & Features button to Companies/Index btn-group and Companies/Edit header for direct navigation to SubscriptionManagement/Manage - Add Edit Company back-link on SubscriptionManagement/Manage - Remove duplicate AI Features section from Companies/Edit (managed exclusively via Subscription & Features page) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,10 +10,14 @@
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-10">
|
||||
<div class="d-flex justify-content-end mb-4">
|
||||
<div class="d-flex justify-content-between mb-4">
|
||||
<a asp-action="Index" class="btn btn-outline-secondary">
|
||||
<i class="bi bi-arrow-left me-1"></i>Back to List
|
||||
</a>
|
||||
<a asp-controller="SubscriptionManagement" asp-action="Manage" asp-route-id="@Model.Id"
|
||||
class="btn btn-outline-info">
|
||||
<i class="bi bi-credit-card me-1"></i>Subscription & Features
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="card shadow-sm">
|
||||
@@ -145,37 +149,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="card-title mb-3 pb-2 border-bottom">AI Features</h5>
|
||||
<p class="text-muted small mb-3">Control which AI-powered features are available to this company and set monthly usage limits.</p>
|
||||
<div class="row g-3 mb-4">
|
||||
<div class="col-md-4">
|
||||
<div class="form-check form-switch">
|
||||
<input asp-for="AiPhotoQuotesEnabled" class="form-check-input" type="checkbox" />
|
||||
<label asp-for="AiPhotoQuotesEnabled" class="form-check-label fw-medium">AI Photo Quotes</label>
|
||||
</div>
|
||||
<div class="form-text">Allow this company to use photo-based AI quoting.</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-check form-switch">
|
||||
<input asp-for="AiInventoryAssistEnabled" class="form-check-input" type="checkbox" />
|
||||
<label asp-for="AiInventoryAssistEnabled" class="form-check-label fw-medium">AI Inventory Assist</label>
|
||||
</div>
|
||||
<div class="form-text">Allow this company to use AI lookup on inventory items.</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-check form-switch">
|
||||
<input asp-for="AiCatalogPriceCheckEnabled" class="form-check-input" type="checkbox" />
|
||||
<label asp-for="AiCatalogPriceCheckEnabled" class="form-check-label fw-medium">AI Catalog Price Check</label>
|
||||
</div>
|
||||
<div class="form-text">Override: grants access regardless of plan tier.</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label asp-for="MaxAiPhotoQuotesPerMonthOverride" class="form-label">Monthly AI Quote Limit Override</label>
|
||||
<input asp-for="MaxAiPhotoQuotesPerMonthOverride" type="number" class="form-control" min="-1" placeholder="Leave blank to use plan default" />
|
||||
<div class="form-text">-1 = unlimited. 0 = disabled. Blank = use subscription plan default.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2 justify-content-end">
|
||||
<a asp-action="Index" class="btn btn-secondary">Cancel</a>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
|
||||
@@ -184,6 +184,10 @@
|
||||
class="btn btn-outline-secondary" title="Edit">
|
||||
<i class="bi bi-pencil"></i>
|
||||
</a>
|
||||
<a asp-controller="SubscriptionManagement" asp-action="Manage" asp-route-id="@company.Id"
|
||||
class="btn btn-outline-info" title="Manage Subscription & Features">
|
||||
<i class="bi bi-credit-card"></i>
|
||||
</a>
|
||||
<form asp-action="ToggleActive" asp-route-id="@company.Id"
|
||||
method="post" class="d-inline">
|
||||
@Html.AntiForgeryToken()
|
||||
|
||||
Reference in New Issue
Block a user