Created
November 1, 2013 02:23
-
-
Save fulv/7260167 to your computer and use it in GitHub Desktop.
Simple Plomino DB design to reproduce issue in Products.CMFPlomino 1.18.2: * Create a document with form1
* Then Open form2 The design consists of only two forms, with two fields each. Form2 was created as a copy of Form1, and then a formula was added in the beforeCreateDocument hook. The first field in both forms has a default value, the second…
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<plominodatabase id="testdb"> | |
<design> | |
<dbsettings version="1.18"> | |
<AboutDescription type="Products.Archetypes.Field.TextField"><![CDATA[]]></AboutDescription> | |
<UsingDescription type="Products.Archetypes.Field.TextField"><![CDATA[]]></UsingDescription> | |
<IndexAttachments type="Products.Archetypes.Field.BooleanField">False</IndexAttachments> | |
<FulltextIndex type="Products.Archetypes.Field.BooleanField">True</FulltextIndex> | |
<IndexInPortal type="Products.Archetypes.Field.BooleanField">False</IndexInPortal> | |
<debugMode type="Products.Archetypes.Field.BooleanField">False</debugMode> | |
<CountDocuments type="Products.Archetypes.Field.BooleanField">False</CountDocuments> | |
<DateTimeFormat type="Products.Archetypes.Field.StringField">%Y-%m-%d</DateTimeFormat> | |
<StartPage type="Products.Archetypes.Field.StringField"/> | |
<i18n type="Products.Archetypes.Field.StringField"/> | |
<DoNotListUsers type="Products.Archetypes.Field.BooleanField">False</DoNotListUsers> | |
<DoNotReindex type="Products.Archetypes.Field.BooleanField">False</DoNotReindex> | |
<IsDatabaseTemplate type="Products.Archetypes.Field.BooleanField">False</IsDatabaseTemplate> | |
<excludeFromNav type="Products.Archetypes.Field.BooleanField">False</excludeFromNav> | |
<acl AnomynousAccessRight="NoAccess" AuthenticatedAccessRight="NoAccess"> | |
<params id="UserRoles"> | |
<param> | |
<value><struct> | |
</struct></value> | |
</param> | |
</params> | |
<params id="SpecificRights"> | |
<param> | |
<value><struct> | |
<member> | |
<name>specific_deletedocument</name> | |
<value><string>PlominoAuthor</string></value> | |
</member> | |
</struct></value> | |
</param> | |
</params> | |
</acl> | |
</dbsettings> | |
<element id="form1" title="Form 1" type="PlominoForm"> | |
<id type="Products.Archetypes.Field.StringField">form1</id> | |
<onCreateDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onCreateDocument> | |
<onOpenDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onOpenDocument> | |
<beforeSaveDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></beforeSaveDocument> | |
<onSaveDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onSaveDocument> | |
<onDeleteDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onDeleteDocument> | |
<onSearch type="Products.Archetypes.Field.TextField"><![CDATA[]]></onSearch> | |
<beforeCreateDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></beforeCreateDocument> | |
<FormLayout type="Products.Archetypes.Field.TextField"><![CDATA[ | |
<p><span class="plominoFieldClass">fldWithFormula</span></p> | |
<p><span class="plominoFieldClass">fldWithoutFormula</span></p> | |
]]></FormLayout> | |
<FormMethod type="Products.Archetypes.Field.TextField"><![CDATA[Auto]]></FormMethod> | |
<DocumentTitle type="Products.Archetypes.Field.TextField"><![CDATA[]]></DocumentTitle> | |
<DynamicDocumentTitle type="Products.Archetypes.Field.BooleanField">False</DynamicDocumentTitle> | |
<StoreDynamicDocumentTitle type="Products.Archetypes.Field.BooleanField">False</StoreDynamicDocumentTitle> | |
<DocumentId type="Products.Archetypes.Field.TextField"><![CDATA[]]></DocumentId> | |
<ActionBarPosition type="Products.Archetypes.Field.StringField">TOP</ActionBarPosition> | |
<HideDefaultActions type="Products.Archetypes.Field.BooleanField">False</HideDefaultActions> | |
<HideInMenu type="Products.Archetypes.Field.BooleanField">False</HideInMenu> | |
<isSearchForm type="Products.Archetypes.Field.BooleanField">False</isSearchForm> | |
<isPage type="Products.Archetypes.Field.BooleanField">False</isPage> | |
<SearchView type="Products.Archetypes.Field.StringField"/> | |
<SearchFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></SearchFormula> | |
<Position type="Products.Archetypes.Field.IntegerField"/> | |
<ResourcesJS type="Products.Archetypes.Field.TextField"><![CDATA[]]></ResourcesJS> | |
<ResourcesCSS type="Products.Archetypes.Field.TextField"><![CDATA[]]></ResourcesCSS> | |
<excludeFromNav type="Products.Archetypes.Field.BooleanField">False</excludeFromNav> | |
<elements> | |
<element id="fldWithFormula" title="fldWithFormula" type="PlominoField"> | |
<id type="Products.Archetypes.Field.StringField">fldWithFormula</id> | |
<FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType> | |
<FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode> | |
<Formula type="Products.Archetypes.Field.TextField"><![CDATA[return 'default value']]></Formula> | |
<FieldReadTemplate type="Products.Archetypes.Field.StringField"/> | |
<FieldEditTemplate type="Products.Archetypes.Field.StringField"/> | |
<Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory> | |
<ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula> | |
<ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed> | |
<IndexType type="Products.Archetypes.Field.StringField">DEFAULT</IndexType> | |
<HTMLAttributesFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></HTMLAttributesFormula> | |
</element> | |
<element id="fldWithoutFormula" title="fldWithoutFormula" type="PlominoField"> | |
<id type="Products.Archetypes.Field.StringField">fldWithoutFormula</id> | |
<FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType> | |
<FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode> | |
<Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula> | |
<FieldReadTemplate type="Products.Archetypes.Field.StringField"/> | |
<FieldEditTemplate type="Products.Archetypes.Field.StringField"/> | |
<Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory> | |
<ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula> | |
<ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed> | |
<IndexType type="Products.Archetypes.Field.StringField">DEFAULT</IndexType> | |
<HTMLAttributesFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></HTMLAttributesFormula> | |
</element> | |
</elements> | |
</element> | |
<element id="form2" title="Form 2" type="PlominoForm"> | |
<id type="Products.Archetypes.Field.StringField">form2</id> | |
<onCreateDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onCreateDocument> | |
<onOpenDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onOpenDocument> | |
<beforeSaveDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></beforeSaveDocument> | |
<onSaveDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onSaveDocument> | |
<onDeleteDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onDeleteDocument> | |
<onSearch type="Products.Archetypes.Field.TextField"><![CDATA[]]></onSearch> | |
<beforeCreateDocument type="Products.Archetypes.Field.TextField"><![CDATA[db = context.getParentDatabase() | |
search = db.getIndex().dbsearch({}) | |
olddoc = search[0].getObject() | |
fields = context.getFormFields() | |
fieldsdict = {f.id:f for f in fields} | |
for id in fieldsdict: | |
value = olddoc.getItem(id) | |
Log("id: %s, value: %s" % (id, value)) | |
context.REQUEST.set(id, value) | |
return None]]></beforeCreateDocument> | |
<FormLayout type="Products.Archetypes.Field.TextField"><![CDATA[ | |
<p><span class="plominoFieldClass">fldWithFormula</span></p> | |
<p><span class="plominoFieldClass">fldWithoutFormula</span></p> | |
]]></FormLayout> | |
<FormMethod type="Products.Archetypes.Field.TextField"><![CDATA[Auto]]></FormMethod> | |
<DocumentTitle type="Products.Archetypes.Field.TextField"><![CDATA[]]></DocumentTitle> | |
<DynamicDocumentTitle type="Products.Archetypes.Field.BooleanField">False</DynamicDocumentTitle> | |
<StoreDynamicDocumentTitle type="Products.Archetypes.Field.BooleanField">False</StoreDynamicDocumentTitle> | |
<DocumentId type="Products.Archetypes.Field.TextField"><![CDATA[]]></DocumentId> | |
<ActionBarPosition type="Products.Archetypes.Field.StringField">TOP</ActionBarPosition> | |
<HideDefaultActions type="Products.Archetypes.Field.BooleanField">False</HideDefaultActions> | |
<HideInMenu type="Products.Archetypes.Field.BooleanField">False</HideInMenu> | |
<isSearchForm type="Products.Archetypes.Field.BooleanField">False</isSearchForm> | |
<isPage type="Products.Archetypes.Field.BooleanField">False</isPage> | |
<SearchView type="Products.Archetypes.Field.StringField"/> | |
<SearchFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></SearchFormula> | |
<Position type="Products.Archetypes.Field.IntegerField"/> | |
<ResourcesJS type="Products.Archetypes.Field.TextField"><![CDATA[]]></ResourcesJS> | |
<ResourcesCSS type="Products.Archetypes.Field.TextField"><![CDATA[]]></ResourcesCSS> | |
<excludeFromNav type="Products.Archetypes.Field.BooleanField">False</excludeFromNav> | |
<elements> | |
<element id="fldWithFormula" title="fldWithFormula" type="PlominoField"> | |
<id type="Products.Archetypes.Field.StringField">fldWithFormula</id> | |
<FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType> | |
<FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode> | |
<Formula type="Products.Archetypes.Field.TextField"><![CDATA[return 'default value']]></Formula> | |
<FieldReadTemplate type="Products.Archetypes.Field.StringField"/> | |
<FieldEditTemplate type="Products.Archetypes.Field.StringField"/> | |
<Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory> | |
<ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula> | |
<ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed> | |
<IndexType type="Products.Archetypes.Field.StringField">DEFAULT</IndexType> | |
<HTMLAttributesFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></HTMLAttributesFormula> | |
</element> | |
<element id="fldWithoutFormula" title="fldWithoutFormula" type="PlominoField"> | |
<id type="Products.Archetypes.Field.StringField">fldWithoutFormula</id> | |
<FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType> | |
<FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode> | |
<Formula type="Products.Archetypes.Field.TextField"><![CDATA[]]></Formula> | |
<FieldReadTemplate type="Products.Archetypes.Field.StringField"/> | |
<FieldEditTemplate type="Products.Archetypes.Field.StringField"/> | |
<Mandatory type="Products.Archetypes.Field.BooleanField">False</Mandatory> | |
<ValidationFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></ValidationFormula> | |
<ToBeIndexed type="Products.Archetypes.Field.BooleanField">False</ToBeIndexed> | |
<IndexType type="Products.Archetypes.Field.StringField">DEFAULT</IndexType> | |
<HTMLAttributesFormula type="Products.Archetypes.Field.TextField"><![CDATA[]]></HTMLAttributesFormula> | |
</element> | |
</elements> | |
</element> | |
</design> | |
</plominodatabase> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment