Esempio n. 1
0
def set_registry():
    registry = getUtility(IRegistry)
    settings_iface = (
        "collective.classification.folder.browser.settings.IClassificationConfig.{0}"
    )

    key = settings_iface.format("folder_number")
    if not registry.get(key):
        registry_field = field.Int(title=u"folder_number")
        registry_record = Record(registry_field)
        registry_record.value = 1
        registry.records[key] = registry_record

    key = settings_iface.format("folder_talexpression")
    if not registry.get(key):
        registry_field = field.TextLine(title=u"folder_talexpression")
        registry_record = Record(registry_field)
        registry_record.value = u"python:'F%04d'%int(number)"
        registry.records[key] = registry_record

    key = settings_iface.format("subfolder_number")
    if not registry.get(key):
        registry_field = field.Int(title=u"subfolder_number")
        registry_record = Record(registry_field)
        registry_record.value = 1
        registry.records[key] = registry_record

    key = settings_iface.format("subfolder_talexpression")
    if not registry.get(key):
        registry_field = field.TextLine(title=u"subfolder_talexpression")
        registry_record = Record(registry_field)
        registry_record.value = u"python:'%s-xx'%(context.internal_reference_no)"
        registry.records[key] = registry_record
Esempio n. 2
0
    def test_import_collection_frozenset_append(self):
        xml = """\
<registry>
    <record name="test.registry.field">
        <value purge="false">
            <element>4</element>
            <element>6</element>
        </value>
    </record>
</registry>
"""

        self.registry.records['test.registry.field'] = Record(
            field.FrozenSet(
                title=u"Simple record",
                value_type=field.Int(title=u"Val")
            ),
            value=frozenset([2, 4])
        )

        context = DummyImportContext(self.site, purge=False)
        context._files = {'registry.xml': xml}

        importRegistry(context)

        self.assertEqual(1, len(self.registry.records))
        self.assertEqual(
            frozenset([2, 4, 6]),
            self.registry['test.registry.field']
        )
Esempio n. 3
0
    def test_export_with_dict(self):

        xml = """\
<registry>
  <record name="test.export.dict">
    <field type="plone.registry.field.Dict">
      <default />
      <key_type type="plone.registry.field.ASCIILine">
        <title>Key</title>
      </key_type>
      <title>Dict</title>
      <value_type type="plone.registry.field.Int">
        <title>Value</title>
      </value_type>
    </field>
    <value>
      <element key="a">1</element>
    </value>
  </record>
</registry>"""

        self.registry.records['test.export.dict'] = \
            Record(field.Dict(title=u"Dict", default={},
                              key_type=field.ASCIILine(title=u"Key"),
                              value_type=field.Int(title=u"Value")),
                   value={'a': 1})

        context = DummyExportContext(self.site)
        exportRegistry(context)

        self.assertEqual('registry.xml', context._wrote[0][0])
        self.assertXmlEquals(xml, context._wrote[0][1])
Esempio n. 4
0
    def test_export_with_collection(self):

        xml = """\
<registry>
  <record name="test.export.simple">
    <field type="plone.registry.field.List">
      <title>Simple record</title>
      <value_type type="plone.registry.field.Int">
        <title>Val</title>
      </value_type>
    </field>
    <value>
      <element>2</element>
    </value>
  </record>
</registry>"""
        self.registry.records['test.export.simple'] = Record(
            field.List(
                title=u"Simple record",
                value_type=field.Int(title=u"Val")
            ),
            value=[2]
        )

        context = DummyExportContext(self.site)
        exportRegistry(context)

        self.assertEqual('registry.xml', context._wrote[0][0])
        self.assertXmlEquals(xml, context._wrote[0][1])
Esempio n. 5
0
    def test_import_collection_nopurge(self):
        xml = """\
<registry>
    <record name="test.registry.field">
        <value purge="false">
            <element>4</element>
            <element>6</element>
        </value>
    </record>
</registry>
"""

        self.registry.records['test.registry.field'] = Record(field.Set(
            title=u"Simple record", value_type=field.Int(title=u"Val")),
                                                              value=set([1]))

        context = DummyImportContext(self.site, purge=False)
        context._files = {'registry.xml': xml}

        importRegistry(context)

        self.assertEquals(1, len(self.registry.records))
        self.failUnless(
            isinstance(self.registry.records['test.registry.field'].field,
                       field.Set))
        self.assertEquals(
            u"Simple record",
            self.registry.records['test.registry.field'].field.title)
        self.assertEquals(frozenset([1, 4, 6]),
                          self.registry['test.registry.field'])
