export list of admin users to agents (#5367)

This commit is contained in:
Frédéric Péters 2014-09-01 18:28:13 +02:00
parent eda76d1edd
commit ad989bebf0
1 changed files with 14 additions and 0 deletions

View File

@ -1,8 +1,10 @@
import calendar
import datetime
from django.contrib.auth.models import User
from django.db.models import Max
def get_installed_services():
from .models import AVAILABLE_SERVICES
installed_services = []
@ -26,8 +28,20 @@ def get_installed_services_dict():
if timestamp is None:
timestamp = datetime.datetime.now()
# include the list of admin users so an agent can create them when
# deploying a service (according to its policy)
users = []
for user in User.objects.filter(is_superuser=True,
is_active=True, password__isnull=False):
user_dict = {}
for attribute in ('username', 'first_name', 'last_name', 'email',
'password'):
user_dict[attribute] = getattr(user, attribute)
users.append(user_dict)
return {
'timestamp': calendar.timegm(timestamp.timetuple()),
'users': users,
'services': [x.as_dict() for x in get_installed_services()],
'variables': dict(((v.name, v.json)
for v in Variable.objects.filter(service_pk__isnull=True))),