From e00ec02a14258575dca3c2a5049f5bed827382d4 Mon Sep 17 00:00:00 2001 From: Bastian Rihm Date: Wed, 9 Oct 2024 11:47:33 +0200 Subject: [PATCH] CRs --- .../repositories/meeting-repository.service.ts | 6 +++++- .../login-mask/login-mask.component.ts | 16 +++++++++------- .../pages/meetings/view-models/view-meeting.ts | 2 ++ .../dashboard/dashboard.component.html | 2 +- .../components/dashboard/dashboard.component.ts | 2 +- .../organization-settings.component.html | 17 +++++++++-------- 6 files changed, 27 insertions(+), 18 deletions(-) diff --git a/client/src/app/gateways/repositories/meeting-repository.service.ts b/client/src/app/gateways/repositories/meeting-repository.service.ts index 0b04cf6021..00dd33ced5 100644 --- a/client/src/app/gateways/repositories/meeting-repository.service.ts +++ b/client/src/app/gateways/repositories/meeting-repository.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; import { getUnixTime } from 'date-fns'; import { Action } from 'src/app/gateways/actions'; +import { OrganizationSettingsService } from 'src/app/site/pages/organization/services/organization-settings.service'; import { Id } from '../../domain/definitions/key-types'; import { Identifiable } from '../../domain/interfaces/identifiable'; @@ -42,7 +43,8 @@ export interface MeetingUserModifiedFields { export class MeetingRepositoryService extends BaseRepository { public constructor( repositoryServiceCollector: RepositoryServiceCollectorService, - private meetingSettingsDefinitionProvider: MeetingSettingsDefinitionService + private meetingSettingsDefinitionProvider: MeetingSettingsDefinitionService, + private orgaSettingsService: OrganizationSettingsService ) { super(repositoryServiceCollector, Meeting); } @@ -257,6 +259,8 @@ export class MeetingRepositoryService extends BaseRepository this.getProjectorTitle(viewModel, projection); + viewModel.publicAccessPossible = (): boolean => + model.enable_anonymous && this.orgaSettingsService.instant(`enable_anonymous`); return viewModel; } diff --git a/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.ts b/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.ts index 50f5aac231..ffc9b44d06 100644 --- a/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.ts +++ b/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.ts @@ -132,13 +132,15 @@ export class LoginMaskComponent extends BaseMeetingComponent implements OnInit, this.route.queryParams.pipe(filter(params => params[`checkBrowser`])).subscribe(params => { this.checkBrowser = params[`checkBrowser`] === `true`; }); - this.route.params.subscribe(params => { - if (params[`meetingId`]) { - this.loadMeeting(params[`meetingId`]); - } else { - this.loadActiveMeetings(); - } - }); + if (this.orgaSettings.instant(`enable_anonymous`)) { + this.route.params.subscribe(params => { + if (params[`meetingId`]) { + this.loadMeeting(params[`meetingId`]); + } else { + this.loadActiveMeetings(); + } + }); + } if (this.checkBrowser) { this.checkDevice(); diff --git a/client/src/app/site/pages/meetings/view-models/view-meeting.ts b/client/src/app/site/pages/meetings/view-models/view-meeting.ts index 0220338204..d3cd1a5c41 100644 --- a/client/src/app/site/pages/meetings/view-models/view-meeting.ts +++ b/client/src/app/site/pages/meetings/view-models/view-meeting.ts @@ -110,6 +110,8 @@ export class ViewMeeting extends BaseHasMeetingUsersViewModel { protected _collection = Meeting.COLLECTION; + public publicAccessPossible!: () => boolean; + public getUrl(): string { return `/${this.id}/`; } diff --git a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.html b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.html index 1a6e6321d8..090201c3e2 100644 --- a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.html +++ b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.html @@ -176,7 +176,7 @@

{{ 'Calendar' | translate }}

@if (meeting.isArchived) { archive } - @if (meeting.enable_anonymous && !operator.isAnonymous) { + @if (meeting.publicAccessPossible() && !operator.isAnonymous) { public } @if (meeting.committee_id) { diff --git a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.ts b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.ts index 072f3101b9..73fac9dcf4 100644 --- a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.ts +++ b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.ts @@ -86,7 +86,7 @@ export class DashboardComponent extends BaseComponent { meeting => this.operator.isInMeeting(meeting.id) || this.operator.isSuperAdmin || - (meeting.enable_anonymous && this.operator.isAnonymous) + (meeting.publicAccessPossible() && this.operator.isAnonymous) ); const currentDate = new Date(); currentDate.setHours(0, 0, 0, 0); diff --git a/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.html b/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.html index b5ea2d772a..bd7a6f81ba 100644 --- a/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.html +++ b/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.html @@ -38,17 +38,11 @@

{{ 'General' | translate }}

} -
+
{{ 'Public template required for creating new meeting' | translate }} -
- -
- - {{ 'Meetings can be public' | translate }} - -
+ @@ -110,6 +104,13 @@

{{ 'Superadmin settings' | translate }}

{{ 'Enable chat globally' | translate }} + +
+ + {{ 'Meetings can be public' | translate }} + +
+
{{ 'Limit of active meetings' | translate }}