Add spreadsheet-style home page, migrate full 2026 ledger

- New /lignes route (set as site front page): full line-by-line table of
  every ligne comptable, Vue app with filters (compte/client/type/année)
  and month/year grouping, columns matching the original spreadsheet
  (one per compte). Rows with répartition ≠ montant HT are visibly
  flagged (red row + écart column), not hidden or auto-corrected.
- /dashboard now only holds the aggregate solde-par-compte/par-client view
- Migrated all 199 real 2026 transaction lines + 9 opening balances (from
  REPORT CLOTURE 2025) via a drush import script, preserving raw source
  data (known répartition mismatches included) -- validated with a new
  state-flag bypass of the presave check, used only for historical import
- Added "Autre" as an allowed field_type_ligne value for edge-case rows
- Client taxonomy grew from 15 seeded terms to the full unified list

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-03 22:52:00 +02:00
co-authored by Claude Sonnet 5
parent ca800be21a
commit 10f6271fec
12 changed files with 496 additions and 61 deletions
@@ -5,12 +5,27 @@ namespace Drupal\figli_compta_ledger\Controller;
use Drupal\Core\Controller\ControllerBase;
/**
* Renders the JS-driven ledger dashboard (progressive decoupling: Drupal
* serves the page shell + auth via the session cookie, dashboard.js fetches
* JSON:API and does all the aggregation client-side).
* Renders the JS-driven pages (progressive decoupling: Drupal serves the
* page shell + auth via the session cookie, the JS fetches JSON:API and
* does all the aggregation/rendering client-side).
*/
class DashboardController extends ControllerBase {
/**
* Home page: spreadsheet-like line-by-line view of every ligne comptable.
*/
public function home() {
return [
'#theme' => 'figli_compta_home',
'#attached' => [
'library' => ['figli_compta_ledger/home'],
],
];
}
/**
* Secondary page: aggregate solde par compte / par client.
*/
public function view() {
return [
'#theme' => 'figli_compta_dashboard',