From 40c220c0f93d9940f2bf60b1055ba7996f0be4e1 Mon Sep 17 00:00:00 2001 From: Bilal Tariq Date: Fri, 24 Jun 2016 09:33:02 +0100 Subject: [PATCH] Updated Worklist API -Added WorklistFilters -Added WorklistFilterCriteria -Added NestedManagers for both Refactored v1/worklists.py Renamed get_all_filter to get_all_from_filter Removed whitespace in worklists.py for PEP8 test Removed erroneous change in base.py Removed verify=False in HTTPClient creation. Change-Id: I37d20066492f3414061a8aaa26f800cc3c858091 Signed-off-by: Bilal Tariq --- storyboardclient/v1/worklists.py | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/storyboardclient/v1/worklists.py b/storyboardclient/v1/worklists.py index e3c1c1e..df78213 100644 --- a/storyboardclient/v1/worklists.py +++ b/storyboardclient/v1/worklists.py @@ -16,6 +16,40 @@ from storyboardclient import base +class FilterCriterion(base.BaseObject): + field = None + filter_id = None + negative = None + title = None + value = None + + +class FilterCriterionNestedManager(base.BaseNestedManager): + resource_class = FilterCriterion + + # if the method with the filter parameter is called, + # create the criteria objects using the data received + # when querying for the worklist + def get_all_from_filter(self, filter): + critlist = filter.filter_criteria + return [FilterCriterion(self, info=crit) for crit in critlist] + + +class WorklistFilter(base.BaseObject): + # the query object + list_filter_criteria = FilterCriterionNestedManager + # the raw data that is sent + filter_criteria = None + list_id = None + type = None + + +class WorklistFilterNestedManager(base.BaseNestedManager): + url_key = "filters" + parent_url_key = "worklists" + resource_class = WorklistFilter + + class Worklist(base.BaseObject): title = None creator_id = None @@ -23,6 +57,21 @@ class Worklist(base.BaseObject): private = None archived = None automatic = None + filters = None + users = None + owners = None + items = None + list_filters = WorklistFilterNestedManager + + +class WorklistItem: + archived = None + list_position = None + list_id = None + item_id = None + item_type = None + display_due_date = None + resolved_due_date = None class WorklistsManager(base.BaseManager):