Esempio n. 6
0
    def test_import_dict_nopurge(self):
        xml = """\
<registry>
    <record name="test.registry.field">
        <value purge="false">
            <element key="x">4</element>
            <element key="y">6</element>
        </value>
    </record>
</registry>
"""

        self.registry.records['test.registry.field'] = \
            Record(field.Dict(title=u"Simple record",
                              key_type=field.ASCIILine(title=u"Key"),
                              value_type=field.Int(title=u"Val")),
                   value={'a': 1})

        context = DummyImportContext(self.site, purge=False)
        context._files = {'registry.xml': xml}

        importRegistry(context)

        self.assertEquals(1, len(self.registry.records))
        self.failUnless(
            isinstance(self.registry.records['test.registry.field'].field,
                       field.Dict))
        self.assertEquals(
            u"Simple record",
            self.registry.records['test.registry.field'].field.title)
        self.assertEquals({
            'a': 1,
            'x': 4,
            'y': 6
        }, self.registry['test.registry.field'])
 def set_buttons_babel_view_up_to_nr_translations(self, value):
     # Backwards-compatibility for installations of PAM before this
     # field was added.
     # If no entry is present in the registry, initialize it with a
     # dummy value
     name = "%s.buttons_babel_view_up_to_nr_translations" % \
         IMultiLanguageExtraOptionsSchema.__identifier__
     if name not in self.registry.records:
         int_field = registry_field.Int()
         self.registry.records[name] = Record(int_field)
     self.settings.buttons_babel_view_up_to_nr_translations = value
Esempio n. 8
0
 def next_certificate_number(self):
     """Get a new certificate id.  These are throwaway IDs, until the
     publication is actually done.  So each preview gives us a new ID.
     """
     key = 'bika.lims.current_coa_number'
     registry = getUtility(IRegistry)
     if key not in registry:
         registry.records[key] = \
             Record(field.Int(title=u"Current COA number"), 0)
     val = api.portal.get_registry_record(key) + 1
     api.portal.set_registry_record(key, val)
     return "%05d"%int(val)
Esempio n. 9
0
def upgrade(context, logger=None):
    setup = getToolByName(context, 'portal_setup')
    setup.runAllImportStepsFromProfile(PROFILE_ID)
    try:
        auth_step_timeout = api.portal.get_registry_record(
            name='plone.auth_step_timeout', default=None)
    except api.exc.InvalidParameterError:
        auth_step_timeout = None

    if not auth_step_timeout:
        registry = getUtility(IRegistry)
        auth_timeout_field = field.Int(
            title=u"(Seconds) This amount of inactivity \
                                                will reset the login process",
            description=u"Between each step, the allowed \
                                                     time is reset to this amount",
            default=120)
        auth_timeout_record = Record(auth_timeout_field)
        registry._records['plone.auth_step_timeout'] = auth_timeout_record

    try:
        disclaimer = api.portal.get_registry_record(
            name='castle.show_disclaimer', default=None)
    except api.exc.InvalidParameterError:
        disclaimer = None

    if not disclaimer:
        registry = getUtility(IRegistry)
        show_disclaimer_field = field.Bool(
            title=u'Show disclaimer for first time a user visits a site. '
            u'To comply with ePrivacy Directive, use this feature to notify about cookie use.',
            default=False,
            required=False)
        site_disclaimer_field = field.Text(
            title=u"Disclaimer",
            default=u'<p><strong>Disclaimer</strong> '
            u'<em>You are seeing this because this is your first time visiting the site.</em></p>',
            required=False)
        show_disclaimer_record = Record(show_disclaimer_field)
        site_disclaimer_record = Record(site_disclaimer_field)
        registry._records['castle.show_disclaimer'] = show_disclaimer_record
        registry._records['castle.site_disclaimer'] = site_disclaimer_record
    transaction.commit()

    update_password_expiry(api.portal.get())

    for id in context.objectIds():
        context[id].reindexObject(idxs=['has_private_parents'])
