1. 10 May, 2022 1 commit
    • Christian Kuhn's avatar
      [TASK] Refactor ext:tstemplate controllers · 5399ea63
      Christian Kuhn authored
      With the refactoring of the '3rd level' backend module
      API, we can finally clean up the Template related
      backend controllers.
      
      Notable UI changes:
      * There was a rather hidden functionality in the template
        module: The "Template record overview" that lists all
        pages that have sys_template records, is only rendered
        when the root page "Page zero" is selected. This can be
        hard to find and is contrary to all other backend modules
        where sub-functionality is selected using the drop down
        in the doc header. The patch changes this: The template
        record overview is now always shown as 5th element in the
        drop down. It currently renders the same output on all
        pages, but could be made page-aware later.
      * The TypoScript Object Browser has a detail view to edit
        single properties, which then write to a sys_template
        record. This view also allows to add the edited path to
        an "Object List" if it has sub properties. This is
        remembered for the given user. The user can then select
        this path in the object browser tree view to limit the
        view to this section of the tree. All in all, this is a
        rather hidden and pretty much unknown detail functionality
        of limited use. This functionality has been removed.
      
      Patch overview:
      * Implement the "Template record overview" as new
        controller.
      * Resolve "controller extends controller" inheritance and
        introduce an abstract controller with common methods of
        client classes. Methods don't add class state.
      * Heavily reduce class state to a minimum.
      * Improve separation of controller and view concerns.
      * Split some templates to partials.
      * Leverage dependency incjection correctly: Abstract uses
        inject* methods, client classes use constructor DI.
      * Remove user access checks since the entire Template
        module is 'admin only', which is checked by middlewares.
      * Various general clean ups, variable renamings, better
        structured methods.
      
      Change-Id: I64cb7ea6275af491233ff7ee525c9260e5da6627
      Resolves: #97591
      Related: #97135
      Releases: main
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74550
      
      Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
      Tested-by: Stefan Bürk's avatarStefan Bürk <stefan@buerk.tech>
      Tested-by: Jochen's avatarJochen <rothjochen@gmail.com>
      Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: Stefan Bürk's avatarStefan Bürk <stefan@buerk.tech>
      Reviewed-by: Jochen's avatarJochen <rothjochen@gmail.com>
      Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      5399ea63
  2. 15 Feb, 2022 1 commit