# Dine360 Odoo Addons

This repository contains custom Odoo 17 addons for the Dine360 Restaurant Suite. It includes a website theme, a custom login/dashboard experience, and a restaurant role-based access module, all bundled by a meta module for one-click install.

## Stack
- Odoo 17 (Docker)
- Postgres 15 (Docker)
- Addons mounted from `./addons`

## Services (Docker)
- Odoo: `http://localhost:10001`
- DB: Postgres 15 (`odoo` / `odoo`)

## Repository Layout
- `addons/`  Odoo addons
- `docker-compose.yml`  Odoo + Postgres stack
- `backup_db.ps1`, `export_odoo.ps1`  Windows helpers
- `inspect_views.py`, `resolve_homepage.py`, etc.  view debugging helpers

## Addons

### 1) `dine360_dashboard`
Custom login layout and app-grid dashboard landing page.

Key features:
- Redirect `/web/login` to `/` after successful login
- Override `/` for authenticated users to show a custom app dashboard
- Custom login page layout and styling

Key files:
- `addons/dine360_dashboard/controllers/main.py`
- `addons/dine360_dashboard/views/home_template.xml`
- `addons/dine360_dashboard/views/login_templates.xml`
- `addons/dine360_dashboard/views/web_title_template.xml`
- `addons/dine360_dashboard/views/website_logo.xml`
- `addons/dine360_dashboard/static/src/css/*`

### 2) `dine360_restaurant`
Role-based access control for restaurant staff.

Roles:
- Admin/Owner, Manager, Cashier, Waiter/Captain, Kitchen (KDS), Store Keeper

Key files:
- `addons/dine360_restaurant/models/res_users.py`
- `addons/dine360_restaurant/security/*`
- `addons/dine360_restaurant/views/*`

### 3) `dine360_theme_chennora`
Custom website theme and page content (homepage + contact us).

Key files:
- `addons/dine360_theme_chennora/views/layout.xml`
- `addons/dine360_theme_chennora/views/pages.xml`
- `addons/dine360_theme_chennora/static/src/scss/*`
- `addons/dine360_theme_chennora/static/src/img/*`

### 4) `Dine360_Chennora` (meta module)
Install this single module to pull in all required addons.

Depends on:
- `dine360_dashboard`
- `dine360_restaurant`
- `dine360_theme_chennora`

## Standard Install / Upgrade

### Start the stack
```bash
docker-compose up -d
```

### Update Apps list
- Apps -> Update Apps List

### Install the suite (recommended)
- Apps -> search `Dine360 Restaurant Suite` -> Install

### Upgrade the suite (after code changes)
```bash
docker exec odoo_client1 odoo -u Dine360_Chennora -d chennora_db --db_host db --db_user odoo --db_password odoo --stop-after-init
```

### Upgrade a single addon
```bash
docker exec odoo_client1 odoo -u dine360_dashboard -d chennora_db --db_host db --db_user odoo --db_password odoo --stop-after-init
```

## Logos (Apps icons)
Place PNGs here (128x128 or 256x256 recommended):
- `addons/Dine360_Chennora/static/description/icon.png`
- `addons/dine360_dashboard/static/description/icon.png`
- `addons/dine360_restaurant/static/description/icon.png`
- `addons/dine360_theme_chennora/static/description/icon.png`

## Troubleshooting

### 500 error after view edits
- Upgrade the affected module
- Restart Odoo: `docker-compose restart odoo`
- Hard refresh browser (Ctrl + F5)

### Old modules still present (home_dashboard, restaurant_management, theme_chennora)
If you renamed modules, uninstall the old ones in Apps to avoid conflicts.

## Utilities
Helper scripts for view diagnostics and homepage issues:
- `inspect_views.py`, `inspect_views_v2.py`
- `resolve_homepage.py`, `fix_homepage.py`, `force_inherit.py`

## Notes
- Homepage content is fully overridden in `addons/dine360_theme_chennora/views/pages.xml`.
- If theme changes dont appear, check for COW (customized) views masking the theme.
