Browse Source

Release 3.62.0 (#7735)

pull/7736/head 3.62.0
Thomas Kaul 21 hours ago
committed by GitHub
parent
commit
c16445d49e
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      CHANGELOG.md
  2. 4
      apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts
  3. 10
      apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html
  4. 4
      package-lock.json
  5. 2
      package.json
  6. 2
      prisma/migrations/20260826000000_added_expires_at_to_access/migration.sql

2
CHANGELOG.md

@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Unreleased ## 3.62.0 - 2026-08-27
### Added ### Added

4
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts

@ -212,6 +212,10 @@ export class GfCreateOrUpdateAccessDialogComponent implements OnInit {
return this.accessForm?.get('type')?.value === 'PUBLIC'; return this.accessForm?.get('type')?.value === 'PUBLIC';
} }
protected get showExpiresAtErrorMessage() {
return this.accessForm?.get('expiresAt')?.invalid === true;
}
protected onCancel() { protected onCancel() {
this.dialogRef.close(); this.dialogRef.close();
} }

10
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html

@ -45,8 +45,12 @@
</mat-form-field> </mat-form-field>
</div> </div>
<div> <div class="mb-3">
<mat-form-field appearance="outline" class="w-100"> <mat-form-field
appearance="outline"
class="w-100"
[class.without-hint]="!showExpiresAtErrorMessage"
>
<mat-label i18n>Expiration Date</mat-label> <mat-label i18n>Expiration Date</mat-label>
<input <input
formControlName="expiresAt" formControlName="expiresAt"
@ -62,7 +66,7 @@
/> />
</mat-datepicker-toggle> </mat-datepicker-toggle>
<mat-datepicker #expiresAt /> <mat-datepicker #expiresAt />
@if (accessForm.get('expiresAt')?.invalid) { @if (showExpiresAtErrorMessage) {
<mat-error i18n>Please select a date in the future.</mat-error> <mat-error i18n>Please select a date in the future.</mat-error>
} }
</mat-form-field> </mat-form-field>

4
package-lock.json

@ -1,12 +1,12 @@
{ {
"name": "ghostfolio", "name": "ghostfolio",
"version": "3.61.0", "version": "3.62.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ghostfolio", "name": "ghostfolio",
"version": "3.61.0", "version": "3.62.0",
"hasInstallScript": true, "hasInstallScript": true,
"license": "AGPL-3.0", "license": "AGPL-3.0",
"dependencies": { "dependencies": {

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "ghostfolio", "name": "ghostfolio",
"version": "3.61.0", "version": "3.62.0",
"homepage": "https://ghostfol.io", "homepage": "https://ghostfol.io",
"license": "AGPL-3.0", "license": "AGPL-3.0",
"repository": "https://github.com/ghostfolio/ghostfolio", "repository": "https://github.com/ghostfolio/ghostfolio",

2
prisma/migrations/20260826000000_added_expires_at_to_access/migration.sql

@ -4,7 +4,7 @@ ALTER TABLE "Access" ADD COLUMN "expiresAt" TIMESTAMP(3);
-- Give an access which was granted before a date in the far future, because it -- Give an access which was granted before a date in the far future, because it
-- was granted with no expiration date -- was granted with no expiration date
UPDATE "Access" UPDATE "Access"
SET "expiresAt" = '2030-12-31 23:59:59.999' SET "expiresAt" = '2050-12-31 12:00:00'
WHERE "expiresAt" IS NULL; WHERE "expiresAt" IS NULL;
-- AlterTable -- AlterTable

Loading…
Cancel
Save