Merge pull request #6038 from FinnStutzenstein/fix-los

Fix LOS (closes #6035)
This commit is contained in:
Emanuel Schütze 2021-04-29 15:03:54 +02:00 committed by GitHub
commit 325469bc82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 5 deletions

View File

@ -141,7 +141,7 @@
*ngIf="speaker.point_of_order" *ngIf="speaker.point_of_order"
>warning</mat-icon >warning</mat-icon
> >
<i *ngIf="showSpeakersOrderNote" class="red-warning-text"> <i class="red-warning-text">
{{ speaker.note }} {{ speaker.note }}
</i> </i>
</ng-container> </ng-container>

View File

@ -87,10 +87,6 @@ export class ListOfSpeakersContentComponent extends BaseViewComponentDirective i
return !this.config.instant('agenda_present_speakers_only') || this.operator.user.is_present; return !this.config.instant('agenda_present_speakers_only') || this.operator.user.is_present;
} }
public get showSpeakersOrderNote(): boolean {
return this.noteForAll || this.opCanManage;
}
@Input() @Input()
public set speakers(los: ViewListOfSpeakers) { public set speakers(los: ViewListOfSpeakers) {
this.setListOfSpeakers(los); this.setListOfSpeakers(los);

View File

@ -574,6 +574,11 @@ class SpeakerViewSet(UpdateModelMixin, GenericViewSet):
): ):
raise ValidationError({"detail": "pro/contra speech is not enabled"}) raise ValidationError({"detail": "pro/contra speech is not enabled"})
if "pro_speech" in request.data and "marked" in request.data:
raise ValidationError(
{"detail": "pro_speech and marked cannot be given together"}
)
if not has_perm(request.user, "agenda.can_manage_list_of_speakers"): if not has_perm(request.user, "agenda.can_manage_list_of_speakers"):
# if no manage perms, only the speaker user itself can update the speaker. # if no manage perms, only the speaker user itself can update the speaker.
speaker = self.get_object() speaker = self.get_object()
@ -590,4 +595,10 @@ class SpeakerViewSet(UpdateModelMixin, GenericViewSet):
{"detail": f"You are not allowed to set {key}"} {"detail": f"You are not allowed to set {key}"}
) )
# toggle marked/pro_speech: If one is given, reset the other one
if request.data.get("pro_speech") in (True, False):
request.data["marked"] = False
if request.data.get("marked"):
request.data["pro_speech"] = None
return super().update(request, *args, **kwargs) return super().update(request, *args, **kwargs)