From e655a92f4a94caf329795b0cc5da4ba4cfe5397c Mon Sep 17 00:00:00 2001 From: Niranjan Kumar Date: Wed, 29 Jan 2025 17:58:49 +0530 Subject: [PATCH 1/5] Added fields in group template --- .../controllers/main.py | 62 +++++++--- .../static/src/css/style.css | 7 +- .../static/src/js/member_form.js | 10 ++ .../views/group_template.xml | 109 +++++++++++++++++- .../views/individual_page.xml | 11 +- 5 files changed, 174 insertions(+), 25 deletions(-) diff --git a/g2p_registration_portal_base/controllers/main.py b/g2p_registration_portal_base/controllers/main.py index a002edec..fe5cae8c 100644 --- a/g2p_registration_portal_base/controllers/main.py +++ b/g2p_registration_portal_base/controllers/main.py @@ -65,7 +65,7 @@ def group_create_submit(self, **kw): beneficiary_id = None # Group creation if kw.get("group_id"): - beneficiary_id = request.env["res.partner"].sudo().browse(int(kw.get("group_id"))) + beneficiary_id = request.env["res.partner"].sudo().browse(int(kw.get("group_id"))).id else: if head_name: user = request.env.user @@ -185,6 +185,7 @@ def group_submit(self, **kw): def individual_create(self, **kw): res = dict() try: + user = request.env.user head_name = kw.get("household_name") head_individual = None # Group creation @@ -195,7 +196,9 @@ def individual_create(self, **kw): group_rec = ( request.env["res.partner"] .sudo() - .create({"name": head_name, "is_registrant": True, "is_group": True}) + .create( + {"name": head_name, "is_registrant": True, "is_group": True, "user_id": user.id} + ) ) # Head creation head_name_parts = head_name.split(" ") @@ -220,6 +223,9 @@ def individual_create(self, **kw): "family_name": h_family_name, "birthdate": kw.get("Household_dob"), "gender": kw.get("Househol_gender"), + "email": kw.get("email"), + "address": kw.get("address"), + "user_id": user.id, } ) ) @@ -227,7 +233,6 @@ def individual_create(self, **kw): given_name = kw.get("given_name") family_name = kw.get("family_name") addl_name = kw.get("addl_name") - user = request.env.user name = f"{given_name}, {addl_name} {family_name}" @@ -238,6 +243,8 @@ def individual_create(self, **kw): "addl_name": addl_name, "birthdate": kw.get("birthdate"), "gender": kw.get("gender"), + "email": kw.get("email"), + "address": kw.get("address"), "is_registrant": True, "is_group": False, "user_id": user.id, @@ -297,6 +304,8 @@ def update_member(self, **kw): "family_name": beneficiary.family_name, "dob": str(beneficiary.birthdate), "gender": beneficiary.gender, + "email": kw.get("email"), + "address": kw.get("address"), "id": beneficiary.id, } return json.dumps(exist_value) @@ -331,6 +340,8 @@ def update_member_submit(self, **kw): "family_name": family_name, "birthdate": kw.get("birthdate"), "gender": kw.get("gender"), + "email": kw.get("email"), + "address": kw.get("address"), } ) # group = request.env["res.partner"].sudo().browse(int(kw.get("group_id"))) @@ -411,20 +422,30 @@ def individual_create_submit(self, **kw): else: birthdate = kw.get("birthdate") - request.env["res.partner"].sudo().create( - { - "given_name": kw.get("given_name"), - "addl_name": kw.get("addl_name"), - "family_name": kw.get("family_name"), - "name": name, - "birthdate": birthdate, - "gender": kw.get("gender"), - "email": kw.get("email"), - "user_id": user.id, - "is_registrant": True, - "is_group": False, - } + registrant = ( + request.env["res.partner"] + .sudo() + .create( + { + "given_name": kw.get("given_name"), + "addl_name": kw.get("addl_name"), + "family_name": kw.get("family_name"), + "name": name, + "birthdate": birthdate, + "gender": kw.get("gender"), + "email": kw.get("email"), + "user_id": user.id, + "is_registrant": True, + "is_group": False, + } + ) ) + for key, value in kw.items(): + if key in registrant: + registrant.write({key: value}) + else: + _logger.error(f"Ignoring invalid key: {key}") + return request.redirect("/portal/registration/individual") except Exception as e: @@ -487,7 +508,7 @@ def update_individual_submit(self, **kw): else: birthdate = kw.get("birthdate") - member.sudo().write( + member = member.sudo().write( { "given_name": kw.get("given_name"), "addl_name": kw.get("addl_name"), @@ -498,6 +519,13 @@ def update_individual_submit(self, **kw): "email": kw.get("email"), } ) + + for key, value in kw.items(): + if key in member: + member.write({key: value}) + else: + _logger.error(f"Ignoring invalid key: {key}") + return request.redirect("/portal/registration/individual") except Exception as e: diff --git a/g2p_registration_portal_base/static/src/css/style.css b/g2p_registration_portal_base/static/src/css/style.css index 959ceb85..2b069d97 100644 --- a/g2p_registration_portal_base/static/src/css/style.css +++ b/g2p_registration_portal_base/static/src/css/style.css @@ -96,6 +96,11 @@ opacity: 1; } +.table-container table td { + text-align: left; + vertical-align: middle; + padding-left: 10px; +} .table-head-container .search-box { width: 273px; height: 40px; @@ -1886,7 +1891,7 @@ li div p { } #memberDetailModal .modal-dialog { max-width: 800px; - max-height: 400px; + max-height: 600px; } .active-logo { width: 20px; diff --git a/g2p_registration_portal_base/static/src/js/member_form.js b/g2p_registration_portal_base/static/src/js/member_form.js index 312f3f53..a7e57d86 100644 --- a/g2p_registration_portal_base/static/src/js/member_form.js +++ b/g2p_registration_portal_base/static/src/js/member_form.js @@ -90,6 +90,8 @@ $(document).on("click", "#member_submit", function () { var relationship = $('#memberDetailModal select[name="relationship"]').val(); var isValid = true; var modal = $("#memberDetailModal"); + var email = $("#memberDetailModal #email").val(); + var address = $("#memberDetailModal #address").val(); $(".form-control, .form-select").removeClass("is-invalid"); @@ -124,6 +126,8 @@ $(document).on("click", "#member_submit", function () { dob: dob, gender: gender, relationship: relationship, + email: email, + address: address, }, dataType: "json", success: function (response) { @@ -207,6 +211,8 @@ $(document).on("click", "#mem-update", function () { modal.find("#family_name").val(response.family_name); modal.find("#birthdate").val(response.dob); modal.find('select[name="gender"]').val(response.gender); + modal.find("#email").val(response.email); + modal.find("#address").val(response.address); $("#member_submit").replaceWith( '
+ +
+
+ + +
+
+
+ +
+
+
+ + +
@@ -747,8 +748,10 @@ class="form-control" rows="2" placeholder="Enter Address" - t-att-value="address" - /> + > +
@@ -997,11 +1000,11 @@ @@ -1002,7 +1004,9 @@