diff --git a/client/src/app/gateways/repositories/motions/motion-repository.service/motion-repository.service.ts b/client/src/app/gateways/repositories/motions/motion-repository.service/motion-repository.service.ts index 2a8132cf6b..80919d8b28 100644 --- a/client/src/app/gateways/repositories/motions/motion-repository.service/motion-repository.service.ts +++ b/client/src/app/gateways/repositories/motions/motion-repository.service/motion-repository.service.ts @@ -7,6 +7,7 @@ import { TreeIdNode } from 'src/app/infrastructure/definitions/tree'; import { NullablePartial } from 'src/app/infrastructure/utils'; import { AgendaListTitle } from 'src/app/site/pages/meetings/pages/agenda'; import { ViewMotion } from 'src/app/site/pages/meetings/pages/motions'; +import { MotionFormatResult } from 'src/app/site/pages/meetings/pages/motions/services/common/motion-format.service'; import { TreeService } from 'src/app/ui/modules/sorting/modules/sorting-tree/services'; import { Motion } from '../../../../domain/models/motions/motion'; @@ -61,7 +62,7 @@ export class MotionRepositoryService extends BaseAgendaItemAndListOfSpeakersCont useOriginalSubmitter: boolean, useOriginalNumber: boolean, useOriginalVersion: boolean, - ...motions: any[] + ...motions: MotionFormatResult[] ): Promise<{ success: number; partial: number }> { const payloads: any[][] = []; motions.forEach(motion => { @@ -72,6 +73,7 @@ export class MotionRepositoryService extends BaseAgendaItemAndListOfSpeakersCont use_original_submitter: useOriginalSubmitter, use_original_number: useOriginalNumber, with_amendments: useOriginalVersion, + with_change_recommendations: useOriginalVersion, ...motion }; }) diff --git a/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/services/motion-forward-dialog.service.ts b/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/services/motion-forward-dialog.service.ts index 630c0f0338..6e0718c477 100644 --- a/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/services/motion-forward-dialog.service.ts +++ b/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/services/motion-forward-dialog.service.ts @@ -93,7 +93,10 @@ export class MotionForwardDialogService extends BaseDialogService< const motionIds = toForward.map(motion => motion.id); await this.modelRequest.fetch(getMotionForwardDataSubscriptionConfig(...motionIds)); const forwardMotions = toForward.map(motion => - this.formatService.formatMotionForForward(this.repo.getViewModel(motion.id)) + this.formatService.formatMotionForForward( + this.repo.getViewModel(motion.id), + dialogData.useOriginalVersion + ) ); const result = await this.repo.createForwarded( toMeetingIds, diff --git a/client/src/app/site/pages/meetings/pages/motions/services/common/motion-format.service/motion-format.service.ts b/client/src/app/site/pages/meetings/pages/motions/services/common/motion-format.service/motion-format.service.ts index 586ba427e1..db488b18bd 100644 --- a/client/src/app/site/pages/meetings/pages/motions/services/common/motion-format.service/motion-format.service.ts +++ b/client/src/app/site/pages/meetings/pages/motions/services/common/motion-format.service/motion-format.service.ts @@ -14,7 +14,7 @@ import { ViewMotion } from '../../../view-models'; import { AmendmentControllerService } from '../amendment-controller.service'; import { MotionLineNumberingService } from '../motion-line-numbering.service'; -interface MotionFormatResult { +export interface MotionFormatResult { origin_id: Id; title: string; text: string; @@ -114,16 +114,21 @@ export class MotionFormatService { * Format the motion for forwarding, tries to get the mod final version or the * final version with all unified changes */ - public formatMotionForForward(motion: ViewMotion): MotionFormatResult { + public formatMotionForForward(motion: ViewMotion, useOriginal?: boolean): MotionFormatResult { const lineLength = this.settings.instant(`motions_line_length`); - const finalMotionText = this.getFinalMotionText(motion, lineLength!); - const textWithoutLines = this.lineNumberingService.stripLineNumbers(finalMotionText); + let title = motion.title; + let text = motion.text; + if (!useOriginal) { + title = this.getFinalTitle(motion, lineLength); + const finalMotionText = this.getFinalMotionText(motion, lineLength!); + text = this.lineNumberingService.stripLineNumbers(finalMotionText); + } return { origin_id: motion.id, - title: this.getFinalTitle(motion, lineLength), reason: motion.reason || ``, - text: textWithoutLines + title, + text }; }