Chore: Model relationships updated to make them simpler Chore: Bill printing majorly refactored for it Due to the sheer depth of the changes. There can be showstoppers. Please test it carefully
265 lines
7.1 KiB
HTML
265 lines
7.1 KiB
HTML
<div class="flex flex-row flex-wrap -mr-5 -mb-5">
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('customers')"
|
|
[routerLink]="['/', 'guest-book']"
|
|
>
|
|
<h3 class="item-name">Guest Book</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('sales')"
|
|
[routerLink]="['/', 'sales']"
|
|
>
|
|
<h3 class="item-name">Sales</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('customers')"
|
|
[routerLink]="['/', 'customers']"
|
|
>
|
|
<h3 class="item-name">Customers</h3>
|
|
</mat-card>
|
|
</div>
|
|
<div class="flex flex-row flex-wrap -mr-5 -mb-5">
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('cashier-report')"
|
|
[routerLink]="['/', 'cashier-report']"
|
|
>
|
|
<h3 class="item-name">Cashier Report</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('sale-report')"
|
|
[routerLink]="['/', 'sale-report']"
|
|
>
|
|
<h3 class="item-name">Sale Report</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('tax-report')"
|
|
[routerLink]="['/', 'tax-report']"
|
|
>
|
|
<h3 class="item-name">Tax Report</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('product-sale-report')"
|
|
[routerLink]="['/', 'product-sale-report']"
|
|
>
|
|
<h3 class="item-name">Product Sale Report</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('bill-settlement-report')"
|
|
[routerLink]="['/', 'bill-settlement-report']"
|
|
>
|
|
<h3 class="item-name">Bill Settlement Report</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('beer-sale-report')"
|
|
[routerLink]="['/', 'beer-sale-report']"
|
|
>
|
|
<h3 class="item-name">Beer Sale Report</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('discount-report')"
|
|
[routerLink]="['/', 'discount-report']"
|
|
>
|
|
<h3 class="item-name">Discount Report</h3>
|
|
</mat-card>
|
|
</div>
|
|
<div class="flex flex-row flex-wrap -mr-5 -mb-5">
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('products')"
|
|
[routerLink]="['/', 'products']"
|
|
>
|
|
<h3 class="item-name">Products</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('temporal-products')"
|
|
[routerLink]="['/', 'temporal-products']"
|
|
>
|
|
<h3 class="item-name">Temporal Products</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('products')"
|
|
[routerLink]="['/', 'update-product-prices']"
|
|
>
|
|
<h3 class="item-name">Update Product Prices</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('products')"
|
|
[routerLink]="['/', 'product-updates-report']"
|
|
>
|
|
<h3 class="item-name">Product Updates Report</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('modifiers')"
|
|
[routerLink]="['/', 'modifiers']"
|
|
>
|
|
<h3 class="item-name">Modifiers</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('modifiers')"
|
|
[routerLink]="['/', 'modifier-categories']"
|
|
>
|
|
<h3 class="item-name">Modifier Categories</h3>
|
|
</mat-card>
|
|
</div>
|
|
<div class="flex flex-row flex-wrap -mr-5 -mb-5">
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('sections')"
|
|
[routerLink]="['/', 'tables']"
|
|
>
|
|
<h3 class="item-name">Tables</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('sections')"
|
|
[routerLink]="['/', 'sections']"
|
|
>
|
|
<h3 class="item-name">Sections</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('products')"
|
|
[routerLink]="['/', 'menu-categories']"
|
|
>
|
|
<h3 class="item-name">Menu Categories</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('products')"
|
|
[routerLink]="['/', 'sale-categories']"
|
|
>
|
|
<h3 class="item-name">Sale Categories</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('taxes')"
|
|
[routerLink]="['/', 'taxes']"
|
|
>
|
|
<h3 class="item-name">Taxes</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('regimes')"
|
|
[routerLink]="['/', 'regimes']"
|
|
>
|
|
<h3 class="item-name">Regimes</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('devices')"
|
|
[routerLink]="['/', 'devices']"
|
|
>
|
|
<h3 class="item-name">Devices</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('section-printers')"
|
|
[routerLink]="['/', 'section-printers']"
|
|
>
|
|
<h3 class="item-name">Section Printers</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('printers')"
|
|
[routerLink]="['/', 'printers']"
|
|
>
|
|
<h3 class="item-name">Printers</h3>
|
|
</mat-card>
|
|
</div>
|
|
<div class="flex flex-row flex-wrap -mr-5 -mb-5">
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('users')"
|
|
[routerLink]="['/', 'roles']"
|
|
>
|
|
<h3 class="item-name">Roles</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('users')"
|
|
[routerLink]="['/', 'users']"
|
|
>
|
|
<h3 class="item-name">Users</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('authenticated')"
|
|
[routerLink]="['/', 'users', 'me']"
|
|
>
|
|
<h3 class="item-name">Change Password</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('owner')"
|
|
[routerLink]="['/', 'header-footer']"
|
|
>
|
|
<h3 class="item-name">Header / Footer</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('owner')"
|
|
[routerLink]="['/', 'settle-options']"
|
|
>
|
|
<h3 class="item-name">Settle Options</h3>
|
|
</mat-card>
|
|
<mat-card
|
|
class="flex flex-col square-button mr-5, mb-5"
|
|
matRipple
|
|
*ngIf="auth.allowed('settings')"
|
|
[routerLink]="['/', 'settings']"
|
|
>
|
|
<h3 class="item-name">Settings</h3>
|
|
</mat-card>
|
|
</div>
|
|
<footer class="footer">
|
|
<p>
|
|
Backend: v{{ auth.user?.ver }} / Frontend: v{{ version }} on {{ auth.device.name }} @
|
|
{{ auth.device.section.name }}
|
|
</p>
|
|
</footer>
|