def test_redirecting_with_umlauts(self, browser): self.grant("Manager") config = IRedirectConfig(self.portal) config.rules = make_rules((u"/hall\xf6chen", u"/target")) create(Builder("page").titled("target")) browser.replace_request_header("X-zope-handle-errors", "True") browser.open("http://nohost/plone/hall\xc3\xb6chen") self.assertEqual("http://nohost/plone/target", browser.url)
def test_redirected_when_having_matching_rule(self, browser): self.grant("Manager") config = IRedirectConfig(self.portal) config.rules = make_rules(("/foo", "/target")) create(Builder("page").titled("target")) browser.replace_request_header("X-zope-handle-errors", "True") browser.open("http://nohost/plone/foo") self.assertEqual("http://nohost/plone/target", browser.url)
def test_redirecting_with_umlauts(self, browser): self.grant('Manager') config = IRedirectConfig(self.portal) config.rules = make_rules((u'/hall\xf6chen', u'/target')) create(Builder('page').titled(u'target')) # Set accept header (needed since Plone 5). browser.append_request_header('Accept', 'text/html') browser.open('http://nohost/plone/hall\xc3\xb6chen') self.assertEqual('http://nohost/plone/target', browser.url)
def test_redirected_when_having_matching_rule(self, browser): self.grant('Manager') config = IRedirectConfig(self.portal) config.rules = make_rules(('/foo', '/target')) create(Builder('page').titled(u'target')) # Set accept header (needed since Plone 5). browser.append_request_header('Accept', 'text/html') browser.open('http://nohost/plone/foo') self.assertEqual('http://nohost/plone/target', browser.url)
def handleApply(self, action): data, errors = self.extractData() if errors: # since we have only one field we can copy the error message # to make it more visible self.status = errors[0].message return excel_file = StringIO(data['rules_file'].data) rules = load_rules_from_excel(excel_file) rconfig = IRedirectConfig(self.context) rconfig.rules = rules messages = IStatusMessage(self.request) messages.add(_("The redirect config has been replaced."), type=u'info') self.request.RESPONSE.redirect(self.context.absolute_url())