Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/kas 2430 gebruik vergaderactiviteit codelist uit backend om keuzelijst op te stellen in frontend #1269

Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
16eb29b
Update transition code to remove deprecation warning
sergiofenoll Mar 28, 2022
5c8124f
Add meeting kind model to frontend
sergiofenoll Mar 28, 2022
f471539
Add isAnnexMeeting getter to meeting-kind model
sergiofenoll Mar 28, 2022
54c7c71
Directly use meeting-kind in meeting model
sergiofenoll Mar 28, 2022
79f2227
Update kind-selector to use meeting-kind record
sergiofenoll Mar 28, 2022
732ac51
Ensure meeting-kinds are only loaded in once
sergiofenoll Mar 28, 2022
64d51a3
Use .get() in case the object being accessed is a proxy
sergiofenoll Mar 28, 2022
a8caee0
Merge branch 'development' of https://github.com/kanselarij-vlaandere…
sergiofenoll Mar 29, 2022
b5547b7
Use initializeEmptyKind argument & checek for falsiness of kind
sergiofenoll Mar 29, 2022
7ac3053
Replace unnecessary async with sync function
sergiofenoll Mar 29, 2022
942fedf
Replace missed kindToShow with kind
sergiofenoll Mar 30, 2022
3553ac7
Merge branch 'development' into feature/KAS-2430-gebruik-vergaderacti…
sergiofenoll Mar 30, 2022
ae61da2
Use peekAll in KindSelector, don't try to load in meeting kinds
sergiofenoll Mar 30, 2022
d2af190
Move preloading meeting kinds to application route
sergiofenoll Mar 30, 2022
4c53565
Add printLabel getter to meeting-kind
sergiofenoll Mar 30, 2022
1783d74
Remove meeting kind types from utils/config.js
sergiofenoll Mar 30, 2022
2e89e8c
Fix typo in meeting kind constants
sergiofenoll Mar 30, 2022
b3eed9f
Remove meeting.isAnnex
sergiofenoll Mar 30, 2022
148cc36
Replace meetingKind.priority with meetingKind.position
sergiofenoll Mar 30, 2022
a8eeac9
Remove @hideLabel from Utils::KindSelector
sergiofenoll Mar 30, 2022
67a7de9
Make the Utils::KindSelector default choice clearer
sergiofenoll Mar 30, 2022
dca1f27
Revert usage of this.router.transitionTo to prevent weird routing rel…
sergiofenoll Mar 30, 2022
742194e
Remove unneeded parens
sergiofenoll Mar 31, 2022
c3e3417
Refactor out meeting.label computed property
sergiofenoll Mar 31, 2022
d44e18f
Remove meeting-kinds adapter
sergiofenoll Mar 31, 2022
a11461c
Add kindPrintLabel helper
sergiofenoll Mar 31, 2022
bc8ceb8
Remove unneeded await
sergiofenoll Mar 31, 2022
2e57a58
Await meeting.kind relation in EditMeetingModal
sergiofenoll Mar 31, 2022
11fc162
Add extra properties to concept model
sergiofenoll Mar 31, 2022
0961b91
Add kindPrintLabel modal
sergiofenoll Mar 31, 2022
cbbe969
Simplify KindSelector
sergiofenoll Mar 31, 2022
733a9b9
Update constants
sergiofenoll Mar 31, 2022
ff0bb67
Remove meeting-kind, use concept instead
sergiofenoll Mar 31, 2022
caed543
Merge branch 'development' into feature/KAS-2430-gebruik-vergaderacti…
sergiofenoll Mar 31, 2022
5bb148f
Try updating Jenkinsfile so it automatically checks out backend branch
sergiofenoll Mar 31, 2022
91baefa
Fix Jenkinsfile syntax
sergiofenoll Mar 31, 2022
7761c09
Use correct environment variable for branch name in Jenkinsfile
sergiofenoll Mar 31, 2022
a7f6ad6
One more try for variable name
sergiofenoll Mar 31, 2022
c2f3d05
Try other Jenkinsfile env variables
sergiofenoll Mar 31, 2022
e66624f
Try using built-in Groovy-script branching in Jenkinsfile
sergiofenoll Mar 31, 2022
db2e0f2
Use double quotes instead of single quotes!
sergiofenoll Mar 31, 2022
d2a646e
Update KindSelector loading mechanism
sergiofenoll Apr 1, 2022
5518a19
Refactor isAnnexMeetingKind async function with @tracked property
sergiofenoll Apr 1, 2022
8bb5502
Revert changes to Jenkinsfile
sergiofenoll Apr 1, 2022
3e140a5
Await kind relationship when in print-overviews
sergiofenoll Apr 1, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
18 changes: 18 additions & 0 deletions app/adapters/meeting-kind.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import ApplicationAdapter from './application';

