## ## Do some request handling setup. ## #set ($companyId = $getterUtil.getLong($request.theme-display.company-id)) #set ($locale = $localeUtil.fromLanguageId($request.locale)) #set ($dateFormatDateTime = $dateFormats.getDateTime($locale)) #set ($renderUrl = $request.render-url) #set ($pns = $request.portlet-namespace) #set ($cmd = $getterUtil.getString($request.parameters.cmd)) #set ($cur = $getterUtil.getInteger($request.parameters.cur, 1)) #set ($delta = $getterUtil.getInteger($request.parameters.delta, 5)) #set ($end = $cur * $delta) #set ($start = $end - $delta)

First Expando Bank

## ## Define the "name" for our ExpandoTable. ## #set ($accountsTableName = "AccountsTable") ## ## Get/Create the ExpandoTable to hold our data. ## #set ($accountsTable = $expandoTableLocalService.getTable($companyId, $accountsTableName, $accountsTableName)) #set ($accountsTableId = $accountsTable.getTableId()) #if (!$accountsTable) #set ($accountsTable = $expandoTableLocalService.addTable($companyId, $accountsTableName, $accountsTableName)) #set ($accountsTableId = $accountsTable.getTableId()) #set ($VOID = $expandoColumnLocalService.addColumn($accountsTableId, "firstName", 15)) ## STRING #set ($VOID = $expandoColumnLocalService.addColumn($accountsTableId, "lastName", 15)) ## STRING #set ($VOID = $expandoColumnLocalService.addColumn($accountsTableId, "balance", 5)) ## DOUBLE #set ($VOID = $expandoColumnLocalService.addColumn($accountsTableId, "modifiedDate", 3)) ## DATE #end #set ($accountsTableClassNameId = $accountsTable.getClassNameId()) #set ($columns = $expandoColumnLocalService.getColumns($accountsTableId)) ## ## Check to see if a classPK was passed in the request. ## #set ($classPK = $getterUtil.getLong($request.parameters.classPK)) ## ## Check if we have received a form submission? ## #if ($cmd.equals('add') || $cmd.equals('update')) ## ## Let's get the form values from the request. ## #set ($firstName = $getterUtil.getString($request.parameters.firstName, '')) #set ($lastName = $getterUtil.getString($request.parameters.lastName, '')) #set ($balance = $getterUtil.getDouble($request.parameters.balance, 0.0)) #set ($date = $dateTool.getDate()) ## ## Validate the params to see if we should proceed. ## #if ($balance < 50) Please fill the form completely in order to create an account. The minimum amount of cash required to create an account is $50. #elseif (!$firstName.equals('') && !$lastName.equals('')) ## ## Check to see if it's a new Account. ## #if ($classPK <= 0) #set ($classPK = $dateTool.getDate().getTime()) #end #set ($VOID = $expandoValueLocalService.addValues($accountsTableClassNameId, $accountsTableId, $columns, $classPK, {'firstName':$firstName, 'lastName':$lastName, 'balance':"$balance", 'modifiedDate':"${date.getTime()}"})) ## ## Show a response. ## #if ($cmd.equals('update')) Thank you, ${firstName}, for updating your account with our bank! #else Thank you, ${firstName}, for creating an account with our bank! #end #else Please fill the form completely in order to create an account. Make sure to till both first and last name fields. #end #elseif ($cmd.equals('delete')) ## ## Delete the specified Row. ## #if ($classPK > 0) #set ($VOID = $expandoRowLocalService.deleteRow($accountsTableId, $classPK)) Account deleted! #set ($classPK = 0) #end #elseif ($cmd.equals('edit')) ## ## Edit the specified Row. ## Editting... #end #if (!$cmd.equals('edit')) ## ## Now we're into the display logic. ##

## ## Get all the current records in our ExpandoTable. We can paginate by passing a ## "begin" and "end" params. ## #set ($total = $expandoRowLocalService.getRowsCount($accountsTableId)) #set ($rows = $expandoRowLocalService.getRows($accountsTableId, $start, $end)) #foreach($row in $rows) #set ($cssClass = 'results-row') #if ($velocityCount % 2 == 0) #set ($cssClass = "${cssClass} alt") #end #if ($velocityCount == 1) #set ($cssClass = "${cssClass} first") #elseif ($velocityCount == $rows.size()) #set ($cssClass = "${cssClass} last") #end ## ## Get the classPK of this row. ## #set ($currentClassPK = $row.getClassPK()) #set ($rowValues = $expandoValueLocalService.getRowValues($row.getRowId())) #set ($values = {}) #foreach ($value in $rowValues) #foreach ($column in $columns) #if ($value.columnId == $column.columnId) #set ($VOID = $values.put($column.name, $value)) #end #end #end #set ($currentFirstName = $values.firstName.string) #set ($currentLastName = $values.lastName.string) #set ($currentBalance = $values.balance.double) #set ($currentModifiedDate = $values.modifiedDate.date) #end #if ($total <= 0) #end
Account Number First Name Last Name Balance Modified Date
${currentClassPK} ${currentFirstName} ${currentLastName} ${numberTool.currency($currentBalance)} ${dateFormatDateTime.format($currentModifiedDate)} Edit | Delete
No Accounts were found.

#if ($total > $delta)
#set ($previous = $cur - 1) #set ($next = $cur + 1) #if ($previous > 0) #else ‹‹ #language('previous') #end #set ($pagesIteratorBegin = 1) #set ($pagesIteratorEnd = $total / $delta) #if (($total % $delta) > 0) #set ($pagesIteratorEnd = $pagesIteratorEnd + 1) #end #foreach ($index in [$pagesIteratorBegin..$pagesIteratorEnd]) #if ($index == $cur) #set ($pageNumber = "${index}") #else #set ($pageNumber = $index) #end #end #if ($next > $cur && $next <= $pagesIteratorEnd) #else #language('next') ›› #end
#end # of Accounts: ${total} #else ## ## Here we have our input form. ## #if ($classPK > 0) ## ## Get the account specific values ## #set ($rowValues = $expandoValueLocalService.getRowValues($companyId, $accountsTableName, $accountsTableName, $classPK, -1, -1)) #set ($values = {}) #foreach ($value in $rowValues) #foreach ($column in $columns) #if ($value.columnId == $column.columnId) #set ($VOID = $values.put($column.name, $value)) #end #end #end #set ($currentFirstName = $values.firstName.string) #set ($currentLastName = $values.lastName.string) #set ($currentBalance = $values.balance.double) #end
0) value="update" #else value="add" #end/>
First Name:
Last Name:
Balance:

#end