def test_should_set_extra_interface_setting(self): settings = GallerySettings( self.get_gallery(), interfaces=[IFlickrGallerySettings] ) settings.flickr_username = "******" self.assertEquals(settings.flickr_username, "john")
def handleApply(self, action): data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return changes = self.applyChanges(data) settings = GallerySettings(self.context) has_changes = False if changes: settings = GallerySettings(self.context) settings.last_cooked_time_in_seconds = 0 has_changes = True self.set_status_message(settings, has_changes)
def __call__(self): self.adapter = getGalleryAdapter(self.context, self.request) self.displayer = getDisplayAdapter(self.adapter) self.settings = GallerySettings( self.context, interfaces=[self.adapter.schema, self.displayer.schema]) return self.index()
def should_include(self, display_type): context = aq_inner(self.context) try: return self.enabled() and \ GallerySettings(context).display_type == display_type except TypeError: return False
def handleApply(self, action): data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return changes = self.applyChanges(data) settings = GallerySettings(self.context) has_changes = False if changes: settings = GallerySettings(self.context) settings.last_cooked_time_in_seconds = 0 has_changes = True self.set_status_message(settings, has_changes) return self.request.response.redirect(self.context.absolute_url())
def __init__(self, gallery, request): self.gallery = gallery self.request = request self.settings = GallerySettings(self.gallery, interfaces=[self.schema]) if self.time_to_cook(): self.cook()
def test_gallery_views(self): browser = Browser() browser.handleErrors = False self.setRoles(("Manager",)) self.portal.invokeFactory(id="test_gallery", type_name="Folder") gallery = self.portal.test_gallery self.portal.portal_workflow.doActionFor(gallery, "publish") populate_gallery(gallery) gallery.setLayout("galleryview") settings = GallerySettings(gallery) vocab = getUtility(IVocabularyFactory, "collective.plonetruegallery.DisplayTypes")(gallery) title = gallery.objectValues()[0].Title() for display_type in vocab.by_value.keys(): settings.display_type = display_type # This test doesn't trigger the same error as seen in real plone # caused by unicode characters in image titles browser.open(gallery.absolute_url()) self.assertTrue(title in browser.contents)
def test_gallery_views(self): browser = Browser(self.app) browser.handleErrors = False browserLogin(self.portal, browser) self.portal.invokeFactory(id="test_gallery", type_name="Folder") gallery = self.portal.test_gallery self.portal.portal_workflow.doActionFor(gallery, 'publish') populate_gallery(gallery) gallery.setLayout('galleryview') settings = GallerySettings(gallery) vocab = getUtility(IVocabularyFactory, 'collective.plonetruegallery.DisplayTypes')(gallery) title = gallery.objectValues()[0].Title() import transaction transaction.commit() for display_type in vocab.by_value.keys(): settings.display_type = display_type # This test doesn't trigger the same error as seen in real plone # caused by unicode characters in image titles browser.open(gallery.absolute_url()) self.assertTrue(title in browser.contents)
def __init__(self, context, request): super(BaseDisplayType, self).__init__(context, request) self.adapter = getGalleryAdapter(context, request) self.context = self.gallery = self.adapter.gallery self.settings = GallerySettings( context, interfaces=[self.adapter.schema, self.schema]) portal_state = getMultiAdapter((context, request), name='plone_portal_state') self.portal_url = portal_state.portal_url() self.staticFiles = "%s/%s" % (self.portal_url, self.staticFilesRelative) self.typeStaticFiles = '%s/%s' % (self.portal_url, self.typeStaticFilesRelative)
def install(context): site = context.getSite() default_settings = context.readDataFile(SETTINGS_FILENAME) if default_settings: default_settings = json.loads(default_settings) settings = GallerySettings(site) for key, value in default_settings.items(): setattr(settings, key, value) if not context.readDataFile('collective.plonetruegallery.txt'): return types = getToolByName(site, 'portal_types') if 'Large Plone Folder' in types.objectIds(): folder = types['Large Plone Folder'] view_methods = set(folder.view_methods) view_methods.add('galleryview') folder.view_methods = tuple(view_methods) if 'Collection' in types.objectIds(): folder = types['Collection'] view_methods = set(folder.view_methods) view_methods.add('galleryview') folder.view_methods = tuple(view_methods)
def test_should_set_setting_correctly(self): settings = GallerySettings(self.get_gallery()) settings.gallery_type = "flickr" self.assertEquals(settings.gallery_type, "flickr")
def refresh_enabled(self): return self.enabled() and \ GallerySettings(self.context).gallery_type != 'basic'
def test_should_handle_passing_in_single_item(self): settings = GallerySettings(self.get_gallery(), interfaces=IGalleriaDisplaySettings) self.assertEqual(settings.galleria_theme, 'light')
def test_should_return_default_to_None_if_it_is_not_in_an_interface(self): settings = GallerySettings(self.get_gallery()) self.assertEqual(None, settings.foobar)
def test_should_always_have_IGallerySettings_no_matter_what(self): settings = GallerySettings(self.get_gallery(), interfaces=[]) self.assertTrue(IGallerySettings in settings._interfaces)
def test_added_interface_settings_should_return_default_value(self): settings = GallerySettings(self.get_gallery(), interfaces=[IGalleriaDisplaySettings]) self.assertEqual(settings.galleria_theme, 'light')
def test_settings_should_return_default_value(self): settings = GallerySettings(self.get_gallery()) self.assertEqual(settings.gallery_type, IGallerySettings['gallery_type'].default)
def configureSlideshow(context): settings = GallerySettings(context, interfaces=[ISlideShowDisplaySettings]) settings.show_slideshow_infopane = False
def test_should_set_setting_correctly(self): settings = GallerySettings(self.get_gallery()) settings.gallery_type = "flickr" self.failUnless(settings.gallery_type == "flickr")