Skip to content

Commit

Permalink
Merge pull request #49 from plone/1letter/JSONField
Browse files Browse the repository at this point in the history
Add JSONField Handler for plone.registry.field.JSONField
  • Loading branch information
jensens authored Jul 11, 2021
2 parents eaa707a + 6d2483a commit bd68641
Showing 4 changed files with 438 additions and 456 deletions.
5 changes: 5 additions & 0 deletions news/48.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Add JSONField Handler for plone.registry.field.JSONField
- add component JSONFieldHandler
- add Tests for Import and Export JSONField
- add towncrier message
[1letter]
9 changes: 6 additions & 3 deletions plone/app/registry/exportimport/fields.py
Original file line number Diff line number Diff line change
@@ -7,17 +7,18 @@

class PersistentFieldHandler(BaseHandler):
filteredAttributes = BaseHandler.filteredAttributes.copy()
filteredAttributes.update({'interfaceName': 'rw', 'fieldName': 'rw'})
filteredAttributes.update({"interfaceName": "rw", "fieldName": "rw"})


class PersistentDictHandler(DictHandler):
filteredAttributes = DictHandler.filteredAttributes.copy()
filteredAttributes.update({'interfaceName': 'rw', 'fieldName': 'rw'})
filteredAttributes.update({"interfaceName": "rw", "fieldName": "rw"})


class PersistentChoiceHandler(ChoiceHandler):
filteredAttributes = ChoiceHandler.filteredAttributes.copy()
filteredAttributes.update({'interfaceName': 'rw', 'fieldName': 'rw'})
filteredAttributes.update({"interfaceName": "rw", "fieldName": "rw"})


# Field import/export handlers

@@ -52,3 +53,5 @@ class PersistentChoiceHandler(ChoiceHandler):
DictHandler = PersistentDictHandler(field.Dict)

ChoiceHandler = PersistentChoiceHandler(field.Choice)

JSONFieldHandler = PersistentFieldHandler(field.JSONField)
69 changes: 25 additions & 44 deletions plone/app/registry/exportimport/handlers.zcml
Original file line number Diff line number Diff line change
@@ -5,90 +5,71 @@
<!-- plone.supermodel field handlers -->
<utility
component=".fields.BytesHandler"
name="plone.registry.field.Bytes"
/>
name="plone.registry.field.Bytes" />
<utility
component=".fields.BytesLineHandler"
name="plone.registry.field.BytesLine"
/>
name="plone.registry.field.BytesLine" />
<utility
component=".fields.ASCIIHandler"
name="plone.registry.field.ASCII"
/>
name="plone.registry.field.ASCII" />
<utility
component=".fields.ASCIILineHandler"
name="plone.registry.field.ASCIILine"
/>
name="plone.registry.field.ASCIILine" />
<utility
component=".fields.TextHandler"
name="plone.registry.field.Text"
/>
name="plone.registry.field.Text" />
<utility
component=".fields.TextLineHandler"
name="plone.registry.field.TextLine"
/>
name="plone.registry.field.TextLine" />
<utility
component=".fields.BoolHandler"
name="plone.registry.field.Bool"
/>
name="plone.registry.field.Bool" />
<utility
component=".fields.IntHandler"
name="plone.registry.field.Int"
/>
name="plone.registry.field.Int" />
<utility
component=".fields.FloatHandler"
name="plone.registry.field.Float"
/>
name="plone.registry.field.Float" />
<utility
component=".fields.TupleHandler"
name="plone.registry.field.Tuple"
/>
name="plone.registry.field.Tuple" />
<utility
component=".fields.ListHandler"
name="plone.registry.field.List"
/>
name="plone.registry.field.List" />
<utility
component=".fields.SetHandler"
name="plone.registry.field.Set"
/>
name="plone.registry.field.Set" />
<utility
component=".fields.FrozenSetHandler"
name="plone.registry.field.FrozenSet"
/>
name="plone.registry.field.FrozenSet" />
<utility
component=".fields.PasswordHandler"
name="plone.registry.field.Password"
/>
name="plone.registry.field.Password" />
<utility
component=".fields.DictHandler"
name="plone.registry.field.Dict"
/>
name="plone.registry.field.Dict" />
<utility
component=".fields.DatetimeHandler"
name="plone.registry.field.Datetime"
/>
name="plone.registry.field.Datetime" />
<utility
component=".fields.DateHandler"
name="plone.registry.field.Date"
/>
name="plone.registry.field.Date" />
<utility
component=".fields.SourceTextHandler"
name="plone.registry.field.SourceText"
/>
name="plone.registry.field.SourceText" />
<utility
component=".fields.URIHandler"
name="plone.registry.field.URI"
/>
name="plone.registry.field.URI" />
<utility
component=".fields.IdHandler"
name="plone.registry.field.Id"
/>
name="plone.registry.field.Id" />
<utility
component=".fields.DottedNameHandler"
name="plone.registry.field.DottedName"
/>
name="plone.registry.field.DottedName" />
<utility
component=".fields.ChoiceHandler"
name="plone.registry.field.Choice"
/>
name="plone.registry.field.Choice" />
<utility
component=".fields.JSONFieldHandler"
name="plone.registry.field.JSONField" />
</configure>
Loading

0 comments on commit bd68641

Please sign in to comment.