fix NoneType object has not attr key (#10131)
This commit is contained in:
parent
775a1f59b1
commit
3a89d3ef72
|
@ -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()}
|
||||
|
|
Reference in New Issue