export default ApplicationAdapter.extend({

// Since headers are set to not cache
// But we need it cached because we do
// so many calls
// we cache it here, bypassing the no-cache header.

shouldReloadAll(store, snapshot) {
return !store.peekAll(snapshot.type.modelName).length;
},

shouldBackgroundReloadAll(store, snapshot) {
return !store.peekAll(snapshot.type.modelName).length;
},

sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
});
4 changes: 2 additions & 2 deletions app/components/agenda/agenda-header.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@
{{moment-format @meeting.plannedStart "HH:mm"}}
{{/unless}}
</h4>
{{#if @meeting.kindToShow.label}}
{{#if @meeting.kind.label}}
<span
data-test-agenda-header-kind
class="auk-u-text-muted auk-body-1"
>
-
{{await @meeting.kindToShow.label}}
{{await @meeting.kind.label}}
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
</span>
{{/if}}
</div>
Expand Down
2 changes: 1 addition & 1 deletion app/components/agenda/future-agendas.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
{{/if}}
</td>
<td>
{{meeting.kindToShow.label}}
{{meeting.kind.label}}
</td>
<td class="auk-u-text-align--center">
<Auk::Button
Expand Down
2 changes: 1 addition & 1 deletion app/components/agenda/printable-agenda.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
)
}}
-
{{@meeting.kindToShow.altLabel}}
{{if @meeting.kind.altLabel @meeting.kind.altLabel @meeting.kind.label}}
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
</h2>

<div class="auk-content">
Expand Down
14 changes: 3 additions & 11 deletions app/components/meeting/edit-meeting-modal.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
import { action } from '@ember/object';
import { task } from 'ember-concurrency';
import EmberObject from '@ember/object';
import CONFIG from 'frontend-kaleidos/utils/config';

/**
* @argument {meeting}
Expand All @@ -15,7 +13,6 @@ export default class MeetingEditMeetingComponent extends Component {
@service toaster;

@tracked kind;
@tracked selectedKindUri;
@tracked startDate;
@tracked extraInfo;
@tracked _meetingNumber;
Expand All @@ -25,12 +22,7 @@ export default class MeetingEditMeetingComponent extends Component {
super(...arguments);

this.meetingYear = this.args.meeting.plannedStart.getFullYear();
this.selectedKindUri = this.args.meeting.kind;
this.kind = EmberObject.create(
CONFIG.MINISTERRAAD_TYPES.TYPES.find(
(minsterraad) => minsterraad.uri === this.selectedKindUri
)
);
this.kind = this.args.meeting.kind;
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
this.startDate = this.args.meeting.plannedStart;
this.extraInfo = this.args.meeting.extraInfo;
this.meetingNumber = this.args.meeting.number;
Expand Down Expand Up @@ -63,7 +55,7 @@ export default class MeetingEditMeetingComponent extends Component {

this.args.meeting.extraInfo = this.extraInfo;
this.args.meeting.plannedStart = this.startDate || now;
this.args.meeting.kind = this.selectedKindUri;
this.args.meeting.kind = this.kind;
this.args.meeting.number = this.meetingNumber;
this.args.meeting.numberRepresentation = this.numberRepresentation;

Expand All @@ -83,6 +75,6 @@ export default class MeetingEditMeetingComponent extends Component {

@action
setKind(kind) {
this.selectedKindUri = kind;
this.kind = kind;
}
}
1 change: 1 addition & 0 deletions app/components/meeting/new-meeting-modal.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<Utils::KindSelector
data-test-new-meeting-kind
@setAction={{this.setKind}}
@initializeEmptyKind={{true}}
/>
{{#if this.isAnnexMeeting}}
<div class="auk-u-mb-2">
Expand Down
17 changes: 6 additions & 11 deletions app/components/meeting/new-meeting-modal.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ import { inject as service } from '@ember/service';
import { A } from '@ember/array';
import moment from 'moment';
import CONSTANTS from 'frontend-kaleidos/config/constants';
import CONFIG from 'frontend-kaleidos/utils/config';
import {
isAnnexMeetingKind,
fetchClosestMeetingAndAgendaId,
} from 'frontend-kaleidos/utils/meeting-utils';

Expand All @@ -21,8 +19,8 @@ export default class MeetingNewMeetingModal extends Component {
@service newsletterService;
@service toaster;

@tracked kind = null;
@tracked selectedMainMeeting = null;
@tracked selectedKindUri = null;
@tracked isEditingFormattedMeetingIdentifier = false;
@tracked _meetingNumber = null;
@tracked _formattedMeetingIdentifier = null;
Expand All @@ -36,7 +34,7 @@ export default class MeetingNewMeetingModal extends Component {
}

get isAnnexMeeting() {
return isAnnexMeetingKind(this.selectedKindUri);
return this.kind?.get('isAnnexMeeting');
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
}

get formattedMeetingIdentifier() {
Expand Down Expand Up @@ -85,7 +83,7 @@ export default class MeetingNewMeetingModal extends Component {
extraInfo: this.extraInfo,
isFinal: false,
plannedStart: startDate,
kind: this.selectedKindUri ?? CONFIG.MINISTERRAAD_TYPES.DEFAULT,
kind: this.kind,
mainMeeting: this.selectedMainMeeting,
number: this.meetingNumber,
numberRepresentation: this.formattedMeetingIdentifier,
Expand Down Expand Up @@ -171,10 +169,7 @@ export default class MeetingNewMeetingModal extends Component {

@action
selectMainMeeting(mainMeeting) {
const kind = CONFIG.MINISTERRAAD_TYPES.TYPES.find(
(minsterraad) => minsterraad.uri === this.selectedKindUri
);
const postfix = (kind && kind.postfix) || '';
const postfix = this.kind?.postfix || '';
this.selectedMainMeeting = mainMeeting;
this.startDate = mainMeeting.plannedStart;
this.meetingNumber = mainMeeting.number;
Expand All @@ -188,8 +183,8 @@ export default class MeetingNewMeetingModal extends Component {
}

@action
setKind(kind) {
this.selectedKindUri = kind;
async setKind(kind) {
this.kind = kind;
if (!this.isAnnexMeeting) {
this.selectedMainMeeting = null;
this.initializeMeetingNumber.perform();
Expand Down
2 changes: 1 addition & 1 deletion app/components/newsletter/newsletter-header-overview.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
>
{{t "newsletter-overview-pdf-name"}}
-
{{@meeting.kindToShow.label}}
{{@meeting.kind.label}}
{{moment-format @meeting.plannedStart "DD MMMM YYYY"}}
</h4>
</div>
Expand Down
2 changes: 1 addition & 1 deletion app/components/newsletter/newsletter-meeting.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
{{!-- template-lint-disable no-action --}}
<div class="auk-o-flex auk-o-flex--justify-between auk-o-flex--align-baseline">
<h2 class="auk-h2 auk-u-text-family-serif auk-u-text-capitalize" data-test-newsletter-meeting-title>
{{t "newsletter-overview-pdf-name"}} - {{this.meeting.kindToShow.altLabel}} {{t "of"}} {{moment-format this.meeting.plannedStart "dddd DD-MM-YYYY"}}
{{t "newsletter-overview-pdf-name"}} - {{if this.meeting.kind.altLabel this.meeting.kind.altLabel this.meeting.kind.label}} {{t "of"}} {{moment-format this.meeting.plannedStart "dddd DD-MM-YYYY"}}
</h2>
{{#if (and this.allowEditing this.currentSession.isEditor)}}
<div class="auk-u-ml-4">
Expand Down
27 changes: 9 additions & 18 deletions app/components/utils/kind-selector.hbs
Original file line number Diff line number Diff line change
@@ -1,22 +1,13 @@
{{! TODO: octane-refactor }}
{{! template-lint-disable no-action }}
<div data-test-utils-kind-selector class="auk-form-group">
{{#if (not this.hideLabel)}}
{{#if (not @hideLabel)}}
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
<Auk::Label>{{t "kind"}}</Auk::Label>
{{/if}}
{{#if this.isLoading}}
<div class="auk-u-text-muted">
{{t "please-be-patient"}}
<div class="auk-loader" role="alert" aria-busy="true"></div>
</div>
{{else}}
<PowerSelect
@options={{this.options}}
@selected={{this.selectedkind}}
@onChange={{action "setAction"}}
as |option|
>
{{option.label}}
</PowerSelect>
{{/if}}
<PowerSelect
@options={{this.options}}
@selected={{this.kind}}
@onChange={{this.setAction}}
as |option|
>
{{option.label}}
</PowerSelect>
</div>
52 changes: 27 additions & 25 deletions app/components/utils/kind-selector.js
Original file line number Diff line number Diff line change
@@ -1,29 +1,31 @@
/* eslint-disable ember/no-arrow-function-computed-properties */
// TODO: octane-refactor
// eslint-disable-next-line ember/no-classic-components
import Component from '@ember/component';
import CONFIG from 'frontend-kaleidos/utils/config';
import EmberObject, { computed } from '@ember/object';
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
import { inject as service } from '@ember/service';

// TODO: octane-refactor
// eslint-disable-next-line ember/no-classic-classes, ember/require-tagless-components
export default Component.extend({
classNames: ['auk-u-mb-2'],
isLoading: null,
hideLabel: null,
/**
* @argument {boolean} hideLabel Whether to hide the label of the dropdown
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
* @argument {boolean} initializeEmptyKind Whether to initialize the dropdown to the default meeting kind of no meeting kind was provided
* @argument {function} setAction Action to perform once a meeting kind has been selected
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
* @argument {MeetingKindModel} kind (Optional) The meeting kind to set the dropdown to
*/
export default class UtilsKindSelector extends Component {
@service store;
@tracked kind = null;
@tracked options = this.store.peekAll('meeting-kind'); // Meeting kinds get loaded in the agendas route, so we can just peek them here.

options: computed(() => CONFIG.MINISTERRAAD_TYPES.TYPES.map((meetingType) => EmberObject.create(meetingType))),
constructor() {
super(...arguments);

selectedkind: computed('kind.uri', 'options', function() {
return this.options.find((kind) => this.kind && kind.uri === this.kind.uri) || this.options.get('firstObject');
}),
this.kind = this.args.kind;
if (this.args.initializeEmptyKind && !this.args.kind) {
this.setAction(this.options.firstObject);
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
}
}

// TODO: octane-refactor
// eslint-disable-next-line ember/no-actions-hash
actions: {
setAction(meetingType) {
this.set('selectedkind', meetingType);
this.setAction(meetingType.get('uri'));
},
},
});
@action
setAction(kind) {
this.kind = kind;
this.args.setAction(kind);
}
}
2 changes: 1 addition & 1 deletion app/config/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export const PAGE_SIZE = {
PIECES: 500,
ACTIVITIES: 500,
CASES: 500,

MEETING_KIND: 5,
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
SELECT: 10,
};

Expand Down
9 changes: 8 additions & 1 deletion app/config/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,5 +90,12 @@ export default {
MB: 'http://themis.vlaanderen.be/id/concept/regelgeving-type/49bad4d9-745b-4a71-b6c6-0eac34e6bdd4',
DECREET: 'http://themis.vlaanderen.be/id/concept/regelgeving-type/bf6101a9-d06b-44d4-b629-13965654c8c2',
BVR: 'http://themis.vlaanderen.be/id/concept/regelgeving-type/ea7f5f79-f81c-459b-a0f7-d8e90e2d9b88',
}
},
MEETING_KINDS: {
MINISTERRAAD: 'http://kanselarij.vo.data.gift/id/concept/ministerraad-type-codes/A5D6B7A8-2F9C-44B6-B3BE-98D80B426254',
ELEKTRONISCHE_PROCEDURE: 'http://kanselarij.vo.data.gift/id/concept/ministerraad-type-codes/406F2ECA-524D-47DC-B889-651893135456',
BIJZONEDERE_MINISTERRAAD: 'http://kanselarij.vo.data.gift/id/concept/ministerraad-type-codes/7D8E35BE-E5D1-494F-B5F9-51B07875B96F',
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
PVV: 'http://kanselarij.vo.data.gift/id/concept/ministerraad-type-codes/1d16cb70-0ae9-489e-bf97-c74897222e3c',
ANNEX: 'http://kanselarij.vo.data.gift/id/concept/ministerraad-type-codes/d36138a9-07f0-4df6-bbf0-abd51a24e4ce',
},
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
};
15 changes: 15 additions & 0 deletions app/models/meeting-kind.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import Model, { attr } from '@ember-data/model';
import CONSTANTS from '../config/constants';

