class IAddSocialButtonConfig(Schema):

    code_id = schema.Choice(title=_(u'ID'),
                            source='hexagonit.socialbutton.code-ids')

    content_types = schema.Set(
        title=_(u'Content Types'),
        default=set(u'*'),
        value_type=schema.Choice(
            source='hexagonit.socialbutton.content-types'))

    viewlet_manager = schema.Text(
        title=_(u'Viewlet Manager'),
        description=_(u'List names of viewlet manager line by line.'),
        default=u'plone.belowcontent')

    view_models = schema.Text(
        title=_(u'View Models'),
        description=_(
            u"List names of view model line by line. For all the views, use '*'"
        ),
        default=u'*')

    view_permission_only = schema.Bool(
        title=_(u'View permission only'),
        description=_(
            u'Display button only for views which has View permission.'),
        default=True)

    enabled = schema.Bool(title=_(u'Enabled'), default=True)
Example #2
0
class Lang(AllContent):
    description = _(u'Language code for the site.')

    def safe_call(self):
        portal_state = getMultiAdapter((self.context, self.context.REQUEST),
                                       name='plone_portal_state')
        return portal_state.language()
 def update(self):
     registry = getUtility(IRegistry)
     items = registry['hexagonit.socialbutton.codes']
     if not items:
         message = _(u"Please add code for social button first.")
         IStatusMessage(self.request).addStatusMessage(message, type='warn')
         return self.template
 def __call__(self, context):
     site = getSite()
     ttool = getToolByName(site, 'portal_types')
     request = aq_get(ttool, 'REQUEST', None)
     items = [(
         translate(ttool[t].Title(), context=request), t) for t in ttool.listContentTypes() if t not in getUtility(IBadTypes)()]
     items.append((_(u'All Types'), u'*'))
     items.sort()
     items = [SimpleTerm(i[1], i[1], i[0]) for i in items]
     return SimpleVocabulary(items)
Example #5
0
class SocialButtonConfigForm(BaseCrudForm):
    """Form for updating social button configuration at ControlPanel."""

    label = _(u'Social Button Configuration')
    update_schema = ISocialButtonConfig
    _record_name = 'hexagonit.socialbutton.config'
    _class = SocialButtonConfig

    @property
    def add_schema(self):
        return IAddSocialButtonConfig
Example #6
0
 def __call__(self, context):
     site = getSite()
     ttool = getToolByName(site, 'portal_types')
     request = aq_get(ttool, 'REQUEST', None)
     items = [(translate(ttool[t].Title(), context=request), t)
              for t in ttool.listContentTypes()
              if t not in getUtility(IBadTypes)()]
     items.append((_(u'All Types'), u'*'))
     items.sort()
     items = [SimpleTerm(i[1], i[1], i[0]) for i in items]
     return SimpleVocabulary(items)
Example #7
0
class SocialButtonCodeForm(BaseCrudForm):
    """Form for updating social button code at ControlPanel."""
    label = _(u'Social Button Code Setting')
    update_schema = ISocialButtonCode
    _record_name = 'hexagonit.socialbutton.codes'
    _class = SocialButtonCode

    @property
    def add_schema(self):
        return IAddSocialButtonCode

    def update(self):
        super(self.__class__, self).update()
        edit_forms = self.subforms[0]
        forms = edit_forms.subforms
        cols = 70
        for form in forms:
            code_text_widget = form.widgets['code_text']
            code_text_widget.cols = cols
        add_form = self.subforms[1]
        add_form.widgets['code_text'].cols = cols
class ISocialButtonConfig(IAddSocialButtonConfig):

    code_id = schema.TextLine(title=_(u'ID'), readonly=True)
class ISocialButtonCode(IAddSocialButtonCode):
    """"""

    code_id = schema.TextLine(title=_(u'ID'), readonly=True)
class IAddSocialButtonCode(Schema):

    code_id = schema.TextLine(title=_(u'ID'))

    code_text = schema.Text(title=_(u'Code'))
Example #11
0
class LangCountry(AllContent):
    description = _(u'Locales such as fi_FI.')

    def safe_call(self):
        lang = getAdapter(self.context, IStringSubstitution, name="lang")()
        return '{0}_{1}'.format(lang, LANGUAGE_COUNTRY[lang])