' . t('Failed to get available update data'));
+ $this->assertRaw('
' . t('Failed to get available update data'));
// We should see the output messages from fetching manually.
$this->assertUniqueText(t('Checked available update data for 3 projects.'));
only in patch2:
unchanged:
--- /dev/null
+++ b/core/themes/classy/templates/update-last-check.html.twig
@@ -0,0 +1,23 @@
+{#
+/**
+ * @file
+ * Default theme implementation for the last time update data was checked.
+ *
+ * Available variables:
+ * - last: The timestamp that the site was last checked for updates.
+ * - time: The formatted time since the site last checked for updates.
+ * - link: A link to check for updates manually.
+ *
+ * @see template_preprocess_update_last_check()
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {% if last %}
+ {{ 'Last checked: @time ago'|t({'@time': time}) }}
+ {% else %}
+ {{ 'Last checked: never'|t }}
+ {% endif %}
+ ({{ link }})
+
only in patch2:
unchanged:
--- /dev/null
+++ b/core/themes/classy/templates/update-project-status.html.twig
@@ -0,0 +1,129 @@
+{#
+/**
+ * @file
+ * Default theme implementation for the project status report.
+ *
+ * Available variables:
+ * - title: The project title.
+ * - url: The project url.
+ * - status: The project status.
+ * - label: The project status label.
+ * - attributes: HTML attributes for the project status.
+ * - reason: The reason you should update the project.
+ * - icon: The project status version indicator icon.
+ * - existing_version: The version of the installed project.
+ * - versions: The available versions of the project.
+ * - install_type: The type of project (e.g., dev).
+ * - datestamp: The date/time of a project version's release.
+ * - extras: HTML attributes and additional information about the project.
+ * - attributes: HTML attributes for the extra item.
+ * - label: The label for an extra item.
+ * - data: The data about an extra item.
+ * - includes: The projects within the project.
+ * - disabled: The currently disabled projects in the project.
+ * - base_themes: The base themes supplied by the project.
+ * - sub_themes: The subthemes supplied by the project.
+ *
+ * @see template_preprocess_update_project_status()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set status_classes = [
+ project.status == constant('UPDATE_NOT_SECURE') ? 'security-error',
+ project.status == constant('UPDATE_REVOKED') ? 'revoked',
+ project.status == constant('UPDATE_NOT_SUPPORTED') ? 'not-supported',
+ project.status == constant('UPDATE_NOT_CURRENT') ? 'not-current',
+ project.status == constant('UPDATE_CURRENT') ? 'current',
+ ]
+%}
+
+ {%- if status.label -%}
+ {{ status.label }}
+ {%- else -%}
+ {{ status.reason }}
+ {%- endif %}
+ {{ status.icon }}
+
+
+
+ {%- if url -%}
+
{{ title }}
+ {%- else -%}
+ {{ title }}
+ {%- endif %}
+ {{ existing_version }}
+ {% if install_type == 'dev' and datestamp %}
+
({{ datestamp }})
+ {% endif %}
+
+
+{% if versions %}
+
+ {% for version in versions %}
+ {{ version }}
+ {% endfor %}
+
+{% endif %}
+
+{%
+ set extra_classes = [
+ project.status == constant('UPDATE_NOT_SECURE') ? 'project-not-secure',
+ project.status == constant('UPDATE_REVOKED') ? 'project-revoked',
+ project.status == constant('UPDATE_NOT_SUPPORTED') ? 'project-not-supported',
+ ]
+%}
+
+ {% if extras %}
+
+ {% endif %}
+
+ {% set includes = includes|join(', ') %}
+ {% if disabled %}
+ {{ 'Includes:'|t }}
+
+ -
+ {% trans %}
+ Enabled: {{ includes|placeholder }}
+ {% endtrans %}
+
+ -
+ {% set disabled = disabled|join(', ') %}
+ {% trans %}
+ Disabled: {{ disabled|placeholder }}
+ {% endtrans %}
+
+
+ {% else %}
+ {% trans %}
+ Includes: {{ includes|placeholder }}
+ {% endtrans %}
+ {% endif %}
+
+
+ {% if base_themes %}
+ {% set basethemes = base_themes|join(', ') %}
+ {# Using passthrough since placeholder is already applied in preprocess. #}
+
+ {% trans %}
+ Depends on: {{ basethemes|passthrough }}
+ {% endtrans %}
+
+ {% endif %}
+
+ {% if sub_themes %}
+ {% set subthemes = sub_themes|join(', ') %}
+
+ {% trans %}
+ Required by: {{ subthemes|placeholder }}
+ {% endtrans %}
+
+ {% endif %}
+
only in patch2:
unchanged:
--- /dev/null
+++ b/core/themes/classy/templates/update-report.html.twig
@@ -0,0 +1,25 @@
+{#
+/**
+ * @file
+ * Default theme implementation for the project status report.
+ *
+ * Available variables:
+ * - last_checked: Themed last time update data was checked.
+ * - no_updates_message: Message when there are no project updates.
+ * - project_types: A list of project types.
+ * - label: The project type label.
+ * - table: The project status table.
+ *
+ * @see template_preprocess_update_report()
+ *
+ * @ingroup themeable
+ */
+#}
+{{ last_checked }}
+
+{% for project_type in project_types %}
+
{{ project_type.label }}
+ {{ project_type.table }}
+{% else %}
+
{{ no_updates_message }}
+{% endfor %}
only in patch2:
unchanged:
--- /dev/null
+++ b/core/themes/classy/templates/update-version.html.twig
@@ -0,0 +1,38 @@
+{#
+/**
+ * @file
+ * Default theme implementation for the version display of a project.
+ *
+ * Available variables:
+ * - attributes: HTML attributes suitable for a container element.
+ * - title: The title of the project.
+ * - version: A list of data about the latest released version, containing:
+ * - version: The version number.
+ * - date: The date of the release.
+ * - download_link: The URL for the downloadable file.
+ * - release_link: The URL for the release notes.
+ *
+ * @see template_preprocess_update_version()
+ *
+ * @ingroup themeable
+ */
+#}
+