Skip to content

Commit fe6f118

Browse files
authored
Merge pull request #807 from OpenSPP/804-develop-the-donor-management-module
Develop the Donor Management Module
2 parents 0421fd4 + 141c2f9 commit fe6f118

13 files changed

Lines changed: 301 additions & 0 deletions

File tree

spp_registry_donor/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import models

spp_registry_donor/__manifest__.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2+
3+
{
4+
"name": "OpenSPP Registry Donor",
5+
"summary": "OpenSPP Donor Registry Management",
6+
"category": "OpenSPP",
7+
"version": "17.0.1.0.0",
8+
"sequence": 1,
9+
"author": "OpenSPP.org",
10+
"website": "https://github.com/OpenSPP/openspp-modules",
11+
"license": "LGPL-3",
12+
"development_status": "Alpha",
13+
"maintainers": ["gonzalesedwin1123"],
14+
"depends": [
15+
"base",
16+
"g2p_registry_base",
17+
"spp_registry_base",
18+
"spp_user_roles",
19+
],
20+
"data": [
21+
# Security
22+
"security/security.xml",
23+
"security/ir.model.access.csv",
24+
# Views
25+
"views/res_partner_views.xml",
26+
# Data
27+
"data/user_roles.xml",
28+
],
29+
"demo": [],
30+
"images": [],
31+
"application": True,
32+
"installable": True,
33+
"auto_install": False,
34+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo>
3+
<record id="user_role_donor_user" model="res.users.role">
4+
<field name="name">Donor User</field>
5+
<field name="role_type">global</field>
6+
<field name="comment">Readonly access to Donor Management.</field>
7+
<field name="implied_ids" eval="[(4, ref('group_donor_user'))]" />
8+
</record>
9+
10+
<record id="user_role_donor_manager" model="res.users.role">
11+
<field name="name">Donor Manager</field>
12+
<field name="role_type">global</field>
13+
<field name="comment">Admin access to Donor Management.</field>
14+
<field name="implied_ids" eval="[(4, ref('group_donor_manager'))]" />
15+
</record>
16+
</odoo>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import res_partner
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from odoo import fields, models
2+
3+
4+
class ResPartner(models.Model):
5+
_inherit = "res.partner"
6+
7+
is_donor = fields.Boolean(
8+
string="Is Donor",
9+
help="Check if this partner is a donor",
10+
tracking=True,
11+
index=True,
12+
)

spp_registry_donor/pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[build-system]
2+
requires = ["whool"]
3+
build-backend = "whool.buildapi"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2+
access_res_partner_donor_user,res.partner.donor.user,base.model_res_partner,spp_registry_donor.group_donor_user,1,0,0,0
3+
access_res_partner_donor_manager,res.partner.donor.manager,base.model_res_partner,spp_registry_donor.group_donor_manager,1,1,1,1
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo>
3+
<data noupdate="0">
4+
<!-- Category -->
5+
<record id="module_category_donor" model="ir.module.category">
6+
<field name="name">Donor Management</field>
7+
<field name="sequence">21</field>
8+
</record>
9+
10+
<!-- Groups -->
11+
<record id="group_donor_user" model="res.groups">
12+
<field name="name">Donor User</field>
13+
<field name="category_id" ref="module_category_donor" />
14+
</record>
15+
16+
<record id="group_donor_manager" model="res.groups">
17+
<field name="name">Donor Manager</field>
18+
<field name="category_id" ref="module_category_donor" />
19+
<field name="implied_ids" eval="[(4, ref('g2p_registry_base.group_g2p_registrar'))]" />
20+
<field name="users" eval="[
21+
(4, ref('base.user_admin')),
22+
]" />
23+
</record>
24+
</data>
25+
26+
<!-- Record Rules -->
27+
<data noupdate="1">
28+
<record id="rule_donor_user" model="ir.rule">
29+
<field name="name">Donor Users: Read Access</field>
30+
<field name="model_id" ref="base.model_res_partner" />
31+
<field
32+
name="domain_force"
33+
>['|', ('is_donor', '=', True), ('is_company', '=', False), ('type', '=', 'contact')]</field>
34+
<field name="groups" eval="[(4, ref('group_donor_user'))]" />
35+
<field name="perm_read" eval="True" />
36+
<field name="perm_write" eval="False" />
37+
<field name="perm_create" eval="False" />
38+
<field name="perm_unlink" eval="False" />
39+
</record>
40+
41+
<record id="rule_donor_manager" model="ir.rule">
42+
<field name="name">Donor Managers: Full Access</field>
43+
<field name="model_id" ref="base.model_res_partner" />
44+
<field
45+
name="domain_force"
46+
>['|', ('is_donor', '=', True), ('is_company', '=', False), ('type', '=', 'contact')]</field>
47+
<field name="groups" eval="[(4, ref('group_donor_manager'))]" />
48+
<field name="perm_read" eval="True" />
49+
<field name="perm_write" eval="True" />
50+
<field name="perm_create" eval="True" />
51+
<field name="perm_unlink" eval="True" />
52+
</record>
53+
</data>
54+
</odoo>
12.3 KB
Loading
4.45 KB
Loading

0 commit comments

Comments
 (0)