# Security

Legal foundation setup defines 9 group(s), 33 access right(s) and 9 record rule(s). This page states who can see and edit what, in plain language, with the exact rules underneath. Generated from the installed database on 2026-10-13 for version 19.0.2.5.50.

**Legal foundation setup defines 9 group(s), 33 access right(s) and 9 record rule(s). This page states who can see and edit what, in plain language, with the exact rules underneath. Generated from the installed database on 2026-10-13 for version 19.0.2.5.50.**

## Groups

### Client Requests (`j_law_base.res_groups_privilege_j_law_client_requests`) {#group-j-law-base-res-groups-privilege-j-law-client-requests}

A privilege: the heading under which the groups below appear on the user form.

### Courts (`j_law_base.res_groups_privilege_j_law_courts`) {#group-j-law-base-res-groups-privilege-j-law-courts}

A privilege: the heading under which the groups below appear on the user form.

### Judges (`j_law_base.res_groups_privilege_j_law_judges`) {#group-j-law-base-res-groups-privilege-j-law-judges}

A privilege: the heading under which the groups below appear on the user form.

### Lawyers (`j_law_base.res_groups_privilege_j_law_lawyers`) {#group-j-law-base-res-groups-privilege-j-law-lawyers}

A privilege: the heading under which the groups below appear on the user form.

### Manager (`j_law_base.group_j_law_client_requests_manager`) {#group-j-law-base-group-j-law-client-requests-manager}

Implies: Client Requests / User (`j_law_base.group_j_law_client_requests_user`)

### Read-only (`j_law_base.group_j_law_client_requests_readonly`) {#group-j-law-base-group-j-law-client-requests-readonly}

Implies: Role / User (`base.group_user`)

### User (`j_law_base.group_j_law_client_requests_user`) {#group-j-law-base-group-j-law-client-requests-user}

Implies: Client Requests / Read-only (`j_law_base.group_j_law_client_requests_readonly`)

### Manager (`j_law_base.group_j_law_courts_manager`) {#group-j-law-base-group-j-law-courts-manager}

Implies: Courts / Read-only (`j_law_base.group_j_law_courts_readonly`)

### Read-only (`j_law_base.group_j_law_courts_readonly`) {#group-j-law-base-group-j-law-courts-readonly}

Implies: Role / User (`base.group_user`)

### Manager (`j_law_base.group_j_law_judges_manager`) {#group-j-law-base-group-j-law-judges-manager}

Implies: Judges / Read-only (`j_law_base.group_j_law_judges_readonly`)

### Read-only (`j_law_base.group_j_law_judges_readonly`) {#group-j-law-base-group-j-law-judges-readonly}

Implies: Role / User (`base.group_user`)

### Manager (`j_law_base.group_j_law_lawyers_manager`) {#group-j-law-base-group-j-law-lawyers-manager}

Implies: Lawyers / Read-only (`j_law_base.group_j_law_lawyers_readonly`)

### Read-only (`j_law_base.group_j_law_lawyers_readonly`) {#group-j-law-base-group-j-law-lawyers-readonly}

Implies: Role / User (`base.group_user`)

## Access rights

### Court Circuit (`j.circuit`) {#access-j-circuit}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Role / Portal (`base.group_portal`) | yes | no | no | no |
| Courts / Manager (`j_law_base.group_j_law_courts_manager`) | yes | yes | yes | yes |
| Courts / Read-only (`j_law_base.group_j_law_courts_readonly`) | yes | no | no | no |

### Court (`j.court`) {#access-j-court}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Role / Portal (`base.group_portal`) | yes | no | no | no |
| Courts / Manager (`j_law_base.group_j_law_courts_manager`) | yes | yes | yes | yes |
| Courts / Read-only (`j_law_base.group_j_law_courts_readonly`) | yes | no | no | no |

### Judge (`j.judge`) {#access-j-judge}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Role / Portal (`base.group_portal`) | yes | no | no | no |
| Judges / Manager (`j_law_base.group_j_law_judges_manager`) | yes | yes | yes | yes |
| Judges / Read-only (`j_law_base.group_j_law_judges_readonly`) | yes | no | no | no |

### Lawyer (`j.lawyer`) {#access-j-lawyer}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Role / Portal (`base.group_portal`) | yes | no | no | no |
| Lawyers / Manager (`j_law_base.group_j_law_lawyers_manager`) | yes | yes | yes | yes |
| Lawyers / Read-only (`j_law_base.group_j_law_lawyers_readonly`) | yes | no | no | no |

### Set Lawyer User Password (`j.lawyer.set.password.wizard`) {#access-j-lawyer-set-password-wizard}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Lawyers / Manager (`j_law_base.group_j_law_lawyers_manager`) | yes | yes | yes | yes |

### Legal Client Request (`j.legal.client.request`) {#access-j-legal-client-request}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Role / Portal (`base.group_portal`) | yes | yes | yes | no |
| Client Requests / Manager (`j_law_base.group_j_law_client_requests_manager`) | yes | yes | yes | yes |
| Client Requests / Read-only (`j_law_base.group_j_law_client_requests_readonly`) | yes | no | no | no |
| Client Requests / User (`j_law_base.group_j_law_client_requests_user`) | yes | yes | yes | no |

### Client Request Category (`j.legal.client.request.category`) {#access-j-legal-client-request-category}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Role / Portal (`base.group_portal`) | yes | no | no | no |
| Client Requests / Manager (`j_law_base.group_j_law_client_requests_manager`) | yes | yes | yes | yes |
| Client Requests / Read-only (`j_law_base.group_j_law_client_requests_readonly`) | yes | no | no | no |
| Client Requests / User (`j_law_base.group_j_law_client_requests_user`) | yes | no | no | no |

