Commit graph yavsc/src/PostIt
Author SHA1 Message Date
064be13388 Reopen estimate: carry signature strokes on the estimate payload
Reopening an already-validated estimate showed an empty pad: the
strokes were stored server-side but never sent back. Embed them in the
estimate payload and load them straight into the pad, in the same wire
format PostIt captured — no separate fetch.

- Server: Signature inverse navs get STJ [JsonIgnore] (cycle-safe
  under System.Text.Json, matching ApplicationUser); the four estimate
  read endpoints Include(e => e.Signatures) so strokes ride the payload
- Client: EstimateDto.Signatures with EstimateSignatureDto (Strokes,
  Type=Pro/0|Client/1, CoordinateMax, CapturedAtUtc)
- PostIt: SignaturePadControl.Load(int[]) replaces the buffer and
  raises RedrawRequested; EstimateValidationPageViewModel.LoadExisting
  Signature() picks the perspective's side off the estimate and loads
  it on Attach
- Tests: server asserts GET estimate/{id} carries the strokes; PostIt
  VM tests cover load + side-by-perspective

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-21 18:03:08 +01:00
725fd0c728 Split QueryStatus.Accepted into ProAccepted/ClientAccepted
Distinguish the two parties' acceptances: ProAccepted (provider) and
ClientAccepted (client) replace the single Accepted value for new
acceptances. Accepted=2 is retained as a legacy value so existing DB rows
keep their integer mapping.

- FrontOfficeApiController.AcceptQuery sets status by ActorRole
- BillingController provider-ongoing filters match the new values
- FrontOfficeController (MVC) dashboard counts use ProAccepted||Accepted
- PostIt: IsOngoingStatus, GetStatusRank (client-accepted ranks first for
  the pro), and status-badge switches (P/C glyphs) handle the new values
- Tests assert ProAccepted (provider) vs ClientAccepted (client)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-21 17:33:32 +01:00
35c5a7f611 PostIt: validate/refuse an estimate with a signature (pro or client)
Adds the client-side ability to open an estimate from the list, draw a
signature on a reusable SignaturePadView control, and accept or reject it
against /api/v1/front/query/accept|reject. The server resolves the actor
role (provider vs client) from the caller's identity, so the same page works
for either party.

- Yavsc.Api.Client: QueryAcceptanceDto + FrontOfficeApiClient (accept/reject)
- PostIt: extract SignaturePadView UserControl from SignaturePage; new
  EstimateValidationPage (VM + view) with Valider/Refuser/Effacer/Retour;
  wire OpenEstimate entry point from EstimateListPage; register client/page
  in DI + ViewLocator
