ai_upgrade_assistant-0.2.0-alpha2/src/Controller/DashboardController.php

src/Controller/DashboardController.php
<?php

namespace Drupal\ai_upgrade_assistant\Controller;

use Drupal\Core\Controller\ControllerBase;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\ai_upgrade_assistant\Service\ProjectAnalyzer;

/**
 * Controller for the AI Upgrade Assistant dashboard.
 */
class DashboardController extends ControllerBase {

  /**
   * The project analyzer service.
   *
   * @var \Drupal\ai_upgrade_assistant\Service\ProjectAnalyzer
   */
  protected $projectAnalyzer;

  /**
   * Constructs a DashboardController object.
   *
   * @param \Drupal\ai_upgrade_assistant\Service\ProjectAnalyzer $project_analyzer
   *   The project analyzer service.
   */
  public function __construct(ProjectAnalyzer $project_analyzer) {
    $this->projectAnalyzer = $project_analyzer;
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container) {
    return new static(
      $container->get('ai_upgrade_assistant.project_analyzer')
    );
  }

  /**
   * Displays the upgrade assistant dashboard.
   *
   * @return array
   *   A render array representing the dashboard.
   */
  public function dashboard() {
    // Get project information
    $project_info = $this->projectAnalyzer->getProjectInfo();

    // Build the dashboard render array
    $build = [
      '#theme' => 'upgrade_dashboard',
      '#project_info' => [
        'drupal_version' => $project_info['drupal_version'],
        'installed_modules' => $project_info['installed_modules'],
        'custom_modules' => $project_info['custom_modules'],
        'upgrade_status' => $project_info['upgrade_status'],
      ],
      '#recommendations' => $this->projectAnalyzer->getRecommendations(),
      '#terminal_output' => [],
      '#attached' => [
        'library' => ['ai_upgrade_assistant/dashboard'],
      ],
    ];

    return $build;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc