You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Two bugs in the same tick path. 1. installed_on / trained_on were written only as a side effect of a status UPGRADE. The ~300 APEX-imported projects are already at 'live' -- the furthest status -- so ticking Installation or Training upgraded nothing and therefore recorded nothing, and the UI's own date writers were removed in the Client Detail redesign, leaving those columns unfillable and the Module Directory's "Installed" column blank forever. The date is now stamped whenever the step is ticked, independent of any status move: same transaction, same audit payload, still write-once (an existing date is never overwritten) and still no downgrade. A tick that changes neither status nor a date now writes nothing at all. 2. setMilestone wrote payment_id/document_id as `done ? linked : null`, so any tick that did not resend the ids cleared them. bulkSetMilestone routes through it and never passes ids (one key, many projects), so a single bulk re-tick silently cut every project's step loose from the payment or quotation it had been linked to. An already-done step now keeps the link it carries when nothing is supplied. An explicit empty id is still an unlink, and unticking still clears both. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
1 day ago | |
|---|---|---|
| .. | ||
| scripts | 1 day ago | |
| src | 1 day ago | |
| test | 1 day ago | |
| .env.example | 3 days ago | |
| build-server.mjs | 2 weeks ago | |
| package.json | 4 days ago | |
| schema.sql | 2 weeks ago | |
| tsconfig.json | 2 weeks ago | |