def _functionality( self ) -> Dict[str, List[Union[str, int, float, bool, List[Any], Dict[str, Any]]]]: functionality = {} for func_ in get_setting(self.settings, ("functionalities", "available_in_templates"), []): functionality[func_] = get_functionality(func_, self.request, is_intranet(self.request)) return functionality
def capabilities(self) -> pyramid.response.Response: """ Get print capabilities. """ templates = get_functionality("print_template", self.request, is_intranet(self.request)) # get query string params = dict(self.request.params) query_string = urllib.parse.urlencode(params) resp, content = self._capabilities(templates, query_string, self.request.method) return self._build_response(resp, content, Cache.PRIVATE, "print")
def info(self): """ Get print capabilities. """ templates = get_functionality("print_template", self.request) # get query string params = dict(self.request.params) query_string = urllib.parse.urlencode(params) return self._info( templates, query_string, self.request.method, )
def capabilities(self) -> pyramid.response.Response: """Get print capabilities.""" templates = get_functionality("print_template", self.request, is_intranet(self.request)) # get query string params = dict(self.request.params) query_string = urllib.parse.urlencode(params) resp, content = self._capabilities(templates, query_string, self.request.method, self.request.referrer) response = self._build_response(resp, content, Cache.PRIVATE, "print") # Mapfish print will check the referer header to return the capabilities. response.vary += ("Referer", ) return response
def capabilities(self): """ Get print capabilities. """ templates = get_functionality("print_template", self.request) # get query string params = dict(self.request.params) query_string = urllib.parse.urlencode(params) resp, content = self._capabilities( templates, query_string, self.request.method, ) return self._build_response( resp, content, PRIVATE_CACHE, "print", )
def test_functionalities(self): from tests.functional import create_dummy_request from c2cgeoportal_commons.models import DBSession from c2cgeoportal_commons.models.static import User from c2cgeoportal_geoportal.lib.functionality import get_functionality request = create_dummy_request() request.user = None request1 = create_dummy_request() request1.user = DBSession.query(User).filter( User.username == "__test_user1").one() request2 = create_dummy_request() request2.user = DBSession.query(User).filter( User.username == "__test_user2").one() settings = { "functionalities": { "anonymous": {}, "registered": {}, }, "admin_interface": { "available_functionalities": ["__test_a", "__test_s"] } } functionality.FUNCTIONALITIES_TYPES = None request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) self.assertEqual(get_functionality("__test_s", request), []) self.assertEqual(get_functionality("__test_a", request), []) self.assertEqual(get_functionality("__test_s", request1), []) self.assertEqual(get_functionality("__test_a", request1), []) self.assertEqual(get_functionality("__test_s", request2), ["db"]) self.assertEqual(get_functionality("__test_a", request2), ["db1", "db2"]) settings = { "functionalities": { "anonymous": {}, "registered": { "__test_s": "registered", "__test_a": ["r1", "r2"] } }, "admin_interface": { "available_functionalities": ["__test_a", "__test_s"] } } functionality.FUNCTIONALITIES_TYPES = None request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) self.assertEqual(get_functionality("__test_s", request), []) self.assertEqual(get_functionality("__test_a", request), []) self.assertEqual(get_functionality("__test_s", request1), ["registered"]) self.assertEqual(get_functionality("__test_a", request1), ["r1", "r2"]) self.assertEqual(get_functionality("__test_s", request2), ["db"]) self.assertEqual(get_functionality("__test_a", request2), ["db1", "db2"]) settings = { "functionalities": { "anonymous": { "__test_s": "anonymous", "__test_a": ["a1", "a2"] }, "registered": {} }, "admin_interface": { "available_functionalities": ["__test_a", "__test_s"] } } functionality.FUNCTIONALITIES_TYPES = None request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) self.assertEqual(get_functionality("__test_s", request), ["anonymous"]) self.assertEqual(get_functionality("__test_a", request), ["a1", "a2"]) self.assertEqual(get_functionality("__test_s", request1), ["anonymous"]) self.assertEqual(get_functionality("__test_a", request1), ["a1", "a2"]) self.assertEqual(get_functionality("__test_s", request2), ["db"]) self.assertEqual(get_functionality("__test_a", request2), ["db1", "db2"]) settings = { "functionalities": { "anonymous": { "__test_s": "anonymous", "__test_a": ["a1", "a2"] }, "registered": { "__test_s": "registered", "__test_a": ["r1", "r2"] } }, "admin_interface": { "available_functionalities": ["__test_a", "__test_s"] } } functionality.FUNCTIONALITIES_TYPES = None request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) self.assertEqual(get_functionality("__test_s", request), ["anonymous"]) self.assertEqual(get_functionality("__test_a", request), ["a1", "a2"]) self.assertEqual(get_functionality("__test_s", request1), ["registered"]) self.assertEqual(get_functionality("__test_a", request1), ["r1", "r2"]) self.assertEqual(get_functionality("__test_s", request2), ["db"]) self.assertEqual(get_functionality("__test_a", request2), ["db1", "db2"])
def test_functionalities(self): from tests.functional import create_dummy_request from c2cgeoportal_commons.models import DBSession from c2cgeoportal_commons.models.static import User from c2cgeoportal_geoportal.lib.functionality import get_functionality request = create_dummy_request() request.user = None request1 = create_dummy_request() request1.user = DBSession.query(User).filter( User.username == "__test_user1").one() request2 = create_dummy_request() request2.user = DBSession.query(User).filter( User.username == "__test_user2").one() request3 = create_dummy_request() request3.user = DBSession.query(User).filter( User.username == "__test_user3").one() settings = { "admin_interface": { "available_functionalities": [ { "name": "__test_a" }, { "name": "__test_b", "single": True }, { "name": "__test_s", "single": True }, ] } } request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) request3.registry.settings.update(settings) self.assertEqual(get_functionality("__test_s", request, False), []) self.assertEqual(get_functionality("__test_a", request, False), []) self.assertEqual(get_functionality("__test_s", request1, False), []) self.assertEqual(get_functionality("__test_a", request1, False), []) self.assertEqual(get_functionality("__test_s", request2, False), ["db"]) self.assertEqual(set(get_functionality("__test_a", request2, False)), {"db1", "db2"}) self.assertEqual(get_functionality("__test_s", request3, False), ["db"]) self.assertEqual(set(get_functionality("__test_a", request3, False)), {"db1", "db2"}) self.assertEqual(get_functionality("__test_b", request3, False), []) fill_tech_user_functionality("registered", (("__test_s", "registered"), ("__test_a", "r1"), ("__test_a", "r2"))) settings = { "admin_interface": { "available_functionalities": [{ "name": "__test_a" }, { "name": "__test_s" }] } } request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) request1.user = DBSession.query(User).filter( User.username == "__test_user1").one() request2.user = DBSession.query(User).filter( User.username == "__test_user2").one() request3.user = DBSession.query(User).filter( User.username == "__test_user3").one() self.assertEqual(get_functionality("__test_s", request, False), []) self.assertEqual(get_functionality("__test_a", request, False), []) self.assertEqual(get_functionality("__test_s", request1, False), ["registered"]) self.assertEqual(set(get_functionality("__test_a", request1, False)), {"r1", "r2"}) self.assertEqual(get_functionality("__test_s", request2, False), ["db"]) self.assertEqual(set(get_functionality("__test_a", request2, False)), {"db1", "db2"}) fill_tech_user_functionality("registered", []) fill_tech_user_functionality("anonymous", (("__test_s", "anonymous"), ("__test_a", "a1"), ("__test_a", "a2"))) settings = { "admin_interface": { "available_functionalities": [{ "name": "__test_a" }, { "name": "__test_s" }] } } request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) request1.user = DBSession.query(User).filter( User.username == "__test_user1").one() request2.user = DBSession.query(User).filter( User.username == "__test_user2").one() request3.user = DBSession.query(User).filter( User.username == "__test_user3").one() self.assertEqual(get_functionality("__test_s", request, False), ["anonymous"]) self.assertEqual(set(get_functionality("__test_a", request, False)), {"a1", "a2"}) self.assertEqual(get_functionality("__test_s", request1, False), ["anonymous"]) self.assertEqual(set(get_functionality("__test_a", request1, False)), {"a1", "a2"}) self.assertEqual(get_functionality("__test_s", request2, False), ["db"]) self.assertEqual(set(get_functionality("__test_a", request2, False)), {"db1", "db2"}) fill_tech_user_functionality("registered", (("__test_s", "registered"), ("__test_a", "r1"), ("__test_a", "r2"))) fill_tech_user_functionality("anonymous", (("__test_s", "anonymous"), ("__test_a", "a1"), ("__test_a", "a2"))) settings = { "admin_interface": { "available_functionalities": [{ "name": "__test_a" }, { "name": "__test_s" }] } } request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) request1.user = DBSession.query(User).filter( User.username == "__test_user1").one() request2.user = DBSession.query(User).filter( User.username == "__test_user2").one() request3.user = DBSession.query(User).filter( User.username == "__test_user3").one() self.assertEqual(get_functionality("__test_s", request, False), ["anonymous"]) self.assertEqual(set(get_functionality("__test_a", request, False)), {"a1", "a2"}) self.assertEqual(get_functionality("__test_s", request1, False), ["registered"]) self.assertEqual(set(get_functionality("__test_a", request1, False)), {"r1", "r2"}) self.assertEqual(get_functionality("__test_s", request2, False), ["db"]) self.assertEqual(set(get_functionality("__test_a", request2, False)), {"db1", "db2"})
def test_functionalities(self): from tests.functional import create_dummy_request from c2cgeoportal_commons.models import DBSession from c2cgeoportal_commons.models.static import User from c2cgeoportal_geoportal.lib.functionality import get_functionality request = create_dummy_request() request.user = None request1 = create_dummy_request() request1.user = DBSession.query(User).filter(User.username == "__test_user1").one() request2 = create_dummy_request() request2.user = DBSession.query(User).filter(User.username == "__test_user2").one() settings = { "functionalities": { "anonymous": {}, "registered": {}, }, "admin_interface": { "available_functionalities": ["__test_a", "__test_s"] } } functionality.FUNCTIONALITIES_TYPES = None request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) self.assertEqual(get_functionality("__test_s", request), []) self.assertEqual(get_functionality("__test_a", request), []) self.assertEqual(get_functionality("__test_s", request1), []) self.assertEqual(get_functionality("__test_a", request1), []) self.assertEqual(get_functionality("__test_s", request2), ["db"]) self.assertEqual(get_functionality("__test_a", request2), ["db1", "db2"]) settings = { "functionalities": { "anonymous": {}, "registered": { "__test_s": "registered", "__test_a": ["r1", "r2"] } }, "admin_interface": { "available_functionalities": ["__test_a", "__test_s"] } } functionality.FUNCTIONALITIES_TYPES = None request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) self.assertEqual(get_functionality("__test_s", request), []) self.assertEqual(get_functionality("__test_a", request), []) self.assertEqual(get_functionality("__test_s", request1), ["registered"]) self.assertEqual(get_functionality("__test_a", request1), ["r1", "r2"]) self.assertEqual(get_functionality("__test_s", request2), ["db"]) self.assertEqual(get_functionality("__test_a", request2), ["db1", "db2"]) settings = { "functionalities": { "anonymous": { "__test_s": "anonymous", "__test_a": ["a1", "a2"] }, "registered": {} }, "admin_interface": { "available_functionalities": ["__test_a", "__test_s"] } } functionality.FUNCTIONALITIES_TYPES = None request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) self.assertEqual(get_functionality("__test_s", request), ["anonymous"]) self.assertEqual(get_functionality("__test_a", request), ["a1", "a2"]) self.assertEqual(get_functionality("__test_s", request1), ["anonymous"]) self.assertEqual(get_functionality("__test_a", request1), ["a1", "a2"]) self.assertEqual(get_functionality("__test_s", request2), ["db"]) self.assertEqual(get_functionality("__test_a", request2), ["db1", "db2"]) settings = { "functionalities": { "anonymous": { "__test_s": "anonymous", "__test_a": ["a1", "a2"] }, "registered": { "__test_s": "registered", "__test_a": ["r1", "r2"] } }, "admin_interface": { "available_functionalities": ["__test_a", "__test_s"] } } functionality.FUNCTIONALITIES_TYPES = None request.registry.settings.update(settings) request1.registry.settings.update(settings) request2.registry.settings.update(settings) self.assertEqual(get_functionality("__test_s", request), ["anonymous"]) self.assertEqual(get_functionality("__test_a", request), ["a1", "a2"]) self.assertEqual(get_functionality("__test_s", request1), ["registered"]) self.assertEqual(get_functionality("__test_a", request1), ["r1", "r2"]) self.assertEqual(get_functionality("__test_s", request2), ["db"]) self.assertEqual(get_functionality("__test_a", request2), ["db1", "db2"])