Repository: lblod/frontend-verenigingen-loket
Pull request #82: [CLBV-986]: show association status
Author: login: wolfderechter
Labels: name: enhancement
description: New feature or request
Created: 2025-04-09T07:59:02Z | Merged: 2025-04-17T07:46:38Z

## ID 

CLBV-986]

## Description

Add status for:
- filtering (toggle to hide inactive)
- column on index page
- detail page

## Linked PR's

- https://github.com/lblod/app-verenigingen-loket/pull/35


Diff:
diff --git a/.woodpecker/.feature.yml b/.woodpecker/.feature.yml
index 37513700..24aa5ed4 100644
--- a/.woodpecker/.feature.yml
+++ b/.woodpecker/.feature.yml
@@ -4,7 +4,10 @@ steps:
     settings:
       repo: ${CI_REPO}
       tags: "feature-${CI_COMMIT_BRANCH##feature/}"
-    secrets: [ docker_username, docker_password ]
+      username:
+        from_secret: docker_username
+      password:
+        from_secret: docker_password
 when:
-  branch: feature/*
-  event: push
+  - event: push
+    branch: feature/*
diff --git a/.woodpecker/.latest.yml b/.woodpecker/.latest.yml
index 38b11eca..8c7bfa23 100644
--- a/.woodpecker/.latest.yml
+++ b/.woodpecker/.latest.yml
@@ -4,7 +4,10 @@ steps:
     settings:
       repo: ${CI_REPO}
       tags: latest
-    secrets: [ docker_username, docker_password ]
+      username:
+        from_secret: docker_username
+      password:
+        from_secret: docker_password
 when:
-  branch: development
-  event: push
+  - event: push
+    branch: development
diff --git a/.woodpecker/.release.yml b/.woodpecker/.release.yml
index bbc65f73..46d108b2 100644
--- a/.woodpecker/.release.yml
+++ b/.woodpecker/.release.yml
@@ -4,7 +4,10 @@ steps:
     settings:
       repo: ${CI_REPO}
       tags: "${CI_COMMIT_TAG##v}"
-    secrets: [ docker_username, docker_password ]
+      username:
+        from_secret: docker_username
+      password:
+        from_secret: docker_password
 when:
-  event: tag
-  tag: v*
+  - event: tag
+    ref: refs/tags/v*
diff --git a/.woodpecker/.test-build.yml b/.woodpecker/.test-build.yml
index a5ef441e..6c1390a9 100644
--- a/.woodpecker/.test-build.yml
+++ b/.woodpecker/.test-build.yml
@@ -5,5 +5,4 @@ steps:
       repo: ${CI_REPO}
       dry_run: true
 when:
-  event:
-    - pull_request
+  - event: pull_request
diff --git a/.woodpecker/.test-pr.yml b/.woodpecker/.test-pr.yml
index e453ddc0..13d03b27 100644
--- a/.woodpecker/.test-pr.yml
+++ b/.woodpecker/.test-pr.yml
@@ -5,27 +5,28 @@ steps:
       - npm ci
   lint-js:
     image: danlynn/ember-cli:5.8.0-node_20.12
-    group: lint
+    depends_on: install
     commands:
       - npm run lint:js
   lint-hbs:
     image: danlynn/ember-cli:5.8.0-node_20.12
-    group: lint
+    depends_on: install
     commands:
       - npm run lint:hbs
   lint-css:
     image: danlynn/ember-cli:5.8.0-node_20.12
-    group: lint
+    depends_on: install
     commands:
       - npm run lint:css
   dependency-lint:
     image: danlynn/ember-cli:5.8.0-node_20.12
-    group: lint
+    depends_on: install
     commands:
       - npm run lint:dependencies
   test:
     image: danlynn/ember-cli:5.8.0-node_20.12
+    depends_on: [lint-js, lint-hbs, lint-css, dependency-lint]
     commands:
       - npm run test:ember
 when:
-  event: pull_request
+  - event: pull_request
diff --git a/app/components/filters/organization-status-toggle.hbs b/app/components/filters/organization-status-toggle.hbs
new file mode 100644
index 00000000..e19053e2
--- /dev/null
+++ b/app/components/filters/organization-status-toggle.hbs
@@ -0,0 +1,8 @@
+<div>
+  <AuToggleSwitch
+    @checked={{@organizationStatus}}
+    @onChange={{@onChange}}
+  >
+    Verberg niet actieve verenigingen
+  </AuToggleSwitch>
+</div>
\ No newline at end of file
diff --git a/app/components/filters/organization-status-select.hbs b/app/components/filters/recognition-status-select.hbs
similarity index 100%
rename from app/components/filters/organization-status-select.hbs
rename to app/components/filters/recognition-status-select.hbs
diff --git a/app/components/filters/organization-status-select.js b/app/components/filters/recognition-status-select.js
similarity index 86%
rename from app/components/filters/organization-status-select.js
rename to app/components/filters/recognition-status-select.js
index 915508cf..baa6c65d 100644
--- a/app/components/filters/organization-status-select.js
+++ b/app/components/filters/recognition-status-select.js
@@ -12,10 +12,10 @@ export default class OrganizationStatusSelectComponent extends Component {
   constructor() {
     super(...arguments);
     this.organizationStatusQuery = this.router.currentRoute.queryParams.status;
-    this.args.onChange(this.selectedOrganizationStatus());
+    this.args.onChange(this.selectedRecognitionStatus());
   }
 
-  selectedOrganizationStatus() {
+  selectedRecognitionStatus() {
     return this.organizationStatusQuery
       ? this.organizationStatusQuery.split(',').map((id) => id)
       : [];
diff --git a/app/components/organization-status.hbs b/app/components/organization-status.hbs
new file mode 100644
index 00000000..2796402f
--- /dev/null
+++ b/app/components/organization-status.hbs
@@ -0,0 +1,3 @@
+<AuPill @skin={{this.statusSkin}}>
+  {{@label}}
+</AuPill>
\ No newline at end of file
diff --git a/app/components/organization-status.js b/app/components/organization-status.js
new file mode 100644
index 00000000..3a19979d
--- /dev/null
+++ b/app/components/organization-status.js
@@ -0,0 +1,14 @@
+import Component from '@glimmer/component';
+import { ORGANIZATION_STATUS } from '../models/organization-status-code';
+
+const ORGANIZATION_STATUS_SKINS = {
+  [ORGANIZATION_STATUS.ACTIVE]: 'success',
+  [ORGANIZATION_STATUS.IN_FORMATION]: 'warning',
+  [ORGANIZATION_STATUS.INACTIVE]: 'error',
+};
+
+export default class OrganizationStatusComponent extends Component {
+  get statusSkin() {
+    return ORGANIZATION_STATUS_SKINS[this.args.id];
+  }
+}
diff --git a/app/controllers/associations.js b/app/controllers/associations.js
index 5d3d4511..eb0af4a6 100644
--- a/app/controllers/associations.js
+++ b/app/controllers/associations.js
@@ -18,8 +18,8 @@ export default class IndexController extends Controller {
   @tracked search = '';
   @tracked activities = '';
   @tracked selectedActivities = [];
-  @tracked status = '';
-  @tracked selectedOrganizationStatus = '';
+  @tracked recognition = '';
+  @tracked selectedRecognitionStatus = '';
   @dedupeTracked postalCodes = '';
   @tracked types = '';
   @tracked selectedTypes = [];
@@ -27,6 +27,7 @@ export default class IndexController extends Controller {
   @tracked selectedTargetAudiences = [];
   @tracked end = '';
   @tracked start = '';
+  @tracked status = true;
   @tracked ENVIRONMENT_NAME = ENV.environmentName;
   PostalCodes = PostalCodes;
 
@@ -35,12 +36,13 @@ export default class IndexController extends Controller {
     'page',
     'search',
     'activities',
-    'status',
+    'recognition',
     'postalCodes',
     'types',
     'targetAudiences',
     'end',
     'start',
+    'status',
   ];
 
   @action
@@ -74,10 +76,10 @@ export default class IndexController extends Controller {
   }
 
   @action
-  setOrganizationStatus(selectedStatus) {
+  setRecognitionStatus(selectedStatus) {
     this.page = 0;
-    this.selectedOrganizationStatus = selectedStatus;
-    this.status = selectedStatus.join(',');
+    this.selectedRecognitionStatus = selectedStatus;
+    this.recognition = selectedStatus.join(',');
   }
 
   @action
@@ -93,6 +95,13 @@ export default class IndexController extends Controller {
     this.selectedTargetAudiences = selectedTargetAudiences;
     this.targetAudiences = selectedTargetAudiences.join(',');
   }
+
+  @action
+  setOrganizationStatus(selectedStatus) {
+    this.page = 0;
+    this.status = selectedStatus;
+  }
+
   get isLoading() {
     return this.model.associations.isRunning;
   }
@@ -111,8 +120,8 @@ export default class IndexController extends Controller {
 
   @action
   resetFilters() {
-    this.status = '';
-    this.selectedOrganizationStatus = [];
+    this.recognition = '';
+    this.selectedRecognitionStatus = [];
     this.activities = '';
     this.selectedActivities = [];
     this.postalCodes = '';
@@ -124,6 +133,8 @@ export default class IndexController extends Controller {
     this.start = '';
     this.end = '';
     this.page = null;
+    // Active is the default organization status filter state
+    this.status = true;
     this.sort = '-created-on';
   }
 }
diff --git a/app/models/organization-status-code.js b/app/models/organization-status-code.js
index 9990437c..21d00194 100644
--- a/app/models/organization-status-code.js
+++ b/app/models/organization-status-code.js
@@ -1,5 +1,11 @@
 import Model, { attr } from '@ember-data/model';
 
+export const ORGANIZATION_STATUS = {
+  ACTIVE: '63cc561de9188d64ba5840a42ae8f0d6',
+  INACTIVE: 'd02c4e12bf88d2fdf5123b07f29c9311',
+  IN_FORMATION: 'abf4fee82019f88cf122f986830621ab',
+};
+
 export default class OrganizationStatusCodeModel extends Model {
   @attr label;
 }
diff --git a/app/routes/association.js b/app/routes/association.js
index e25f8c74..3e012d03 100644
--- a/app/routes/association.js
+++ b/app/routes/association.js
@@ -12,7 +12,9 @@ export default class AssociationRoute extends Route {
   }
   async model({ id }) {
     try {
-      const model = await this.store.findRecord('association', id);
+      const model = await this.store.findRecord('association', id, {
+        include: 'organization-status',
+      });
       if (model == null) {
         throw new Error(`Error loading association with id: (${id})`);
       }
diff --git a/app/routes/association/general.js b/app/routes/association/general.js
index ebc28a38..5a3095ea 100644
--- a/app/routes/association/general.js
+++ b/app/routes/association/general.js
@@ -8,7 +8,9 @@ export default class AssociationGeneralRoute extends Route {
 
   async model() {
     const { id } = this.paramsFor('association');
-    const association = await this.store.findRecord('association', id);
+    const association = await this.store.findRecord('association', id, {
+      include: 'organization-status',
+    });
     return {
       association,
       recognitions: this.loadRecognition.perform(id),
diff --git a/app/routes/associations.js b/app/routes/associations.js
index dd581aae..be84ca0b 100644
--- a/app/routes/associations.js
+++ b/app/routes/associations.js
@@ -16,12 +16,13 @@ export default class AssociationsRoute extends Route {
     size: { refreshModel: true },
     page: { refreshModel: true },
     activities: { refreshModel: true },
-    status: { refreshModel: true },
+    recognition: { refreshModel: true },
     postalCodes: { refreshModel: true },
     types: { refreshModel: true },
     targetAudiences: { refreshModel: true },
     start: { refreshModel: true },
     end: { refreshModel: true },
+    status: { refreshModel: true },
   };
 
   beforeModel(transition) {
diff --git a/app/services/query-builder.js b/app/services/query-builder.js
index 60ae2664..22107be9 100644
--- a/app/services/query-builder.js
+++ b/app/services/query-builder.js
@@ -2,6 +2,7 @@ import Service from '@ember/service';
 import { inject as service } from '@ember/service';
 import { task } from 'ember-concurrency';
 import dateFormat from '../helpers/date-format';
+import { ORGANIZATION_STATUS } from '../models/organization-status-code';
 export default class QueryBuilderService extends Service {
   @service store;
   @service muSearch;
@@ -73,21 +74,21 @@ export const associationsQuery = ({
       addFilter(':query:primarySite.address.postcode', `(${postalCodesQuery})`);
     }
 
-    if (params.status === 'Erkend') {
+    if (params.recognition === 'Erkend') {
       addFilter(
         ':query:recognitions.validityPeriod',
         `((recognitions.validityPeriod.startTime:<=${today}) AND (recognitions.validityPeriod.endTime:>=${today})) OR (NOT (recognitions.validityPeriod.startTime:>${today}) AND (recognitions.validityPeriod.endTime:>${today}))`,
       );
       addFilter(':has:recognitions.validityPeriod.endTime', true);
-    } else if (params.status === 'Verlopen') {
+    } else if (params.recognition === 'Verlopen') {
       addFilter(
         ':query:recognitions.validityPeriod',
         `(NOT ((recognitions.validityPeriod.startTime:<=${today}) AND (recognitions.validityPeriod.endTime:>=${today}))) AND NOT (recognitions.validityPeriod.startTime:>${today})`,
       );
       addFilter(':has:recognitions.validityPeriod.endTime', true);
     } else if (
-      params.status === 'Erkend,Verlopen' ||
-      params.status === 'Verlopen,Erkend'
+      params.recognition === 'Erkend,Verlopen' ||
+      params.recognition === 'Verlopen,Erkend'
     ) {
       // Filter out "upcoming" recognitions when both filters are selected
       addFilter(
@@ -149,11 +150,14 @@ export const associationsQuery = ({
     if (params.types && params.types !== '') {
       filters['classification.uuid'] = params.types.split(',');
     }
+    if (params.status) {
+      filters['status_id'] = ORGANIZATION_STATUS.ACTIVE;
+    }
 
-    if (params.status && params.status !== '') {
+    if (params.recognition && params.recognition !== '') {
       if (
-        params.status === 'Erkend,Verlopen' ||
-        params.status === 'Verlopen,Erkend'
+        params.recognition === 'Erkend,Verlopen' ||
+        params.recognition === 'Verlopen,Erkend'
       ) {
         filters[':has:recognitions.validityPeriod.endTime'] = true;
         filters[':has-no:recognitions.status'] = true;
diff --git a/app/templates/association/general.hbs b/app/templates/association/general.hbs
index 77c9d6d5..13609b97 100644
--- a/app/templates/association/general.hbs
+++ b/app/templates/association/general.hbs
@@ -2,23 +2,15 @@
   <section class="au-u-flex au-u-flex--between">
     <div>
       <AuHeading @level="1" @skin="1">Algemeen</AuHeading>
-      <AuHeading
-        @level="3"
-        @skin="3"
-      >{{this.model.association.name}}</AuHeading>
+      <AuHeading @level="3" @skin="3">{{this.model.association.name}}</AuHeading>
     </div>
-    <div
-      class="au-u-flex au-u-flex--end au-u-flex--column au-u-flex--vertical-end"
-    >
+    <div class="au-u-flex au-u-flex--end au-u-flex--column au-u-flex--vertical-end">
       <ReportWrongData @model={{this.model.association}} />
     </div>
   </section>
   <section>
-    <Recognition::GeneralCard
-      @recognition={{this.recognition}}
-      @title="Huidige erkenning"
-      @isLoading={{this.isLoading}}
-    />
+    <Recognition::GeneralCard @recognition={{this.recognition}} @title="Huidige erkenning"
+      @isLoading={{this.isLoading}} />
   </section>
 
   <section>
@@ -28,9 +20,7 @@
           Vereniging (zoals bekend in het Verenigingsregister)
           <div class="au-u-margin-bottom-tiny">
             {{#if this.model.association}}
-              <LastUpdated
-                @lastUpdated={{this.model.association.lastUpdated}}
-              />
+            <LastUpdated @lastUpdated={{this.model.association.lastUpdated}} />
             {{/if}}
           </div>
         </div>
@@ -48,14 +38,12 @@
               <:label>Type</:label>
               <:content>
                 {{#if this.model.association.classification}}
-                  <span
-                    title="{{this.model.association.classification.prefLabel}}"
-                  >
-                    {{this.model.association.classification.prefLabel}}
-                    ({{this.model.association.classification.notation}})
-                  </span>
+                <span title="{{this.model.association.classification.prefLabel}}">
+                  {{this.model.association.classification.prefLabel}}
+                  ({{this.model.association.classification.notation}})
+                </span>
                 {{else}}
-                  Niet opgegeven
+                Niet opgegeven
                 {{/if}}
               </:content>
             </Item>
@@ -63,16 +51,16 @@
               <:label>Hoofdactiviteiten</:label>
               <:content>
                 {{#if this.model.association.activities}}
-                  {{#each
-                    this.model.association.activities
-                    as |activity index|
-                  }}
-                    {{activity.prefLabel}}{{#unless
-                      (last-index index this.model.association.activities)
-                    }},{{/unless}}
-                  {{/each}}
+                {{#each
+                this.model.association.activities
+                as |activity index|
+                }}
+                {{activity.prefLabel}}{{#unless
+                (last-index index this.model.association.activities)
+                }},{{/unless}}
+                {{/each}}
                 {{else}}
-                  Niet opgegeven
+                Niet opgegeven
                 {{/if}}
               </:content>
             </Item>
@@ -81,21 +69,28 @@
               <:label>Beschrijving</:label>
               <:content>
                 {{#if this.model.association.description}}
-                  {{this.model.association.description}}
+                {{this.model.association.description}}
                 {{else}}
-                  Niet opgegeven
+                Niet opgegeven
                 {{/if}}
               </:content>
             </Item>
           </:left>
           <:right as |Item|>
+            <Item>
+              <:label>Status</:label>
+              <:content>
+                <OrganizationStatus @id={{this.model.association.organizationStatus.id}}
+                  @label={{this.model.association.organizationStatus.label}} />
+              </:content>
+            </Item>
             <Item>
               <:label>Minimum leeftijd</:label>
               <:content>
                 {{#if this.model.association.targetAudience}}
-                  {{this.model.association.targetAudience.minimumLeeftijd}}
+                {{this.model.association.targetAudience.minimumLeeftijd}}
                 {{else}}
-                  Niet opgegeven
+                Niet opgegeven
                 {{/if}}
               </:content>
             </Item>
@@ -103,9 +98,9 @@
               <:label>Maximum leeftijd</:label>
               <:content>
                 {{#if this.model.association.targetAudience}}
-                  {{this.model.association.targetAudience.maximumLeeftijd}}
+                {{this.model.association.targetAudience.maximumLeeftijd}}
                 {{else}}
-                  Niet opgegeven
+                Niet opgegeven
                 {{/if}}
               </:content>
             </Item>
@@ -113,9 +108,9 @@
               <:label>Startdatum</:label>
               <:content>
                 {{#if this.model.association.createdOn}}
-                  {{date-format this.model.association.createdOn}}
+                {{date-format this.model.association.createdOn}}
                 {{else}}
-                  Niet opgegeven
+                Niet opgegeven
                 {{/if}}
               </:content>
             </Item>
@@ -123,13 +118,13 @@
               <:label>vCode</:label>
               <:content>
                 {{#each this.model.association.identifiers as |identifier|}}
-                  {{#if (eq identifier.idName "vCode")}}
-                    {{#if (get identifier.structuredIdentifier "localId")}}
-                      {{get identifier.structuredIdentifier "localId"}}
-                    {{else}}
-                      Niet opgegeven
-                    {{/if}}
-                  {{/if}}
+                {{#if (eq identifier.idName "vCode")}}
+                {{#if (get identifier.structuredIdentifier "localId")}}
+                {{get identifier.structuredIdentifier "localId"}}
+                {{else}}
+                Niet opgegeven
+                {{/if}}
+                {{/if}}
                 {{/each}}
               </:content>
             </Item>
@@ -137,13 +132,13 @@
               <:label>KBO nummer</:label>
               <:content>
                 {{#each this.model.association.identifiers as |identifier|}}
-                  {{#if (eq identifier.idName "KBO nummer")}}
-                    {{#if (get identifier.structuredIdentifier "localId")}}
-                      {{get identifier.structuredIdentifier "localId"}}
-                    {{else}}
-                      Niet opgegeven
-                    {{/if}}
-                  {{/if}}
+                {{#if (eq identifier.idName "KBO nummer")}}
+                {{#if (get identifier.structuredIdentifier "localId")}}
+                {{get identifier.structuredIdentifier "localId"}}
+                {{else}}
+                Niet opgegeven
+                {{/if}}
+                {{/if}}
                 {{/each}}
               </:content>
             </Item>
diff --git a/app/templates/associations.hbs b/app/templates/associations.hbs
index c54a1a0d..2ef1f56c 100644
--- a/app/templates/associations.hbs
+++ b/app/templates/associations.hbs
@@ -28,9 +28,9 @@
               @onChange={{this.setPostalCodes}}
               @selected={{(this.PostalCodes this.store this.postalCodes)}}
             />
-            <Filters::OrganizationStatusSelect
-              @onChange={{this.setOrganizationStatus}}
-              @selected={{this.selectedOrganizationStatus}}
+            <Filters::RecognitionStatusSelect
+              @onChange={{this.setRecognitionStatus}}
+              @selected={{this.selectedRecognitionStatus}}
             />
             <Filters::TypeSelect
               @onChange={{this.setTypes}}
@@ -99,6 +99,10 @@
                 />
               {{/if}}
             </div>
+            <Filters::OrganizationStatusToggle
+              @organizationStatus={{this.status}}
+              @onChange={{this.setOrganizationStatus}}
+            />
             <AuHr />
             <AuHeading @level="1" @skin="5">
               {{this.associations.meta.count}}
@@ -123,6 +127,7 @@
             @class="data-table__header-title"
           />
           <th>Hoofdactiviteiten</th>
+          <th>Status</th>
           <th>vCode</th>
           <AuDataTableThSortable
             @field="targetAudience.minimumLeeftijd,targetAudience.maximumLeeftijd"
@@ -179,7 +184,14 @@
               {{/each}}
             </td>
             <td>
-
+              {{#if association.status}}
+                <OrganizationStatus
+                  @id={{association.status_id}}
+                  @label={{association.status}}
+                />
+              {{/if}}
+            </td>
+            <td>
               {{#each association.identifiers as |identifier|}}
                 {{#if (eq identifier.idName "vCode")}}
                   {{get identifier.structuredIdentifier "localId"}}


Reviews:
user: login: wolfderechter
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-16T12:57:30Z
user: login: Windvis
body: Only looked at the code since I can't easily test it. Small remarks.
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-16T14:42:38Z
user: login: wolfderechter
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-16T15:03:49Z
user: login: wolfderechter
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-16T15:04:17Z
user: login: Windvis
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-16T15:40:09Z
user: login: benjay10
body: There doesn't seem to be any inactive associations, so I had to create one to test how the toggle button looks and functions. Seems to be working correctly!
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-17T01:51:01Z

Review comments:
path: app/components/filters/recognition-status-select.js
user: login: wolfderechter
body: I renamed these to avoid confusion with our newly added OrganizationStatus
created_at: 2025-04-16T12:57:30Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,8 @@
+<div class={{if @error "ember-power-select--error"}}>
path: app/components/filters/organization-status-toggle.hbs
user: login: Windvis
body: This wrapper isn't needed I think? `@error` isn't passed into the component.
created_at: 2025-04-16T14:32:03Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,8 @@
+<div class={{if @error "ember-power-select--error"}}>
+  <AuToggleSwitch
+    @checked={{@organizationStatus}}
+    @onChange={{fn (mut @organizationStatus) (not @organizationStatus)}}
path: app/components/filters/organization-status-toggle.hbs
user: login: Windvis
body: Does this actually work? If it does it's using some dark magic since arguments should in theory be immutable.

In any case, I wouldn't mutate the argument inside the component, just let the parent handle the switching.
created_at: 2025-04-16T14:35:18Z
author_association: CONTRIBUTOR
diff_hunk: @@ -89,6 +89,15 @@
             </Item>
           </:left>
           <:right as |Item|>
+            <Item>
+              <:label>Status</:label>
+            <:content>
+              <OrganizationStatus
+                @id={{this.model.association.organizationStatus.id}}
+                @label={{this.model.association.organizationStatus.label}}
+              />
+            </:content>
path: app/templates/association/general.hbs
user: login: Windvis
body: Nitpick but the indentation seems a bit wonky
created_at: 2025-04-16T14:40:46Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,8 @@
+<div class={{if @error "ember-power-select--error"}}>
path: app/components/filters/organization-status-toggle.hbs
user: login: wolfderechter
body: Ah yeah good catch
created_at: 2025-04-16T15:03:49Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,8 @@
+<div class={{if @error "ember-power-select--error"}}>
+  <AuToggleSwitch
+    @checked={{@organizationStatus}}
+    @onChange={{fn (mut @organizationStatus) (not @organizationStatus)}}
path: app/components/filters/organization-status-toggle.hbs
user: login: wolfderechter
body: It does work, I did the same as https://github.com/lblod/frontend-organization-portal/blob/703b0f43acf7cd0f27feecee0363958f0692a9ab/app/components/related-organizations-view-table.hbs#L16

But let's see if I can clean it up
created_at: 2025-04-16T15:04:17Z
author_association: CONTRIBUTOR

PR comments:
user: login: benjay10
created_at: 2025-04-10T23:03:35Z
body: The status on the verenigingen detail page is shown correctly like so:

![image](https://github.com/user-attachments/assets/57543eb2-f2a1-42ac-b4d4-933a99f3df13)

But on the main search page, in the table, the statuses are empty.

![image](https://github.com/user-attachments/assets/9a4a435b-00f9-465b-9966-196a617d18fb)

I see that the status is not requested from resources.
author_association: CONTRIBUTOR
user: login: wolfderechter
created_at: 2025-04-11T07:23:57Z
body: > But on the main search page, in the table, the statuses are empty.
> I see that the status is not requested from resources.

Ah yes sorry, the backend needs some changes in mu-search config before that works. Pushing those now
author_association: CONTRIBUTOR
user: login: Windvis
created_at: 2025-04-16T14:49:11Z
body: Also the Woodpecker configs need to be updated because CI isn't running at the moment it seems. Reference PR: https://github.com/lblod/frontend-dashboard/pull/48
author_association: CONTRIBUTOR