Skip to content

Implement consultation sequence for motions - #6498

Open
Elblinator wants to merge 22 commits into
OpenSlides:mainfrom
Elblinator:6442-back-to-the-future
Open

Implement consultation sequence for motions#6498
Elblinator wants to merge 22 commits into
OpenSlides:mainfrom
Elblinator:6442-back-to-the-future

Conversation

@Elblinator

Copy link
Copy Markdown
Member

resolves #6442

@Elblinator Elblinator added this to the 4.4 milestone Aug 12, 2026
@Elblinator Elblinator self-assigned this Aug 12, 2026
@Elblinator Elblinator changed the title Implement sequence of delibatation for motions Implement sequence of deliberation for motions Aug 13, 2026
@Elblinator
Elblinator force-pushed the 6442-back-to-the-future branch from 27ea4cf to 7aa535a Compare August 28, 2026 13:05
@Elblinator
Elblinator marked this pull request as ready for review August 31, 2026 10:25
@Elblinator Elblinator assigned bastianjoel and bspekker and unassigned Elblinator Aug 31, 2026
@Elblinator
Elblinator requested a review from bastianjoel August 31, 2026 10:25
@Elblinator
Elblinator requested a review from bspekker August 31, 2026 10:26
@Elblinator Elblinator assigned Elblinator and unassigned bastianjoel and bspekker Aug 31, 2026
@Elblinator Elblinator assigned bastianjoel and bspekker and unassigned Elblinator Aug 31, 2026
@Elblinator Elblinator changed the title Implement sequence of deliberation for motions Implement consultation sequence for motions Aug 31, 2026
}

<!-- Workflow timestamp -->
<os-motion-manage-timestamp field="workflow_timestamp" title="{{ 'Submission date' | translate }}" [motion]="motion" />

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

From now on this is forbidden. #6552

Comment on lines +77 to +80
private displayFutureForward = false;
public displayFutureForward$ = this.meetingSettingsService
.get(`motions_enable_origin_motion_display`)
.pipe(map(v => !!v));

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Change displayFutureForward to signal and displayFutureForward$ to private. There is already a signals api in place in MeetingSettingsService in feature/vote which this can be replaced with in the future.

}

public refreshOriginMotions(): void {
this.displayFutureForward = true; // TODO: remove this line

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

TODO left?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This is waiting for Dammi or a decision from ABS of what to to without the new setting (I think this will be merged with the new setting)

Comment on lines +408 to +428
public getToolTip(motion: ViewMotion): string {
let toolTip = ``;
if (motion.meeting?.location) {
toolTip = this.translate.instant(`Meeting location`) + `: ` + motion.meeting.location + ` `;
}
if (motion.meeting?.start_time) {
toolTip +=
this.translate.instant(`Meeting start time`) +
`: ` +
this.meetingController.parseUnixToMeetingTime(motion.meeting?.start_time * 1000) +
` `;
}
if (motion.meeting?.end_time) {
toolTip +=
this.translate.instant(`Meeting end time`) +
`: ` +
this.meetingController.parseUnixToMeetingTime(motion.meeting?.end_time * 1000) +
` `;
}
return toolTip;
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

public searchLists: SearchListDefinition[] = [
{
observable: this.repo.getViewModelListObservable(),
label: `Motions`

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
label: `Motions`
label: _(`Motions`)

Should be marked

},
{
observable: this.motionForwardingService.forwardingCommitteesObservable,
label: `Committees`,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
label: `Committees`,
label: _(`Committees`),

(originToggleDefault$ | async) === false &&
!motion.isAmendment()
) {
&nbsp;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Not a good way to add margins

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

paginator-intl/paginato-intl.service.ts

Comment on lines +232 to +235
this.motion.derived_motions$.subscribe(_ => this.refreshOriginMotions()),
this.displayFutureForward$.subscribe((v: boolean) => {
this.displayFutureForward = v;
})

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Prone to have side effects as displayFutureForward is used within refreshOriginMotions.

Also it looks like that you should use all_derived_motions$ from what I see.

@bspekker bspekker left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

  • Final meeting: The sequence is currently not available in the final meeting of the consultation sequence (in our example in meeting E or F). The issue does not suggest that this meeting should be excluded.

Closed meetings:

  • As far as I understand the issue description the meeting title should not be displayed if I can't access the meeting. (Issue: the path should show this meeting as '[Lock-Icon] Closed Meeting' without a tooltip.)
  • Additionally, if the backtracking is active but I can't see the meeting, the on/off button shouldn't be displayed since it leads to undefined content:
Image

Pagination of different paths:

  • When backtracking is active and I select the backtracking from a meeting on the second 'page', the content of the pagination jumps to the first page but displays the second page.
  • If the selected meeting is only in the path on the second page, the motion from that meeting will appear in a new tab but the button is not selected.

Observe here with meeting Cccccc that is only on second page:

Bildschirmaufzeichnung.vom.2026-08-31.15-55-06.webm

@bspekker bspekker removed their assignment Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consultation sequence: Motion forwarding more detail

3 participants