100 lines
4.8 KiB
Plaintext
100 lines
4.8 KiB
Plaintext
@model ProjectDetailViewModel
|
|
@{
|
|
ViewData["Title"] = Model.Project.ProjectName;
|
|
ViewData["ProjectSection"] = "Overview";
|
|
}
|
|
|
|
<nav class="breadcrumb-trail" aria-label="Breadcrumb">
|
|
<a asp-controller="Projects" asp-action="Index">Projects</a>
|
|
<span>@Model.Project.ProjectName</span>
|
|
</nav>
|
|
|
|
<partial name="_ProjectSectionNav" model="Model.Project" />
|
|
|
|
<div class="page-heading pw-page-heading">
|
|
<div>
|
|
<p class="eyebrow">Project / Series</p>
|
|
<h1>@Model.Project.ProjectName <help-icon key="projectDashboard.overview" /></h1>
|
|
@if (!string.IsNullOrWhiteSpace(Model.Project.Description))
|
|
{
|
|
<p class="lead-text">@Model.Project.Description</p>
|
|
}
|
|
</div>
|
|
<div class="button-row">
|
|
<a class="btn btn-outline-secondary" asp-action="Edit" asp-route-id="@Model.Project.ProjectID">Edit project</a>
|
|
<a class="btn btn-primary" asp-controller="Books" asp-action="Create" asp-route-projectId="@Model.Project.ProjectID">Add book</a>
|
|
<div class="dropdown pw-actions">
|
|
<button class="btn pw-actions__toggle dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
Actions
|
|
</button>
|
|
<div class="dropdown-menu dropdown-menu-end">
|
|
<a class="dropdown-item" asp-action="Activity" asp-route-id="@Model.Project.ProjectID">Activity</a>
|
|
@if (Model.Project.IsOwner)
|
|
{
|
|
<a class="dropdown-item" asp-controller="ProjectCollaborators" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Collaborators</a>
|
|
}
|
|
@if (Model.Project.IsOwner)
|
|
{
|
|
<a class="dropdown-item" asp-controller="Exports" asp-action="ProjectBackup" asp-route-projectId="@Model.Project.ProjectID">Download Project Backup</a>
|
|
}
|
|
<a class="dropdown-item" asp-controller="ProjectRestorePoints" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Restore Points</a>
|
|
<a class="dropdown-item" asp-controller="Acceptance" asp-action="Phase1" asp-route-projectId="@Model.Project.ProjectID">Phase 1 Checklist</a>
|
|
@if (Model.Project.IsOwner)
|
|
{
|
|
<div class="dropdown-divider"></div>
|
|
<form asp-action="Archive" method="post" class="archive-button-form" data-confirm-message="Archive this project? Archived projects are hidden from your active workspace but remain stored within PlotDirector. Export your project first if you wish to maintain an external backup.">
|
|
<input type="hidden" name="id" value="@Model.Project.ProjectID" />
|
|
<button class="dropdown-item text-danger" type="submit">Archive Project</button>
|
|
</form>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@if (TempData["ProjectExportMessage"] is string projectExportMessage)
|
|
{
|
|
<div class="alert alert-warning">@projectExportMessage</div>
|
|
}
|
|
|
|
<section class="list-section">
|
|
<h2>Books <help-icon key="projects.books" /></h2>
|
|
@if (!Model.Books.Any())
|
|
{
|
|
<p class="muted">No books yet. Add the first book to begin the hierarchy.</p>
|
|
}
|
|
else
|
|
{
|
|
<div class="table-responsive">
|
|
<table class="table align-middle">
|
|
<thead>
|
|
<tr>
|
|
<th>Order</th>
|
|
<th>Book</th>
|
|
<th>Description</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var book in Model.Books)
|
|
{
|
|
<tr>
|
|
<td class="narrow">@book.BookNumber</td>
|
|
<td><a asp-controller="Books" asp-action="Details" asp-route-id="@book.BookID">@book.BookTitle</a></td>
|
|
<td>@book.Description</td>
|
|
<td class="text-end">
|
|
<a class="btn btn-outline-secondary btn-sm" asp-controller="Books" asp-action="Edit" asp-route-id="@book.BookID">Edit</a>
|
|
<form asp-controller="Books" asp-action="Archive" method="post" class="archive-button-form" data-confirm-message="Archive this book? This will hide it from active lists and timelines, but the data will be kept and can be restored later.">
|
|
<input type="hidden" name="id" value="@book.BookID" />
|
|
<input type="hidden" name="projectId" value="@Model.Project.ProjectID" />
|
|
<button class="btn btn-outline-danger btn-sm" type="submit">Archive</button>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
}
|
|
</section>
|