@if (isProductReview) {
{{ isEdit ? 'edit_note' : 'savings' }}
{{
isEdit ? 'Edit request' : 'New product'
}}
{{ entry.status }}
{{ valueOf('accountTypeDescription') || entry.details || 'DDS Product' }}
{{ valueOf('accountTypeCode') || '—' }}
@if (valueOf('accountTypeGroup')) {
{{ valueOf('accountTypeGroup') }} group
}
person
{{ entry.makerName || entry.maker }}
{{ entry.maker }}
schedule
{{ formatDateTime(entry.madeOn) }}
Submitted
@if (entry.status !== 'PENDING' && entry.checker) {
verified_user
{{ entry.checkerName || entry.checker }}
{{ entry.status === 'APPROVED' ? 'Approved by' : 'Rejected by' }}
}
percent Interest Rate
{{ valueOf('interestRate') || '—' }}
p.a., worked out daily
event_repeat Interest Posting
{{ valueOf('autoInterestPost') === 'No' ? 'Manual' : valueOf('autoInterestPostWhen') || 'Monthly' }}
{{ valueOf('autoInterestPost') === 'No' ? 'Posted from the batch screen' : 'Automatic, at period end' }}
lock_clock Lock-in
{{ valueOf('prematureLockinMonths') || '—' }}
before early closure
event_available Maturity
{{
valueOf('maturityAutoClose') === 'Yes' ? 'Auto close' : 'Manual payout'
}}
on the maturity date
@if (compareFields) {
{{ changedCount ? 'compare_arrows' : 'info' }}
@if (changedCount) {
{{ changedCount }} term{{ changedCount !== 1 ? 's' : '' }} will change on approval - highlighted
below as current → proposed.
} @else {
This edit changes nothing - every term matches the product as it stands.
}
}
@for (group of fieldGroups; track group.name) {
{{ group.icon }}
{{ group.name }}
@if (group.changed) {
{{ group.changed }} changed
}
@if (group.name === 'Accounting') {
@for (field of group.fields; track field.key) {
{{
glKind(field.key)
}}
{{ field.label }}
@if (field.changed) {
Changed
}
@if (field.changed) {
{{ glName(field.current) }}
@if (glCode(field.current)) {
{{ glCode(field.current) }}
}
arrow_forward
}
{{ glName(field.value) }}
@if (glCode(field.value)) {
{{ glCode(field.value) }}
}
}
} @else {
@for (field of group.fields; track field.key) {
{{ field.label }}
@if (field.changed) {
Changed
}
@if (field.changed) {
{{ field.current || '—' }}
arrow_forward
} @else {
}
}
}
}
@if (field.format === 'yesno' && field.value) {
{{ field.value === 'Yes' ? 'check_circle' : 'remove_circle_outline' }}
{{ field.value }}
} @else {
{{
field.value || '—'
}}
}
} @else if (isAgentReview) {
{{ isEdit ? 'manage_accounts' : 'person_add' }}
{{ isEdit ? 'Edit request' : 'New agent' }}
{{ entry.status }}
{{ valueOf('agentNameId') || entry.details || 'DDS Agent' }}
@if (valueOf('clientId')) {
Client {{ valueOf('clientId') }}
}
@if (valueOf('agentSavingAccountNo')) {
{{ valueOf('agentSavingAccountNo') }}
}
person
{{ entry.makerName || entry.maker }}
{{ entry.maker }}
schedule
{{ formatDateTime(entry.madeOn) }}
Submitted
@if (entry.status !== 'PENDING' && entry.checker) {
verified_user
{{ entry.checkerName || entry.checker }}
{{ entry.status === 'APPROVED' ? 'Approved by' : 'Rejected by' }}
}
@for (group of fieldGroups; track group.name) {
{{ group.icon }}
{{ group.name }}
@for (field of group.fields; track field.key) {
{{ field.label }}
{{
field.value || '—'
}}
}
}
shield_person
Guarantors
{{ guarantors.length }}
@if (guarantors.length) {
#
Client
Name
Telephone
Address
@for (g of guarantors; track $index; let i = $index) {
{{ i + 1 }}
{{ g.client || '—' }}
{{ g.name || '—' }}
{{ g.telephone || '—' }}
{{ g.address || '—' }}
}
} @else {
No guarantors named in this request.
}
} @else if (isPartyReview) {
{{ isEdit ? 'edit_note' : 'account_balance_wallet' }}
{{
isEdit ? 'Edit request' : 'New DDS account'
}}
{{ entry.status }}
{{ valueOf('partyName') || entry.details || 'DDS Account' }}
@if (valueOf('subType')) {
{{ valueOf('subType') }}
}
@if (valueOf('clientId')) {
Client {{ valueOf('clientId') }}
}
person
{{ entry.makerName || entry.maker }}
{{ entry.maker }}
schedule
{{ formatDateTime(entry.madeOn) }}
Submitted
@if (entry.status !== 'PENDING' && entry.checker) {
verified_user
{{ entry.checkerName || entry.checker }}
{{ entry.status === 'APPROVED' ? 'Approved by' : 'Rejected by' }}
}
payments Daily Deposit
{{ valueOf('dailyDepositAmount') || '—' }}
collected every day
date_range Term
{{ valueOf('days') ? valueOf('days') + ' days' : '—' }}
{{ valueOf('month') ? valueOf('month') + ' months' : '' }}
event Opening Date
{{ valueOf('openingDate') || '—' }}
{{
valueOf('maturityDate') ? 'Matures ' + valueOf('maturityDate') : 'account opens'
}}
support_agent Agent
{{ valueOf('agentId') || '—' }}
{{ valueOf('officeId') || '' }}
@for (group of fieldGroups; track group.name) {
{{ group.icon }}
{{ group.name }}
@for (field of group.fields; track field.key) {
{{ field.label }}
@if (field.format === 'yesno') {
{{ field.value === 'Yes' ? 'check_circle' : 'remove_circle_outline' }}
{{ field.value }}
} @else {
{{ field.value || '—' }}
}
}
}
family_restroom
Nominees
@if (detail?.nomineeSplit && nominees.length) {
Split by {{ detail.nomineeSplit }}
}
{{ nominees.length }}
@if (nominees.length) {
#
Name
Relation
Gender
Mobile
Birth Date
Guardian
Share
@for (n of nominees; track $index; let i = $index) {
{{ i + 1 }}
{{ n.name || '—' }}
{{ n.relation || '—' }}
{{ n.gender || '—' }}
{{ n.mobileNo || '—' }}
{{ n.birthDate || '—' }}
{{ n.guardianName || '—' }}
{{ n.share || '—' }}
}
} @else {
No nominee named in this request.
}
} @else {
swap_horiz
{{ entry.type }} Summary
@if (movesMoney) {
Total Amount
{{
entry.amount !== null && entry.amount !== undefined ? '₹' + (entry.amount | number: '1.2-2') : '—'
}}
DR Accounts
{{ debitLines.length }} account{{ debitLines.length !== 1 ? 's' : '' }}
CR Accounts
{{ creditLines.length }} account{{ creditLines.length !== 1 ? 's' : '' }}
}
Details
{{ entry.details || '—' }}
@if (detail?.description) {
Description
{{ detail.description }}
}
}
@if (debitLines.length) {
arrow_upward
Debit Entries ({{ debitLines.length }} account{{ debitLines.length !== 1 ? 's' : '' }} — funds out)
#
Account No
Account Name
Type
Amount (DR)
@for (line of debitLines; track $index; let i = $index) {
{{ i + 1 }}
{{ line.accountNo || '—' }}
{{ line.accountName || '—' }}
{{ line.type || '—' }}
₹{{ line.amount | number: '1.2-2' }}
}
Total Debit
₹{{ total(debitLines) | number: '1.2-2' }}
}
@if (creditLines.length) {
arrow_downward
Credit Entries ({{ creditLines.length }} account{{ creditLines.length !== 1 ? 's' : '' }} — funds in)
#
Account No
Account Name
Type
Amount (CR)
@for (line of creditLines; track $index; let i = $index) {
{{ i + 1 }}
{{ line.accountNo || '—' }}
{{ line.accountName || '—' }}
{{ line.type || '—' }}
₹{{ line.amount | number: '1.2-2' }}
}
Total Credit
₹{{ total(creditLines) | number: '1.2-2' }}
}
@if (entry.status === 'PENDING' && isMine && !done) {
info
Your own entry
You made this entry, so another user with checker rights has to approve or reject it.
}
@if (entry.status === 'REJECTED') {
cancel
Rejected
Nothing was done{{ voucherNo ? '. Voucher ' + voucherNo + ' is cancelled and will not be used' : '' }}.
@if (entry.checker) {
manage_accounts
{{ entry.checker }}
}
}
@if (entry.status === 'APPROVED') {
check_circle
Approved and carried out
{{
voucherNo
? 'Voucher ' + voucherNo
: entry.entity === 'DDSBATCH'
? 'Posting is running - refresh for its voucher'
: '—'
}}
manage_accounts
Approved by: {{ entry.checker || '—' }}
}
@if (error) {
error
Could not complete
{{ error }}
}
@if (entry.status === 'PENDING' && !done) {
@if (!confirmReject) {
check_circle
{{ working ? 'Processing…' : 'Approve ' + entry.type }}
cancel
Reject
} @else {
}
}
}