Skip to content

Application dates configurable#124

Merged
sezanzeb merged 13 commits intomainfrom
configurable-deadlines
Apr 11, 2026
Merged

Application dates configurable#124
sezanzeb merged 13 commits intomainfrom
configurable-deadlines

Conversation

@sezanzeb
Copy link
Copy Markdown
Collaborator

@sezanzeb sezanzeb commented Apr 11, 2026

Application as in "People who apply for the event"

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to make several application-related dates configurable via settings (instead of hardcoded strings) and to move the “allow project rating” toggle into a dedicated settings section.

Changes:

  • Replaced hardcoded status-page dates with values read from settings.application.*.
  • Introduced ProjectSettings / ProjectSettingsDTO to hold allowRatingProjects outside ApplicationSettings.
  • Updated rating/project services and settings UI wiring to use the new settings structure (currently inconsistently keyed).

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
frontend/src/components/settings/project-rating/rating-criteria-settings.tsx Renames the settings component and changes which settings key is read/written for allowRatingProjects.
frontend/src/components/pages/status.tsx Replaces hardcoded date strings with settings-driven values.
frontend/src/components/pages/settings.tsx Updates import/usage of the renamed project rating settings component.
backend/src/services/settings-service.ts Adds a default factory for the new project settings section.
backend/src/services/rating-service.ts Updates the “rating allowed” permission check to use the new settings location.
backend/src/services/project-service.ts Updates project visibility filtering to use the new settings location.
backend/src/entities/settings.ts Adds embedded ProjectSettings to Settings (currently under a mismatching property name).
backend/src/entities/application-settings.ts Adds new required application date fields.
backend/src/controllers/dto.ts Adds ProjectSettingsDTO but does not yet wire it into SettingsDTO or add new application date fields to ApplicationSettingsDTO.
Comments suppressed due to low confidence (1)

backend/src/controllers/dto.ts:100

  • ProjectSettingsDTO references ProjectSettings, but ProjectSettings is not imported in this file, so it won’t compile. Import it (e.g., from ../entities/settings) and also expose this DTO from SettingsDTO so the frontend can read/update allowRatingProjects.
export class ProjectSettingsDTO implements DTO<ProjectSettings> {
  @IsBoolean()
  @Expose()
  public allowRatingProjects!: boolean;
}

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread frontend/src/components/settings/project-rating/rating-criteria-settings.tsx Outdated
Comment thread frontend/src/components/pages/status.tsx Outdated
Comment thread backend/src/services/rating-service.ts
Comment thread backend/src/services/project-service.ts
Comment thread frontend/src/components/settings/project-rating/rating-criteria-settings.tsx Outdated
Comment thread frontend/src/components/settings/project-rating/rating-criteria-settings.tsx Outdated
Comment thread frontend/src/components/pages/status.tsx
Comment thread backend/src/services/settings-service.ts
Comment thread backend/src/controllers/dto.ts
sezanzeb and others added 6 commits April 11, 2026 12:35
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@sezanzeb sezanzeb requested a review from Copilot April 11, 2026 12:01
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds configurability for key application timeline dates via settings, and updates UI/backend to consume those settings instead of hardcoded values.

Changes:

  • Added new application settings dates (acceptanceDeadline, confirmSpotUntil) and exposed them through DTOs and frontend settings UI.
  • Updated the status page to render the registration/acceptance/confirmation windows using settings-driven dates.
  • Moved “allow rating projects” from application settings into a new project settings section (backend + frontend).

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
frontend/src/util.ts Allows formatting nullable dates for settings-driven UI output.
frontend/src/components/settings/project-rating/rating-criteria-settings.tsx Switches rating toggle to settings.project and renames exported settings component.
frontend/src/components/settings/application/application-settings.tsx Adds editable inputs for new application date fields and consolidates date update handling.
frontend/src/components/pages/status.tsx Replaces hardcoded dates with values from application settings.
frontend/src/components/pages/settings.tsx Wires the (renamed) project rating settings component into the settings dashboard.
frontend/src/api/index.ts Revives the new date fields to Date objects when fetching settings.
backend/src/services/settings-service.ts Adds default project settings and default values for new application date fields.
backend/src/services/rating-service.ts Gates rating by settings.project.allowRatingProjects instead of application settings.
backend/src/services/project-service.ts Uses settings.project.allowRatingProjects when filtering visible/rateable projects.
backend/src/entities/settings.ts Introduces embedded ProjectSettings and adds it to Settings.
backend/src/entities/application-settings.ts Adds new persisted columns for acceptance/confirmation deadlines.
backend/src/controllers/dto.ts Extends DTOs to include new application date fields and new project settings section.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread frontend/src/util.ts Outdated
Comment thread frontend/src/util.ts
Comment thread frontend/src/components/pages/status.tsx
Comment thread frontend/src/components/settings/project-rating/rating-criteria-settings.tsx Outdated
Comment thread frontend/src/components/settings/project-rating/rating-criteria-settings.tsx Outdated
Comment thread backend/src/entities/application-settings.ts Outdated
Comment thread backend/src/services/rating-service.ts
Comment thread backend/src/services/settings-service.ts
@sezanzeb sezanzeb merged commit 31740a0 into main Apr 11, 2026
4 checks passed
@sezanzeb sezanzeb deleted the configurable-deadlines branch April 11, 2026 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants