Exemple #1
0
    def test_startupdirectory(self):
        makeContent(self.folder, portal_type='RefBrowserDemo', id='ref')
        context = self.folder.ref

        request = self.app.REQUEST

        field = context.getField('multiRef5')
        helper = ReferenceBrowserHelperView(context, request)

        # no query
        self.assertEqual(helper.getStartupDirectory(field),
                         'http://nohost/plone/layer1/layer2/ref')

        # string query
        field.widget.startup_directory = 'layer2'
        self.assertEqual(helper.getStartupDirectory(field),
                         'http://nohost/plone/layer1/layer2')

        # test base query is restricted on startup directory
        self.assertFalse('path' in field.widget.getBaseQuery(context, field))
        field.widget.restrict_browsing_to_startup_directory = 1
        self.assertTrue('path' in field.widget.getBaseQuery(context, field))
        self.assertEqual(field.widget.getBaseQuery(context, field)['path'],
                         '/plone/layer1/layer2')

        field.widget.startup_directory = 'layer1'
        self.assertEqual(field.widget.getBaseQuery(context, field)['path'],
                         '/plone/layer1')

        field.widget.startup_directory = '/foo/constant'
        self.assertEqual(helper.getStartupDirectory(field),
                         'http://nohost/plone/foo/constant')

        # dynamic query
        field.widget.startup_directory_method = 'dynamicDirectory'
        self.assertEqual(helper.getStartupDirectory(field),
                         'http://nohost/plone/bar/dynamic')

        # constant query
        field.widget.startup_directory_method = 'constantDirectory'
        self.assertEqual(helper.getStartupDirectory(field),
                         'http://nohost/plone/foo/constant')

        # clean up
        field.widget.startup_directory_method = ''
    def test_startupdirectory(self):
        makeContent(self.folder, portal_type="RefBrowserDemo", id="ref")
        context = self.folder.ref

        request = self.app.REQUEST

        field = context.getField("multiRef5")
        helper = ReferenceBrowserHelperView(context, request)

        # no query
        self.assertEqual(helper.getStartupDirectory(field), "http://nohost/plone/layer1/layer2/ref")

        # string query
        field.widget.startup_directory = "layer2"
        self.assertEqual(helper.getStartupDirectory(field), "http://nohost/plone/layer1/layer2")

        # test base query is restricted on startup directory
        self.assertFalse("path" in field.widget.getBaseQuery(context, field))
        field.widget.restrict_browsing_to_startup_directory = 1
        self.assertTrue("path" in field.widget.getBaseQuery(context, field))
        self.assertEqual(field.widget.getBaseQuery(context, field)["path"], "/plone/layer1/layer2")

        field.widget.startup_directory = "layer1"
        self.assertEqual(field.widget.getBaseQuery(context, field)["path"], "/plone/layer1")

        field.widget.startup_directory = "/foo/constant"
        self.assertEqual(helper.getStartupDirectory(field), "http://nohost/plone/foo/constant")

        # dynamic query
        field.widget.startup_directory_method = "dynamicDirectory"
        self.assertEqual(helper.getStartupDirectory(field), "http://nohost/plone/bar/dynamic")

        # constant query
        field.widget.startup_directory_method = "constantDirectory"
        self.assertEqual(helper.getStartupDirectory(field), "http://nohost/plone/foo/constant")

        # clean up
        field.widget.startup_directory_method = ""