Revision bbcb0aeb

b/snf-astakos-app/astakos/im/endpoints/qh.py
182 182
        import_limit = None
183 183
        export_limit = None
184 184
        flags = 0
185
        args = (resource.service, resource, key, quantity, capacity,
185
        args = (resource.service.name, resource.name, key, quantity, capacity,
186 186
                import_limit, export_limit, flags)
187 187
        append(args)
188 188
    return data
......
205 205

  
206 206

  
207 207
@call('create_entity')
208
def create_entities(entities, field=''):
208
def create_user_entities(entities):
209 209
    data = []
210 210
    append = data.append
211 211
    for entity in entities:
212
        try:
213
            entity = entity.__getattribute__(field)
214
        except AttributeError:
212
        entity = entity.uuid
213
        owner = 'system'
214
        key = ENTITY_KEY
215
        ownerkey = ''
216
        args = entity, owner, key, ownerkey
217
        append(args)
218
    return data
219

  
220
@call('create_entity')
221
def create_service_entities(entities):
222
    data = []
223
    append = data.append
224
    l = []
225
    for entity in entities:
226
        entity = entity.service.name
227
        if entity in l:
215 228
            continue
229
        l.append(entity)
216 230
        owner = 'system'
217 231
        key = ENTITY_KEY
218 232
        ownerkey = ''
......
223 237

  
224 238
def register_users(users):
225 239
    users, copy = itertools.tee(users)
226
    rejected = create_entities(entities=users, field='uuid')
240
    rejected = create_user_entities(entities=users)
227 241
    created = (e for e in copy if unicode(e) not in rejected)
228 242
    return send_quota(created)
229 243

  
230 244

  
231 245
def register_resources(resources):
232 246
    resources, copy = itertools.tee(resources)
233
    rejected = create_entities(entities=resources, field='service')
247
    rejected = create_service_entities(entities=resources)
234 248
    created = (e for e in copy if unicode(e) not in rejected)
235 249
    return send_resource_quantities(created)
236 250

  

Also available in: Unified diff