AssetSheet
Backend
1. NetAssetSheet
// fields ending with "*" suffix are required
ensure spreadsheet: NetAssetSheet
withFields: ["CurrentUser*", "NetAsset*"]
ofTypes: [userId, logDecimal]
modules: ["QuickBooks"]
readRoleSet: [Member]
insertRoleSet: [Member]
updateRoleSet: [Member]
removeRoleSet: [Member]
clearRoleSet: [Member]
ensure spreadsheet NetAssetSheet
searchables: [CurrentUser]
queryables: [CurrentUser]
uniques: [CurrentUser]
ensure layoutSpreadsheet ListLayout kind: list
firstLine.first.lineFields: [CurrentUser]
firstLine.middle.lineFields: [NetAsset]
ensure form EntityNetAs
ctx rename EntityNetAsset
ensure form EntityNetAsset
modules: ["QuickBooks"]
ensure section: Details
ensure field CurrentUser
permissionMatrix: {
'defaultPermission': 'writeOnInsert'
}
required: true
defaultValue: createdBy
ensure field NetAsset
permissionMatrix: {
'defaultPermission': 'writeOnce'
}
required: true
logReadRoleSet: [Member]
Frontend
1. Actions
a. SetAsset
Implement an SetAsset action to add a net asset to the NetAssetSheet spreadsheet.
ensure action SetAsset kind: rowInsert
modules: ["QuickBooks"]
icon: "AddCardRounded"
spreadsheet: NetAssetSheet
sendMessageToInbox: true
b. Assets
Implement an Assets action to view existing assets in the NetAssetSheet spreadsheet.
ensure action Assets kind: spreadsheetEditor
modules: ["QuickBooks"]
icon: "ListRounded"
spreadsheet: NetAssetSheet
layoutSpreadsheet: ListLayout
2. Group actions
Group these actions under a section named QuickBooks for easy access.
ensure group QuickBooks
actionPermission: {
'SetAsset': {
'menuGroup': '1',
'roles': [
'Member'
]
},
'Assets': {
'menuGroup': '1',
'roles': [
'Member'
]
}
}