app/Http/Controllers/Admin/ControlPanelController.php
public function controlPanelManager(ModuleService $module_service): ResponseInterface
    {
        $all_trees = array_filter(Tree::getAll(), static function (Tree $tree): bool {
            return Auth::isManager($tree);
        });

        return $this->viewResponse('admin/control-panel-manager', [
            'title'                  => I18N::translate('Control panel'),
            'all_trees'              => $all_trees,
            'changes'                => $this->totalChanges(),
            'individuals'            => $this->totalIndividuals(),
            'families'               => $this->totalFamilies(),
            'sources'                => $this->totalSources(),
            'media'                  => $this->totalMediaObjects(),
            'repositories'           => $this->totalRepositories(),
            'notes'                  => $this->totalNotes(),
            'individual_list_module' => $module_service->findByInterface(IndividualListModule::class)->first(),
            'family_list_module'     => $module_service->findByInterface(FamilyListModule::class)->first(),
            'media_list_module'      => $module_service->findByInterface(MediaListModule::class)->first(),
            'note_list_module'       => $module_service->findByInterface(NoteListModule::class)->first(),
            'repository_list_module' => $module_service->findByInterface(RepositoryListModule::class)->first(),
            'source_list_module'     => $module_service->findByInterface(SourceListModule::class)->first(),
        ]);
    }
public function controlPanelManager(ModuleService $module_service): ResponseInterface
    {
        $all_trees = array_filter(Tree::getAll(), static function (Tree $tree): bool {
            return Auth::isManager($tree);
        });

        return $this->viewResponse('admin/control-panel-manager', [
            'title'                  => I18N::translate('Control panel'),
            'all_trees'              => $all_trees,
            'changes'                => $this->totalChanges(),
            'individuals'            => $this->totalIndividuals(),
            'families'               => $this->totalFamilies(),
            'sources'                => $this->totalSources(),
            'media'                  => $this->totalMediaObjects(),
            'repositories'           => $this->totalRepositories(),
            'notes'                  => $this->totalNotes(),
            'individual_list_module' => $module_service->findByInterface(IndividualListModule::class)->first(),
            'family_list_module'     => $module_service->findByInterface(FamilyListModule::class)->first(),
            'media_list_module'      => $module_service->findByInterface(MediaListModule::class)->first(),
            'note_list_module'       => $module_service->findByInterface(NoteListModule::class)->first(),
            'repository_list_module' => $module_service->findByInterface(RepositoryListModule::class)->first(),
            'source_list_module'     => $module_service->findByInterface(SourceListModule::class)->first(),
        ]);
    }
public function controlPanelManager ( ModuleService $ module_service ) : ResponseInterface { $ all_trees = array_filter ( Tree :: getAll ( ) , static function ( Tree $ tree ) : bool { return Auth :: isManager ( $ tree ) ; } ) ; return $ this -> viewResponse ( 'admin/control-panel-manager' , [ 'title' => I18N :: translate ( 'Control panel' ) , 'all_trees' => $ all_trees , 'changes' => $ this -> totalChanges ( ) , 'individuals' => $ this -> totalIndividuals ( ) , 'families' => $ this -> totalFamilies ( ) , 'sources' => $ this -> totalSources ( ) , 'media' => $ this -> totalMediaObjects ( ) , 'repositories' => $ this -> totalRepositories ( ) , 'notes' => $ this -> totalNotes ( ) , 'individual_list_module' => $ module_service -> findByInterface ( IndividualListModule :: class ) -> first ( ) , 'family_list_module' => $ module_service -> findByInterface ( FamilyListModule :: class ) -> first ( ) , 'media_list_module' => $ module_service -> findByInterface ( MediaListModule :: class ) -> first ( ) , 'note_list_module' => $ module_service -> findByInterface ( NoteListModule :: class ) -> first ( ) , 'repository_list_module' => $ module_service -> findByInterface ( RepositoryListModule :: class ) -> first ( ) , 'source_list_module' => $ module_service -> findByInterface ( SourceListModule :: class ) -> first ( ) , ] ) ; }
Managers see a restricted version of the contol panel.

@param ModuleService $module_service

@return ResponseInterface
Managers see a restricted version of the contol panel .