- Tests: FrontOfficeApiClient + EstimateValidationPageViewModel unit tests;
  update EstimateListPageViewModelTests ctor

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-21 17:33:18 +01:00
350dd1446d nuget referencezs updated 2026-09-20 01:53:20 +01:00
bc72d46bb3 Use AvaloniaEdit 2026-09-20 00:21:07 +01:00
2b2dca2a38 Publish, bug fix 2026-09-19 22:20:52 +01:00
5470924cdb changelog: add 1.0.8-rc15 entry
Cover the 60 commits since 1.0.8-rc14: blog attachments + Markdown
preview, the Estimate pipeline (list/edition/validation + API + EF
migrations), provider ongoing requests, file-ACL and genericEstimate
migrations, POSTIT_SETTINGS_JSON, billing filtered by user, shared
YavscMessageSender, Gitleaks CI, and the test stabilization wave.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-19 12:56:02 +01:00
289626bd89 preview the Markdown 2026-09-18 19:45:35 +01:00
f038c08276 +MarkdownViewer 2026-09-18 13:58:31 +01:00
64df506f3d corrige la création du lien 2026-09-18 12:13:00 +01:00
af5c1a3e92 BlogAttachmentLinkTests 2026-09-17 00:57:52 +01:00
4d17a39258 Supprime un faux message d'erreur 2026-09-16 19:48:13 +01:00
eb22e4a5ab Estimate lists 2026-09-15 00:19:23 +01:00
99a8707504 The Estimate is validated 2026-09-13 23:29:06 +01:00
027c0e1a03 Estimate UI 2026-09-13 18:54:27 +01:00
9550f9fe2d better and simpler UI 2026-09-13 17:51:42 +01:00
3cb98f6603 POSTIT_SETTINGS_JSON env var 2026-09-13 13:34:39 +01:00
9a77209304 got saved a RdvQuery 2026-09-13 03:09:12 +01:00
bcf36709d7 Add provider ongoing requests flow and sort persistence 2026-09-12 13:29:49 +01:00
4b2e2a1c08 fixes the tests 2026-09-11 18:37:28 +01:00
4a28bc63f9 MainPage => BlogsPage 2026-09-11 18:37:26 +01:00
15317207c6 Bad test, fix the test 2026-09-11 18:37:25 +01:00
2ee8b3dbec implements a dico 2026-09-11 12:45:13 +01:00
78721a34de user the CommandBar 2026-09-07 20:53:23 +01:00
7b4538b03a Post Files 2026-09-07 15:41:33 +01:00
cf5c2f4b39 code reorg 2026-09-07 14:39:53 +01:00
92aa68c03c code reorg 2026-09-07 10:30:45 +01:00
1ec7c7a75a postit: add billing query details page and refresh rc14 changelog
All checks were successful
Forgejo Release / release (push) Successful in 4m39s
2026-09-06 20:31:42 +01:00
bf569a4ac5 postit: fix rdv date picker binding 2026-09-06 17:42:46 +01:00
92e82edf72 postit-tests: cover rdv suggested address panel 2026-09-06 17:31:41 +01:00
52be2e6066 postit: tolerate nearby rdv map cache hits 2026-09-06 17:25:10 +01:00
0975db38b3 postit: cache rdv reverse geocoding results 2026-09-06 17:22:35 +01:00
0c0a401f18 postit: debounce rdv reverse geocoding 2026-09-06 17:19:21 +01:00
1c4a079d60 postit: preserve manual rdv address with map suggestion 2026-09-06 17:16:14 +01:00
4010defde7 postit: reverse geocode rdv map selections 2026-09-06 17:13:31 +01:00
389cd050da postit: add rdv map marker and recenter action 2026-09-06 17:05:18 +01:00
2ede36cb8f postit: add mapsui location picker to rdv form 2026-09-06 16:58:39 +01:00
3488abc7fd postit-tests: lock first-load settings regression 2026-09-06 16:32:59 +01:00
66614ef2e1 postit: ignore runtime status in settings json 2026-09-06 16:24:46 +01:00
148a3aa271 postit: harden oidc settings defaults on startup 2026-09-06 16:20:17 +01:00
5d94270fd8 postit: harmonize main status messages in french 2026-09-06 15:47:01 +01:00
37d6551a23 postit: replace inferred status severity with explicit setters 2026-09-06 15:45:24 +01:00
3e37a857c5 postit: guard app navigation paths in circle member flows 2026-09-06 15:22:50 +01:00
285996ac1a postit: extend shared status bar to main, dialogs and billing flows 2026-09-06 15:21:22 +01:00
4f26f14e56 postit: unify action status bar with severity across settings/activities/circles/rdv 2026-09-06 14:52:50 +01:00
bff7cff59f postit: persist settings save and apply ApiUrl changes without restart
All checks were successful
Forgejo Release / release (push) Successful in 11m52s
2026-09-06 14:17:40 +01:00
daf766d762 prepare 1.0.8-rc12: avatar loading, authority binding, and command header 2026-09-04 21:56:04 +01:00
a680ce533b render the avatar upload status 2026-09-04 20:28:54 +01:00
c4f65f664b setup the avatar 2026-09-04 20:25:06 +01:00
d5d1f686f3 code spaces 2026-09-04 15:02:11 +01:00