summaryrefslogtreecommitdiff
path: root/service/pixelated/application.py
diff options
context:
space:
mode:
authorRoald de Vries <rdevries@thoughtworks.com>2016-12-07 15:26:10 +0100
committerRoald de Vries <rdevries@thoughtworks.com>2016-12-07 15:26:10 +0100
commitd10f607a4d40587510b0dc31b31fe4750bf4a3a3 (patch)
treedb016bb0878989249e0f329e2162d11067b0f8b7 /service/pixelated/application.py
parentc28abba2f5b1186c671ebef508d40ffaae6d5bc5 (diff)
parenteaf2019b6e977d1191e0ee12f694a02bb9612f83 (diff)
[#801] Merge branch 'signup'
Diffstat (limited to 'service/pixelated/application.py')
-rw-r--r--service/pixelated/application.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/service/pixelated/application.py b/service/pixelated/application.py
index 46e5ba85..73095da4 100644
--- a/service/pixelated/application.py
+++ b/service/pixelated/application.py
@@ -37,12 +37,18 @@ from pixelated.config.leap import initialize_leap_single_user, init_monkeypatche
from pixelated.config.services import ServicesFactory, SingleUserServicesFactory
from pixelated.config.site import PixelatedSite
from pixelated.resources.auth import PixelatedRealm, PixelatedAuthSessionWrapper, SessionChecker
-from pixelated.resources.login_resource import LoginResource
from pixelated.resources.root_resource import RootResource
log = Logger()
+def get_static_folder():
+ static_folder = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "..", "web-ui", "public"))
+ if not os.path.exists(static_folder):
+ static_folder = os.path.join('/', 'usr', 'share', 'pixelated-user-agent')
+ return static_folder
+
+
class UserAgentMode(object):
def __init__(self, is_single_user):
self.is_single_user = is_single_user
@@ -94,7 +100,7 @@ def initialize():
args = arguments.parse_user_agent_args()
logger.init(debug=args.debug)
services_factory = _create_service_factory(args)
- resource = RootResource(services_factory)
+ resource = RootResource(services_factory, static_folder=get_static_folder())
def start():
start_async = _start_mode(args, resource, services_factory)
@@ -155,11 +161,12 @@ def _setup_multi_user(args, root_resource, services_factory):
def set_up_protected_resources(root_resource, provider, services_factory, banner=None, authenticator=None):
session_checker = SessionChecker(services_factory)
- realm = PixelatedRealm()
+ anonymous_resource = RootResource(services_factory, static_folder=get_static_folder(), public=True)
+ realm = PixelatedRealm(root_resource, anonymous_resource)
_portal = portal.Portal(realm, [session_checker, AllowAnonymousAccess()])
- anonymous_resource = LoginResource(services_factory, provider, disclaimer_banner=banner, authenticator=authenticator)
- protected_resource = PixelatedAuthSessionWrapper(_portal, root_resource, anonymous_resource, [])
+ protected_resource = PixelatedAuthSessionWrapper(_portal)
+ anonymous_resource.initialize(provider, disclaimer_banner=banner, authenticator=authenticator)
root_resource.initialize(provider, disclaimer_banner=banner, authenticator=authenticator)
return protected_resource