mobilize is back

Fixes #1721
This commit is contained in:
Leonel Câmara
2017-08-06 19:20:01 +01:00
committed by GitHub
parent ebc614bf91
commit 0b41ed36f9
+17
View File
@@ -673,3 +673,20 @@ def simple_detect(agent):
if os_version:
os = " ".join((os, os_version))
return os, browser
class mobilize(object):
"""
Decorator for controller functions so they use different views for mobile devices.
"""
def __init__(self, func):
self.func = func
def __call__(self):
from gluon import current
user_agent = current.request.user_agent()
if user_agent.is_mobile:
items = current.response.view.split('.')
items.insert(-1, 'mobile')
current.response.view = '.'.join(items)
return self.func()