forked from shaba/openuds
* 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:
parent
825e88e1f1
commit
638817f98b
@ -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,
|
||||
),
|
||||
]
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
BIN
server/src/uds/static/img/uds-service.png
Normal file
BIN
server/src/uds/static/img/uds-service.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user