Estimate validation polish + PDF/TeX generation in Yavsc.Api
- List removal: GetOngoingEstimatesAsProvider filters on ProviderValidationDate so a provider's signed estimate leaves their list; PostIt refreshes the list on navigation pop-back. - Title renames: "Devis en attente de signature fournisseur/client" on both the provider and client sides (HomePage, VM, tests). - Move the estimate/bill TeX+PDF generation flow from Yavsc.Org into Yavsc.Api (TeXHelpers, PdfGenerationViewModel, BillViewComponent, Bill/Estimate templates, _ViewImports). Program.cs wires AddControllersWithViews + SiteSettings; FrontOfficeApiController injects IRazorViewEngine (cast to IViewEngine) with optional deps and exposes estimate.tex/estimate.pdf endpoints keyed by query id. - PDF generation drives through the Estimate_pdf view (side-effect render) and compiles via the system lualatex, fed TeX on stdin (no intermediate .tex), PDF to the bills dir, aux artifacts cleaned so only the .pdf persists. Resolve the bills dir to an absolute path so lualatex's -output-directory and working directory agree regardless of the host cwd (fixes "I can't write on file estimate-1.log"). - PostIt: DownloadAsync on the client + GetEstimateTex/PdfAsync; Télécharger PDF/TeX buttons on the validation and command-detail pages via a StorageProvider save helper. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
parent
70a123b840
commit
97d0584292
41 changed files with 1036 additions and 290 deletions
|
|
@ -216,14 +216,16 @@ namespace Yavsc.Controllers
|
|||
}
|
||||
|
||||
// GET: api/estimate/asprovider
|
||||
// Ongoing estimates (not yet validated by the client) established
|
||||
// by the current user as the provider.
|
||||
// Estimates awaiting the provider's signature, established by the
|
||||
// current user as the provider. Once the provider validates
|
||||
// (ProviderValidationDate stamped), the estimate leaves this list
|
||||
// and appears in the client's "awaiting client signature" list.
|
||||
[HttpGet("asprovider")]
|
||||
public IActionResult GetOngoingEstimatesAsProvider()
|
||||
{
|
||||
var uid = User.GetUserId();
|
||||
return Ok(_context.Estimates.Include(e => e.Bill).Include(e => e.Signatures)
|
||||
.Where(e => e.OwnerId == uid && e.ClientValidationDate == default));
|
||||
.Where(e => e.OwnerId == uid && e.ProviderValidationDate == default));
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
|
|
|
|||
Loading…
Reference in a new issue