25 from clm.models.group
import Group
26 from clm.models.user
import User
27 from clm.utils.cm
import CM
28 from clm.utils.decorators
import admin_cm_log, cm_request
29 from clm.utils.exception
import CLMException
30 from common.states
import image_access, group_states
42 if data[
'access'] == image_access[
'group']:
43 groups = Group.objects.all()
44 if data.get(
'group_id',
None):
45 groups = groups.filter(usergroup__user_id__exact=data[
'user_id']).filter(usergroup__status__exact=group_states[
'ok'])
50 data[
'group_id'].append(int(g.id))
51 r[g.id] = {
'name': g.name,
'images': []}
53 resp = CM(cm_id).send_request(
"admin_cm/system_image/get_list/", caller_id=caller_id, **data)
56 for img
in resp[
'data']:
57 if str(img[
'user_id'])
not in d:
59 u = User.objects.get(pk=img[
'user_id'])
60 d[str(img[
'user_id'])] = u.first +
" " + u.last
62 raise CLMException(
'user_get')
63 img[
'owner'] = d[str(img[
'user_id'])]
65 if data[
'access'] == image_access[
'group']:
67 for img
in resp[
'data']:
68 r[img[
'group_id']][
'images'].append(img)
70 if img[
'user_id']
not in d:
72 u = User.objects.get(pk=img[
'user_id'])
73 d[img[
'user_id']] = u.first +
" " + u.last
75 raise CLMException(
'user_get')
76 img[
'owner'] = d[img[
'user_id']]
77 r = [{
'group_id': k,
'name': v[
'name'],
'images': v[
'images']}
for k, v
in r.iteritems()]