redirect public link from abstract to real device
This commit is contained in:
parent
4935a1bd75
commit
c0653e51ce
|
@ -324,6 +324,9 @@ class Device(Thing):
|
|||
|
||||
@property
|
||||
def public_link(self) -> str:
|
||||
if self.binding:
|
||||
return self.binding.device.public_link
|
||||
|
||||
host_url = request.host_url.strip('/')
|
||||
return "{}{}".format(host_url, self.url.to_text())
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ import datetime
|
|||
import uuid
|
||||
from itertools import filterfalse
|
||||
|
||||
import flask
|
||||
import marshmallow
|
||||
from flask import Response
|
||||
from flask import current_app as app
|
||||
|
@ -138,8 +139,12 @@ class DeviceView(View):
|
|||
def one_public(self, id: int):
|
||||
device = Device.query.filter_by(devicehub_id=id, active=True).one()
|
||||
abstract = None
|
||||
if device.binding:
|
||||
return flask.redirect(device.public_link)
|
||||
|
||||
if device.is_abstract() == 'Twin':
|
||||
abstract = device.placeholder.binding
|
||||
|
||||
return render_template(
|
||||
'devices/layout.html', device=device, states=states, abstract=abstract
|
||||
)
|
||||
|
|
Reference in a new issue