diff --git a/apps/tup-cms/Dockerfile b/apps/tup-cms/Dockerfile index 8ca2771c2..500a77818 100644 --- a/apps/tup-cms/Dockerfile +++ b/apps/tup-cms/Dockerfile @@ -7,8 +7,7 @@ COPY . /code/ RUN npx nx build tup-ui RUN npx nx build tup-cms-react -# TACC/Core-CMS#v4.6.0 (Python 3.11) -FROM taccwma/core-cms:8a56b9d +FROM taccwma/core-cms:v4.8.3 WORKDIR /code diff --git a/apps/tup-cms/src/apps/user_news/cms_plugins.py b/apps/tup-cms/src/apps/user_news/cms_plugins.py index 8c44fb005..4f836c9c1 100644 --- a/apps/tup-cms/src/apps/user_news/cms_plugins.py +++ b/apps/tup-cms/src/apps/user_news/cms_plugins.py @@ -13,7 +13,7 @@ class UserNewsListPlugin(CMSPluginBase): module = 'TUP CMS' name = _('User News List') - render_template = 'user_news/list_for_plugin.html' + render_template = 'user_news/list__short.html' cache = False text_enabled = False @@ -32,3 +32,24 @@ def render(self, context, instance, placeholder): 'urls': urls }) return context + + +@plugin_pool.register_plugin +class FullUserNewsListPlugin(CMSPluginBase): + module = 'TUP CMS' + name = _('Full User News List') + render_template = 'user_news/list__full.html' + + def render(self, context, instance, placeholder): + context = super().render(context, instance, placeholder) + request = context['request'] + + should_sanitize = True + articles = get_latest_articles(None, should_sanitize) + + context.update({ + 'articles': articles, + 'has_markup_content': not should_sanitize, + 'urls': urls + }) + return context diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item_breadcrumbs.html b/apps/tup-cms/src/apps/user_news/templates/user_news/includes/breadcrumbs.html similarity index 100% rename from apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item_breadcrumbs.html rename to apps/tup-cms/src/apps/user_news/templates/user_news/includes/breadcrumbs.html diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/includes/list.html b/apps/tup-cms/src/apps/user_news/templates/user_news/includes/list.html deleted file mode 100644 index 4e8c31388..000000000 --- a/apps/tup-cms/src/apps/user_news/templates/user_news/includes/list.html +++ /dev/null @@ -1,16 +0,0 @@ -{# @var title_tag, subtitle_tag, is_for_plugin #} -{% load i18n %} - -{% if articles %} - {% for article in articles %} - {% if is_for_plugin %} - {% include "./list_item_for_plugin.html" %} - {% else %} - {% include "./list_item.html" %} - {% endif %} - {% endfor %} -{% else %} -
-

{% trans "No recent updates found." %}

-
-{% endif %} diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item.html b/apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item__full.html similarity index 95% rename from apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item.html rename to apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item__full.html index 17919836f..03f7c9132 100644 --- a/apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item.html +++ b/apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item__full.html @@ -15,7 +15,7 @@ {{ article.subtitle }} {% endif %} - {% include './item_data.html' %} + {% include './metadata.html' %} {% if has_markup_content %}
{{ article.content|safe }}
diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item_for_plugin.html b/apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item__short.html similarity index 100% rename from apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item_for_plugin.html rename to apps/tup-cms/src/apps/user_news/templates/user_news/includes/list_item__short.html diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/includes/item_data.html b/apps/tup-cms/src/apps/user_news/templates/user_news/includes/metadata.html similarity index 100% rename from apps/tup-cms/src/apps/user_news/templates/user_news/includes/item_data.html rename to apps/tup-cms/src/apps/user_news/templates/user_news/includes/metadata.html diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/includes/read_item.html b/apps/tup-cms/src/apps/user_news/templates/user_news/includes/read_item.html index 77a169f73..46b8e16c5 100644 --- a/apps/tup-cms/src/apps/user_news/templates/user_news/includes/read_item.html +++ b/apps/tup-cms/src/apps/user_news/templates/user_news/includes/read_item.html @@ -10,7 +10,7 @@

{% if article.subtitle %}

