fix: repair lease status, invoicing and report defects - #76
Merged
aakvatech merged 14 commits intoSep 4, 2026
Merged
Conversation
# Conflicts: # .gitignore # propms/__init__.py # propms/auto_custom.py # propms/hooks.py # propms/issue_hook.py # propms/lease_invoice.py # propms/lease_invoice_schedule.py # propms/pos.js # propms/property_management_solution/doctype/lease/lease.py # propms/property_management_solution/doctype/property/property.py # propms/property_management_solution/report/mis_income_break_up/other_methods.py # propms/property_management_solution/report/subscription_service_report/subscription_service_report.js # pyproject.toml
aakvatech
merged commit Sep 4, 2026
620b2e0
into
Aakvatech-Limited:version-16-hotfix
3 of 4 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Functional defects found while building the version-16 test suite. Each one is
covered by a test in the suite PR, and each was reproduced on the v16 test bench
before it was fixed.
Lease status was never set
Lease.validate()calledset_lease_status()after the active-lease limitcheck, and
set_lease_status()treated a blank status as a manual choice andreturned early. A newly inserted Lease therefore kept
lease_status = ""forever, which silently disabled four features at once:
already
Active, which never happened on insert);initiate_lease_renewalrejects anything that is notActiveorExpired;lease_status in (Upcoming, Active, Expired);Activeleases.The status is now resolved first, and a blank status is treated as
system-controlled rather than manual.
Everything else
auto_custom.pyparenttype="lease"(lowercase), so anyparent_doctype-scoped query missed themlease_invoice.pyleaseInvoiceAutoCreatedereferencedinvoice_itemwhen the schedule was empty; a failing invoice was swallowed with no visible trace. The flush is guarded, validation errors now propagate out ofmakeInvoice, and batch failures are written to the Error Log. A duplicatedparentfield was removed from the querylease_invoice_schedule.pyfrappe.db.sql(query.get_sql())replaced withquery.run()mis_income_break_up/other_methods.pycould not convert string to float: 'Total Rentals Received'on every runsubscription_service_reportget_query, so the whole file failed to parse and the report had no filters; the SQL also selecteditem_namefromtabSales Invoice, where that column does not existdaily_checklist,outsourcing_attendance,security_attendanceautoname: naming_series:with aDatafield that had no options — inserting any of them failed withNaming Series mandatory, which also broke the Handover checklist thatLease.on_submitcreatesproperty_tree.jsproperty_name, but Property is named fromname1, so creating a property from the tree view failed withName is requiredissue.js__()instead of passing placeholdersDepends on #75.