Skip to content

Instantly share code, notes, and snippets.

@fulv
Created February 20, 2013 00:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fulv/4991688 to your computer and use it in GitHub Desktop.
Save fulv/4991688 to your computer and use it in GitHub Desktop.
Sample Plomino db design to reproduce an issue with date fields in a datagrid (https://github.com/plomino/Plomino/issues/251). There are two forms: frmVendor and frmHistory. The main form is frmVendor, which has a single field: fldHistory. This field is a datagrid, and uses frmHistory as its associated form. The frmVendor onSave event creates a …
<plominodatabase id="testdb">
<design>
<dbsettings version="1.16">
<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">True</debugMode>
<StorageAttachments type="Products.Archetypes.Field.BooleanField">False</StorageAttachments>
<CountDocuments type="Products.Archetypes.Field.BooleanField">True</CountDocuments>
<DateTimeFormat type="Products.Archetypes.Field.StringField">%Y-%m-%d</DateTimeFormat>
<StartPage type="Products.Archetypes.Field.StringField">frmSwitchboard</StartPage>
<DoNotListUsers type="Products.Archetypes.Field.BooleanField">False</DoNotListUsers>
<DoNotReindex type="Products.Archetypes.Field.BooleanField">False</DoNotReindex>
<excludeFromNav type="Products.Archetypes.Field.BooleanField">False</excludeFromNav>
<acl AnomynousAccessRight="NoAccess" AuthenticatedAccessRight="PlominoAuthor">
<params id="UserRoles">
<param>
<value><struct>
<member>
<name>[Farmers]</name>
<value><struct>
<member>
<name>Farmers</name>
<value><int>1</int></value>
</member>
</struct></value>
</member>
<member>
<name>[Vendors]</name>
<value><struct>
<member>
<name>Vendors</name>
<value><int>1</int></value>
</member>
</struct></value>
</member>
<member>
<name>[Processors]</name>
<value><struct>
<member>
<name>Processors</name>
<value><int>1</int></value>
</member>
</struct></value>
</member>
<member>
<name>[Market Managers]</name>
<value><struct>
<member>
<name>Administrators</name>
<value><int>1</int></value>
</member>
<member>
<name>Site Administrators</name>
<value><int>1</int></value>
</member>
<member>
<name>Market_Managers</name>
<value><int>1</int></value>
</member>
</struct></value>
</member>
</struct></value>
</param>
</params>
<params id="SpecificRights">
<param>
<value><struct>
<member>
<name>specific_deletedocument</name>
<value><string>PlominoEditor</string></value>
</member>
</struct></value>
</param>
</params>
</acl>
</dbsettings>
<element id="frmHistory" title="History of Changes" type="PlominoForm">
<id type="Products.Archetypes.Field.StringField">frmHistory</id>
<onCreateDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onCreateDocument>
<onOpenDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onOpenDocument>
<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">fldDate</span> <span class="plominoFieldClass">fldUser</span> <span class="plominoFieldClass">fldType</span> <span class="plominoFieldClass">fldDescription</span></p>]]></FormLayout>
<DocumentTitle type="Products.Archetypes.Field.TextField"><![CDATA[]]></DocumentTitle>
<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"/>
<excludeFromNav type="Products.Archetypes.Field.BooleanField">False</excludeFromNav>
<elements>
<element id="fldDate" title="fldDate" type="PlominoField">
<id type="Products.Archetypes.Field.StringField">fldDate</id>
<FieldType type="Products.Archetypes.Field.StringField">DATETIME</FieldType>
<FieldMode type="Products.Archetypes.Field.StringField">CREATION</FieldMode>
<Formula type="Products.Archetypes.Field.TextField"><![CDATA[Now()]]></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>
</element>
<element id="fldUser" title="fldUser" type="PlominoField">
<id type="Products.Archetypes.Field.StringField">fldUser</id>
<FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType>
<FieldMode type="Products.Archetypes.Field.StringField">CREATION</FieldMode>
<Formula type="Products.Archetypes.Field.TextField"><![CDATA[context.getParentDatabase().getCurrentUser().getMemberId()]]></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>
</element>
<element id="fldType" title="fldType" type="PlominoField">
<id type="Products.Archetypes.Field.StringField">fldType</id>
<FieldType type="Products.Archetypes.Field.StringField">TEXT</FieldType>
<FieldMode type="Products.Archetypes.Field.StringField">EDITABLE</FieldMode>
<Formula type="Products.Archetypes.Field.TextField"><![CDATA["New"]]></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>
</element>
<element id="fldDescription" title="fldDescription" type="PlominoField">
<id type="Products.Archetypes.Field.StringField">fldDescription</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>
</element>
</elements>
</element>
<element id="frmVendor" title="Vendor" type="PlominoForm">
<id type="Products.Archetypes.Field.StringField">frmVendor</id>
<onCreateDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onCreateDocument>
<onOpenDocument type="Products.Archetypes.Field.TextField"><![CDATA[]]></onOpenDocument>
<onSaveDocument type="Products.Archetypes.Field.TextField"><![CDATA[user = context.getParentDatabase().getCurrentUser().getMemberId()
history_entry = [str(Now()), user, 'Submitted', 'something']
history = context.getItem('fldHistory')
if history:
history.append(history_entry)
else:
history = [history_entry,]
context.setItem('fldHistory', history)
]]></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">fldHistory</span></p>]]></FormLayout>
<DocumentTitle type="Products.Archetypes.Field.TextField"><![CDATA[]]></DocumentTitle>
<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"/>
<excludeFromNav type="Products.Archetypes.Field.BooleanField">False</excludeFromNav>
<elements>
<element id="fldHistory" title="fldHistory" type="PlominoField">
<id type="Products.Archetypes.Field.StringField">fldHistory</id>
<FieldType type="Products.Archetypes.Field.StringField">DATAGRID</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>
<params>
<param>
<value><struct>
<member>
<name>widget</name>
<value><string>READ_STATIC</string></value>
</member>
<member>
<name>associated_form</name>
<value><string>frmHistory</string></value>
</member>
<member>
<name>field_mapping</name>
<value><string>fldDate,fldUser,fldType,fldDescription</string></value>
</member>
<member>
<name>jssettings</name>
<value><string>"aoColumns": [
{ "sTitle": "Date" },
{ "sTitle": "User" },
{ "sTitle": "Type", "sClass": "center" },
{ "sTitle": "Description" }
],
"bPaginate": false,
"bLengthChange": false,
"bFilter": false,
"bSort": false,
"bInfo": false,
"bAutoWidth": false
</string></value>
</member>
</struct></value>
</param>
</params>
</element>
</elements>
</element>
</design>
</plominodatabase>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment