diff options
author | Roald de Vries <rdevries@thoughtworks.com> | 2016-12-07 15:26:10 +0100 |
---|---|---|
committer | Roald de Vries <rdevries@thoughtworks.com> | 2016-12-07 15:26:10 +0100 |
commit | d10f607a4d40587510b0dc31b31fe4750bf4a3a3 (patch) | |
tree | db016bb0878989249e0f329e2162d11067b0f8b7 /service/pixelated/application.py | |
parent | c28abba2f5b1186c671ebef508d40ffaae6d5bc5 (diff) | |
parent | eaf2019b6e977d1191e0ee12f694a02bb9612f83 (diff) |
[#801] Merge branch 'signup'
Diffstat (limited to 'service/pixelated/application.py')
-rw-r--r-- | service/pixelated/application.py | 17 |
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 |