Revision bbf79074

b/snf-astakos-app/astakos/api/quotas.py
95 95
    return json_response(result)
96 96

  
97 97

  
98
def _provisions_to_list(provisions):
99
    lst = []
100
    for provision in provisions:
101
        try:
102
            holder = provision['holder']
103
            source = provision['source']
104
            resource = provision['resource']
105
            quantity = provision['quantity']
106
            key = (holder, source, resource)
107
            lst.append((key, quantity))
108
        except KeyError:
109
            raise ValueError("Malformed provision")
110
    return lst
111

  
112

  
98 113
@csrf_exempt
99 114
@api.api_method(http_method='POST', token_required=True, user_required=False)
100 115
@service_from_token
......
104 119

  
105 120
    client_key = str(request.service_instance)
106 121
    provisions = input_data['provisions']
122
    provisions = _provisions_to_list(provisions)
107 123
    force = input_data.get('force', False)
108 124
    auto_accept = input_data.get('auto_accept', False)
109 125

  
b/snf-astakos-app/astakos/quotaholder/callpoint.py
84 84
    return holdings
85 85

  
86 86

  
87
def _provisions_to_list(provisions):
88
    lst = []
89
    for provision in provisions:
90
        try:
91
            holder = provision['holder']
92
            source = provision['source']
93
            resource = provision['resource']
94
            quantity = provision['quantity']
95
            key = (holder, source, resource)
96
            lst.append((key, quantity))
97
        except KeyError:
98
            raise InvalidDataError("Malformed provision")
99
    return lst
100

  
101

  
102 87
def _mkProvision(key, quantity):
103 88
    holder, source, resource = key
104 89
    return {'holder': holder,
......
152 137
    operations = Operations()
153 138
    provisions_to_create = []
154 139

  
155
    provisions = _provisions_to_list(provisions)
156 140
    keys = [key for (key, value) in provisions]
157 141
    holdings = _get_holdings_for_update(keys)
158 142
    try:

Also available in: Unified diff