Esempio n. 10
0
def addSliderTimerToRegistry():
    registry = getUtility(IRegistry)
    records = registry.records
    if 'cpskin.core.interfaces.ICPSkinSettings.slider_timer' in records:
        return

    logger.info(
        'Adding cpskin.core.interfaces.ICPSkinSettings.slider_timer to registry'
    )  # noqa
    record = Record(field.Int(
        title=_(u'Slider timer'),
        description=_(u'Number of seconds between each transition.'),
        required=False,
        default=5000),
                    value=5000)
    records['cpskin.core.interfaces.ICPSkinSettings.slider_timer'] = record
Esempio n. 11
0
def addMediaViewletAlbumsToRegistry(value):
    registry = getUtility(IRegistry)
    records = registry.records

    if 'cpskin.core.interfaces.ICPSkinSettings.media_viewlet_visible_albums' in records:
        return

    logger.info(
        'Adding cpskin.core.interfaces.ICPSkinSettings.media_viewlet_visible_albums to registry'
    )  # noqa
    record = Record(
        field.Int(
            title=_(u'Viewlet media : Visible albums'),
            description=_(
                u'Number of visible albums on media viewlet.'),  # noqa
            required=False,
            default=1),
        value=value)
    records[
        'cpskin.core.interfaces.ICPSkinSettings.media_viewlet_visible_albums'] = record  # noqa
Esempio n. 12
0
def upgrade(context, logger=None):
    setup = getToolByName(context, 'portal_setup')
    setup.runAllImportStepsFromProfile(PROFILE_ID)
    registry = getUtility(IRegistry)
    try:
        auth_step_timeout = api.portal.get_registry_record(name='plone.auth_step_timeout', default=None)
    except api.exc.InvalidParameterError:
        auth_step_timeout = None

    if not auth_step_timeout:
        auth_timeout_field = field.Int(title=u"(Seconds) This amount of inactivity \
                                                will reset the login process",
                                       description=u"Between each step, the allowed \
                                                     time is reset to this amount",
                                       default=120)
        auth_timeout_record = Record(auth_timeout_field)
        registry._records['plone.auth_step_timeout'] = auth_timeout_record

    try:
        disclaimer = api.portal.get_registry_record(name='castle.show_disclaimer', default=None)
    except api.exc.InvalidParameterError:
        disclaimer = None

    if not disclaimer:
        show_disclaimer_field = field.Bool(
            title=u'Show disclaimer for first time a user visits a site. '
                  u'To comply with ePrivacy Directive, use this feature to notify about cookie use.',
            default=False,
            required=False)
        site_disclaimer_field = field.Text(
            title=u"Disclaimer",
            default=u'<p><strong>Disclaimer</strong> '
                    u'<em>You are seeing this because this is your first time visiting the site.</em></p>',
            required=False)
        show_disclaimer_record = Record(show_disclaimer_field)
        site_disclaimer_record = Record(site_disclaimer_field)
        registry._records['castle.show_disclaimer'] = show_disclaimer_record
        registry._records['castle.site_disclaimer'] = site_disclaimer_record

    update_password_expiry(api.portal.get())

    for id in context.objectIds():
        context[id].reindexObject(idxs=['has_private_parents'])

    try:
        scrub_site_identity = api.portal.get_registry_record(name='plone.scrub_title_logo_to_backend_login',
                                                             default=None)
    except api.exc.InvalidParameterError:
        scrub_site_identity = None

    if not scrub_site_identity:
        scrub_identity_field = field.Bool(
            title=u'Do not show identifying customizations (logo/text) at backend login view',
            description=u'If set, backend visitors will see a generic login view.',
            default=False,
            required=False)
        scrub_identity_record = Record(scrub_identity_field)
        registry._records['plone.scrub_title_logo_to_backend_login'] = scrub_identity_record

    try:
        login_footer_message = api.portal.get_registry_record(name='plone.scrub_title_logo_to_backend_login',
                                                              default=None)
    except api.exc.InvalidParameterError:
        login_footer_message = None

    if not login_footer_message:
        login_footer_message_field = field.TextLine(
            title=u'Login Footer Message',
            description=u'Display a message or warning below the secure login form',
            required=False)
        login_footer_message_record = Record(login_footer_message_field)
        registry._records['plone.login_footer_message'] = login_footer_message_record