Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
320 commits
Select commit Hold shift + click to select a range
eaf47e6
Fix invalid operand types
cecilialau6776 Dec 5, 2025
ee48772
Use django's aggregations
cecilialau6776 Dec 5, 2025
d62fa26
Merge pull request #902 from cecilialau6776/center_summary_bugfix
aebruno Dec 8, 2025
3d64020
Fix deprecation warnings for Django5.
aebruno Dec 5, 2025
ce006aa
Merge pull request #901 from coldfront/fix-deprecation-warnings
aebruno Dec 8, 2025
136ff86
document undocumented options
simonLeary42 Oct 5, 2025
bcf999b
Merge pull request #818 from simonLeary42/config-missing-docs
aebruno Dec 8, 2025
473ca2c
Batch commands when syncing FreeIPA.
aebruno Dec 5, 2025
21c66b8
docs: add upgrading with git guide
chrisdaaz Dec 10, 2025
bc47f02
Fix aggregation to be compatible with postgres.
aebruno Dec 10, 2025
4be1cf1
Merge pull request #910 from coldfront/fix-center-summary
aebruno Dec 10, 2025
23c9b16
Upgrade to Django 5.2
aebruno Dec 8, 2025
5d03595
Merge pull request #903 from coldfront/django5-upgrade
aebruno Dec 10, 2025
3ddafc0
Merge pull request #907 from coldfront/freeipa-batch
aebruno Dec 10, 2025
4616b2c
add coldfront core setting for PROJECT_UPDATE_FIELDS
cecilialau6776 Jul 23, 2025
d714149
Merge pull request #737 from cecilialau6776/proj_update_fields_setting
aebruno Dec 11, 2025
907885b
UI Fixes
cecilialau6776 Dec 12, 2025
13be14a
Add more email notifications and cleanup email code
cecilialau6776 Dec 12, 2025
fa201ed
Merge pull request #743 from cecilialau6776/ui_fixes
aebruno Dec 13, 2025
f4d09df
Merge pull request #895 from IUResearchApplications/expand-project-ac…
aebruno Dec 13, 2025
3e27ee9
Merge pull request #878 from IUResearchApplications/slurm-help-text
aebruno Dec 13, 2025
2270c0a
fix HTML
simonLeary42 Nov 12, 2025
f440bf1
make use of f-strings
simonLeary42 Dec 13, 2025
4111c2e
Merge pull request #877 from simonLeary42/template-linter-fixes
aebruno Dec 13, 2025
c462bd2
Add new Slurm config options to documentation
matthew-kusz Dec 16, 2025
149c145
Merge pull request #912 from simonLeary42/fstrings
aebruno Dec 17, 2025
ba1afff
Merge pull request #914 from IUResearchApplications/update-slurm-doc
aebruno Dec 18, 2025
f48278d
Merge pull request #860 from cecilialau6776/new_email_notifications
aebruno Dec 18, 2025
8fda40a
Merge pull request #892 from cecilialau6776/allocationform_modelform
aebruno Dec 18, 2025
4bcfa57
Merge pull request #863 from simonLeary42/attribute-validator-boilerp…
aebruno Dec 18, 2025
e799065
Merge pull request #846 from Tufts-Technology-Services/feature-run-ci…
aebruno Dec 18, 2025
1046620
project managers should be able to see allocations &
s-sajid-ali Dec 15, 2025
c6f8832
Merge pull request #913 from s-sajid-ali/manager-view-allocs
aebruno Dec 20, 2025
1d8290f
Refactor frontend css/javascript assets.
aebruno Dec 12, 2025
4538fbf
Merge pull request #911 from coldfront/webui-bundle-vite
aebruno Dec 20, 2025
6921edd
Refactor center summary and update charting libs.
aebruno Dec 20, 2025
d549814
Merge pull request #916 from coldfront/refactor-charts
aebruno Dec 21, 2025
1e2e92e
Fixes #917.
aebruno Dec 23, 2025
e8eeb3d
Merge pull request #918 from coldfront/fix-gauge-chart
aebruno Dec 23, 2025
e836190
Upgrade to bootstrap5
aebruno Dec 21, 2025
557271b
Bumped the uv version in the Dockerfile to match what is in pyproject…
Eric-Butcher Jan 5, 2026
ce618bb
Added REQUEST_TIMEOUT_SECONDS setting and used it to tset timeouts fo…
Eric-Butcher Aug 21, 2025
f153e6e
fix Q filter for allocations in ProjectDetailView
s-sajid-ali Jan 7, 2026
1614219
Fixed problem where django_get_or_create fails to create a fully uniq…
Eric-Butcher Jan 8, 2026
e2546cd
Remove the resource_type search field from the admin page
matthew-kusz Jan 16, 2026
39d5e01
Merge pull request #919 from coldfront/bootstrap5-upgrade
aebruno Jan 23, 2026
0889cf2
Merge pull request #921 from Eric-Butcher/bugfix/dockerfile-uv-version-9
aebruno Jan 23, 2026
3d2a7ca
Merge pull request #928 from IUResearchApplications/fix-resource-attr…
aebruno Jan 23, 2026
3726b3c
Bootstrap 5 upgrade fixes
cecilialau6776 Jan 23, 2026
811819f
Merge pull request #933 from cecilialau6776/bootstrap5-upgrade-fixes
aebruno Jan 24, 2026
5d57d31
Fix badge background color.
aebruno Jan 24, 2026
f317d59
Merge pull request #934 from coldfront/fix-badge-colors
aebruno Jan 24, 2026
f2eca87
Merge pull request #924 from Eric-Butcher/bugfix/test-project-changed…
aebruno Jan 24, 2026
2f15800
Merge pull request #923 from s-sajid-ali/bugfix
aebruno Jan 24, 2026
5b0d24c
Add support for slurm parents
cecilialau6776 Jan 27, 2026
9735093
Merge pull request #782 from cecilialau6776/slurm_parents
aebruno Jan 29, 2026
00bc51d
slurm: add get_objects_to_remove test and fix logic
cecilialau6776 Jan 30, 2026
dfe601f
Merge pull request #936 from cecilialau6776/slurm_parents
aebruno Feb 3, 2026
2a20236
uv lock -U
simonLeary42 Feb 12, 2026
53901f5
remove python 3.10, 3.11 from CI
simonLeary42 Feb 12, 2026
051dc6b
create project archive method under Project model
cecilialau6776 Feb 13, 2026
04bb61c
Merge pull request #943 from simonLeary42/update-deps
aebruno Feb 16, 2026
0c18760
Merge pull request #946 from cecilialau6776/project_archive
aebruno Feb 16, 2026
13c5427
Bump deps
aebruno Feb 16, 2026
3109546
Merge pull request #947 from coldfront/uv-bump-deps
aebruno Feb 16, 2026
2a66a53
Load template variables via json_script rather than | safe
matthew-kusz Mar 4, 2026
b332cb1
Fix allocation attributes with usage not being displayed correctly
matthew-kusz Mar 4, 2026
e37a245
Refactor AdvancedSearchView to use helper methods and reduce database
matthew-kusz Mar 5, 2026
171cca0
Replace import_from_settings with a Django settings lookup
matthew-kusz Mar 6, 2026
fc0effb
Remove unused import
matthew-kusz Mar 6, 2026
46c03f3
Re-add import
matthew-kusz Mar 6, 2026
a6bb702
Fix max forms error for formsets
matthew-kusz Mar 6, 2026
f423b20
Improve accessibility, remove repeated code, and improve formatting
matthew-kusz Mar 6, 2026
f5e86f3
Refactor search table classes to use a shared base class
matthew-kusz Mar 13, 2026
bcf17ee
Refactor BaseSearchTable to support attribute handling
matthew-kusz Mar 13, 2026
90b933d
Add type hints to BaseSearchTable class methods
matthew-kusz Mar 13, 2026
f93b832
Refactor attribute query
matthew-kusz Mar 13, 2026
14dfb12
Update package-lock.json format for latest npm.
aebruno Mar 17, 2026
91fa9d9
Merge pull request #959 from coldfront/hotfix/update-package-lock
aebruno Mar 17, 2026
2cd7705
Fix eula email sending bug.
aebruno Mar 17, 2026
04a20bc
Merge pull request #958 from coldfront/bugfix/eula-email
aebruno Mar 17, 2026
cf8e75d
fix bug
simonLeary42 Mar 17, 2026
65f0dcd
Fix positioning of the upgrade button
aebruno Mar 17, 2026
c750218
Refactor search table filtering logic
matthew-kusz Mar 17, 2026
b40cb8c
Add type hints to query parameter types in BaseSearchTable methods
matthew-kusz Mar 17, 2026
2779424
Replace CENTER_BASE_URL import with Django settings
matthew-kusz Mar 17, 2026
2e14fd4
Merge pull request #945 from simonLeary42/bugfix-resolver-match
aebruno Mar 17, 2026
2d1b50d
Merge pull request #951 from IUResearchApplications/fix-user-profile-ui
aebruno Mar 17, 2026
213531c
Added FILTER_MAP to ProjectTable to centralize filter definitions
matthew-kusz Mar 17, 2026
9733b98
add form_description resource_attribute_type
simonLeary42 Mar 20, 2026
3688443
add allocation attribute usage to rest api
cecilialau6776 Mar 20, 2026
2a6e2bb
improve project_openldap utils
simonLeary42 Nov 6, 2025
8c2c26f
Revert "Fixed problem where django_get_or_create fails to create a fu…
cecilialau6776 Mar 24, 2026
0d43fa5
Merge pull request #962 from simonLeary42/document-form-description-f…
aebruno Mar 25, 2026
40a824d
Merge pull request #963 from cecilialau6776/rest_api_allocation_attri…
aebruno Mar 25, 2026
b76af1b
Bump deps
aebruno Mar 25, 2026
970ae74
Merge pull request #969 from coldfront/hotfix/bump-deps
aebruno Mar 25, 2026
0b809bd
Merge pull request #774 from Eric-Butcher/bugfix/ruff-request-without…
aebruno Mar 27, 2026
affa7b9
Merge pull request #825 from simonLeary42/project-openldap-improvements
aebruno Mar 27, 2026
eb31ee4
plugins/api: add show_all option to projects/allocations
cecilialau6776 Mar 24, 2026
c65d0de
Merge pull request #968 from cecilialau6776/rest_api_view_all_toggle
aebruno Mar 27, 2026
f769895
Merge pull request #908 from chrisdaaz/add_docs_about_upgrading_with_git
aebruno Mar 27, 2026
8b74e2d
Refactor AttributeFormSetHelper to support both allocation and project
matthew-kusz Mar 30, 2026
87f7670
Refactor attribute search forms to use unified base class
matthew-kusz Mar 31, 2026
604552a
remove settings_value in favor of settings
simonLeary42 Oct 25, 2025
41145ec
Refactor ProjectSearchForm to inherit from a common SearchForm and
matthew-kusz Mar 31, 2026
eaee299
Fix dict calling error
matthew-kusz Mar 31, 2026
0528b70
Reorganize class attributes
matthew-kusz Mar 31, 2026
9b9cd4b
Remove nested `user__` prefix from UserSearchForm field names and update
matthew-kusz Mar 31, 2026
a23f923
Refactor attribute value retrieval into the get_attribute_value method
matthew-kusz Mar 31, 2026
2118110
enure unique project titles in tests
cecilialau6776 Mar 31, 2026
027eba9
Refactor the get_attribute_value method to return early and extract
matthew-kusz Mar 31, 2026
98d3d91
Refactor attribute search forms and improve search form layouts
matthew-kusz Apr 1, 2026
9e5de22
Refactor model resolution logic into reusable get_model_obj methods
matthew-kusz Apr 1, 2026
a36ea72
Add slurm_import command
cecilialau6776 Aug 24, 2023
cf94a43
Refactor advanced search forms for select all HTML reusability
matthew-kusz Apr 1, 2026
c7f06a1
Move select all checkbox
matthew-kusz Apr 1, 2026
145464a
Refactor AllocationSearchForm to inherit from SearchForm and deduplicate
matthew-kusz Apr 1, 2026
d75f31d
Refactor the build_row method into the BaseSearchTable class
matthew-kusz Apr 1, 2026
8fb7549
The build_row and get_attribute_value methods now accept additional_data
matthew-kusz Apr 1, 2026
9e6b98d
Refactor BaseSearchTable with improved structure, typing, and usage
matthew-kusz Apr 2, 2026
a9ab051
Refactor search filter logic into centralized SearchFilterBuilder class
matthew-kusz Apr 2, 2026
3162c6a
Update type hints, add docstrings, and refine method implementations in
matthew-kusz Apr 2, 2026
738a1be
Update type hints
matthew-kusz Apr 2, 2026
da99b2b
Change get_model_list to return a comma-separated string
matthew-kusz Apr 2, 2026
f5b1c96
Fix error when filtering by attributes
matthew-kusz Apr 2, 2026
e028e5c
fix bugs
simonLeary42 Apr 2, 2026
166ad28
Fix resource filtering
matthew-kusz Apr 2, 2026
db4895d
Fix attribute filter error
matthew-kusz Apr 2, 2026
510628d
Make BaseSearchTable an abstract base class
matthew-kusz Apr 2, 2026
070b7b5
Update search forms to use POST and session data
matthew-kusz Apr 2, 2026
0618135
Merge pull request #567 from cecilialau6776/slurm_import
aebruno Apr 3, 2026
3ccb18c
Merge pull request #983 from simonLeary42/project-openldap-fixes
aebruno Apr 3, 2026
4efc111
Merge pull request #853 from simonLeary42/remove-settings-value
aebruno Apr 3, 2026
eeb73e4
Merge pull request #944 from simonLeary42/remove-unsupported-versions-CI
aebruno Apr 3, 2026
c8df91f
Merge pull request #977 from cecilialau6776/faker_uniqueness
aebruno Apr 3, 2026
256ead5
Change advanced search form methods from GET to POST
matthew-kusz Apr 6, 2026
1573eff
Make CSV export conditional on available columns
matthew-kusz Apr 6, 2026
080e1f2
Current progress on the saved searches feature
matthew-kusz Apr 7, 2026
3332e13
Refactor saved search forms and views
matthew-kusz Apr 7, 2026
16411ff
Move modify search modal and logic to main template
matthew-kusz Apr 7, 2026
52bd64b
Move modify search modal and logic to saved_searches.html
matthew-kusz Apr 7, 2026
d3a4f02
Implement saved search deletion functionality
matthew-kusz Apr 7, 2026
eef58a2
update documentation for EMAIL_DEVELOPMENT_EMAIL_LIST option
simonLeary42 Apr 13, 2026
f74ed8b
bug: fix filter_options in get_user_emails() method
chrisdaaz Apr 14, 2026
5fae556
Merge pull request #992 from chrisdaaz/get_user_emails_patch
aebruno Apr 14, 2026
fbea48c
add project admin comments to project detail page
cecilialau6776 Apr 7, 2026
3d34094
Merge pull request #989 from simonLeary42/patch-15
aebruno Apr 17, 2026
b28aabd
Merge pull request #993 from cecilialau6776/project_admin_comments
aebruno Apr 17, 2026
d21240f
Move modal contents to their own files and add a details modal
matthew-kusz Apr 21, 2026
c25867d
Reformat html
matthew-kusz Apr 21, 2026
d776d28
Format and enhance Advanced Search UI and fix missing many-to-many save
matthew-kusz Apr 22, 2026
8b06e10
Refactor shared searches into dedicated template and remove duplicate
matthew-kusz Apr 23, 2026
8c217e0
Refactor SavedSearchModifyView to use template rendering and move form
matthew-kusz Apr 23, 2026
89f26d7
Refactor saved search modals into a unified component
matthew-kusz Apr 24, 2026
7f7c4df
Remove unused html files
matthew-kusz Apr 24, 2026
b0862ab
Add saved search modal with save, modify, and details views
matthew-kusz Apr 24, 2026
0b9a6a4
Current progress on loading the search data
matthew-kusz Apr 27, 2026
4b40bc8
Refactor populateSearchForm to support attribute formsets and improve
matthew-kusz May 4, 2026
47f876b
Fix details modal removing more than the form
matthew-kusz May 4, 2026
c347b7a
Fix the delete button
matthew-kusz May 5, 2026
4be1666
Format JSON query data for display in saved search details
matthew-kusz May 5, 2026
96ab6db
Remove debug print statements and minor formatting cleanup
matthew-kusz May 5, 2026
a60139a
Bump version
aebruno Mar 26, 2026
cdc2eb6
Add base path config option.
aebruno May 11, 2026
b87eea9
Merge pull request #972 from coldfront/hotfix/bump-version
aebruno May 13, 2026
097526a
Update docs
aebruno May 13, 2026
921e4d5
Merge pull request #1002 from coldfront/hotfix/doc-updates
aebruno May 13, 2026
22f93e6
Only send upcoming expiry emails to project managers
matthew-kusz May 15, 2026
626ff0e
Add @property decorator to get_identifiers method
matthew-kusz May 18, 2026
2156d63
Fix incorrect method call by removing parentheses from get_identifiers
matthew-kusz May 18, 2026
6fd3e86
Improve clarity and consistency in allocation and project expiration
matthew-kusz May 18, 2026
5248bce
Send allocation expiry emails with identifiers and updated subject lines
matthew-kusz May 18, 2026
a513815
Update expired access email subject
matthew-kusz May 18, 2026
f695634
Update allocation expired email template for clarity and updated
matthew-kusz May 18, 2026
a56e0eb
Update expired project and expiration notice emails for clarity and
matthew-kusz May 18, 2026
fe13fce
Move setting project to an empty list outside of loop to fix users
matthew-kusz May 18, 2026
624953d
Add REALLMS API to resource list on login page
matthew-kusz May 18, 2026
5b06a2b
Optimize expiry email tasks with prefetching
matthew-kusz May 20, 2026
224e981
Update coldfront-custom-resources subproject
matthew-kusz May 20, 2026
173e5c0
Update coldfront-custom-resources
matthew-kusz May 26, 2026
83f7e2b
Fix error when adding aa publications
matthew-kusz Jun 2, 2026
563c8da
Fix redeclaration error when the search is ran more than once
matthew-kusz Jul 1, 2026
8747bdf
Filter publications missing required data
matthew-kusz Jul 1, 2026
f54d14d
Remove username from publication error log
matthew-kusz Jul 1, 2026
047d612
Merge remote-tracking branch 'origin/coldfront-update-1.1.8-merger' i…
matthew-kusz Jul 7, 2026
3950d27
Remove unneded migration files
matthew-kusz Jul 7, 2026
c58037b
Update uv.lock
matthew-kusz Jul 7, 2026
7cbfa2a
Re-add custom static files
matthew-kusz Jul 7, 2026
abd1623
Remove unneeded css
matthew-kusz Jul 9, 2026
354eddf
Fix errors and bootstrap 5 incompatibilities
matthew-kusz Jul 9, 2026
8314bf4
Remove redundant manual click handlers and form reset code. Replace them
matthew-kusz Jul 10, 2026
d890f99
Replace popover links with buttons and clean up JS
matthew-kusz Jul 13, 2026
3c63d9f
Remove gauges from project detail page script
matthew-kusz Jul 14, 2026
ae3234c
Remove redundant $(document).ready wrapper
matthew-kusz Jul 14, 2026
682e6d2
Refactor PI search template JS and HTML
matthew-kusz Jul 14, 2026
2e4b27d
Refactor request access button in search results
matthew-kusz Jul 14, 2026
b0fd68e
Use datatable class and remove gauges from script
matthew-kusz Jul 14, 2026
3a45de1
Wrap allocation list JS in javascript block
matthew-kusz Jul 14, 2026
cc75d1c
Remove popover initialization in user search home
matthew-kusz Jul 14, 2026
8a3d678
Include REALLMS Commercial API in check to include div
matthew-kusz Jul 14, 2026
6a14cf5
Convert popover triggers from links to buttons
matthew-kusz Jul 15, 2026
704b40d
Remove collapse() calls from templates
matthew-kusz Jul 15, 2026
3391510
Reorder send_email_template arguments to put receiver_list before sender
matthew-kusz Jul 15, 2026
61f938e
Use buttons for popovers and remove popover and datatable
matthew-kusz Jul 15, 2026
e22d0b9
Refactor ProjectUpdateView to use Django UpdateView
matthew-kusz Jul 15, 2026
ea6ac27
Fix errors
matthew-kusz Jul 15, 2026
1c0f69c
Fix submenus not working
matthew-kusz Jul 15, 2026
9e8e19f
Migrate project review stats to Chart.js
matthew-kusz Jul 16, 2026
5b3e3a7
Fix footer format
matthew-kusz Jul 16, 2026
51fe986
Fix branding format
matthew-kusz Jul 17, 2026
9b30349
Fix reference error and improve code
matthew-kusz Jul 17, 2026
2dfcc78
Move navbar active state from links to list items and add missing urls
matthew-kusz Jul 17, 2026
9c5ca97
Improve PI search UI with submit button state and empty input handling
matthew-kusz Jul 17, 2026
1d2cfd6
Improve accessibility and Bootstrap consistency in resource selection
matthew-kusz Jul 17, 2026
65d5262
Add css for allocation forms
matthew-kusz Jul 17, 2026
6289289
Migrate modals to Bootstrap 5 JavaScript API, trigger modals via
matthew-kusz Jul 17, 2026
fbb889e
Remove whitespace
matthew-kusz Jul 17, 2026
ea4d00b
Remove unused context
matthew-kusz Jul 17, 2026
86314f3
Remove redundant title
matthew-kusz Jul 17, 2026
6ee1c6a
Cleanup allocation add users template and jQuery handlers
matthew-kusz Jul 17, 2026
b746751
Fix error
matthew-kusz Jul 17, 2026
322ed9a
Merge branch 'advanced-search-improvements' into dev
matthew-kusz Jul 17, 2026
521cd3b
Redesign advanced search UI and saved search flow
matthew-kusz Jul 20, 2026
7ee3630
Refactor UI to remove accordions and make better use of space
matthew-kusz Jul 21, 2026
fcd0e7d
Rename get_model_list to get_resource_list
matthew-kusz Jul 21, 2026
025c64b
Remove unused allocation and project attribute search formsets
matthew-kusz Jul 21, 2026
2ea93e9
Optimize ProjectAttributeType queryset with select_related
matthew-kusz Jul 21, 2026
308bbe6
Add stub methods to UserTable
matthew-kusz Jul 21, 2026
ffe1498
Refactor advanced search views and consolidate SavedSearch logic
matthew-kusz Jul 22, 2026
bfe5ae2
Refactor advanced search: extract mixins, validate query_data, and
matthew-kusz Jul 22, 2026
28d04a5
Add allocation_set__resources to project query
matthew-kusz Jul 22, 2026
9c59627
Fix error when filtering by multi-select fields
matthew-kusz Jul 22, 2026
18212f1
Populate formset management fields on saved search
matthew-kusz Jul 22, 2026
eb8fde9
Rename display fields and skip unused prefetches
matthew-kusz Jul 22, 2026
93bb304
Pass selected resources to the allocation attribute search form
matthew-kusz Jul 22, 2026
74e83ea
Refactor bucket_related to accept a queryset
matthew-kusz Jul 22, 2026
2d223e2
Create 0002_alter_historicalsavedsearch_query_data_and_more.py
matthew-kusz Jul 22, 2026
be7240a
Reformat code
matthew-kusz Jul 23, 2026
8e3d6f0
Rename current_attribute to attribute_value in search utils
matthew-kusz Jul 23, 2026
ba5aabd
Refactor get_special_value to abstract method on BaseSearchTable and
matthew-kusz Jul 23, 2026
1db9c78
Refactor user table annotations to use subqueries and only use them when
matthew-kusz Jul 23, 2026
c717d49
Remove query_data validator, add caching/performance improvements, and
matthew-kusz Jul 24, 2026
7f2b348
Remove unused code
matthew-kusz Jul 24, 2026
fa10e2c
Fix conflicts
matthew-kusz Jul 24, 2026
e909ef6
Merge pull request #53 from IUResearchApplications/dev-merger
matthew-kusz Jul 24, 2026
894363d
Migrate advanced_search plugin from Bootstrap 4 to Bootstrap 5
matthew-kusz Jul 24, 2026
bc6f234
Remove debug_toolbar_urls import
matthew-kusz Jul 24, 2026
1b36717
Clean up unused code and imports
matthew-kusz Jul 24, 2026
e30b049
Fix the icon not changing
matthew-kusz Jul 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
41 changes: 38 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,68 @@
name: CI

