From 4fb7ed223be5530b8599103321239534a42d3346 Mon Sep 17 00:00:00 2001
From: Hermann <blumh@ethz.ch>
Date: Sun, 5 Aug 2018 22:12:35 +0200
Subject: [PATCH] add filters for event and user table

---
 src/events/table.js   | 8 ++++++++
 src/users/userTool.js | 9 +++++++++
 2 files changed, 17 insertions(+)

diff --git a/src/events/table.js b/src/events/table.js
index 8e49de9..14569af 100644
--- a/src/events/table.js
+++ b/src/events/table.js
@@ -25,6 +25,7 @@ export default class EventTable {
   }
 
   view() {
+    const now = new Date();
     return m(TableView, {
       controller: this.ctrl,
       keys: config.tableKeys,
@@ -34,6 +35,13 @@ export default class EventTable {
         { text: 'Start', width: '9em' },
         { text: 'End', width: '9em' },
       ],
+      filters: [[{
+        name: 'upcoming',
+        query: { time_start: { $gte: `${now.toISOString().slice(0, -5)}Z` } },
+      }, {
+        name: 'past',
+        query: { time_start: { $lt: `${now.toISOString().slice(0, -5)}Z` } },
+      }]],
       onAdd: () => { m.route.set('/newevent'); },
     });
   }
diff --git a/src/users/userTool.js b/src/users/userTool.js
index 903f1da..97ee5c0 100644
--- a/src/users/userTool.js
+++ b/src/users/userTool.js
@@ -28,6 +28,15 @@ export class UserTable {
       controller: this.ctrl,
       keys: config.tableKeys,
       titles: config.tableKeys.map(key => config.keyDescriptors[key] || key),
+      filters: [[
+        { name: 'not members', query: { membership: 'none' } },
+        { name: 'regular members', query: { membership: 'regular' } },
+        { name: 'extraordinary members', query: { membership: 'extraordinary' } },
+        { name: 'honorary member', query: { membership: 'honorary' } },
+      ], [
+        { name: 'ITET', query: { department: 'itet' } },
+        { name: 'MAVT', query: { department: 'mavt' } },
+      ]],
       onAdd: () => { m.route.set('/newuser'); },
     });
   }
-- 
GitLab