class CalendarBreadCrumb(icemac.addressbook.browser.breadcrumb.Breadcrumb): """Breadcrumb for the calendar.""" grok.adapts(icemac.ab.calendar.interfaces.ICalendar, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _('Calendar')
class Home(grok.MultiAdapter): grok.adapts(Cave, Fireplace) grok.implements(IHome) def __init__(self, cave, fireplace): self.cave = cave self.fireplace = fireplace
class DisplayWidget(grok.MultiAdapter, zope.formlib.itemswidgets.ItemsWidgetBase): grok.adapts(zope.schema.interfaces.ITuple, zeit.wochenmarkt.interfaces.IRecipeCategoriesSource, zeit.cms.browser.interfaces.ICMSLayer) grok.provides(zope.formlib.interfaces.IDisplayWidget) template = zope.app.pagetemplate.ViewPageTemplateFile( 'display-recipe-categories.pt') def __init__(self, field, source, request): super(DisplayWidget, self).__init__( field, zope.formlib.source.IterableSourceVocabulary(source, request), request) def __call__(self): return self.template() def items(self): items = [] RecipeCategory = namedtuple('RecipeCategory', ['text']) for item in self._getFormValue(): text = self.textForValue(self.vocabulary.getTerm(item)) items.append(RecipeCategory(text)) return items
class ArchiveBreadCrumb(icemac.addressbook.browser.breadcrumb.Breadcrumb): """Breadcrumb for the archive.""" grok.adapts(icemac.addressbook.interfaces.IArchive, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _('Archive')
class HtmlEntryPoint(component.MultiAdapter): """ generate a index html. This html site will than load extjs framework with css and run the application. """ component.name('index') component.adapts(IApplicationContext, IRequest) tmpl = loader.load('index.html') def __init__(self, context, request): self.context = context self.request = request def __call__(self): resources = fanstatic.get_needed() stream = self.tmpl.generate(resources=Markup(resources.render()), title=self.context.title, launcher=Markup(self.launcher())) self.request.response.mimetype = 'text/html' self.request.response.write(stream.render('html', doctype='html')) def launcher(self): """ create a js script that launch the application. """ js = """ Ext.onReady(function() { Ext.application('%s'); }); """ return js % self.context.application
class RootBreadcrumb(Breadcrumb): """Breadcrumb for the root folder: Hide it.""" grok.adapts(zope.site.interfaces.IRootFolder, icemac.addressbook.browser.interfaces.IAddressBookLayer) show = False
class ActionWidget(ActionWidget): grok.adapts(interfaces.IAction, interfaces.IFieldExtractionValueSetting, IThemeSpecific) def htmlClass(self): return 'btn btn-primary'
class VolumeListRepresentation(grok.MultiAdapter, zeit.cms.browser.listing.BaseListRepresentation ): grok.adapts(zeit.content.volume.interfaces.IVolume, zope.publisher.interfaces.IPublicationRequest) ressort = page = author = u'' @property def volume(self): return self.context.volume @property def year(self): return self.context.year @property def title(self): volume = self.context return '%s %s/%s' % (volume.product.title, volume.year, volume.volume) @property def searchableText(self): return self.title
class Container(zeit.edit.container.TypeOnAttributeContainer, grok.MultiAdapter): grok.provides(IContainer) grok.adapts(IContainer, gocept.lxml.interfaces.IObjectified) type = 'container' grok.name(type)
class NotFoundPageletBreadcrumb(Breadcrumb): """Do not render a breadcrumb for the not found pagelet.""" grok.adapts(z3c.layer.pagelet.interfaces.INotFoundPagelet, icemac.addressbook.browser.interfaces.IAddressBookLayer) show = False
class DefaultBreadcrumb(Breadcrumb): """Most unspecific breadcrumb implementation. Used as fall back.""" grok.adapts(zope.interface.Interface, icemac.addressbook.browser.interfaces.IAddressBookLayer) target_url = None
class PreferenceGroupBreadcrumb(PreferenceCategoryBreadcrumb): """Breadcrumb for /++preferences++/ --> hide.""" grok.adapts(zope.preference.interfaces.IPreferenceGroup, icemac.addressbook.browser.interfaces.IAddressBookLayer) show = False
class CollectionTextLine(grok.MultiAdapter): grok.adapts( zope.schema.interfaces.ICollection, zope.schema.interfaces.ITextLine, zeit.retresco.interfaces.IElasticDAVProperties) grok.implements(zeit.cms.content.interfaces.IDAVPropertyConverter) # Taken from zeit.cms.content.dav.CollectionTextLineProperty def __init__(self, context, value_type, content): self.context = context self.value_type = value_type self.content = content self._type = context._type if isinstance(self._type, tuple): # XXX this is way hacky self._type = self._type[0] def fromProperty(self, value): typ = zope.component.getMultiAdapter( (self.value_type, self.content), zeit.cms.content.interfaces.IDAVPropertyConverter) return self._type([typ.fromProperty(x) for x in value]) def toProperty(self, value): typ = zope.component.getMultiAdapter( (self.value_type, self.content), zeit.cms.content.interfaces.IDAVPropertyConverter) return [typ.toProperty(x) for x in value]
class CaptchaFieldWidget(SchemaFieldWidget): grok.adapts(CaptchaSchemaField, Interface, Interface) template = get_template('captcha_templates/captchafieldwidget.cpt', __file__) def image_tag(self): lang = 'de' captcha = getUtility(IRecaptcha) return captcha.display(lang)
class NotFoundBreadcrumb(Breadcrumb): """Breadcrumb to render a title for the NotFound exception.""" grok.adapts(zope.publisher.interfaces.INotFound, icemac.addressbook.browser.interfaces.IAddressBookLayer) target_url = None title = _('Not Found')
class SystemErrorViewBreadcrumb(Breadcrumb): """Breadcrumb to render a title for system error views.""" grok.adapts(zope.browser.interfaces.ISystemErrorView, icemac.addressbook.browser.interfaces.IAddressBookLayer) target_url = None title = 'SystemError'
class EntitiesBreadCrumb( icemac.addressbook.browser.breadcrumb.MasterdataChildBreadcrumb): """Breadcrumb for the entities.""" grok.adapts(icemac.addressbook.interfaces.IEntities, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _('Entities')
class ImporterBreadCrumb( icemac.addressbook.browser.breadcrumb.MasterdataChildBreadcrumb): """Breadcrumb for the importer.""" grok.adapts(icemac.ab.importer.interfaces.IImporter, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _('Importer')
class KeywordContainerBreadCrumb( icemac.addressbook.browser.breadcrumb.MasterdataChildBreadcrumb): """Breadcrumb for keywords container.""" grok.adapts(icemac.addressbook.interfaces.IKeywords, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _('Keywords')
class IdFieldTransformer(GenericFieldTransfomer): adapts(IModel, schema.interfaces.IId) def set(self, value): if value is None: self.field.set(self.model, None) else: self.field.set(self.model, int(value))
class RelatedReference(zeit.cms.content.reference.Reference): grok.adapts(zeit.content.article.edit.interfaces.IAuthor, gocept.lxml.interfaces.IObjectified) grok.provides(zeit.cms.content.interfaces.IReference) grok.name('related') biography = zeit.cms.content.property.ObjectPathProperty('.biography')
class DocumentsBreadCrumb(icemac.addressbook.browser.breadcrumb.Breadcrumb): """Breadcrumb for the documents.""" grok.adapts( icemac.ab.document.model.RootFolder, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _('Documents')
class CalendarMasterDataBreadCrumb( icemac.addressbook.browser.breadcrumb.MasterdataChildBreadcrumb): """Breadcrumb for calendar master data.""" grok.adapts(MasterData, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _('Calendar')
class RecurringEventsBreadCrumb( icemac.ab.calendar.masterdata.breadcrumb.CalendarMDChildBreadcrumb): """Breadcrumb for recurring events.""" grok.adapts(icemac.ab.calendar.interfaces.IRecurringEvents, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _('Recurring Events')
class RecurringEventsBreadCrumb( icemac.ab.calendar.masterdata.breadcrumb.CalendarMDChildBreadcrumb): """Breadcrumb for event views.""" grok.adapts(icemac.ab.calendar.eventview.interfaces.IEventViewContainer, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _('Event views')
class HeaderArea(zeit.content.article.edit.container.TypeOnTagContainer, grok.MultiAdapter): grok.provides(zeit.content.article.edit.interfaces.IHeaderArea) grok.adapts(zeit.content.article.interfaces.IArticle, gocept.lxml.interfaces.IObjectified) __name__ = HEADER_NAME def insert(self, position, item): self.clear() return super(HeaderArea, self).insert(position, item) def add(self, item): self.clear() return super(HeaderArea, self).add(item) def clear(self): for key in list(self.keys()): self._delete(key) def _get_keys(self, xml_node): result = [] for child in xml_node.iterchildren(): result.append(self._set_default_key(child)) return result def values(self): # We re-implement values() so it works without keys(), since those are # not present in the repository. result = [] for child in self.xml.iterchildren(): element = self._get_element_for_node(child) if element is None: element = self._get_element_for_node( child, zeit.edit.block.UnknownBlock.type) result.append(element) return result @property def module(self): values = self.values() if values: return values[0] # XXX Kludgy emulation of things that should be in the header, but # aren't yet. body = zeit.content.article.edit.interfaces.IEditableBody( self.__parent__) try: block = body[0] except KeyError: return None if ((zeit.content.article.edit.interfaces.IVideo.providedBy(block) and 'header' in (block.layout or '')) or (zeit.content.article.edit.interfaces.IImage.providedBy(block) and block.display_mode != 'float')): return block return None
class PrincipalFolderBreadCrumb( icemac.addressbook.browser.breadcrumb.MasterdataChildBreadcrumb): """Breadcrumb for the principal folder.""" grok.adapts( zope.pluggableauth.plugins.principalfolder.IInternalPrincipalContainer, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _('Users')
class Home3(grok.MultiAdapter): grok.adapts(Cave, Fireplace) grok.implements(IHome, IFireplace) grok.provides(IHome) grok.name('home3') def __init__(self, cave, fireplace): self.cave = cave self.fireplace = fireplace
class AddressbookEditBreadCrumb( icemac.addressbook.browser.breadcrumb.MasterdataChildBreadcrumb): """Breadcrumb for the edit view of the address book.""" grok.adapts(EditForm, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _(u'Edit address book data') target_url = None
class CategoriesBreadCrumb( icemac.ab.calendar.masterdata.breadcrumb.CalendarMDChildBreadcrumb): """Breadcrumb for categories.""" grok.adapts( icemac.ab.calendar.interfaces.ICategories, icemac.addressbook.browser.interfaces.IAddressBookLayer) title = _('Event categories')