class _FormMetadata(JsonObject): unique_id = StringProperty() name = DictProperty() short_comment = StringProperty() action_type = StringProperty() form_filter = StringProperty() questions = ListProperty(_FormMetadataQuestion) error = DictProperty() changes = ObjectProperty(_FormDiff)
class _QuestionDiff(JsonObject): question = StringProperty(choices=(ADDED, REMOVED)) label = StringProperty(choices=DIFF_STATES) type = StringProperty(choices=DIFF_STATES) value = StringProperty(choices=DIFF_STATES) calculate = StringProperty(choices=DIFF_STATES) relevant = StringProperty(choices=DIFF_STATES) required = StringProperty(choices=DIFF_STATES) comment = StringProperty(choices=DIFF_STATES) setvalue = StringProperty(choices=DIFF_STATES) constraint = StringProperty(choices=DIFF_STATES) options = DictProperty() # {option: state} load_properties = DictProperty() # {case_type: {property: state}} save_properties = DictProperty() # {case_type: {property: state}}
class _QuestionDiff(JsonObject): question = ObjectProperty(_Change) label = ObjectProperty(_Change) type = ObjectProperty(_Change) value = ObjectProperty(_Change) calculate = ObjectProperty(_Change) relevant = ObjectProperty(_Change) required = ObjectProperty(_Change) comment = ObjectProperty(_Change) setvalue = ObjectProperty(_Change) constraint = ObjectProperty(_Change) options = DictProperty() # {option: _Change} load_properties = DictProperty() # {case_type: {property: _Change}} save_properties = DictProperty() # {case_type: {property: _Change}}
class _ModuleMetadata(JsonObject): unique_id = StringProperty() name = DictProperty() short_comment = StringProperty() module_type = StringProperty() is_surveys = BooleanProperty() module_filter = StringProperty() forms = ListProperty(_FormMetadata) changes = ObjectProperty(_ModuleDiff)
class DomainConfiguration(JsonObject): geography_hierarchy = DictProperty() by_type_hierarchy = ListProperty(ByTypeHierarchyRecord)
class _TranslationChange(_Change): old_value = DictProperty() new_value = DictProperty()