Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
730fff0
Create az_opportunity content type
zsaenz Jan 9, 2026
1e9b752
PHPCBF, clarifying css
zsaenz Jan 9, 2026
f17b6a7
Merge branch 'main' into issue/3998
zsaenz Jan 9, 2026
f26a713
Updates content with more descriptive content.
zsaenz Jan 9, 2026
4bf9031
Merge branch 'issue/3998' of https://github.com/az-digital/az_quickst…
zsaenz Jan 9, 2026
8403d81
Update fields, displays, views
zsaenz Jan 15, 2026
9cd4b5e
puts back optional views
zsaenz Jan 15, 2026
b5e0944
Add Type field, minor display fixes
zsaenz Jan 15, 2026
2dfd76b
Final touches to display all requested fields
zsaenz Jan 21, 2026
b6db600
Updates views and displays, getting started with Trellis Opportunitie…
zsaenz Jan 22, 2026
7c5299e
Merge branch 'main' into issue/3998
zsaenz Jan 22, 2026
780c28e
Updates view and style, adds dependency to link_class
zsaenz Jan 26, 2026
2f9a4ca
Update modules/custom/az_core/config/install/smart_title.settings.yml
zsaenz Jan 26, 2026
e429185
Add starter for trellis importer (non-functional)
zsaenz Jan 29, 2026
a2230bd
removes media fields
zsaenz Feb 3, 2026
b12e385
Fix smart title
zsaenz Feb 3, 2026
c4ce6b7
Fix filters
zsaenz Feb 9, 2026
c42b5bf
Removes trellis type for use with another PR
zsaenz Feb 10, 2026
49cf9e1
phpcbf
zsaenz Feb 11, 2026
075301c
removes devel file
zsaenz Feb 11, 2026
d877ac7
Merge branch 'main' into issue/3998
zsaenz Feb 13, 2026
753dd82
Merge branch 'main' into issue/3998
zsaenz Feb 26, 2026
22fc903
First try for Trellis Importing - data pulls, importing and view not …
zsaenz Mar 10, 2026
c890215
Most recent tests
zsaenz Mar 10, 2026
9d26368
updates view
zsaenz Mar 11, 2026
57e1bcb
Update migrations to import some data from Trellis.
zsaenz Mar 11, 2026
d76a346
Migrates trellis content into opportunity content
zsaenz Mar 12, 2026
2abca82
Add eligibility field
zsaenz Mar 17, 2026
b7376d6
Update migrations, merge event date picker fix
zsaenz Mar 20, 2026
06cdac9
adding enterprise attributes
zsaenz Mar 24, 2026
ce31a91
Re-adds modality as program format, organizes fields
zsaenz Mar 24, 2026
4681a63
update displays and views
zsaenz Mar 26, 2026
0805ab7
Added Program Type, clearing empty fields
zsaenz Mar 30, 2026
f9a8ec4
Fixes empty attribute issue with AI
zsaenz Apr 3, 2026
ddcb9fa
Fixes double routing, adds parent account name
zsaenz Apr 3, 2026
e12c4d6
Hides trellis fields for preview
zsaenz Apr 4, 2026
c838b1c
Fix body and eligibility importing, removes old twig file
zsaenz Apr 6, 2026
2a3fba9
Moves opportunity trellis importer into its own page (id size cant ex…
zsaenz Apr 6, 2026
1c0a6c5
Fixes attributes, removes old program type
zsaenz Apr 7, 2026
839ff76
phpcbf
zsaenz Apr 7, 2026
43df943
Add create permissions (core install)
zsaenz Apr 8, 2026
6d437e5
Fix audiences
zsaenz Apr 8, 2026
1f08643
phpcbf
zsaenz Apr 8, 2026
5de1f0c
Credit and Format cardinality and null fix
zsaenz Apr 8, 2026
e9468ee
View Fix
zsaenz Apr 8, 2026
b316dd5
Fixes multiple_values migrations for format and credits, removes brok…
zsaenz Apr 9, 2026
168f5d8
Merge branch 'main' into issue/3998
zsaenz Apr 9, 2026
93656b7
CodeSniffer update
zsaenz Apr 9, 2026
899c7c8
Clears unnecessary changes from distribution config
zsaenz Apr 9, 2026
b6ed790
Removes datepicker (date not asked for in filters)
zsaenz Apr 10, 2026
7caba71
More date_filter fix, fix parent_account_name filter
zsaenz Apr 10, 2026
5e1e39b
Opportunity content type visual changes (#5485)
danahertzberg Apr 13, 2026
0dcc2ec
Merge branch 'main' into issue/3998
zsaenz Apr 13, 2026
92ca471
Merge branch 'main' into issue/3998
kevdevlu Apr 17, 2026
10ececd
Address reviewer feedback and fix recurring import API param mismatch
kevdevlu Apr 17, 2026
2ecf674
Move opportunity category tags to bottom of node display, render hori…
kevdevlu Apr 17, 2026
f08b6c6
Use lower case in "Trellis opportunity importer"
kevdevlu Apr 24, 2026
1d9723c
Merge branch 'main' into issue/3998
kevdevlu Apr 24, 2026
b85b4e8
Update trellis importer title row, entity view display structure
kevdevlu Apr 24, 2026
95d4bda
Add Results Count and Full Pager to Trellis Opportunity Importer (#5506)
kevdevlu Apr 24, 2026
3da95d7
Remove `Audience` Filter on Trellis opportunity search
kevdevlu Apr 24, 2026
c6b8b32
Correct Results Count Logic, Update migration to use Update Mode
kevdevlu Apr 25, 2026
f7e9267
Fix incorrectly named field name
kevdevlu Apr 29, 2026
892fe54
Improve recurring import rule: add missing fields, fix search param m…
kevdevlu May 1, 2026
069b53d
Replace += to use array_merge instead
kevdevlu May 1, 2026
c03200b
Use Enterprise Attrib Values Instead of Key for API Search
kevdevlu May 1, 2026
1861fb2
Sanitize Application_Form_URL__c which can be an HTML anchor or plain…
kevdevlu May 6, 2026
fedc961
Shorten Comment to be less than 80 chars
kevdevlu May 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions config/install/user.role.az_content_admin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ permissions:
- 'batch update workbench access'
- 'bypass node access'
- 'bypass workbench access'
- 'create az_opportunity content'
- 'create content translations'
- 'create new books'
- 'create terms in az_academic_programs'
Expand All @@ -56,6 +57,7 @@ permissions:
- 'delete any az_flexible_page content'
- 'delete any az_image media'
- 'delete any az_news content'
- 'delete any az_opportunity content'
- 'delete any az_person content'
- 'delete any az_publication content'
- 'delete any az_remote_video media'
Expand Down
6 changes: 6 additions & 0 deletions config/install/user.role.az_content_editor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ permissions:
- 'create az_flexible_page content'
- 'create az_image media'
- 'create az_news content'
- 'create az_opportunity content'
- 'create az_person content'
- 'create az_publication content'
- 'create az_quick_links block content'
Expand All @@ -70,6 +71,7 @@ permissions:
- 'delete own az_flexible_page content'
- 'delete own az_image media'
- 'delete own az_news content'
- 'delete own az_opportunity content'
- 'delete own az_person content'
- 'delete own az_publication content'
- 'delete own az_remote_video media'
Expand All @@ -86,6 +88,7 @@ permissions:
- 'edit any az_flexible_page content'
- 'edit any az_image media'
- 'edit any az_news content'
- 'edit any az_opportunity content'
- 'edit any az_person content'
- 'edit any az_publication content'
- 'edit any az_quick_links block content'
Expand All @@ -102,6 +105,7 @@ permissions:
- 'edit own az_flexible_page content'
- 'edit own az_image media'
- 'edit own az_news content'
- 'edit own az_opportunity content'
- 'edit own az_person content'
- 'edit own az_publication content'
- 'edit own az_remote_video media'
Expand All @@ -128,6 +132,7 @@ permissions:
- 'revert az_event revisions'
- 'revert az_flexible_page revisions'
- 'revert az_news revisions'
- 'revert az_opportunity revisions'
- 'revert az_person revisions'
- 'revert az_publication revisions'
- 'revert book revisions'
Expand Down Expand Up @@ -158,6 +163,7 @@ permissions:
- 'view az_event revisions'
- 'view az_flexible_page revisions'
- 'view az_news revisions'
- 'view az_opportunity revisions'
- 'view az_person revisions'
- 'view az_publication revisions'
- 'view book revisions'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ smart_title:
- 'node:az_event'
- 'node:az_news'
- 'node:az_flexible_page'
- 'node:az_opportunity'
- 'node:az_person'
- 'node:az_publication'
- 'taxonomy_term:az_event_categories'
Expand Down
32 changes: 32 additions & 0 deletions modules/custom/az_opportunity/az_opportunity.info.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Quickstart Opportunity
description: 'Provides an Opportunity content type and related configuration. Use this content type to add non-academic opportunities such as Scholarships, Internships or Job Opportunities to your site.'
core_version_requirement: ^10 || ^11 || ^12
type: module
package: The University of Arizona - Experimental
lifecycle: experimental
lifecycle_link: 'https://github.com/az-digital/az_quickstart/blob/main/RELEASES.md#experimental-features'

dependencies:
- az_core:az_core
- calendar_link:calendar_link
- date_ap_style:date_ap_style
- field_group:field_group
- jquery_ui_datepicker:jquery_ui_datepicker
- drupal:datetime_range
- drupal:field
- drupal:file
- drupal:link
- drupal:link_class
- drupal:media
- drupal:media_library
- drupal:menu_ui
- drupal:node
- drupal:path
- drupal:taxonomy
- drupal:text
- drupal:user
- pathauto:pathauto
- smart_date:smart_date
- smart_date:smart_date_recur
- smart_title:smart_title
- views_bootstrap:views_bootstrap
6 changes: 6 additions & 0 deletions modules/custom/az_opportunity/az_opportunity.libraries.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
az_opportunity:
css:
theme:
css/az_opportunity.css: {}
dependencies:
- az_barrio/arizona-bootstrap-css
15 changes: 15 additions & 0 deletions modules/custom/az_opportunity/az_opportunity.module
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php

/**
* @file
* Contains az_opportunity.module.
*/

/**
* Implements hook_preprocess_node().
*/
function az_opportunity_preprocess_node(&$variables) {
if ($variables['node']->getType() === 'az_opportunity') {
$variables['#attached']['library'][] = 'az_opportunity/az_opportunity';
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Quickstart Opportunity - Trellis Opportunity Importer
type: module
description: 'Import opportunities from <a href="https://trellis.arizona.edu/solutions/events-management">Trellis Programs</a>, the official University of Arizona program management tool.'
core_version_requirement: ^11.3 || ^12
package: 'The University of Arizona - Experimental'
lifecycle: experimental
lifecycle_link: 'https://github.com/az-digital/az_quickstart/blob/main/RELEASES.md#experimental-features'
php: 8.0

dependencies:
- az_core:az_core
- az_enterprise_attributes_import:az_enterprise_attributes_import
- az_opportunity:az_opportunity
- az_migration:az_migration_remote
- drupal:views
- drupal:migrate
- migrate_plus:migrate_plus
- migrate_tools:migrate_tools
- migrate_queue_importer:migrate_queue_importer
- views_remote_data:views_remote_data

configure: az_opportunity_trellis.settings
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php

/**
* @file
* Install, update and uninstall functions for az_opportunity_trellis.
*/

use Drupal\Core\Entity\EntityDefinitionUpdateManagerInterface;

/**
* Ensure views_remote_data module is installed.
*/
function az_opportunity_trellis_update_1020801() {
\Drupal::service('module_installer')->install(['views_remote_data']);
}

/**
* Ensure az_opp_recurring_import_rule entity type is installed.
*/
function az_opportunity_trellis_update_1021001() {
$changes = \Drupal::entityDefinitionUpdateManager()->getChangeList();
$status = $changes['az_opp_recurring_import_rule']['entity_type'] ?? '';
// Determine if recurring import rule entity needs to be created.
if ($status === EntityDefinitionUpdateManagerInterface::DEFINITION_CREATED) {
$entity_type_definition = \Drupal::service('entity_type.manager')->getDefinition('az_opp_recurring_import_rule');
\Drupal::entityDefinitionUpdateManager()->installEntityType($entity_type_definition);
}
}

/**
* Ensure az_migration_remote is installed.
*/
function az_opportunity_trellis_update_1021301() {
\Drupal::service('module_installer')->install(['az_migration_remote']);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
entity.az_opp_recurring_import_rule.add_form:
route_name: 'entity.az_opp_recurring_import_rule.add_form'
title: 'Add Recurring Import Rule'
appears_on:
- entity.az_opp_recurring_import_rule.collection
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
az_opportunity_trellis.az_opportunity_trellis_settings_task:
route_name: az_opportunity_trellis.settings
title: 'AZ Trellis Opportunity Importer'
base_route: az_core.az_settings
weight: 0

az_opportunity.import_form_task:
title: 'Trellis opportunity importer'
route_name: view.az_opportunity_trellis_import.page_1
parent_id: system.admin_content
description: 'Import opportunities from the Trellis Opportunity API.'
weight: 101

az_opportunity_trellis.az_opp_recurring_import_rules_tab:
route_name: entity.az_opp_recurring_import_rule.collection
title: 'Recurring Opportunity Imports'
base_route: az_core.az_settings
weight: 5
Loading
Loading