export default class MeetingKindModel extends Model {
@attr('string') uri;
@attr('string') label;
@attr('string') altLabel;
@attr('number') priority;
@attr('string') postfix;
@attr('string') broader;

get isAnnexMeeting() {
return this.broader === CONSTANTS.MEETING_KINDS.ANNEX;
}
}
22 changes: 4 additions & 18 deletions app/models/meeting.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import Model, { belongsTo, hasMany, attr } from '@ember-data/model';
import { PromiseArray, PromiseObject } from '@ember-data/store/-private';
import EmberObject, { computed } from '@ember/object';
import { computed } from '@ember/object';
import { inject } from '@ember/service';
import CONFIG from 'frontend-kaleidos/utils/config';
import { KALEIDOS_START_DATE } from 'frontend-kaleidos/config/config';
import { isAnnexMeetingKind } from 'frontend-kaleidos/utils/meeting-utils';
import moment from 'moment';
import {
sortDocumentContainers
Expand All @@ -26,7 +24,6 @@ export default Model.extend({
numberRepresentation: attr('string'),
isFinal: attr('boolean'),
extraInfo: attr('string'),
kind: attr('string'),
releasedDocuments: attr('datetime'),
releasedDecisions: attr('datetime'),

Expand All @@ -36,6 +33,7 @@ export default Model.extend({
requestedSubcases: hasMany('subcase'),
pieces: hasMany('piece'),

kind: belongsTo('meeting-kind'),
mainMeeting: belongsTo('meeting', {
inverse: null,
}),
Expand All @@ -49,8 +47,7 @@ export default Model.extend({

label: computed('plannedStart', 'kind', 'numberRepresentation', function() {
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved
const date = moment(this.plannedStart).format('DD-MM-YYYY');
const kind = CONFIG.MINISTERRAAD_TYPES.TYPES.find((type) => type.uri === this.kind);
const kindLabel = kind ? kind.altLabel : '';
const kindLabel = this.get('kind').get('altLabel') || this.get('kind').get('label') || '';
return `${kindLabel} ${this.intl.t('of')} ${date} (${this.numberRepresentation})`;
}),

Expand Down Expand Up @@ -108,19 +105,8 @@ export default Model.extend({
return await agenda.get('agendaName');
}),

kindToShow: computed('kind', function() {
const options = CONFIG.MINISTERRAAD_TYPES.TYPES;
const {
kind,
} = this;
const foundOption = options.find((kindOption) => kindOption.uri === kind);


return EmberObject.create(foundOption);
}),

isAnnex: computed('kind', function() {
return isAnnexMeetingKind(this.kind);
return this.get('kind').get('isAnnexMeeting');
}),
sergiofenoll marked this conversation as resolved.
Show resolved Hide resolved

isPreKaleidos: computed('plannedStart', function () {
Expand Down
2 changes: 1 addition & 1 deletion app/pods/agendas/overview/template.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
{{/if}}
</td>
<td data-test-route-agendas-overview-row-kind>
{{meeting.kindToShow.label}}
{{meeting.kind.label}}
</td>
<td class="auk-u-text-align--center">
<Auk::Button
Expand Down