Initial commit: Hr packages

This commit is contained in:
Ernad Husremovic 2025-08-29 15:20:50 +02:00
commit 62531cd146
2820 changed files with 1432848 additions and 0 deletions

View file

@ -0,0 +1,32 @@
# Architecture
```mermaid
flowchart TD
U[Users] -->|HTTP| V[Views and QWeb Templates]
V --> C[Controllers]
V --> W[Wizards Transient Models]
C --> M[Models and ORM]
W --> M
M --> R[Reports]
DX[Data XML] --> M
S[Security ACLs and Groups] -. enforces .-> M
subgraph Hr_expense Module - hr_expense
direction LR
M:::layer
W:::layer
C:::layer
V:::layer
R:::layer
S:::layer
DX:::layer
end
classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px
```
Notes
- Views include tree/form/kanban templates and report templates.
- Controllers provide website/portal routes when present.
- Wizards are UI flows implemented with `models.TransientModel`.
- Data XML loads data/demo records; Security defines groups and access.

View file

@ -0,0 +1,3 @@
# Configuration
Refer to Odoo settings for hr_expense. Configure related models, access rights, and options as needed.

View file

@ -0,0 +1,3 @@
# Controllers
This module does not define custom HTTP controllers.

View file

@ -0,0 +1,7 @@
# Dependencies
This addon depends on:
- [hr_contract](../../odoo-bringout-oca-ocb-hr_contract)
- [account](../../odoo-bringout-oca-ocb-account)
- [web_tour](../../odoo-bringout-oca-ocb-web_tour)

View file

@ -0,0 +1,4 @@
# FAQ
- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged).
- Q: How to enable? A: Start server with --addon hr_expense or install in UI.

View file

@ -0,0 +1,7 @@
# Install
```bash
pip install odoo-bringout-oca-ocb-hr_expense"
# or
uv pip install odoo-bringout-oca-ocb-hr_expense"
```

View file

@ -0,0 +1,27 @@
# Models
Detected core models and extensions in hr_expense.
```mermaid
classDiagram
class hr_expense
class hr_expense_sheet
class account_analytic_account
class account_analytic_applicability
class account_journal
class account_move
class account_move_line
class account_payment
class hr_department
class hr_employee
class hr_employee_public
class ir_attachment
class product_product
class product_template
class res_company
class res_config_settings
```
Notes
- Classes show model technical names; fields omitted for brevity.
- Items listed under _inherit are extensions of existing models.

View file

@ -0,0 +1,6 @@
# Overview
Packaged Odoo addon: hr_expense. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon hr_expense
- License: LGPL-3

View file

@ -0,0 +1,45 @@
# Patch: Remove App Store Download Links
## Module: hr_expense
### Description
This patch removes mobile app store download links (Apple App Store and Google Play Store) from the HR Expense management interface.
### Files Modified
- `hr_expense/views/hr_expense_views.xml`
### Changes Made
#### File: hr_expense/views/hr_expense_views.xml
**Lines removed: 444-449**
Removed the following section containing mobile app store download links:
```xml
<a href="https://apps.apple.com/be/app/odoo/id1272543640" target="_blank" class="o_expense_mobile_app">
<img alt="Apple App Store" class="img img-fluid h-100 o_expense_apple_store" src="/hr_expense/static/img/app_store.png"/>
</a>
<a href="https://play.google.com/store/apps/details?id=com.odoo.mobile" target="_blank" class="o_expense_mobile_app">
<img alt="Google Play Store" class="img img-fluid h-100 o_expense_google_store" src="/hr_expense/static/img/play_store.png"/>
</a>
```
### Impact
- Users will no longer see mobile app store download buttons in the expense management interface
- The promotional text about snapping pictures of receipts remains visible
- The feature description and instructions for mobile expense creation are preserved
- All core expense management functionality remains unchanged
### Context
- The removed links were part of a promotional section encouraging mobile app usage
- Links pointed to:
- Apple App Store: Official Odoo mobile app
- Google Play Store: Official Odoo mobile app
- The section was visible on desktop browsers (`d-none d-md-block` class)
- The instructional text "Snap pictures of your receipts and let Odoo automatically create expenses for you" remains
### Reason
Removal of proprietary mobile app store references while maintaining the informational content about mobile expense features that can be accessed through web browsers or alternative app distribution methods.
---
**Patch Created:** 2025-08-27
**Applied By:** Claude Code Assistant

View file

@ -0,0 +1,23 @@
# Reports
Report definitions and templates in hr_expense.
```mermaid
classDiagram
```
## Available Reports
### PDF/Document Reports
- **Expenses Report** (PDF/Print)
## Report Files
- **hr_expense_report.xml** (XML template/definition)
## Notes
- Named reports above are accessible through Odoo's reporting menu
- Python files define report logic and data processing
- XML files contain report templates, definitions, and formatting
- Reports are integrated with Odoo's printing and email systems

View file

@ -0,0 +1,46 @@
# Security
Access control and security definitions in hr_expense.
## Access Control Lists (ACLs)
Model access permissions defined in:
- **[ir.model.access.csv](../hr_expense/security/ir.model.access.csv)**
- 19 model access rules
## Record Rules
Row-level security rules defined in:
- **[ir_rule.xml](../hr_expense/security/ir_rule.xml)**
## Security Groups & Configuration
Security groups and permissions defined in:
- **[hr_expense_security.xml](../hr_expense/security/hr_expense_security.xml)**
- 3 security groups defined
- **[ir_rule.xml](../hr_expense/security/ir_rule.xml)**
```mermaid
graph TB
subgraph "Security Layers"
A[Users] --> B[Groups]
B --> C[Access Control Lists]
C --> D[Models]
B --> E[Record Rules]
E --> F[Individual Records]
end
```
Security files overview:
- **[hr_expense_security.xml](../hr_expense/security/hr_expense_security.xml)**
- Security groups, categories, and XML-based rules
- **[ir.model.access.csv](../hr_expense/security/ir.model.access.csv)**
- Model access permissions (CRUD rights)
- **[ir_rule.xml](../hr_expense/security/ir_rule.xml)**
- Security groups, categories, and XML-based rules
Notes
- Access Control Lists define which groups can access which models
- Record Rules provide row-level security (filter records by user/group)
- Security groups organize users and define permission sets
- All security is enforced at the ORM level by Odoo

View file

@ -0,0 +1,5 @@
# Troubleshooting
- Ensure Python and Odoo environment matches repo guidance.
- Check database connectivity and logs if startup fails.
- Validate that dependent addons listed in DEPENDENCIES.md are installed.

View file

@ -0,0 +1,7 @@
# Usage
Start Odoo including this addon (from repo root):
```bash
python3 scripts/nix_odoo_web_server.py --db-name mydb --addon hr_expense
```

View file

@ -0,0 +1,12 @@
# Wizards
Transient models exposed as UI wizards in hr_expense.
```mermaid
classDiagram
class AccountPaymentRegister
class HrExpenseApproveDuplicate
class HrExpenseRefuseWizard
class HrExpenseSplit
class HrExpenseSplitWizard
```