Issue #3614378: Rename the category entities to tariff, because to a buyer a category is a seat grade

Mechanical rename, no behaviour change. See the issue for why.

  • yoyaku_category becomes yoyaku_tariff
  • yoyaku_slot_category becomes yoyaku_slot_tariff
  • yoyaku_category_group becomes yoyaku_tariff_class (French label "Groupe de tarifs")
  • yoyaku_grade unchanged, so catégorie is free to mean the seat grade in the interface
  • "offer" stays presentational, and now shares the entity's name with yoyaku-slot-offer.html.twig and OfferThemeHooks

Table names, entity keys, accessors, field keys, route names, path segments, the grade_matches_category plugin id and the interface labels all follow. Pre-1.0, so no update hook: reinstall is the upgrade path and the table renames ride it.

How it was verified

Level 1 phpstan, which is what the CI job runs, does not report a call to a method that no longer exists, so it cannot police a rename. Level 2 was used as the finding tool and reports zero rename-related errors; level 1 is unchanged at the same 8 pre-existing notices. The French catalogue was checked in both directions: 36 entries mentioning tariff all exist in source, and all 30 translatable code strings have entries. msgfmt -c validates.

Deliberately left alone

The word "categorical", which describes a non-numeric availability state. Every accented "Catégorie", which is a seat grade label. The docs' loose use of rate and tier as synonyms, which needs its own pass.

Noted, not fixed here

The concepts.md ER diagram gives the tariff a slot foreign key, conflating the per-resource tariff with the per-session slot tariff. That predates this change; folding a correctness fix into a rename would make the diff unreviewable. Its stale capacity label was corrected to quota though, since [#3614328] missed it.

Merge request reports

Loading
Loading