* Replaced default "pixelated" image from services to UDS Image

* Added image to Services Pools, so we can select our image
This commit is contained in:
Adolfo Gómez García 2014-11-05 10:51:23 +01:00
parent 825e88e1f1
commit 638817f98b
5 changed files with 33 additions and 5 deletions

View File

@ -26,4 +26,10 @@ class Migration(migrations.Migration):
},
bases=(models.Model,),
),
migrations.AddField(
model_name='deployedservice',
name='image',
field=models.ForeignKey(related_name='deployedServices', blank=True, to='uds.Image', null=True),
preserve_default=True,
),
]

View File

@ -35,6 +35,8 @@ from __future__ import unicode_literals
__updated__ = '2014-11-05'
from django.db import models
from django.http import HttpResponse
from uds.models.UUIDModel import UUIDModel
from uds.models.Util import getSqlDatetime
from PIL import Image as PILImage # @UnresolvedImport
@ -150,6 +152,12 @@ class Image(UUIDModel):
self.data64 = data64
self._processImageStore()
def imageResponse(self):
return HttpResponse(self.data, content_type='image/png')
def thumbnailResponse(self):
return HttpResponse(self.data, content_type='image/png')
def save(self, *args, **kwargs):
self.stamp = getSqlDatetime()
return UUIDModel.save(self, *args, **kwargs)

View File

@ -33,7 +33,7 @@
from __future__ import unicode_literals
__updated__ = '2014-11-02'
__updated__ = '2014-11-05'
from django.db import models
from django.db.models import signals
@ -49,6 +49,7 @@ from uds.models.OSManager import OSManager
from uds.models.Service import Service
from uds.models.Transport import Transport
from uds.models.Group import Group
from uds.models.Image import Image
from uds.models.Util import NEVER
from uds.models.Util import getSqlDatetime
@ -73,6 +74,7 @@ class DeployedService(UUIDModel):
assignedGroups = models.ManyToManyField(Group, related_name='deployedServices', db_table='uds__ds_grps')
state = models.CharField(max_length=1, default=State.ACTIVE, db_index=True)
state_date = models.DateTimeField(default=NEVER)
image = models.ForeignKey(Image, null=True, blank=True, related_name='deployedServices')
initial_srvs = models.PositiveIntegerField(default=0)
cache_l1_srvs = models.PositiveIntegerField(default=0)
cache_l2_srvs = models.PositiveIntegerField(default=0)

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -43,7 +43,7 @@ from django.views.i18n import javascript_catalog
from django.utils import timezone
from uds.core.auths.auth import webLogin, webLogout, webLoginRequired, authenticate, webPassword, authenticateViaCallback, authLogLogin, authLogLogout, getUDSCookie
from uds.models import Authenticator, DeployedService, Transport, UserService, Network
from uds.models import Authenticator, DeployedService, Transport, UserService, Network, Image
from uds.web.forms.LoginForm import LoginForm
from uds.core.managers.UserServiceManager import UserServiceManager
from uds.core.managers.UserPrefsManager import UserPrefsManager
@ -199,7 +199,10 @@ def index(request):
typeTrans = t.getType()
if t.validForIp(request.ip) and typeTrans.supportsOs(os['OS']):
trans.append({'id': t.uuid, 'name': t.name, 'needsJava': t.getType().needsJava})
imageId = len(trans) == 0 and 'x' or trans[0]['id']
if svr.deployed_service.image is not None:
imageId = svr.deployed_service.image.uuid
else:
imageId = 'x' # Invalid
services.append({'id': 'A' + svr.uuid, 'name': svr['name'], 'transports': trans, 'imageId': imageId})
# Now generic user service
@ -210,7 +213,10 @@ def index(request):
typeTrans = t.getType()
if typeTrans.supportsOs(os['OS']):
trans.append({'id': t.uuid, 'name': t.name, 'needsJava': typeTrans.needsJava})
imageId = len(trans) == 0 and 'x' or trans[0]['id']
if svr.image is not None:
imageId = svr.image.uuid
else:
imageId = 'x'
services.append({'id': 'F' + svr.uuid, 'name': svr.name, 'transports': trans, 'imageId': imageId})
logger.debug('Services: {0}'.format(services))
@ -332,11 +338,17 @@ def transportIcon(request, idTrans):
def serviceImage(request, idImage):
try:
icon = Image.objects.get(uuid=idImage)
return icon.imageResponse()
except Image.DoesNotExist:
pass # Tries to get image from transport
try:
icon = Transport.objects.get(uuid=idImage).getInstance().icon(False)
return HttpResponse(icon, content_type='image/png')
except Exception:
return HttpResponseRedirect('/static/img/unknown.png')
return HttpResponseRedirect('/static/img/uds-service.png')
@transformId