### Legal Client Request Reject Reason (`j.legal.client.request.reject.reason`) {#access-j-legal-client-request-reject-reason}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Client Requests / Manager (`j_law_base.group_j_law_client_requests_manager`) | yes | yes | yes | yes |
| Client Requests / Read-only (`j_law_base.group_j_law_client_requests_readonly`) | yes | no | no | no |
| Client Requests / User (`j_law_base.group_j_law_client_requests_user`) | yes | no | yes | no |

### Reject Client Request — Reason Wizard (`j.legal.client.request.reject.wizard`) {#access-j-legal-client-request-reject-wizard}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Client Requests / Manager (`j_law_base.group_j_law_client_requests_manager`) | yes | yes | yes | yes |
| Client Requests / User (`j_law_base.group_j_law_client_requests_user`) | yes | yes | yes | yes |

### List Report Wizard (`j.list.report.wizard`) {#access-j-list-report-wizard}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Lawyers / Manager (`j_law_base.group_j_law_lawyers_manager`) | yes | yes | yes | yes |
| Lawyers / Read-only (`j_law_base.group_j_law_lawyers_readonly`) | yes | no | no | no |

### Neglected Report Wizard (`j.neglected.report.wizard`) {#access-j-neglected-report-wizard}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Lawyers / Manager (`j_law_base.group_j_law_lawyers_manager`) | yes | yes | yes | yes |
| Lawyers / Read-only (`j_law_base.group_j_law_lawyers_readonly`) | yes | no | no | no |

### Law Practice Area (`j.practice.area`) {#access-j-practice-area}

| Group | Read | Write | Create | Delete |
|---|---|---|---|---|
| Role / Portal (`base.group_portal`) | yes | no | no | no |
| Lawyers / Manager (`j_law_base.group_j_law_lawyers_manager`) | yes | yes | yes | yes |
| Lawyers / Read-only (`j_law_base.group_j_law_lawyers_readonly`) | yes | no | no | no |

## Record rules

### j.circuit multi-company (`j_law_base.rule_j_circuit_company`) {#rule-j-law-base-rule-j-circuit-company}

On Court Circuit (`j.circuit`) for everyone: read, write, create, delete.

Records where "__jdocsvar8__" is one of the user's companies or "__jdocsvar8__" is empty.

```python
['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]
```

### j.court multi-company (`j_law_base.rule_j_court_company`) {#rule-j-law-base-rule-j-court-company}

On Court (`j.court`) for everyone: read, write, create, delete.

Records where "__jdocsvar8__" is one of the user's companies or "__jdocsvar8__" is empty.

```python
['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]
```

### j.judge multi-company (`j_law_base.rule_j_judge_company`) {#rule-j-law-base-rule-j-judge-company}

On Judge (`j.judge`) for everyone: read, write, create, delete.

Records where "__jdocsvar8__" is one of the user's companies.

```python
[('company_id', 'in', company_ids)]
```

### j.lawyer multi-company (`j_law_base.rule_j_lawyer_company`) {#rule-j-law-base-rule-j-lawyer-company}

On Lawyer (`j.lawyer`) for everyone: read, write, create, delete.

Records where "__jdocsvar8__" is one of the user's companies.

```python
[('company_id', 'in', company_ids)]
```

### j.legal.client.request multi-company (`j_law_base.rule_j_legal_client_request_company`) {#rule-j-law-base-rule-j-legal-client-request-company}

On Legal Client Request (`j.legal.client.request`) for everyone: read, write, create, delete.

Records where "__jdocsvar8__" is one of the user's companies.

```python
[('company_id', 'in', company_ids)]
```

### j.legal.client.request: manager all (`j_law_base.rule_j_legal_client_request_manager_all`) {#rule-j-law-base-rule-j-legal-client-request-manager-all}

On Legal Client Request (`j.legal.client.request`) for Client Requests / Manager (`j_law_base.group_j_law_client_requests_manager`): read, write, create, delete.

Records where every record.

```python
[(1, '=', 1)]
```

### j.legal.client.request: own / followed (`j_law_base.rule_j_legal_client_request_user_own`) {#rule-j-law-base-rule-j-legal-client-request-user-own}

On Legal Client Request (`j.legal.client.request`) for Client Requests / User (`j_law_base.group_j_law_client_requests_user`): read, write, create, delete.

Records where Followers (Partners) is one of the current user's contact or Lawyers › User is the current user.

```python
[
                '|',
                ('lawyer_ids.user_id', '=', user.id),
                ('message_partner_ids', 'in', [user.partner_id.id]),
            ]
```

### j.legal.client.request.reject.reason multi-company (`j_law_base.rule_j_legal_client_request_reject_reason_company`) {#rule-j-law-base-rule-j-legal-client-request-reject-reason-company}

On Legal Client Request Reject Reason (`j.legal.client.request.reject.reason`) for everyone: read, write, create, delete.

Records where "__jdocsvar8__" is one of the user's companies or "__jdocsvar8__" is empty.

```python
['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]
```

### j.practice.area multi-company (`j_law_base.rule_j_practice_area_company`) {#rule-j-law-base-rule-j-practice-area-company}

On Law Practice Area (`j.practice.area`) for everyone: read, write, create, delete.

Records where "__jdocsvar8__" is one of the user's companies or "__jdocsvar8__" is empty.

```python
['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]
```

---

- Source: https://jaah.app/docs/law-base/security
- Updated: 2026-10-13
- Version: Legal foundation setup 19.0.2.5.50
