feat(cashier): add full-screen cashier teller workstation dashboard
- Add Transaction Entry screen with full account details panel (personal info, joint holders, nominees, KYC, balances) - Role-based layout: CASHIER role hides nav/sidebar/ticker, redirects to /cashier/transaction-entry on login - Denomination entry with opening/closing position preview (notes first then coins, stepper +/- round button inputs) - Auto-fetch savings/current/FD/RD accounts with associations, client KYC, nominees, addresses, family members (S/D/W/H/O) - Submit deposit/withdrawal via POST /transactions with denominationBreakdown - Cashier position auto-loads for CASHIER role (no filter dropdowns) - Pagination added to cash-history tabs and currency-exchange-detail - Cashier menu simplified for cashier role permissions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
c8e9ab8f84
commit
9094b9a0eb
@@ -388,6 +388,30 @@ export class AuthenticationService {
|
||||
return JSON.parse(this.storage.getItem(this.credentialsStorageKey));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true ONLY for regular cashier role (not Head Cashier).
|
||||
* Regular cashier → full-screen transaction entry, no nav.
|
||||
* Head Cashier → normal CBS interface, all menus visible.
|
||||
*/
|
||||
isCashierUser(): boolean {
|
||||
const creds = this.getCredentials();
|
||||
if (!creds || !creds.permissions) return false;
|
||||
// Super-admin / all-functions users are never cashier-only
|
||||
if (creds.permissions.includes('ALL_FUNCTIONS')) return false;
|
||||
if (creds.roles && Array.isArray(creds.roles)) {
|
||||
const roleNames: string[] = creds.roles.map((r: any) => (r.name || r.role || '').toLowerCase().trim());
|
||||
// Head Cashier gets full access — NOT a cashier-only user
|
||||
if (roleNames.some((n) => n.includes('head cashier') || n === 'head_cashier')) {
|
||||
return false;
|
||||
}
|
||||
// Regular CASHIER role → cashier-only mode
|
||||
if (roleNames.some((n) => n === 'cashier')) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the user credentials.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user