Skip to content

Commit 192b04d

Browse files
Add DMS module and integrate with change request
1 parent 2458372 commit 192b04d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+1326
-164
lines changed

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# generated from manifests external_dependencies
2+
PIL
23
PyLD
34
bravado_core
45
faker

spp_change_request/__manifest__.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"spp_service_points",
2424
"spp_area",
2525
"spp_scan_id_document",
26+
"spp_dms",
2627
# "dms_field",
2728
],
2829
"data": [
@@ -56,6 +57,3 @@
5657
"installable": True,
5758
"auto_install": False,
5859
}
59-
60-
# "spp_idqueue",
61-
# "spp_event_data",

spp_change_request/data/dms.xml

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,8 @@ Part of OpenSPP. See LICENSE file for full copyright and licensing details.
44
-->
55
<odoo noupdate="0">
66

7-
<record id="dms_access_group" model="dms.access.group">
8-
<field name="name">Change Request DMS Group</field>
9-
<field
10-
name="group_ids"
11-
eval="[
12-
(4, ref('g2p_registry_base.group_g2p_admin')),
13-
(4, ref('spp_change_request.group_spp_change_request_administrator')),
14-
(4, ref('spp_change_request.group_spp_change_request_validator')),
15-
(4, ref('spp_change_request.group_spp_change_request_agent')),
16-
(4, ref('spp_change_request.group_spp_change_request_hq_validator')),
17-
(4, ref('spp_change_request.group_spp_change_request_local_validator')),
18-
(4, ref('spp_change_request.group_spp_change_request_applicator'))
19-
]"
20-
/>
21-
<field name="perm_create" eval="True" />
22-
<field name="perm_write" eval="True" />
23-
<field name="perm_unlink" eval="True" />
24-
</record>
25-
<record id="dms_change_request_storage" model="dms.storage">
26-
<field name="name">Change Requests storage</field>
27-
<field name="save_type">file</field>
28-
<field name="field_default_group_id" ref="spp_change_request.dms_access_group" />
29-
</record>
30-
317
<!-- Parent Category -->
32-
<record id="pds_dms_extra_documents" model="dms.category">
8+
<record id="pds_dms_extra_documents" model="spp.dms.category">
339
<field name="name">Extra Documents</field>
3410
</record>
3511

spp_change_request/models/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
from . import change_request
55
from . import change_request_stage
66
from . import dms_file
7+
from . import dms_directory
78
from . import registry
89
from . import mixins

spp_change_request/models/change_request.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,14 @@ class ChangeRequestBase(models.Model):
130130

131131
current_user_assigned = fields.Boolean(compute="_compute_current_user_assigned", default=False)
132132

