diff --git a/blt/md/md-2178 b/blt/md/md-2178 new file mode 100644 index 000000000..d7db02ba2 --- /dev/null +++ b/blt/md/md-2178 @@ -0,0 +1 @@ +amp_cyberinfrastructure_org diff --git a/composer.json b/composer.json index 38dd33fef..2b0b2fd4b 100755 --- a/composer.json +++ b/composer.json @@ -96,6 +96,7 @@ "drupal/easy_breadcrumb": "^2.0", "drupal/email_change_verification": "^1.0@beta", "drupal/facets": "^2.0", + "drupal/feeds": "3.x-dev@dev", "drupal/field_group": "^3.2", "drupal/field_permissions": "^1.1", "drupal/fieldblock": "^2.0@alpha", @@ -107,7 +108,7 @@ "drupal/honeypot": "^2.0", "drupal/image_captcha": "^2.0", "drupal/imce": "^3.0", - "drupal/inline_entity_form": "^2.0@RC", + "drupal/inline_entity_form": "^3.0@RC", "drupal/jsonapi_views": "^1.1", "drupal/label_help": "^2.0@beta", "drupal/layout_builder_styles": "^2.0", @@ -152,6 +153,7 @@ "drupal/spamspan": "^3.1", "drupal/stable": "^2.0", "drupal/superfish": "^1.4", + "drupal/svg_image": "^3.0", "drupal/symfony_mailer": "^1.3", "drupal/taxonomy_manager": "^2.0", "drupal/taxonomy_term_depth": "^2.4", diff --git a/composer.lock b/composer.lock index 87b2be811..ec7bcaf7f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5a5f2782c4b959384a384cbd00b8bfba", + "content-hash": "098040d296a700e68841c661b3770946", "packages": [ { "name": "access/drupal_seamless_cilogon", @@ -295,7 +295,7 @@ "source": { "type": "git", "url": "https://github.com/necyberteam/access.git", - "reference": "d3b7fac02354545b5887493e6481a4af98c87f9b" + "reference": "851b83125fb83e894fc91674088dd62e131ec32f" }, "require": { "gioni06/gpt3-tokenizer": "^1.2", @@ -317,7 +317,7 @@ "issues": "https://github.com/necyberteam/access/issues", "source": "https://github.com/necyberteam/access" }, - "time": "2024-08-27T14:57:45+00:00" + "time": "2024-09-20T20:14:51+00:00" }, { "name": "arthurkushman/query-path", @@ -4462,39 +4462,35 @@ }, { "name": "drupal/feeds", - "version": "3.0.0-beta4", + "version": "dev-3.x", "source": { "type": "git", "url": "https://git.drupalcode.org/project/feeds.git", - "reference": "8.x-3.0-beta4" - }, - "dist": { - "type": "zip", - "url": "https://ftp.drupal.org/files/projects/feeds-8.x-3.0-beta4.zip", - "reference": "8.x-3.0-beta4", - "shasum": "d715c428819b71d7018d022862c8d1c453bcf4d7" + "reference": "5f2fe3aea97306110c8f05f6b7cf2e5146fddc84" }, "require": { - "drupal/core": "^9.3 || ^10", - "laminas/laminas-feed": "^2.13" + "drupal/core": "^10.1 || ^11", + "laminas/laminas-feed": "^2.22" }, "require-dev": { - "drupal/pathauto": "^1.8", - "drush/drush": "^9 || ^10 || ^11" + "drupal/pathauto": "dev-1.x" }, "type": "drupal-module", "extra": { + "branch-alias": { + "dev-3.x": "3.x-dev" + }, "drupal": { - "version": "8.x-3.0-beta4", - "datestamp": "1685558328", + "version": "8.x-3.0-beta5+11-dev", + "datestamp": "1723728918", "security-coverage": { "status": "not-covered", - "message": "Project has not opted into security advisory coverage!" + "message": "Dev releases are not covered by Drupal security advisories." } }, "drush": { "services": { - "drush.services.yml": "^9 || ^10 || ^11" + "drush.services.yml": ">=9" } } }, @@ -4508,7 +4504,7 @@ "homepage": "https://www.drupal.org/user/53995" }, { - "name": "Dave Reid", + "name": "dave reid", "homepage": "https://www.drupal.org/user/53892" }, { @@ -4540,7 +4536,7 @@ "homepage": "https://www.drupal.org/user/24399" }, { - "name": "MegaChriz", + "name": "megachriz", "homepage": "https://www.drupal.org/user/654114" }, { @@ -5353,21 +5349,20 @@ }, { "name": "drupal/inline_entity_form", - "version": "2.0.0-rc10", + "version": "3.0.0-rc19", "source": { "type": "git", "url": "https://git.drupalcode.org/project/inline_entity_form.git", - "reference": "2.0.0-rc10" + "reference": "3.0.0-rc19" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/inline_entity_form-2.0.0-rc10.zip", - "reference": "2.0.0-rc10", - "shasum": "f984e26786c5c5187246e8ee9f54d43f44b0ca53" + "url": "https://ftp.drupal.org/files/projects/inline_entity_form-3.0.0-rc19.zip", + "reference": "3.0.0-rc19", + "shasum": "d8976940dd3f85412ba5e274af15fbcdd22ee27a" }, "require": { - "drupal/core": "^9.1 || ^10", - "drupal/rat": "^1.0.0@rc", + "drupal/core": "^8.8 || ^9 || ^10", "php": ">=7.1" }, "require-dev": { @@ -5376,8 +5371,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0-rc10", - "datestamp": "1698919897", + "version": "3.0.0-rc19", + "datestamp": "1704729077", "security-coverage": { "status": "not-covered", "message": "RC releases are not covered by Drupal security advisories." @@ -5401,6 +5396,10 @@ "name": "dawehner", "homepage": "https://www.drupal.org/user/99340" }, + { + "name": "dww", + "homepage": "https://www.drupal.org/user/46549" + }, { "name": "geek-merlin", "homepage": "https://www.drupal.org/user/229048" @@ -5417,10 +5416,6 @@ "name": "oknate", "homepage": "https://www.drupal.org/user/471638" }, - { - "name": "podarok", - "homepage": "https://www.drupal.org/user/116002" - }, { "name": "ram4nd", "homepage": "https://www.drupal.org/user/601534" @@ -7068,39 +7063,6 @@ "issues": "https://www.drupal.org/project/issues/r4032login" } }, - { - "name": "drupal/rat", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://git.drupalcode.org/project/rat.git", - "reference": "28202b02262a39ac8dbbfd43696b67c0c8c46b71" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "drupal/core": "^9.4", - "drupal/core-dev": "^9.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Drupal\\rat\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "gpl-2.0-or-later" - ], - "authors": [ - { - "name": "Merlin", - "email": "merlin@geeks4change.net" - } - ], - "time": "2023-07-19T20:22:22+00:00" - }, { "name": "drupal/readonlymode", "version": "1.2.0", @@ -8587,6 +8549,57 @@ "issues": "https://www.drupal.org/project/superfish" } }, + { + "name": "drupal/svg_image", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/svg_image.git", + "reference": "3.0.2" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/svg_image-3.0.2.zip", + "reference": "3.0.2", + "shasum": "77906ae731878b68a181f82b073617b798e5f110" + }, + "require": { + "drupal/core": "^9.3 || ^10", + "enshrined/svg-sanitize": ">=0.15 <1.0" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "3.0.2", + "datestamp": "1698471266", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Yaroslav Lushnikov", + "homepage": "https://www.drupal.org/user/2870933", + "role": "Maintainer" + }, + { + "name": "See contributors", + "homepage": "https://www.drupal.org/node/2887125/committers" + } + ], + "description": "Overrides the standard image formatter and widget to support SVG files.", + "homepage": "http://drupal.org/project/svg_image", + "support": { + "source": "http://cgit.drupalcode.org/svg_image", + "issues": "http://drupal.org/project/svg_image" + } + }, { "name": "drupal/symfony_mailer", "version": "1.4.1", @@ -10309,6 +10322,51 @@ }, "time": "2022-02-21T22:40:16+00:00" }, + { + "name": "enshrined/svg-sanitize", + "version": "0.19.0", + "source": { + "type": "git", + "url": "https://github.com/darylldoyle/svg-sanitizer.git", + "reference": "e95cd17be68e45f523cbfb0fe50cdd891b0cf20e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/e95cd17be68e45f523cbfb0fe50cdd891b0cf20e", + "reference": "e95cd17be68e45f523cbfb0fe50cdd891b0cf20e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.6 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.5 || ^8.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "enshrined\\svgSanitize\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Daryll Doyle", + "email": "daryll@enshrined.co.uk" + } + ], + "description": "An SVG sanitizer for PHP", + "support": { + "issues": "https://github.com/darylldoyle/svg-sanitizer/issues", + "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.19.0" + }, + "time": "2024-06-18T10:27:15+00:00" + }, { "name": "friends-of-behat/mink-extension", "version": "v2.7.5", @@ -11890,7 +11948,7 @@ "source": { "type": "git", "url": "https://github.com/necyberteam/aspTheme.git", - "reference": "9f7f9ed98ef7b2a7b6ef1f7d8b62ab48f573c0cf" + "reference": "5e0bde7f7c101f6934caa33db455cff871dd05d3" }, "default-branch": true, "type": "drupal-theme", @@ -11908,7 +11966,7 @@ "issues": "https://github.com/necyberteam/aspTheme/issues", "source": "https://github.com/necyberteam/aspTheme" }, - "time": "2024-07-18T17:05:19+00:00" + "time": "2024-09-20T20:13:56+00:00" }, { "name": "necyberteam/campus-champions-theme", @@ -23092,6 +23150,7 @@ "drupal/domain_config": 10, "drupal/domain_source": 10, "drupal/email_change_verification": 10, + "drupal/feeds": 20, "drupal/fieldblock": 15, "drupal/filter_perms": 15, "drupal/flag": 10, diff --git a/tests/cypress/cypress/e2e/accessmatch/affinity-groups/ag-anon.cy.js b/tests/cypress/cypress/e2e/accessmatch/affinity-groups/ag-anon.cy.js index e38364e2c..0c9191213 100644 --- a/tests/cypress/cypress/e2e/accessmatch/affinity-groups/ag-anon.cy.js +++ b/tests/cypress/cypress/e2e/accessmatch/affinity-groups/ag-anon.cy.js @@ -13,7 +13,7 @@ describe('Anonymous user visit the affinity-group page', () => { // Verify access-facilitators ag. First get the table row // containing the "access-facilitators" affinity group as an alias: - cy.get('[alt="The words Campus Champions ACCESS Facilitators"]') + cy.get('[alt="Support ACCESS Affinity Group logo"]') .parents('tr') .as('af-row'); @@ -22,24 +22,24 @@ describe('Anonymous user visit the affinity-group page', () => { .find('img') .parent() .invoke('attr', 'href') - .should('contain', '/affinity-groups/access-facilitators'); + .should('contain', '/affinity-groups/access-support'); // 2. verify the text has the correct href cy.get('@af-row') - .contains('ACCESS Facilitators') + .contains('ACCESS Support') .invoke('attr', 'href') - .should('contain', '/affinity-groups/access-facilitators'); + .should('contain', '/affinity-groups/access-support'); // 3. Description: verify text in description cy.get('@af-row') - .contains('People who use or support people who use ACCESS resources and the ACCESS Resource Allocation System.'); + .contains('Become an ACCESS Support insider by joining our affinity group.'); // 4. Verify it has the expected tag cy.get('@af-row') .get('.square-tags') - .contains('research-facilitation') + .contains('ACCESS-website') .invoke('attr', 'href') - .should('contain', '/tags/research-facilitation'); + .should('contain', '/tags/access-website'); // 5. verify the join button for anonymous cy.get('@af-row') diff --git a/tests/cypress/cypress/e2e/accessmatch/affinity-groups/ag-auth.cy.js b/tests/cypress/cypress/e2e/accessmatch/affinity-groups/ag-auth.cy.js index 0e8d9bbc6..322cf1bd6 100644 --- a/tests/cypress/cypress/e2e/accessmatch/affinity-groups/ag-auth.cy.js +++ b/tests/cypress/cypress/e2e/accessmatch/affinity-groups/ag-auth.cy.js @@ -11,12 +11,12 @@ describe('Anonymous user visit the affinity-group page', () => { cy.loginAs('authenticated@amptesting.com', '6%l7iF}6(4tI'); cy.visit('/affinity-groups'); - cy.get('.js-flag-affinity-group-568') + cy.get('.js-flag-affinity-group-618') .find(':contains("Join")') .invoke('attr', 'href') - .should('contain', '/flag/flag/affinity_group/568?destination=/affinity-groups'); + .should('contain', '/flag/flag/affinity_group/618?destination=/affinity-groups'); - cy.get('.js-flag-affinity-group-568') + cy.get('.js-flag-affinity-group-618') .find(':contains("Join")') .click(); @@ -26,16 +26,16 @@ describe('Anonymous user visit the affinity-group page', () => { cy.contains("My Affinity Groups") .parent() - .should('contain', 'ACCESS Facilitators'); + .should('contain', 'ACCESS Support'); cy.visit('/affinity-groups'); - cy.get('.js-flag-affinity-group-568') + cy.get('.js-flag-affinity-group-618') .find(':contains("Leave")') .invoke('attr', 'href') - .should('contain', '/flag/unflag/affinity_group/568?destination=/affinity-groups'); + .should('contain', '/flag/unflag/affinity_group/618?destination=/affinity-groups'); - cy.get('.js-flag-affinity-group-568') + cy.get('.js-flag-affinity-group-618') .find(':contains("Leave")') .click(); diff --git a/web/sites/default/config/default/core.entity_form_display.taxonomy_term.badges.default.yml b/web/sites/default/config/default/core.entity_form_display.taxonomy_term.badges.default.yml new file mode 100644 index 000000000..77e560068 --- /dev/null +++ b/web/sites/default/config/default/core.entity_form_display.taxonomy_term.badges.default.yml @@ -0,0 +1,55 @@ +uuid: de0cb193-a5d1-4d1b-9a9d-ecb948166172 +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.badges.field_badge + - image.style.thumbnail + - taxonomy.vocabulary.badges + module: + - path + - svg_image + - text +id: taxonomy_term.badges.default +targetEntityType: taxonomy_term +bundle: badges +mode: default +content: + description: + type: text_textarea + weight: 2 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_badge: + type: image_image + weight: 1 + region: content + settings: + progress_indicator: throbber + preview_image_style: thumbnail + third_party_settings: { } + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + path: + type: path + weight: 3 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + weight: 4 + region: content + settings: + display_label: true + third_party_settings: { } +hidden: { } diff --git a/web/sites/default/config/default/core.entity_form_display.user.user.campuschampionsadmin.yml b/web/sites/default/config/default/core.entity_form_display.user.user.campuschampionsadmin.yml index 93e4b2eda..b2cf8b4e4 100644 --- a/web/sites/default/config/default/core.entity_form_display.user.user.campuschampionsadmin.yml +++ b/web/sites/default/config/default/core.entity_form_display.user.user.campuschampionsadmin.yml @@ -6,6 +6,7 @@ dependencies: - core.entity_form_mode.user.campuschampionsadmin - field.field.user.user.field_academic_status - field.field.user.user.field_access_organization + - field.field.user.user.field_askci_username - field.field.user.user.field_blocked_ag_tax - field.field.user.user.field_carnegie_code - field.field.user.user.field_cider_resources @@ -22,6 +23,7 @@ dependencies: - field.field.user.user.field_institution - field.field.user.user.field_is_cc - field.field.user.user.field_region + - field.field.user.user.field_user_badges - field.field.user.user.field_user_bio - field.field.user.user.field_user_first_name - field.field.user.user.field_user_last_name @@ -30,8 +32,8 @@ dependencies: - image.style.thumbnail module: - file - - image - path + - svg_image - user _core: default_config_hash: K-1rBM8mTIkFp9RqOC2tMRUukOQ1xbRCfSKK8dEddnA @@ -175,6 +177,7 @@ hidden: contact: true field_academic_status: true field_access_organization: true + field_askci_username: true field_blocked_ag_tax: true field_cider_resources: true field_citizenships: true @@ -182,5 +185,6 @@ hidden: field_domain_access: true field_domain_admin: true field_domain_all_affiliates: true + field_user_badges: true field_user_bio: true field_user_preferred_pronouns: true diff --git a/web/sites/default/config/default/core.entity_form_display.user.user.default.yml b/web/sites/default/config/default/core.entity_form_display.user.user.default.yml index ef6fdef48..d4e8b3ad8 100644 --- a/web/sites/default/config/default/core.entity_form_display.user.user.default.yml +++ b/web/sites/default/config/default/core.entity_form_display.user.user.default.yml @@ -5,6 +5,7 @@ dependencies: config: - field.field.user.user.field_academic_status - field.field.user.user.field_access_organization + - field.field.user.user.field_askci_username - field.field.user.user.field_blocked_ag_tax - field.field.user.user.field_carnegie_code - field.field.user.user.field_cider_resources @@ -21,6 +22,7 @@ dependencies: - field.field.user.user.field_institution - field.field.user.user.field_is_cc - field.field.user.user.field_region + - field.field.user.user.field_user_badges - field.field.user.user.field_user_bio - field.field.user.user.field_user_first_name - field.field.user.user.field_user_last_name @@ -29,8 +31,9 @@ dependencies: - image.style.thumbnail module: - file - - image + - inline_entity_form - path + - svg_image - text - user _core: @@ -60,7 +63,7 @@ content: third_party_settings: { } field_academic_status: type: options_select - weight: 11 + weight: 13 region: content settings: { } third_party_settings: { } @@ -74,9 +77,17 @@ content: size: 60 placeholder: '' third_party_settings: { } + field_askci_username: + type: string_textfield + weight: 6 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } field_blocked_ag_tax: type: entity_reference_autocomplete - weight: 20 + weight: 22 region: content settings: match_operator: CONTAINS @@ -86,7 +97,7 @@ content: third_party_settings: { } field_carnegie_code: type: string_textfield - weight: 21 + weight: 23 region: content settings: size: 60 @@ -94,7 +105,7 @@ content: third_party_settings: { } field_cider_resources: type: entity_reference_autocomplete - weight: 19 + weight: 21 region: content settings: match_operator: CONTAINS @@ -104,7 +115,7 @@ content: third_party_settings: { } field_citizenships: type: string_textfield - weight: 17 + weight: 19 region: content settings: size: 60 @@ -112,7 +123,7 @@ content: third_party_settings: { } field_constant_contact_id: type: string_textfield - weight: 18 + weight: 20 region: content settings: size: 60 @@ -120,7 +131,7 @@ content: third_party_settings: { } field_current_occupation: type: string_textfield - weight: 6 + weight: 7 region: content settings: size: 60 @@ -128,14 +139,14 @@ content: third_party_settings: { } field_cv_resume: type: file_generic - weight: 13 + weight: 15 region: content settings: progress_indicator: throbber third_party_settings: { } field_hpc_experience: type: string_textarea - weight: 12 + weight: 14 region: content settings: rows: 5 @@ -143,7 +154,7 @@ content: third_party_settings: { } field_is_cc: type: boolean_checkbox - weight: 8 + weight: 10 region: content settings: display_label: true @@ -154,9 +165,27 @@ content: region: content settings: { } third_party_settings: { } + field_user_badges: + type: inline_entity_form_complex + weight: 9 + region: content + settings: + form_mode: default + override_labels: false + label_singular: '' + label_plural: '' + allow_new: false + allow_existing: true + match_operator: CONTAINS + allow_duplicate: false + collapsible: false + collapsed: false + revision: false + removed_reference: keep + third_party_settings: { } field_user_bio: type: text_textarea - weight: 7 + weight: 8 region: content settings: rows: 5 @@ -187,29 +216,29 @@ content: placeholder: '' third_party_settings: { } language: - weight: 15 + weight: 17 region: content settings: { } third_party_settings: { } path: type: path - weight: 16 + weight: 18 region: content settings: { } third_party_settings: { } social_auth: - weight: 10 + weight: 12 region: content settings: { } third_party_settings: { } timezone: - weight: 14 + weight: 16 region: content settings: { } third_party_settings: { } user_picture: type: image_image - weight: 9 + weight: 11 region: content settings: progress_indicator: throbber diff --git a/web/sites/default/config/default/core.entity_form_display.user.user.register.yml b/web/sites/default/config/default/core.entity_form_display.user.user.register.yml index 3d4fafabc..8980db54f 100644 --- a/web/sites/default/config/default/core.entity_form_display.user.user.register.yml +++ b/web/sites/default/config/default/core.entity_form_display.user.user.register.yml @@ -6,6 +6,7 @@ dependencies: - core.entity_form_mode.user.register - field.field.user.user.field_academic_status - field.field.user.user.field_access_organization + - field.field.user.user.field_askci_username - field.field.user.user.field_blocked_ag_tax - field.field.user.user.field_carnegie_code - field.field.user.user.field_cider_resources @@ -22,6 +23,7 @@ dependencies: - field.field.user.user.field_institution - field.field.user.user.field_is_cc - field.field.user.user.field_region + - field.field.user.user.field_user_badges - field.field.user.user.field_user_bio - field.field.user.user.field_user_first_name - field.field.user.user.field_user_last_name @@ -30,8 +32,8 @@ dependencies: - image.style.thumbnail module: - file - - image - path + - svg_image - user _core: default_config_hash: K-1rBM8mTIkFp9RqOC2tMRUukOQ1xbRCfSKK8dEddnA @@ -179,11 +181,13 @@ hidden: contact: true field_academic_status: true field_access_organization: true + field_askci_username: true field_blocked_ag_tax: true field_carnegie_code: true field_cider_resources: true field_citizenships: true field_constant_contact_id: true field_is_cc: true + field_user_badges: true field_user_bio: true field_user_preferred_pronouns: true diff --git a/web/sites/default/config/default/core.entity_view_display.taxonomy_term.badges.default.yml b/web/sites/default/config/default/core.entity_view_display.taxonomy_term.badges.default.yml new file mode 100644 index 000000000..4b950dcad --- /dev/null +++ b/web/sites/default/config/default/core.entity_view_display.taxonomy_term.badges.default.yml @@ -0,0 +1,39 @@ +uuid: 459fcca5-2480-4a70-9c46-687b7ece168e +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.badges.field_badge + - taxonomy.vocabulary.badges + module: + - svg_image + - text +id: taxonomy_term.badges.default +targetEntityType: taxonomy_term +bundle: badges +mode: default +content: + description: + type: text_default + label: hidden + settings: { } + third_party_settings: { } + weight: 0 + region: content + field_badge: + type: image + label: above + settings: + image_link: '' + image_style: '' + image_loading: + attribute: lazy + svg_attributes: + width: null + height: null + svg_render_as_image: true + third_party_settings: { } + weight: 1 + region: content +hidden: + search_api_excerpt: true diff --git a/web/sites/default/config/default/core.entity_view_display.user.user.compact.yml b/web/sites/default/config/default/core.entity_view_display.user.user.compact.yml index 111a0de5a..28462c37d 100644 --- a/web/sites/default/config/default/core.entity_view_display.user.user.compact.yml +++ b/web/sites/default/config/default/core.entity_view_display.user.user.compact.yml @@ -6,6 +6,7 @@ dependencies: - core.entity_view_mode.user.compact - field.field.user.user.field_academic_status - field.field.user.user.field_access_organization + - field.field.user.user.field_askci_username - field.field.user.user.field_blocked_ag_tax - field.field.user.user.field_carnegie_code - field.field.user.user.field_cider_resources @@ -22,6 +23,7 @@ dependencies: - field.field.user.user.field_institution - field.field.user.user.field_is_cc - field.field.user.user.field_region + - field.field.user.user.field_user_badges - field.field.user.user.field_user_bio - field.field.user.user.field_user_first_name - field.field.user.user.field_user_last_name @@ -29,7 +31,7 @@ dependencies: - field.field.user.user.user_picture - image.style.thumbnail module: - - image + - svg_image - user _core: default_config_hash: '-cLsS3M3JycipXQt9rEb81_HxKneReoGuRh8ijcOPXs' @@ -57,6 +59,7 @@ content: hidden: field_academic_status: true field_access_organization: true + field_askci_username: true field_blocked_ag_tax: true field_carnegie_code: true field_cider_resources: true @@ -73,6 +76,7 @@ hidden: field_institution: true field_is_cc: true field_region: true + field_user_badges: true field_user_bio: true field_user_first_name: true field_user_last_name: true diff --git a/web/sites/default/config/default/core.entity_view_display.user.user.default.yml b/web/sites/default/config/default/core.entity_view_display.user.user.default.yml index 4460dc8b5..9f48e3729 100644 --- a/web/sites/default/config/default/core.entity_view_display.user.user.default.yml +++ b/web/sites/default/config/default/core.entity_view_display.user.user.default.yml @@ -5,6 +5,7 @@ dependencies: config: - field.field.user.user.field_academic_status - field.field.user.user.field_access_organization + - field.field.user.user.field_askci_username - field.field.user.user.field_blocked_ag_tax - field.field.user.user.field_carnegie_code - field.field.user.user.field_cider_resources @@ -21,6 +22,7 @@ dependencies: - field.field.user.user.field_institution - field.field.user.user.field_is_cc - field.field.user.user.field_region + - field.field.user.user.field_user_badges - field.field.user.user.field_user_bio - field.field.user.user.field_user_first_name - field.field.user.user.field_user_last_name @@ -34,7 +36,15 @@ id: user.user.default targetEntityType: user bundle: user mode: default -content: { } +content: + field_askci_username: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content hidden: field_academic_status: true field_access_organization: true @@ -54,6 +64,7 @@ hidden: field_institution: true field_is_cc: true field_region: true + field_user_badges: true field_user_bio: true field_user_first_name: true field_user_last_name: true diff --git a/web/sites/default/config/default/core.entity_view_display.user.user.token.yml b/web/sites/default/config/default/core.entity_view_display.user.user.token.yml index 67036b0c7..23d574b21 100644 --- a/web/sites/default/config/default/core.entity_view_display.user.user.token.yml +++ b/web/sites/default/config/default/core.entity_view_display.user.user.token.yml @@ -6,6 +6,7 @@ dependencies: - core.entity_view_mode.user.token - field.field.user.user.field_academic_status - field.field.user.user.field_access_organization + - field.field.user.user.field_askci_username - field.field.user.user.field_blocked_ag_tax - field.field.user.user.field_carnegie_code - field.field.user.user.field_cider_resources @@ -22,6 +23,7 @@ dependencies: - field.field.user.user.field_institution - field.field.user.user.field_is_cc - field.field.user.user.field_region + - field.field.user.user.field_user_badges - field.field.user.user.field_user_bio - field.field.user.user.field_user_first_name - field.field.user.user.field_user_last_name @@ -55,6 +57,7 @@ content: hidden: field_academic_status: true field_access_organization: true + field_askci_username: true field_blocked_ag_tax: true field_carnegie_code: true field_cider_resources: true @@ -70,6 +73,7 @@ hidden: field_hpc_experience: true field_is_cc: true field_region: true + field_user_badges: true field_user_bio: true field_user_first_name: true field_user_last_name: true diff --git a/web/sites/default/config/default/core.extension.yml b/web/sites/default/config/default/core.extension.yml index 2c2d0638e..6965c3331 100644 --- a/web/sites/default/config/default/core.extension.yml +++ b/web/sites/default/config/default/core.extension.yml @@ -141,6 +141,7 @@ module: social_auth_google: 0 spamspan: 0 superfish: 0 + svg_image: 0 system: 0 taxonomy: 0 taxonomy_manager: 0 diff --git a/web/sites/default/config/default/field.field.taxonomy_term.badges.field_badge.yml b/web/sites/default/config/default/field.field.taxonomy_term.badges.field_badge.yml new file mode 100644 index 000000000..d51b43b98 --- /dev/null +++ b/web/sites/default/config/default/field.field.taxonomy_term.badges.field_badge.yml @@ -0,0 +1,38 @@ +uuid: f0103ceb-c7bb-49b2-bcec-84c161a192c7 +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_badge + - taxonomy.vocabulary.badges + module: + - image +id: taxonomy_term.badges.field_badge +field_name: field_badge +entity_type: taxonomy_term +bundle: badges +label: Badge +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:file' + handler_settings: { } + file_directory: user/badges + file_extensions: 'svg png gif jpg jpeg webp' + max_filesize: 1mb + max_resolution: '' + min_resolution: '' + alt_field: true + alt_field_required: true + title_field: false + title_field_required: false + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null +field_type: image diff --git a/web/sites/default/config/default/field.field.user.user.field_askci_username.yml b/web/sites/default/config/default/field.field.user.user.field_askci_username.yml new file mode 100644 index 000000000..4e4e3f450 --- /dev/null +++ b/web/sites/default/config/default/field.field.user.user.field_askci_username.yml @@ -0,0 +1,47 @@ +uuid: c2049bbe-4262-47ea-804a-4a6128c5c329 +langcode: en +status: true +dependencies: + config: + - field.storage.user.field_askci_username + module: + - multiple_registration + - user +third_party_settings: + multiple_registration: + user_additional_register_form_required: + authenticated: 0 + student: 0 + mentor: 0 + researcher: 0 + representative: 0 + research_computing_facilitator: 0 + research_software_engineer: 0 + ci_systems_engineer: 0 + student_champion: 0 + domain_champion: 0 + ccmnet: 0 + user_additional_register_form: + authenticated: 0 + student: 0 + mentor: 0 + researcher: 0 + representative: 0 + research_computing_facilitator: 0 + research_software_engineer: 0 + ci_systems_engineer: 0 + student_champion: 0 + domain_champion: 0 + ccmnet: 0 +id: user.user.field_askci_username +field_name: field_askci_username +entity_type: user +bundle: user +label: 'askci username' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/web/sites/default/config/default/field.field.user.user.field_user_badges.yml b/web/sites/default/config/default/field.field.user.user.field_user_badges.yml new file mode 100644 index 000000000..fbb8a91ac --- /dev/null +++ b/web/sites/default/config/default/field.field.user.user.field_user_badges.yml @@ -0,0 +1,57 @@ +uuid: 90f3a7ae-8752-4585-a0ef-e92fd53abac7 +langcode: en +status: true +dependencies: + config: + - field.storage.user.field_user_badges + - taxonomy.vocabulary.badges + module: + - multiple_registration + - user +third_party_settings: + multiple_registration: + user_additional_register_form_required: + authenticated: 0 + student: 0 + mentor: 0 + researcher: 0 + representative: 0 + research_computing_facilitator: 0 + research_software_engineer: 0 + ci_systems_engineer: 0 + student_champion: 0 + domain_champion: 0 + ccmnet: 0 + user_additional_register_form: + authenticated: 0 + student: 0 + mentor: 0 + researcher: 0 + representative: 0 + research_computing_facilitator: 0 + research_software_engineer: 0 + ci_systems_engineer: 0 + student_champion: 0 + domain_champion: 0 + ccmnet: 0 +id: user.user.field_user_badges +field_name: field_user_badges +entity_type: user +bundle: user +label: Badges +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + badges: badges + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/web/sites/default/config/default/field.storage.taxonomy_term.field_badge.yml b/web/sites/default/config/default/field.storage.taxonomy_term.field_badge.yml new file mode 100644 index 000000000..01f270428 --- /dev/null +++ b/web/sites/default/config/default/field.storage.taxonomy_term.field_badge.yml @@ -0,0 +1,34 @@ +uuid: 444f48b5-abc2-48fe-bb87-146cdaf04606 +langcode: en +status: true +dependencies: + module: + - field_permissions + - file + - image + - taxonomy +third_party_settings: + field_permissions: + permission_type: public +id: taxonomy_term.field_badge +field_name: field_badge +entity_type: taxonomy_term +type: image +settings: + target_type: file + display_field: false + display_default: false + uri_scheme: public + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null +module: image +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/sites/default/config/default/field.storage.user.field_askci_username.yml b/web/sites/default/config/default/field.storage.user.field_askci_username.yml new file mode 100644 index 000000000..6c405e708 --- /dev/null +++ b/web/sites/default/config/default/field.storage.user.field_askci_username.yml @@ -0,0 +1,25 @@ +uuid: 24023c8d-cc88-4eb7-a6a0-b7da8cd33972 +langcode: en +status: true +dependencies: + module: + - field_permissions + - user +third_party_settings: + field_permissions: + permission_type: public +id: user.field_askci_username +field_name: field_askci_username +entity_type: user +type: string +settings: + max_length: 255 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/sites/default/config/default/field.storage.user.field_user_badges.yml b/web/sites/default/config/default/field.storage.user.field_user_badges.yml new file mode 100644 index 000000000..b408995ac --- /dev/null +++ b/web/sites/default/config/default/field.storage.user.field_user_badges.yml @@ -0,0 +1,24 @@ +uuid: cf4c50ff-1c16-4cbc-9b9e-5df0b5a4795c +langcode: en +status: true +dependencies: + module: + - field_permissions + - taxonomy + - user +third_party_settings: + field_permissions: + permission_type: public +id: user.field_user_badges +field_name: field_user_badges +entity_type: user +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/sites/default/config/default/taxonomy.vocabulary.badges.yml b/web/sites/default/config/default/taxonomy.vocabulary.badges.yml new file mode 100644 index 000000000..340e04008 --- /dev/null +++ b/web/sites/default/config/default/taxonomy.vocabulary.badges.yml @@ -0,0 +1,8 @@ +uuid: 58c45769-26ee-4bcc-b5f7-a74698e0eff9 +langcode: en +status: true +dependencies: { } +name: Badges +vid: badges +description: '' +weight: 0 diff --git a/web/sites/default/config/default/views.view.affinity_group.yml b/web/sites/default/config/default/views.view.affinity_group.yml index 112b40c87..172030f37 100644 --- a/web/sites/default/config/default/views.view.affinity_group.yml +++ b/web/sites/default/config/default/views.view.affinity_group.yml @@ -4,18 +4,6 @@ status: true dependencies: config: - domain.record.amp_cyberinfrastructure_org - - domain.record.campuschampions_cyberinfrastructure_org - - domain.record.careersct_cyberinfrastucture_org - - domain.record.coco_cyberinfrastructure_org - - domain.record.connectcidev_wpi_edu - - domain.record.greatplains_wpi_edu - - domain.record.kycyberteam_cyberinfrastructure_org - - domain.record.mines_cyberinfrastructure_org - - domain.record.nectd8_wpi_edu - - domain.record.rmacc_wpi_edu - - domain.record.sweeter_cyberinfrastructure_org - - domain.record.trecis_cyberinfrastructure_org - - domain.record.usrse_cyberinfrastructure_org - field.storage.node.body - field.storage.node.field_affinity_group - field.storage.node.field_affinity_group_category @@ -476,7 +464,7 @@ display: options: query_comment: '' disable_sql_rewrite: false - distinct: false + distinct: true replica: false query_tags: { } contextual_filters_or: false @@ -3400,6 +3388,8 @@ display: link_display: '0' link_url: '' display_extenders: + jsonapi_views: + enabled: true simple_sitemap_display_extender: { } cache_metadata: max-age: -1 diff --git a/web/sites/default/config/default/views.view.affinity_group_card_view.yml b/web/sites/default/config/default/views.view.affinity_group_card_view.yml index ae4e9f781..5705569b2 100644 --- a/web/sites/default/config/default/views.view.affinity_group_card_view.yml +++ b/web/sites/default/config/default/views.view.affinity_group_card_view.yml @@ -421,7 +421,7 @@ display: options: query_comment: '' disable_sql_rewrite: false - distinct: false + distinct: true replica: false query_tags: { } contextual_filters_or: false @@ -447,7 +447,9 @@ display: display_plugin: block position: 2 display_options: - display_extenders: { } + display_extenders: + jsonapi_views: + enabled: false cache_metadata: max-age: -1 contexts: diff --git a/web/sites/default/config/default/views.view.cssn_directory.yml b/web/sites/default/config/default/views.view.cssn_directory.yml index 8817eeab0..ecfface48 100644 --- a/web/sites/default/config/default/views.view.cssn_directory.yml +++ b/web/sites/default/config/default/views.view.cssn_directory.yml @@ -3,8 +3,10 @@ langcode: en status: true dependencies: config: + - field.storage.taxonomy_term.field_badge - field.storage.user.field_access_organization - field.storage.user.field_current_occupation + - field.storage.user.field_user_badges - field.storage.user.field_user_first_name - field.storage.user.field_user_last_name - field.storage.user.user_picture @@ -15,8 +17,9 @@ dependencies: - 'taxonomy_term:region:6136e7e2-0052-4dc7-8c42-50f162d0a5a1' module: - better_exposed_filters - - image - search_api + - svg_image + - taxonomy id: cssn_directory label: 'CSSN Directory' module: views @@ -656,6 +659,176 @@ display: use_highlighting: false multi_type: ul multi_separator: ' ' + field_badge: + id: field_badge + table: search_api_entity_taxonomy_term + field: field_badge + relationship: field_user_badges + group_type: group + admin_label: '' + entity_type: taxonomy_term + plugin_id: search_api_field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: false + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: image + settings: + image_link: '' + image_style: '' + image_loading: + attribute: lazy + svg_attributes: + width: 55 + height: 55 + svg_render_as_image: true + group_column: '' + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_rendering: true + fallback_handler: search_api + fallback_options: + link_to_item: false + use_highlighting: false + multi_type: separator + multi_separator: '' + field_user_badges: + id: field_user_badges + table: search_api_datasource_cssn_directory_entity_user + field: field_user_badges + relationship: none + group_type: group + admin_label: '' + entity_type: user + plugin_id: search_api_field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_entity_id + settings: { } + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_rendering: true + fallback_handler: search_api_entity + fallback_options: + link_to_item: false + use_highlighting: false + multi_type: separator + multi_separator: ', ' + display_methods: + affinity_groups: + display_method: label + badges: + display_method: label + view_mode: default + organization_type: + display_method: label + region: + display_method: label + view_mode: default + regional_experts: + display_method: label + skill_level: + display_method: label + state: + display_method: label + tags: + display_method: label + view_mode: default + track: + display_method: label nothing: id: nothing table: views @@ -668,7 +841,7 @@ display: exclude: false alter: alter_text: true - text: "
\r\n
\r\n {{ user_picture }}\r\n
\r\n
\r\n {{ field_user_first_name }} {{ field_user_last_name }}\r\n
\r\n
\r\n {{ field_access_organization }}\r\n
\r\n
\r\n {{ field_current_occupation }}\r\n
\r\n
\r\n {{ user_skills }}\r\n
\r\n
" + text: "{{ field_user_badges }}\r\n
\r\n
\r\n
\r\n {{ user_picture }}\r\n
\r\n
\r\n!!!!=-=-= This line is programmatically replaced, if you change anything in this line you'll break badges. See cssn.module to fix any issues =-=-=-=-!!!!\r\n
\r\n
\r\n
\r\n {{ field_user_first_name }} {{ field_user_last_name }}\r\n
\r\n
\r\n {{ field_access_organization }}\r\n
\r\n
\r\n {{ field_current_occupation }}\r\n
\r\n
\r\n {{ user_skills }}\r\n
\r\n
" make_link: false path: '' absolute: false @@ -952,7 +1125,18 @@ display: preserve_facet_query_args: false query_tags: { } contextual_filters_or: false - relationships: { } + relationships: + field_user_badges: + id: field_user_badges + table: search_api_datasource_cssn_directory_entity_user + field: field_user_badges + relationship: none + group_type: group + admin_label: 'Badges: Taxonomy term' + entity_type: user + plugin_id: search_api + required: false + skip_access: true css_class: 'd-flex flex-wrap justify-content-between' header: { } footer: { } @@ -965,8 +1149,10 @@ display: - url - url.query_args tags: + - 'config:field.storage.taxonomy_term.field_badge' - 'config:field.storage.user.field_access_organization' - 'config:field.storage.user.field_current_occupation' + - 'config:field.storage.user.field_user_badges' - 'config:field.storage.user.field_user_first_name' - 'config:field.storage.user.field_user_last_name' - 'config:field.storage.user.user_picture' @@ -989,8 +1175,10 @@ display: - url - url.query_args tags: + - 'config:field.storage.taxonomy_term.field_badge' - 'config:field.storage.user.field_access_organization' - 'config:field.storage.user.field_current_occupation' + - 'config:field.storage.user.field_user_badges' - 'config:field.storage.user.field_user_first_name' - 'config:field.storage.user.field_user_last_name' - 'config:field.storage.user.user_picture' diff --git a/web/themes/nect-theme/css/style.css b/web/themes/nect-theme/css/style.css index 230c55cad..ad79bc160 100755 --- a/web/themes/nect-theme/css/style.css +++ b/web/themes/nect-theme/css/style.css @@ -2207,7 +2207,7 @@ button.copyclip:has(:hover, + details.search-ci-links summary:hover) { line-height: 1; display: flex; } -.persona img { +.persona > img { width: 100%; aspect-ratio: .9; object-fit: cover; @@ -2314,3 +2314,11 @@ details.tags label { margin-left: 12px; font-size: 12px; } + +.tooltip-inner { + font-weight: 600; + font-size: 14px; + line-height: 18px; + padding: 15px; + border-radius: 10px; +}