From 3b5e4ae7d77babf7b0154ab2e6977b9d38d3f0ce Mon Sep 17 00:00:00 2001
From: Carlos Vega <carlos.vega@uni.lu>
Date: Fri, 12 Oct 2018 13:34:10 +0200
Subject: [PATCH] added list of roles to hide and show different roles. Issue
 #250

---
 smash/web/static/js/daily_planning.js   |  6 +++++-
 smash/web/templates/daily_planning.html | 26 +++++++++++++++++++++++++
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/smash/web/static/js/daily_planning.js b/smash/web/static/js/daily_planning.js
index 462ab764..9ae40d26 100644
--- a/smash/web/static/js/daily_planning.js
+++ b/smash/web/static/js/daily_planning.js
@@ -381,7 +381,11 @@ $(document).ready(function () {
                                 data: {
                                     start_date: view.start.format('YYYY-MM-DD'),
                                     }
-                                }).then(function(resources){callback(resources)});                  
+                                }).then(function(resources){
+                                    var checked_roles = $('.role_list_item > input:checked').map( (i,e) => e.value).toArray();
+                                    resources = resources.filter(resource => checked_roles.includes(resource.role));
+                                    callback(resources)
+                                });                  
                         }, 0);
         },
         events: [],
diff --git a/smash/web/templates/daily_planning.html b/smash/web/templates/daily_planning.html
index c02b5d7d..c28fb019 100644
--- a/smash/web/templates/daily_planning.html
+++ b/smash/web/templates/daily_planning.html
@@ -13,6 +13,20 @@
     />
     <link rel="stylesheet" href="{% static 'fullcalendar-scheduler/scheduler.min.css' %}">
     <link rel="stylesheet" href="{% static 'css/daily_planning.css' %}">
+    <style type="text/css">
+        .role_label{
+            padding-left: 5px;
+        }
+        #role_list{
+            columns: 3;
+            webkit-columns: 2;
+            -moz-columns: 2;
+        }
+        .role_list_item{
+            list-style: none;
+            list-style-type:none;
+        }
+    </style>
     {% include "includes/datepicker.css.html" %}
 {% endblock styles %}
 
@@ -38,6 +52,13 @@
             </div>
         </div>
     </div>
+    <ul id="role_list">
+     {% for role in worker_study_roles %}
+        <li class="role_list_item">
+            <input type="checkbox" name="{{role.0}}" value="{{role.0}}" id="{{role.0}}" onclick="clicked_role_list_item(this);" checked><label class="role_label" for="{{role.0}}">{{role.1}}</label>
+        </li>
+     {% endfor %}
+    </ul>
 {% endblock maincontent %}
 
 {% block scripts %}
@@ -48,6 +69,11 @@
     <script>
         var resources_url = '{% url 'web.api.workers.daily_planning' %}';
         var events_url = '{% url 'web.api.events_persist' %}';
+        function clicked_role_list_item(item){
+            //var checked = $(item).prop('checked');
+            $('#calendar').fullCalendar('refetchResources');
+        }
+
     </script>
     {% include "includes/datepicker.js.html" %}
     <script src="{% static 'js/daily_planning.js' %}"></script>
-- 
GitLab