133+
# DMS Directories
134+
dms_directory_ids = fields.One2many(
135+
"spp.dms.directory",
136+
"change_request_id",
137+
string="DMS Directories",
138+
auto_join=True,
139+
)
140+
133141
@api.model
134142
def create(self, vals):
135143
"""
@@ -673,14 +681,10 @@ def create_request_detail(self):
673681
res_model = rec.request_type
674682
# Set the dms directory
675683
_logger.info("Change Request: DMS Directory Creation (%s)" % len(self.dms_directory_ids))
676-
storage = self.env.ref(self.env[res_model].DMS_STORAGE)
684+
self.env.ref(self.env[res_model].DMS_STORAGE)
677685
dmsval = {
678-
"storage_id": storage.id,
679-
# "res_id": rec.id,
680-
"res_model": res_model,
681686
"is_root_directory": True,
682687
"name": rec.name,
683-
"group_ids": [(4, storage.field_default_group_id.id)],
684688
}
685689

686690
# Prepare CR type model data
@@ -695,7 +699,7 @@ def create_request_detail(self):
695699
ref_id = self.env[res_model].create(cr_type_vals)
696700
directory_id = ref_id.dms_directory_ids[0].id
697701

698-
self.env["dms.directory"].create(
702+
self.env["spp.dms.directory"].create(
699703
{
700704
"name": "Applicant",
701705
"parent_id": directory_id,
@@ -931,8 +935,8 @@ def _compute_validation_group_id(self):
931935

932936
validation_stages = (
933937
rec.request_type_ref_id.validation_ids
934-
if rec.request_type_ref_id and rec.request_type_ref_id.validation_ids
935-
else self.env["validation.model"].browse()
938+
# if rec.request_type_ref_id and rec.request_type_ref_id.validation_ids
939+
# else self.env["validation.model"].browse()
936940
) # Replace 'validation.model' with the actual model name
937941

938942
# Filter validation_stages based on validation_stage_ids, if any
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from odoo import fields, models
2+
3+
4+
class SPPDMSDirectoryCustom(models.Model):
5+
_inherit = "spp.dms.directory"
6+
7+
change_request_id = fields.Many2one("spp.change.request", "Change Request")

spp_change_request/models/dms_file.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
from odoo import _, models
1+
from odoo import _, fields, models
22

33

44
class SPPDMSFileCustom(models.Model):
5-
_inherit = "dms.file"
5+
_inherit = "spp.dms.file"
6+
7+
change_request_id = fields.Many2one("spp.change.request", "Change Request")
68

79
def action_save_and_close(self):
810
return {"type": "ir.actions.act_window_close"}
@@ -15,7 +17,7 @@ def action_attach_documents(self):
1517
"view_mode": "form",
1618
"view_id": form_id,
1719
"view_type": "form",
18-
"res_model": "dms.file",
20+
"res_model": "spp.dms.file",
1921
"target": "new",
2022
"res_id": rec.id,
2123
}

spp_change_request/models/mixins/source_mixin.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -65,23 +65,15 @@ class ChangeRequestAddChildren(models.Model):
6565

6666
# DMS Field
6767
dms_directory_ids = fields.One2many(
68-
"dms.directory",
69-
"res_id",
68+
"spp.dms.directory",
69+
"change_request_id",
7070
string="DMS Directories",
71-
domain=lambda self: [
72-
("res_model", "=", self._name),
73-
("storage_id.save_type", "!=", "attachment"),
74-
],
7571
auto_join=True,
7672
)
7773
dms_file_ids = fields.One2many(
78-
"dms.file",
79-
"res_id",
74+
"spp.dms.file",
75+
"change_request_id",
8076
string="DMS Files",
81-
domain=lambda self: [
82-
("directory_id.res_model", "=", self._name),
83-
("storage_id.save_type", "!=", "attachment"),
84-
],
8577
auto_join=True,
8678
)
8779

spp_change_request/security/ir.model.access.csv

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,9 @@ spp_change_request_g2p_phone_number_validator,G2P Phone Number CR Validator Acce
3333
spp_change_request_g2p_reg_id_validator,G2P Registrant ID CR Validator Access,g2p_registry_base.model_g2p_reg_id,spp_change_request.group_spp_change_request_validator,1,1,1,0
3434
spp_change_request_cancel_wizard_validator,Change Request Cancel Validator Access,spp_change_request.model_spp_change_request_cancel_wizard,spp_change_request.group_spp_change_request_validator,1,1,1,1
3535

36-
spp_dms_storage_validator,SPP DMS Storage Validator Access,dms.model_dms_storage,spp_change_request.group_spp_change_request_validator,1,0,0,0
37-
spp_dms_directory_validator,SPP DMS Directory Validator Access,dms.model_dms_directory,spp_change_request.group_spp_change_request_validator,1,0,0,0
38-
spp_dms_category_validator,SPP DMS Category Validator Access,dms.model_dms_category,spp_change_request.group_spp_change_request_validator,1,0,0,0
39-
spp_dms_tag_validator,SPP DMS Tag Validator Access,dms.model_dms_tag,spp_change_request.group_spp_change_request_validator,1,0,0,0
40-
spp_dms_file_validator,SPP DMS File Validator Access,dms.model_dms_file,spp_change_request.group_spp_change_request_validator,1,0,0,0
36+
spp_dms_directory_validator,SPP DMS Directory Validator Access,spp_dms.model_spp_dms_directory,spp_change_request.group_spp_change_request_validator,1,0,0,0
37+
spp_dms_category_validator,SPP DMS Category Validator Access,spp_dms.model_spp_dms_category,spp_change_request.group_spp_change_request_validator,1,0,0,0
38+
spp_dms_file_validator,SPP DMS File Validator Access,spp_dms.model_spp_dms_file,spp_change_request.group_spp_change_request_validator,1,0,0,0
4139

4240
spp_res_partner_validator,SPP Contacts Validator Access,base.model_res_partner,spp_change_request.group_spp_change_request_validator,1,1,1,0
4341
spp_ir_model_validator,SPP IR Model Validator Access,base.model_ir_model,spp_change_request.group_spp_change_request_validator,1,0,0,0
@@ -60,11 +58,9 @@ spp_change_request_g2p_phone_number_hq_validator,G2P Phone Number CR HQ Validato
6058
spp_change_request_g2p_reg_id_hq_validator,G2P Registrant ID CR HQ Validator Access,g2p_registry_base.model_g2p_reg_id,spp_change_request.group_spp_change_request_hq_validator,1,1,1,0
6159
spp_change_request_cancel_wizard_hq_validator,Change Request Cancel HQ Validator Access,spp_change_request.model_spp_change_request_cancel_wizard,spp_change_request.group_spp_change_request_hq_validator,1,1,1,1
6260

63-
spp_dms_storage_hq_validator,SPP DMS Storage HQ Validator Access,dms.model_dms_storage,spp_change_request.group_spp_change_request_hq_validator,1,0,0,0
64-
spp_dms_directory_hq_validator,SPP DMS Directory HQ Validator Access,dms.model_dms_directory,spp_change_request.group_spp_change_request_hq_validator,1,0,0,0
65-
spp_dms_category_hq_validator,SPP DMS Category HQ Validator Access,dms.model_dms_category,spp_change_request.group_spp_change_request_hq_validator,1,0,0,0
66-
spp_dms_tag_hq_validator,SPP DMS Tag HQ Validator Access,dms.model_dms_tag,spp_change_request.group_spp_change_request_hq_validator,1,0,0,0
67-
spp_dms_file_hq_validator,SPP DMS File HQ Validator Access,dms.model_dms_file,spp_change_request.group_spp_change_request_hq_validator,1,0,0,0
61+
spp_dms_directory_hq_validator,SPP DMS Directory HQ Validator Access,spp_dms.model_spp_dms_directory,spp_change_request.group_spp_change_request_hq_validator,1,0,0,0
62+
spp_dms_category_hq_validator,SPP DMS Category HQ Validator Access,spp_dms.model_spp_dms_category,spp_change_request.group_spp_change_request_hq_validator,1,0,0,0
63+
spp_dms_file_hq_validator,SPP DMS File HQ Validator Access,spp_dms.model_spp_dms_file,spp_change_request.group_spp_change_request_hq_validator,1,0,0,0
6864

6965
spp_res_partner_hq_validator,SPP Contacts HQ Validator Access,base.model_res_partner,spp_change_request.group_spp_change_request_hq_validator,1,1,1,0
7066
spp_ir_model_hq_validator,SPP IR Model HQ Validator Access,base.model_ir_model,spp_change_request.group_spp_change_request_hq_validator,1,0,0,0
@@ -87,11 +83,9 @@ spp_change_request_g2p_phone_number_administrator,G2P Phone Number CR Administra
8783
spp_change_request_g2p_reg_id_administrator,G2P Registrant ID CR Administrator Access,g2p_registry_base.model_g2p_reg_id,spp_change_request.group_spp_change_request_administrator,1,1,1,0
8884
spp_change_request_cancel_wizard_administrator,Change Request Cancel Administrator Access,spp_change_request.model_spp_change_request_cancel_wizard,spp_change_request.group_spp_change_request_administrator,1,1,1,1
8985

90-
spp_dms_storage_administrator,SPP DMS Storage Administrator Access,dms.model_dms_storage,spp_change_request.group_spp_change_request_administrator,1,1,1,0
91-
spp_dms_directory_administrator,SPP DMS Directory Administrator Access,dms.model_dms_directory,spp_change_request.group_spp_change_request_administrator,1,1,1,0
92-
spp_dms_category_administrator,SPP DMS Category Administrator Access,dms.model_dms_category,spp_change_request.group_spp_change_request_administrator,1,1,1,0
93-
spp_dms_tag_administrator,SPP DMS Tag Administrator Access,dms.model_dms_tag,spp_change_request.group_spp_change_request_administrator,1,1,1,0
94-
spp_dms_file_administrator,SPP DMS File Administrator Access,dms.model_dms_file,spp_change_request.group_spp_change_request_administrator,1,1,1,1
86+
spp_dms_directory_administrator,SPP DMS Directory Administrator Access,spp_dms.model_spp_dms_directory,spp_change_request.group_spp_change_request_administrator,1,1,1,0
87+
spp_dms_category_administrator,SPP DMS Category Administrator Access,spp_dms.model_spp_dms_category,spp_change_request.group_spp_change_request_administrator,1,1,1,0
88+
spp_dms_file_administrator,SPP DMS File Administrator Access,spp_dms.model_spp_dms_file,spp_change_request.group_spp_change_request_administrator,1,1,1,1
9589

9690
spp_res_partner_administrator,SPP Contacts Administrator Access,base.model_res_partner,spp_change_request.group_spp_change_request_administrator,1,1,1,0
9791
spp_ir_model_administrator,SPP IR Model Administrator Access,base.model_ir_model,spp_change_request.group_spp_change_request_administrator,1,0,0,0
@@ -114,11 +108,9 @@ spp_change_request_g2p_phone_number_applicator,G2P Phone Number CR Applicator Ac
114108
spp_change_request_g2p_reg_id_applicator,G2P Registrant ID CR Applicator Access,g2p_registry_base.model_g2p_reg_id,spp_change_request.group_spp_change_request_applicator,1,1,1,0
115109
spp_change_request_cancel_wizard_applicator,Change Request Cancel Applicator Access,spp_change_request.model_spp_change_request_cancel_wizard,spp_change_request.group_spp_change_request_applicator,1,1,1,1
116110

117-
spp_dms_storage_applicator,SPP DMS Storage Applicator Access,dms.model_dms_storage,spp_change_request.group_spp_change_request_applicator,1,0,0,0
118-
spp_dms_directory_applicator,SPP DMS Directory Applicator Access,dms.model_dms_directory,spp_change_request.group_spp_change_request_applicator,1,0,0,0
119-
spp_dms_category_applicator,SPP DMS Category Applicator Access,dms.model_dms_category,spp_change_request.group_spp_change_request_applicator,1,0,0,0
120-
spp_dms_tag_applicator,SPP DMS Tag Applicator Access,dms.model_dms_tag,spp_change_request.group_spp_change_request_applicator,1,0,0,0
121-
spp_dms_file_applicator,SPP DMS File Applicator Access,dms.model_dms_file,spp_change_request.group_spp_change_request_applicator,1,0,0,0
111+
spp_dms_directory_applicator,SPP DMS Directory Applicator Access,spp_dms.model_spp_dms_directory,spp_change_request.group_spp_change_request_applicator,1,0,0,0
112+
spp_dms_category_applicator,SPP DMS Category Applicator Access,spp_dms.model_spp_dms_category,spp_change_request.group_spp_change_request_applicator,1,0,0,0
113+
spp_dms_file_applicator,SPP DMS File Applicator Access,spp_dms.model_spp_dms_file,spp_change_request.group_spp_change_request_applicator,1,0,0,0
122114

123115
spp_res_partner_applicator,SPP Contacts Applicator Access,base.model_res_partner,spp_change_request.group_spp_change_request_applicator,1,1,1,0
124116
spp_ir_model_applicator,SPP IR Model Applicator Access,base.model_ir_model,spp_change_request.group_spp_change_request_applicator,1,0,0,0
@@ -138,11 +130,9 @@ spp_change_request_g2p_reg_rel_agent,G2P Registry Relationship CR Agent Access,g
138130
spp_change_request_g2p_phone_number_agent,G2P Phone Number CR Agent Access,g2p_registry_base.model_g2p_phone_number,spp_change_request.group_spp_change_request_agent,1,0,0,0
139131
spp_change_request_g2p_reg_id_agent,G2P Registrant ID CR Agent Access,g2p_registry_base.model_g2p_reg_id,spp_change_request.group_spp_change_request_agent,1,0,0,0
140132

141-
spp_dms_storage_agent,SPP DMS Storage Agent Access,dms.model_dms_storage,spp_change_request.group_spp_change_request_agent,1,1,1,0
142-
spp_dms_directory_agent,SPP DMS Directory Agent Access,dms.model_dms_directory,spp_change_request.group_spp_change_request_agent,1,1,1,0
143-
spp_dms_category_agent,SPP DMS Category Agent Access,dms.model_dms_category,spp_change_request.group_spp_change_request_agent,1,0,0,0
144-
spp_dms_tag_agent,SPP DMS Tag Agent Access,dms.model_dms_tag,spp_change_request.group_spp_change_request_agent,1,1,1,0
145-
spp_dms_file_agent,SPP DMS File Agent Access,dms.model_dms_file,spp_change_request.group_spp_change_request_agent,1,1,1,1
133+
spp_dms_directory_agent,SPP DMS Directory Agent Access,spp_dms.model_spp_dms_directory,spp_change_request.group_spp_change_request_agent,1,1,1,0
134+
spp_dms_category_agent,SPP DMS Category Agent Access,spp_dms.model_spp_dms_category,spp_change_request.group_spp_change_request_agent,1,0,0,0
135+
spp_dms_file_agent,SPP DMS File Agent Access,spp_dms.model_spp_dms_file,spp_change_request.group_spp_change_request_agent,1,1,1,1
146136

147137
spp_res_partner_agent,SPP Contacts Agent Access,base.model_res_partner,spp_change_request.group_spp_change_request_agent,1,0,0,0
148138
spp_ir_model_agent,SPP IR Model Agent Access,base.model_ir_model,spp_change_request.group_spp_change_request_agent,1,0,0,0

spp_change_request/views/dms_file_view.xml

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
<odoo>
22
<record id="view_dms_file_spp_custom_form" model="ir.ui.view">
33
<field name="name">view_dms_file_spp_custom_form</field>
4-
<field name="model">dms.file</field>
4+
<field name="model">spp.dms.file</field>
55
<field name="priority">1000</field>
66
<field name="arch" type="xml">
77
<form string="Files">
88
<sheet>
9-
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" invisible="active" />
109
<div class="oe_button_box" name="button_box" />
1110
<field
1211
name="image_1920"
@@ -22,7 +21,6 @@
2221
options="{'no_open': True,'no_create': True,'no_edit':True}"
2322
required="1"
2423
readonly="context.get('category_readonly')"
25-
domain="[('parent_id', 'child_of', %(spp_change_request.pds_dms_extra_documents)d)]"
2624
/>
2725
</h4>
2826
<h2>
@@ -45,32 +43,20 @@
4543
options="{'no_quick_create': True,'no_open':True}"
4644
class="oe_read_only"
4745
/>
48-
<field name="storage_id" options="{'no_open': True}" />
49-
<field
46+
<!-- <field
5047
name="path_json"
5148
widget="path_json"
5249
options="{'prefix': True, 'suffix': False}"
5350
invisible="not name or not directory_id"
5451
string="Path"
55-
/>
52+
/> -->
5653
</group>
5754
</group>
58-
<field name="active" invisible="1" />
59-
<field name="tag_ids" invisible="1" />
6055
<field name="extension" invisible="1" />
61-
<field name="storage_id_save_type" invisible="1" />
62-
<field name="res_model" invisible="1" />
63-
<field name="res_id" invisible="1" />
64-
<field name="record_ref" invisible="1" />
6556
<field name="create_date" invisible="1" />
6657
<field name="create_uid" invisible="1" />
6758
<field name="write_date" invisible="1" />
6859
<field name="write_uid" invisible="1" />
69-
<field name="permission_write" invisible="1" />
70-
<field name="permission_unlink" invisible="1" />
71-
<field name="is_lock_editor" invisible="1" />
72-
<field name="is_locked" invisible="1" />
73-
<field name="locked_by" invisible="1" />
7460
</sheet>
7561
<button
7662
string="Save"

0 commit comments

Comments
 (0)