From 2babf5fbdb108477d7f507fc9e5c436ccc787e11 Mon Sep 17 00:00:00 2001
From: webchick <webchick@24967.no-reply.drupal.org>
Date: Wed, 4 Sep 2013 23:21:05 -0700
Subject: [PATCH] Issue #1987818 by jlbellido, MattDanger, disasm, vijaycs85:
 Convert system_date_format_language_overview_page() to a new style
 controller.

---
 .../DateFormatLanguageController.php          | 51 +++++++++++++++++++
 core/modules/system/system.admin.inc          | 33 ------------
 core/modules/system/system.module             |  4 +-
 core/modules/system/system.routing.yml        |  7 +++
 4 files changed, 59 insertions(+), 36 deletions(-)
 create mode 100644 core/modules/system/lib/Drupal/system/Controller/DateFormatLanguageController.php

diff --git a/core/modules/system/lib/Drupal/system/Controller/DateFormatLanguageController.php b/core/modules/system/lib/Drupal/system/Controller/DateFormatLanguageController.php
new file mode 100644
index 000000000000..1f97951abf04
--- /dev/null
+++ b/core/modules/system/lib/Drupal/system/Controller/DateFormatLanguageController.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Controller\LanguageDateFormatController.
+ */
+
+namespace Drupal\system\Controller;
+
+/**
+ * Controller for Language Date Format handling.
+ */
+class DateFormatLanguageController {
+
+  /**
+   * Displays edit date format links for each language.
+   *
+   * @return array
+   *   Render array of overview page.
+   */
+  public function overviewPage() {
+
+    $header = array(t('Language'), t('Operations'));
+
+    $languages = language_list();
+    foreach ($languages as $langcode => $language) {
+      $row = array();
+      $row[] = $language->name;
+      $links = array();
+      $links['edit'] = array(
+        'title' => t('Edit'),
+        'href' => 'admin/config/regional/date-time/locale/' . $langcode . '/edit',
+      );
+      $links['reset'] = array(
+        'title' => t('Reset'),
+        'href' => 'admin/config/regional/date-time/locale/' . $langcode . '/reset',
+      );
+      $row[] = array(
+        'data' => array(
+          '#type' => 'operations',
+          '#links' => $links,
+        ),
+      );
+      $rows[] = $row;
+    }
+
+    return array('#theme' => 'table', '#header' => $header, '#rows' => $rows);
+
+  }
+
+}
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index df7ef6f9a523..a3235af9c3e4 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -769,39 +769,6 @@ function theme_system_themes_page($variables) {
   return $output;
 }
 
-/**
- * Page callback: Displays edit date format links for each language.
- *
- * @see locale_menu()
- */
-function system_date_format_language_overview_page() {
-  $header = array(t('Language'), t('Operations'));
-
-  $languages = language_list();
-  foreach ($languages as $langcode => $language) {
-    $row = array();
-    $row[] = $language->name;
-    $links = array();
-    $links['edit'] = array(
-      'title' => t('Edit'),
-      'href' => "admin/config/regional/date-time/locale/$langcode/edit",
-    );
-    $links['reset'] = array(
-      'title' => t('Reset'),
-      'href' => "admin/config/regional/date-time/locale/$langcode/reset",
-    );
-    $row[] = array(
-      'data' => array(
-        '#type' => 'operations',
-        '#links' => $links,
-      ),
-    );
-    $rows[] = $row;
-  }
-
-  return theme('table', array('header' => $header, 'rows' => $rows));
-}
-
 /**
  * Form constructor for the date localization configuration form.
  *
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index b0e87d826e75..1fa1400ea4e5 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -930,11 +930,9 @@ function system_menu() {
     $items['admin/config/regional/date-time/locale'] = array(
       'title' => 'Localize',
       'description' => 'Configure date formats for each locale',
-      'page callback' => 'system_date_format_language_overview_page',
-      'access arguments' => array('administer site configuration'),
       'type' => MENU_LOCAL_TASK,
       'weight' => -8,
-      'file' => 'system.admin.inc',
+      'route_name' => 'date_format_language_overview',
     );
     $items['admin/config/regional/date-time/locale/%/edit'] = array(
       'title' => 'Localize date formats',
diff --git a/core/modules/system/system.routing.yml b/core/modules/system/system.routing.yml
index 9b27c08de09d..c876fd56c2f0 100644
--- a/core/modules/system/system.routing.yml
+++ b/core/modules/system/system.routing.yml
@@ -117,6 +117,13 @@ date_format_edit:
   requirements:
     _entity_access: 'date_format.update'
 
+date_format_language_overview:
+  pattern: '/admin/config/regional/date-time/locale'
+  defaults:
+    _controller: '\Drupal\system\Controller\DateFormatLanguageController::overviewPage'
+  requirements:
+    _permission: 'administer site configuration'
+
 date_format_delete:
   pattern: 'admin/config/regional/date-time/formats/manage/{date_format}/delete'
   defaults:
-- 
GitLab