示例#1
0
    def obj_update(self, bundle, **kwargs):
        if 'data_type_id' not in bundle.data:
            raise BadRequest("data_type_id must be specified")

        try:
            bundle.obj = FixtureDataItem.get(kwargs['pk'])
        except ResourceNotFound:
            raise NotFound('Lookup table item not found')

        if bundle.obj.domain != kwargs['domain']:
            raise NotFound('Lookup table item not found')

        save = False
        if 'fields' in bundle.data:
            save = True
            bundle.obj.fields = {
                field_name: FieldList.wrap(field_list)
                for field_name, field_list in bundle.data['fields'].items()
            }

        if 'item_attributes' in bundle.data:
            save = True
            bundle.obj.item_attributes = bundle.data['item_attributes']

        if save:
            bundle.obj.save()

        return bundle
示例#2
0
 def _create_data_item(self, cleanup=True):
     data_item = FixtureDataItem(domain=self.domain.name,
                                 data_type_id=self.data_type._id,
                                 fields={
                                     "state_name":
                                     FieldList.wrap({
                                         "field_list": [
                                             {
                                                 "field_value": "Tennessee",
                                                 "properties": {
                                                     "lang": "en"
                                                 }
                                             },
                                             {
                                                 "field_value": "田納西",
                                                 "properties": {
                                                     "lang": "zh"
                                                 }
                                             },
                                         ]
                                     })
                                 },
                                 item_attributes={},
                                 sort_key=1)
     data_item.save()
     if cleanup:
         self.addCleanup(data_item.delete)
     return data_item
示例#3
0
    def obj_update(self, bundle, **kwargs):
        if 'data_type_id' not in bundle.data:
            raise BadRequest("data_type_id must be specified")

        try:
            bundle.obj = FixtureDataItem.get(kwargs['pk'])
        except ResourceNotFound:
            raise NotFound('Lookup table item not found')

        if bundle.obj.domain != kwargs['domain']:
            raise NotFound('Lookup table item not found')

        save = False
        if 'fields' in bundle.data:
            save = True
            bundle.obj.fields = {
                field_name: FieldList.wrap(field_list)
                for field_name, field_list in bundle.data['fields'].items()
            }

        if 'item_attributes' in bundle.data:
            save = True
            bundle.obj.item_attributes = bundle.data['item_attributes']

        if save:
            bundle.obj.save()

        return bundle
 def _create_data_item(self, cleanup=True):
     data_item = FixtureDataItem(
         domain=self.domain.name,
         data_type_id=self.data_type._id,
         fields={
             "state_name": FieldList.wrap({
                 "field_list": [
                     {"field_value": "Tennessee", "properties": {"lang": "en"}},
                     {"field_value": "田納西", "properties": {"lang": "zh"}},
                 ]})
         },
         item_attributes={},
         sort_key=1
     )
     data_item.save()
     if cleanup:
         self.addCleanup(data_item.delete)
     return data_item