Issue #1938822 by sandhya.m, EllaTheHarpy, tim.plunkett, alexpott, YesCT: Convert update_status() to a new-style Controller.
parent
4889cf6bc7
commit
a90da0d23e
|
@ -0,0 +1,65 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Contains \Drupal\update\Controller\UpdateController.
|
||||
*/
|
||||
|
||||
namespace Drupal\update\Controller;
|
||||
|
||||
use Drupal\Core\ControllerInterface;
|
||||
use Drupal\Core\Extension\ModuleHandlerInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
|
||||
/**
|
||||
* Controller routines for update routes.
|
||||
*/
|
||||
class UpdateController implements ControllerInterface {
|
||||
|
||||
/**
|
||||
* Module handler service.
|
||||
*
|
||||
* @var \Drupal\Core\Extension\ModuleHandlerInterface
|
||||
*/
|
||||
protected $moduleHandler;
|
||||
|
||||
/**
|
||||
* Constructs update status data.
|
||||
*
|
||||
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
|
||||
* Module Handler Service.
|
||||
*/
|
||||
public function __construct(ModuleHandlerInterface $module_handler) {
|
||||
$this->moduleHandler = $module_handler;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public static function create(ContainerInterface $container) {
|
||||
return new static(
|
||||
$container->get('module_handler')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a page about the update status of projects.
|
||||
*
|
||||
* @return array
|
||||
* A build array with the update status of projects.
|
||||
*/
|
||||
public function updateStatus() {
|
||||
$build = array(
|
||||
'#theme' => 'update_report'
|
||||
);
|
||||
if ($available = update_get_available(TRUE)) {
|
||||
$this->moduleHandler->loadInclude('update', 'compare.inc');
|
||||
$build['#data'] = update_calculate_project_data($available);
|
||||
}
|
||||
else {
|
||||
$build['#data'] = _update_no_data();
|
||||
}
|
||||
return $build;
|
||||
}
|
||||
|
||||
}
|
|
@ -158,10 +158,8 @@ function update_menu() {
|
|||
$items['admin/reports/updates'] = array(
|
||||
'title' => 'Available updates',
|
||||
'description' => 'Get a status report about available updates for your installed modules and themes.',
|
||||
'page callback' => 'update_status',
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'route_name' => 'update_status',
|
||||
'weight' => -50,
|
||||
'file' => 'update.report.inc',
|
||||
);
|
||||
$items['admin/reports/updates/list'] = array(
|
||||
'title' => 'List',
|
||||
|
@ -266,12 +264,15 @@ function update_theme() {
|
|||
),
|
||||
'update_report' => array(
|
||||
'variables' => array('data' => NULL),
|
||||
'file' => 'update.report.inc',
|
||||
),
|
||||
'update_version' => array(
|
||||
'variables' => array('version' => NULL, 'tag' => NULL, 'class' => array()),
|
||||
'file' => 'update.report.inc',
|
||||
),
|
||||
'update_status_label' => array(
|
||||
'variables' => array('status' => NULL),
|
||||
'file' => 'update.report.inc',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
@ -5,22 +5,6 @@
|
|||
* Code required only when rendering the available updates report.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Page callback: Generates a page about the update status of projects.
|
||||
*
|
||||
* @see update_menu()
|
||||
*/
|
||||
function update_status() {
|
||||
if ($available = update_get_available(TRUE)) {
|
||||
module_load_include('inc', 'update', 'update.compare');
|
||||
$data = update_calculate_project_data($available);
|
||||
return theme('update_report', array('data' => $data));
|
||||
}
|
||||
else {
|
||||
return theme('update_report', array('data' => _update_no_data()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns HTML for the project status report.
|
||||
*
|
||||
|
|
|
@ -4,3 +4,10 @@ update_settings:
|
|||
_form: '\Drupal\update\UpdateSettingsForm'
|
||||
requirements:
|
||||
_permission: 'administer site configuration'
|
||||
|
||||
update_status:
|
||||
pattern: '/admin/reports/updates'
|
||||
defaults:
|
||||
_content: '\Drupal\update\Controller\UpdateController::updateStatus'
|
||||
requirements:
|
||||
_permission: 'administer site configuration'
|
||||
|
|
Loading…
Reference in New Issue