on:
workflow_dispatch:
pull_request:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12", "3.13"]
node-version: ["24.x"]
env:
PLUGIN_API: True
PLUGIN_API: true
DJANGO_VITE_DEV_MODE: true

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Install uv and set the python version
uses: astral-sh/setup-uv@v5
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b
with:
python-version: ${{ matrix.python-version }}

- name: Install Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}

- name: Install the project
run: uv sync --locked --dev

- name: Install frontend packages
run: npm --prefix coldfront/static install

- name: Check for lint violations
run: uv run ruff check

- name: Check formatting
run: uv run ruff format --check

- name: Check frontend with eslint and prettier
run: npm --prefix coldfront/static run check

- name: Compile and bundle frontend static assets
run: npm --prefix coldfront/static run build

- name: Check bundled frontend static assets have been commited
run: |
if [[ `git status --porcelain` ]]; then
echo "Error: pre-compiled bundled frontend static assets have not been committed"
git status
exit 1
else
echo "Bundled frontend static assets check passed."
fi

- name: Check licence with reuse
run: uv run reuse lint

- name: Run tests
run: uv run coldfront test

- name: Check for migrations
run: uv run coldfront makemigrations --check
5 changes: 2 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
coldfront.egg-info
dist
build
.zed/
*._*
*.DS_Store
*.swp
Expand All @@ -20,8 +21,6 @@ db.json
.env
.devcontainer/*
.bin/*
cert.pem
kep.pem
node_modules
coldfront.log
apa.txt
pyrightconfig.json
215 changes: 122 additions & 93 deletions CHANGELOG.md

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Contributing to ColdFront

Before we start, thank you for considering contributing to ColdFront!
Before we start, thank you for considering contributing to ColdFront!

Every contribution no matter how small is welcome here! Whether you are adding a whole new feature, improving the aesthetics of the webpage, adding some tests cases, or just fixing a typo your contributions are appreciated.
Every contribution no matter how small is welcome here! Whether you are adding a whole new feature, improving the aesthetics of the webpage, adding some tests cases, or just fixing a typo your contributions are appreciated.

In this document you will find a set a guidelines for contributing to the ColdFront project, not hard rules. However, sticking to the advice contained in this document will help you to make better contributions, save time, and increase the chances of your contributions getting accepted.
In this document you will find a set a guidelines for contributing to the ColdFront project, not hard rules. However, sticking to the advice contained in this document will help you to make better contributions, save time, and increase the chances of your contributions getting accepted.

This project abides by a [Code of Conduct](CODE_OF_CONDUCT.md) that all contributors are required to uphold. Please read this document before interacting with the project.

Expand All @@ -20,11 +20,11 @@ For most contributions, you will start by opening up an issue, discussing change

### Issues

We track requested changes using GitHub issues. These include bugs, feature requests, and general concerns.
We track requested changes using GitHub issues. These include bugs, feature requests, and general concerns.

Before making an issue, please look at current and previous issues to make sure that your concern has not already been raised by someone else. It is also advised to read through the [current documentation](https://coldfront.readthedocs.io/en/stable/). If an issue with your concern is already opened you are encouraged to comment further on it. The `Search Issues` feature is great to check to see if someone has already raised your issue before.
Before making an issue, please look at current and previous issues to make sure that your concern has not already been raised by someone else. It is also advised to read through the [current documentation](https://coldfront.readthedocs.io/en/stable/). If an issue with your concern is already opened you are encouraged to comment further on it. The `Search Issues` feature is great to check to see if someone has already raised your issue before.

If, after searching pre-existing issues, your concern has not been raised (or you are unsure if a previous issue covers your concern) please open a new issue with any labels you believe are relevant. Please include any relevant images, links, and syntax-highlighted text snippets to help maintainers understand your concerns better. It is also helpful to include any debugging steps you have attempted or ideas on how to fix your issue.
If, after searching pre-existing issues, your concern has not been raised (or you are unsure if a previous issue covers your concern) please open a new issue with any labels you believe are relevant. Please include any relevant images, links, and syntax-highlighted text snippets to help maintainers understand your concerns better. It is also helpful to include any debugging steps you have attempted or ideas on how to fix your issue.

### Pull Requests

Expand All @@ -34,7 +34,7 @@ To create a pull request:
2. Create a branch off the `main` branch.
3. Make commits to your branch. Make sure your additions include [testing](#testing) for any new functionality. Make sure that you run the full test suite on your PR before submitting. If your changes necessitate removing or changing previous tests, please state this explicitly in your PR. Also ensure that your changes pass the [linter and formatter](#formatting-and-linting).
4. Create a pull request back to this main repository.
5. Wait for a maintainer to review your code and request any changes. Don't worry if the maintainer asks for changes! This feedback is perfectly normal and ensures a more maintainable project for everyone.
5. Wait for a maintainer to review your code and request any changes. Don't worry if the maintainer asks for changes! This feedback is perfectly normal and ensures a more maintainable project for everyone.

## Conventions and Style Guide

Expand All @@ -44,24 +44,24 @@ Please use a spell-checker when modifying the codebase to reduce the prevalence

#### Annotations

You are encouraged to use Python's type annotations to improve code readability and maintainability. Whenever possible, use the most recent annotation syntax available for the minimum version of Python supported by ColdFront.
You are encouraged to use Python's type annotations to improve code readability and maintainability. Whenever possible, use the most recent annotation syntax available for the minimum version of Python supported by ColdFront.

> The minimum Python version supported can be found in the `pyproject.toml` file.

#### Testing

All new and changed features must include unit tests to verify that they work correctly. Every non-trivial function should have at least as many test cases as its cyclomatic complexity to verify all independent code paths in the function operate correctly.

When using [uv](https://docs.astral.sh/uv/), the full test suite can be run using the command `uv run coldfront test`.
When using [uv](https://docs.astral.sh/uv/), the full test suite can be run using the command `uv run coldfront test`.

#### Formatting and Linting

This project is formatted and linted using [ruff](https://docs.astral.sh/ruff/).
This project is formatted and linted using [ruff](https://docs.astral.sh/ruff/).

You can use Ruff to check for any linting errors in proposed Python code using `uv run ruff check`. Ruff can also fix many linting errors automatically with `uv run ruff check --fix` when using [uv](https://docs.astral.sh/uv/).

If your code is failing linting checks but you you have a valid reason to leave it unchanged, you can suppress warnings using a `# noqa: <warning-error-code>` comment on the line(s) in question

You can also use Ruff to check formatting using `uv run ruff format --check` and automatically fix formatting errors with `uv run ruff format`.

If your code is failing formatting checks but you have a valid reason to leave it unchanged, you can suppress warnings for a specific block of code by enclosing it with the comments `# fmt: off` and `# fmt: on`. These comments work at the statement level so placing them inside of expressions will not have any effect.
If your code is failing formatting checks but you have a valid reason to leave it unchanged, you can suppress warnings for a specific block of code by enclosing it with the comments `# fmt: off` and `# fmt: on`. These comments work at the statement level so placing them inside of expressions will not have any effect.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt install -y \
libglib2.0-dev \
libsasl2-dev

COPY --from=ghcr.io/astral-sh/uv:0.7 /uv /bin/uv
COPY --from=ghcr.io/astral-sh/uv:0.9.13 /uv /bin/uv
ENV UV_COMPILE_BYTECODE=1
ENV UV_LINK_MODE=copy
ENV UV_PYTHON_INSTALL_DIR=/python
Expand Down
8 changes: 0 additions & 8 deletions LICENSES/ISC.txt

This file was deleted.

3 changes: 2 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
recursive-include coldfront/core/field_of_science/management/commands/data *
recursive-include coldfront/plugins/iquota/templates *
recursive-include coldfront/plugins/system_monitor/templates *
recursive-include coldfront/plugins/academic_analytics/templates *
recursive-include coldfront/templates *
recursive-include coldfront/static *
recursive-include coldfront/core/portal/templates *
Expand All @@ -12,6 +11,7 @@ recursive-include coldfront/core/publication/templates *
recursive-include coldfront/core/grant/templates *
recursive-include coldfront/core/user/templates *
recursive-include coldfront/core/resource/templates *
recursive-include coldfront/plugins/slurm/templates *
recursive-include coldfront/plugins/maintenance_mode/templates *
recursive-include coldfront/plugins/advanced_search/templates *
recursive-include coldfront/plugins/customizable_forms/templates *
Expand All @@ -22,3 +22,4 @@ recursive-include coldfront/plugins/announcements/templates *
recursive-include coldfront/plugins/help/templates *
recursive-include coldfront/plugins/movable_allocations/templates *
recursive-include coldfront/plugins/request_forms/templates *
recursive-include coldfront/plugins/academic_analytics/templates *
20 changes: 5 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
![ColdFront](docs/pages/images/logo-lg.png)

# ColdFront - Resource Allocation System

[![Documentation Status](https://readthedocs.org/projects/coldfront/badge/?version=latest)](https://coldfront.readthedocs.io/en/latest/?badge=latest)

ColdFront is an open source resource and allocation management system designed to provide a
central portal for administration, reporting, and measuring scientific impact
of cyberinfrastructure resources. ColdFront was created to help high performance computing (HPC) centers manage access to a diverse set of resources across large groups of users and provide a rich set of
extensible meta data for comprehensive reporting. The flexiblity of ColdFront allows centers to manage and automate their policies and procedures within the framework provided or extend the functionality with [plugins](docs/pages/index.md#extensibility). ColdFront is written in Python and released under the GPLv3 license.
ColdFront is an open source resource and allocation management system designed to provide a central portal for administration, reporting, and measuring scientific impact of cyberinfrastructure resources. ColdFront was created to help high performance computing (HPC) centers manage access to a diverse set of resources across large groups of users and provide a rich set of extensible meta data for comprehensive reporting. The flexiblity of ColdFront allows centers to manage and automate their policies and procedures within the framework provided or extend the functionality with [plugins](docs/pages/index.md#extensibility). ColdFront is written in Python and released under the GPLv3 license.

## Features

Expand All @@ -31,18 +26,13 @@ _Submit a PR to add your plugin to the list above._

## Documentation

For more information on installing and using ColdFront see our [documentation here](https://coldfront.readthedocs.io)
For more information on installing and using ColdFront refer to the [documentation here](https://docs.coldfront.dev)

## Contact Information
If you would like a live demo followed by QA, please contact us at
ccr-coldfront-admin-list@listserv.buffalo.edu. You can also contact us for
general inquiries and installation troubleshooting.
If you would like a live demo followed by QA, please contact us at ccr-coldfront-admin-list@listserv.buffalo.edu. You can also contact us for general inquiries and installation troubleshooting.

If you would like to join our mailing list to receive news and updates, please
send an email to listserv@listserv.buffalo.edu with no subject, and the
following command in the body of the message:
## ColdFront Community

subscribe ccr-open-coldfront-list@listserv.buffalo.edu first_name last_name
There is a large, active community around ColdFront and we invite you to [join us](https://coldfront.dev/community/)!


## License
Expand Down
48 changes: 11 additions & 37 deletions REUSE.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ path = [
"**.gitignore",
"**.html",
"**.css",
"**.scss",
"**.js",
"**.ts",
"**.webmanifest",
]
SPDX-FileCopyrightText = "(C) ColdFront Authors"
Expand All @@ -36,6 +39,12 @@ SPDX-License-Identifier = "CC-BY-NC-ND-4.0"
[[annotations]]
path = [
"uv.lock",
"coldfront/static/package-lock.json",
"coldfront/static/bundles/manifest.json",
"coldfront/static/package.json",
"coldfront/static/tsconfig.json",
"coldfront/static/.prettierignore",
"coldfront/static/.prettierrc",
"coldfront/**.png",
"coldfront/**.jpg",
]
Expand All @@ -44,49 +53,14 @@ SPDX-License-Identifier = "CC0-1.0"

[[annotations]]
path = [
"coldfront/static/bootstrap/*",
"coldfront/static/bundles/fa-*.woff2",
]
SPDX-FileCopyrightText = "Copyright (c) 2011-2025 The Bootstrap Authors"
SPDX-License-Identifier = "MIT"

[[annotations]]
path = [
"coldfront/static/c3js/*",
"coldfront/static/bundles/c3.js",
]
SPDX-FileCopyrightText = "Copyright (c) 2013 Masayuki Tanaka"
SPDX-License-Identifier = "MIT"

[[annotations]]
path = [
"coldfront/static/datatable/*",
]
SPDX-FileCopyrightText = "Copyright (C) 2008-2025, SpryMedia Ltd."
SPDX-License-Identifier = "MIT"

[[annotations]]
path = [
"coldfront/static/flatpickr/*",
]
SPDX-FileCopyrightText = "Copyright (c) 2017 Gregory Petrosyan"
SPDX-License-Identifier = "MIT"

[[annotations]]
path = [
"coldfront/static/jquery/*",
]
SPDX-FileCopyrightText = "Copyright OpenJS Foundation and other contributors"
SPDX-License-Identifier = "MIT"

[[annotations]]
path = [
"coldfront/static/select2/*",
]
SPDX-FileCopyrightText = "Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors"
SPDX-License-Identifier = "MIT"

[[annotations]]
path = [
"coldfront/static/d3/*",
]
SPDX-FileCopyrightText = "Copyright 2010-2023 Mike Bostock"
SPDX-License-Identifier = "ISC"
2 changes: 1 addition & 1 deletion coldfront-custom-resources
2 changes: 1 addition & 1 deletion coldfront/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import os
import sys

__version__ = "1.1.7"
__version__ = "1.1.8"
VERSION = __version__


Expand Down
8 changes: 8 additions & 0 deletions coldfront/components/site/static/common/css/brand.css
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,14 @@
width: 100%;
}

#footer .row > * {
width: auto; /* Fixes signature and copyright not being inline */
}

#branding-bar .row > * {
--bs-gutter-x: 0; /* Fixes IU icon shrinking */
}

#branding-bar {
position: fixed;
line-height: 1.5;
Expand Down
Loading