fix NoneType object has not attr key (#10131)

This commit is contained in:
Josue Kouka 2016-02-29 17:03:59 +01:00
parent 775a1f59b1
commit 3a89d3ef72
1 changed files with 8 additions and 3 deletions

View File

@ -42,6 +42,7 @@ class DemandBaseView(View, SingleObjectMixin):
@method_decorator(csrf_exempt)
def dispatch(self, request, *args, **kwargs):
self.logger = logging.getLogger(__name__)
url_prefix = '/notification/v0'
self.ws = self.get_object()
self.ws.get_access_token()
@ -53,11 +54,12 @@ class DemandBaseView(View, SingleObjectMixin):
"""Validate post data
"""
payload = {}
missing_key = set(fields).difference(set(self.json_data.get('fields').keys()))
self.logger.debug("JSON DATA: %r" %self.json_data)
missing_key = set(fields).difference(set(self.json_data.keys()))
if missing_key:
raise MissingKeyException('%s is required' %(missing_key.pop()))
for field in fields:
payload[field] = self.json_data.get('fields')[field]
payload[field] = self.json_data[field]
return payload
@ -87,7 +89,7 @@ class CreateDemandView(DemandBaseView):
headers = self.ws.headers,
data = data
)
self.logger.debug("Dashboard response: %r - %r"%(response.status_code, response.content))
demand_id = response.json()
if demand_id < 0 : # -1, creation failed
return {'err': 'demand creation failed'}
@ -113,6 +115,7 @@ class UpdateDemandView(DemandBaseView):
data = data
)
self.logger.debug("Dashboard response: %r - %r"%(response.status_code, response.content))
response = self.check_request_response(response)
return {'display_id': response.json()}
@ -136,6 +139,7 @@ class NotifyDemandView(DemandBaseView):
data = data
)
self.logger.debug("Dashboard response: %r - %r"%(response.status_code, response.content))
response = self.check_request_response(response)
return {'display_id': response.json()}
@ -156,6 +160,7 @@ class DeleteDemandView(DemandBaseView):
data = data
)
self.logger.debug("Dashboard response: %r - %r"%(response.status_code, response.content))
response = self.check_request_response(response)
return {'display_id': response.json()}