{{ article.subtitle }}

{% endif %} - {% include './item_data.html' %} + {% include './metadata.html' %} {# #} diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/includes/content_styles.html b/apps/tup-cms/src/apps/user_news/templates/user_news/includes/styles.html similarity index 100% rename from apps/tup-cms/src/apps/user_news/templates/user_news/includes/content_styles.html rename to apps/tup-cms/src/apps/user_news/templates/user_news/includes/styles.html diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/list.html b/apps/tup-cms/src/apps/user_news/templates/user_news/list.html index 23dd565ee..c0bb4fabb 100644 --- a/apps/tup-cms/src/apps/user_news/templates/user_news/list.html +++ b/apps/tup-cms/src/apps/user_news/templates/user_news/list.html @@ -1,18 +1,16 @@ -{% extends "fullwidth.html" %} +{# @var title_tag, subtitle_tag, is_for_short_list #} {% load i18n %} -{% block content %} -{% include 'djangocms_blog/tacc/layout-choice-form.html' with list_selector=".c-news--list" %} -
- {% include "nav_cms_breadcrumbs.html" %} -
-

{% trans "User Updates" %}

- {% include './includes/content_styles.html' %} - - {% with title_tag="h3" subtitle_tag="h4" %} - {% include './includes/list.html' %} - {% endwith %} - -
-
-{% endblock content %} +{% if articles %} + {% for article in articles %} + {% if is_for_short_list %} + {% include "./includes/list_item__short.html" %} + {% else %} + {% include "./includes/list_item__full.html" %} + {% endif %} + {% endfor %} +{% else %} +
+

{% trans "No recent updates found." %}

+
+{% endif %} diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/list__full.html b/apps/tup-cms/src/apps/user_news/templates/user_news/list__full.html new file mode 100644 index 000000000..1f431c858 --- /dev/null +++ b/apps/tup-cms/src/apps/user_news/templates/user_news/list__full.html @@ -0,0 +1,10 @@ +{% load i18n %} + + +
+ {% include './includes/styles.html' %} + + {% with title_tag="h3" subtitle_tag="h4" %} + {% include './list.html' %} + {% endwith %} +
diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/list__short.html b/apps/tup-cms/src/apps/user_news/templates/user_news/list__short.html new file mode 100644 index 000000000..25f45b9ef --- /dev/null +++ b/apps/tup-cms/src/apps/user_news/templates/user_news/list__short.html @@ -0,0 +1,3 @@ +{% with title_tag="h4" subtitle_tag="h5" is_for_short_list=True %} +{% include './list.html' %} +{% endwith %} diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/list_for_plugin.html b/apps/tup-cms/src/apps/user_news/templates/user_news/list_for_plugin.html deleted file mode 100644 index 37f9aa1c3..000000000 --- a/apps/tup-cms/src/apps/user_news/templates/user_news/list_for_plugin.html +++ /dev/null @@ -1,3 +0,0 @@ -{% with title_tag="h4" subtitle_tag="h5" is_for_plugin=True %} -{% include './includes/list.html' %} -{% endwith %} diff --git a/apps/tup-cms/src/apps/user_news/templates/user_news/read.html b/apps/tup-cms/src/apps/user_news/templates/user_news/read.html index 81c488190..5e580c0ea 100644 --- a/apps/tup-cms/src/apps/user_news/templates/user_news/read.html +++ b/apps/tup-cms/src/apps/user_news/templates/user_news/read.html @@ -5,9 +5,9 @@ {% block content %}
- {% include "./includes/list_item_breadcrumbs.html" with article=article urls=urls only %} + {% include "./includes/breadcrumbs.html" with article=article urls=urls only %}
- {% include './includes/content_styles.html' %} + {% include './includes/styles.html' %} {% include './includes/read_item.html' %}
diff --git a/apps/tup-cms/src/apps/user_news/urls.py b/apps/tup-cms/src/apps/user_news/urls.py index 4d0cdce96..9909d45d7 100644 --- a/apps/tup-cms/src/apps/user_news/urls.py +++ b/apps/tup-cms/src/apps/user_news/urls.py @@ -1,11 +1,10 @@ from django.urls import path from .defaults import urls -from .views import UserNewsListView, UserNewsReadView +from .views import UserNewsReadView app_name = 'user_news' urlpatterns = [ - path('', UserNewsListView.as_view(), name='index'), path('/', UserNewsReadView.as_view(), name='read'), # To support legacy TACC site URLs diff --git a/apps/tup-cms/src/apps/user_news/views.py b/apps/tup-cms/src/apps/user_news/views.py index 159aadfd0..4925817d1 100644 --- a/apps/tup-cms/src/apps/user_news/views.py +++ b/apps/tup-cms/src/apps/user_news/views.py @@ -3,19 +3,6 @@ from .defaults import urls from .utils import get_latest_articles, get_article -class UserNewsListView(TemplateView): - template_name = 'user_news/list.html' - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - should_sanitize = True - - context['articles'] = get_latest_articles(None, should_sanitize) - context['has_markup_content'] = not should_sanitize - context['urls'] = urls - - return context - class UserNewsReadView(TemplateView): template_name = 'user_news/read.html' diff --git a/apps/tup-cms/src/taccsite_cms/templates/assets_custom.html b/apps/tup-cms/src/taccsite_cms/templates/assets_custom.html index fdae70211..0c1b6c327 100644 --- a/apps/tup-cms/src/taccsite_cms/templates/assets_custom.html +++ b/apps/tup-cms/src/taccsite_cms/templates/assets_custom.html @@ -5,13 +5,13 @@ {# COPIED FROM CORE #} -{# https://github.com/TACC/Core-CMS/blob/c8844e1/taccsite_cms/templates/assets_custom.html #} +{# https://github.com/TACC/Core-CMS/blob/v4.8.3/taccsite_cms/templates/assets_custom.html #} {% load static %} -{% with settings.FAVICON as favicon %} - +{% with settings.PORTAL_FAVICON as favicon %} + {% endwith %} diff --git a/libs/tup-components/src/accounts/ManageAccount.module.css b/libs/tup-components/src/accounts/ManageAccount.module.css index 2c9e87574..f43335a67 100644 --- a/libs/tup-components/src/accounts/ManageAccount.module.css +++ b/libs/tup-components/src/accounts/ManageAccount.module.css @@ -1,6 +1,6 @@ @import url('@tacc/core-styles/src/lib/_imports/tools/media-queries.css'); -.account-layout{ +.account-layout { padding: var(--global-space--section); padding-right: 30px; } @@ -16,16 +16,9 @@ } .account-body { - padding-top: 10px; display: flex; flex-direction: row; - gap: 3%; -} -.account-body > section { - display: flex; - flex-direction: column; - gap: 20px; - height: 100%; + gap: var(--global-space--section-left); } .account-body > section:nth-of-type(1) { flex: 1.5; @@ -33,37 +26,41 @@ .account-body > section:nth-of-type(2) { flex: 1; } +.account-body dfn { + font-style: normal; +} + +.tap-feature, +.tap-separator { + margin-top: 1em; +} .tap-header { - padding-top: 10px; padding-bottom: 10px; border-bottom: 1px solid #707070; } - -.tap-description { - font-size: 1rem; - font-style: italic; - color: #484848; +.tap-header:is(h2) { + font-size: var(--global-font-size--small); } - -.tap-button { - width: 200px; +.tap-description { + margin-block: 1em 1.5em; } -.tap-href { - width: fit-content; +.tap-action { + /* To place actions inline and add space between them */ + display: inline-block; + margin-right: 1em; + margin-bottom: 1em; } - -.mfa-options { - /* no styles needed yet */ +.tap-action:is(button), +.tap-action > button { + width: 200px; } @media (--narrow-and-above) { .tap-separator { border-right: 1px solid #707070; - margin-top: 10px; } - } @media (--narrow-and-below) { @@ -75,4 +72,4 @@ .tap-separator { display: none; } -} \ No newline at end of file +} diff --git a/libs/tup-components/src/accounts/ManageAccount.tsx b/libs/tup-components/src/accounts/ManageAccount.tsx index 00e314d8e..bca12b5bd 100644 --- a/libs/tup-components/src/accounts/ManageAccount.tsx +++ b/libs/tup-components/src/accounts/ManageAccount.tsx @@ -5,114 +5,96 @@ import { AccountMfa } from './ManageAccountMfa'; import styles from './ManageAccount.module.css'; const ManageUser = () => ( - <> -
- Edit User Information -
- - Your user account can be managed on the TACC Account Management (TAM) - portal. - +
+

Account Managment

+

+ Account details are mananged by the TACC Account Management portal. Follow + the links below to: +

- + - -); - -const ManageDNs = () => ( - <> -
- Distinguished Names -
- - DNs are managed on the TACC Account Management (TAM) portal. - - + - +
); -const ManagePassword = () => ( - <> -
- Password -
- - Passwords are managed on the TACC Account Management (TAM) portal. - +const ManageDNs = () => ( +
+

+ Distinguished Name (DN) Managment +

+

+ Generate a DN to permit you to move data between machines.{' '} + + Learn more about DNs. + +

- + - +
); const ManageUpload = () => ( - <> -
- Secure Upload -
- - Upload documents securely through Box. - +
+

Identity Management

+

+ To confirm eligibility for access to a TACC account, you may be requested + to upload identifying documents. +

- + - +
); const ManageAccount: React.FC = () => { const { data } = useProfile(); return ( -
-
- - - - {data?.firstName} {data?.lastName} - - -
-
- - - - -
- -
- -
-
-
+
+ + + + {data?.firstName} {data?.lastName} + + +
+
+ + + +
+ +
+ +
+
); }; diff --git a/libs/tup-components/src/accounts/ManageAccountMfa.tsx b/libs/tup-components/src/accounts/ManageAccountMfa.tsx index 57643163b..80c253e62 100644 --- a/libs/tup-components/src/accounts/ManageAccountMfa.tsx +++ b/libs/tup-components/src/accounts/ManageAccountMfa.tsx @@ -6,9 +6,7 @@ import { Link } from 'react-router-dom'; import styles from './ManageAccount.module.css'; const MfaSectionHeader: React.FC = () => ( -
- MFA Pairing -
+

MFA Pairing

); export const AccountMfa: React.FC = () => { @@ -40,11 +38,11 @@ export const AccountMfa: React.FC = () => { } const hasPairing = data?.token?.rollout_state === 'enrolled'; return ( - <> +
- +

Set up multi-factor authentication using a token app or SMS. - +

{!hasPairing && ( @@ -60,6 +58,6 @@ export const AccountMfa: React.FC = () => { )} - +
); }; diff --git a/package-lock.json b/package-lock.json index e69698b34..0e2634ad5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,7 +40,7 @@ "@nx/vite": "17.2.8", "@nx/web": "17.2.8", "@nx/workspace": "17.2.8", - "@tacc/core-styles": "^2.23.1", + "@tacc/core-styles": "^2.25.1", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.4.3", @@ -5669,9 +5669,9 @@ "dev": true }, "node_modules/@tacc/core-styles": { - "version": "2.23.1", - "resolved": "https://registry.npmjs.org/@tacc/core-styles/-/core-styles-2.23.1.tgz", - "integrity": "sha512-Hu3T1/wfdbuQBZ//DBz2FwxAg+3/x9P1skS6sVldnq7yy3EZZpuOO7Tgu4OZbMlWHJG6IebWQnfniyRTOl9mVA==", + "version": "2.25.1", + "resolved": "https://registry.npmjs.org/@tacc/core-styles/-/core-styles-2.25.1.tgz", + "integrity": "sha512-A4c5sMwKjTe1XLxnc3EWstf1f3L3EgFq5ISGr4e81t8ClPmfXIRqpl+YZMCO4/oo+8ngxV4OMsvzRw7e0mvSpQ==", "dev": true, "bin": { "core-styles": "src/cli.js" diff --git a/package.json b/package.json index 76dbcfa30..b94f65fb9 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "@nx/vite": "17.2.8", "@nx/web": "17.2.8", "@nx/workspace": "17.2.8", - "@tacc/core-styles": "^2.23.1", + "@tacc/core-styles": "^2.25.1", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.4.3",