From 2cde8307e8f41f26cde183d153091577e67643fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Sat, 30 Apr 2016 12:11:01 +0200 Subject: [PATCH 4/4] api: include a geolocation part in formdef schemas (#10581) --- wcs/formdef.py | 5 ++++- wcs/workflows.py | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/wcs/formdef.py b/wcs/formdef.py index e5eaaf1..35d9a6f 100644 --- a/wcs/formdef.py +++ b/wcs/formdef.py @@ -91,7 +91,7 @@ class FormDef(StorableObject): # a single point is hardcoded for now, it will be changed into an actual # formdef parameter whenever the need for several points per formdata # arises. - geolocations = {'base': ''} + geolocations = {'base': 'Base'} last_modification_time = None last_modification_user_id = None @@ -555,6 +555,9 @@ class FormDef(StorableObject): for field in self.fields: root['fields'].append(field.export_to_json(include_id=include_id)) + if self.workflow and [x for x in self.workflow.get_all_actions() if x.key == 'geolocate']: + root['geolocation'] = self.geolocations.copy() + if self.workflow_options: root['options'] = self.workflow_options diff --git a/wcs/workflows.py b/wcs/workflows.py index c5a3ebe..6d85b81 100644 --- a/wcs/workflows.py +++ b/wcs/workflows.py @@ -369,6 +369,14 @@ class Workflow(StorableObject): break return actions + def get_all_actions(self): + items = [] + for status in self.possible_status or []: + items.extend(status.items) + for action in self.global_actions or []: + items.extend(action.items) + return items + def __setstate__(self, dict): self.__dict__.update(dict) for s in self.possible_status + (self.global_actions or []): -- 2.8.1