Files
gsinghpal 41d0908ade changes
2026-04-24 21:04:38 -04:00

60 KiB

Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_claims (2026-04-22)

Corpus Check

  • 72 files · ~103,790 words
  • Verdict: corpus is large enough that graph structure adds value.

Summary

  • 1440 nodes · 2061 edges · 155 communities detected
  • Extraction: 89% EXTRACTED · 11% INFERRED · 0% AMBIGUOUS · INFERRED: 230 edges (avg confidence: 0.8)
  • Token cost: 0 input · 0 output

Community Hubs (Navigation)

God Nodes (most connected - your core abstractions)

  1. SaleOrder - 232 edges
  2. create() - 72 edges
  3. FusionTaskMapController - 38 edges
  4. AccountMove - 29 edges
  5. FusionTechnicianTaskClaims - 22 edges
  6. FusionClaimsDashboard - 14 edges
  7. FusionCentralExportWizard - 12 edges
  8. _compute_adp_portions() - 12 edges
  9. DiscretionaryBenefitWizard - 11 edges
  10. XMLViewerDialog - 10 edges

Surprising Connections (you probably didn't know these)

  • _onchange_invoice_type_client_type() --calls--> _compute_adp_portions() [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_claims/models/account_move.py → /Users/gurpreet/Github/Odoo-Modules/fusion_claims/models/sale_order_line.py
  • _onchange_sale_type_client_type() --calls--> _compute_adp_portions() [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_claims/models/sale_order.py → /Users/gurpreet/Github/Odoo-Modules/fusion_claims/models/sale_order_line.py
  • parse_and_create() --calls--> create() [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_claims/models/xml_parser.py → /Users/gurpreet/Github/Odoo-Modules/fusion_claims/models/adp_export_record.py
  • previewDocumentAction() --calls--> _t() [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_claims/static/src/js/document_preview.js → /Users/gurpreet/Github/Odoo-Modules/fusion_claims/models/xml_parser.py
  • previewXmlAction() --calls--> _t() [INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_claims/static/src/js/document_preview.js → /Users/gurpreet/Github/Odoo-Modules/fusion_claims/models/xml_parser.py

Communities

Community 0 - "Community 0"

Cohesion: 0.01 Nodes (110): When invoice is paid, auto-advance linked ODSP order to payment_received., Save documents and mark application as received., DiscretionaryBenefitWizard, Build a dictionary mapping PDF field names to values., Fill the Discretionary Benefits PDF using PyPDF2. This PDF is AES-encryp, Sync ODSP office back to sale order if changed in wizard., Generate filled PDF and quotation, attach both to sale order. Returns (d, Fill the Discretionary Benefits PDF and attach to sale order via chatter. (+102 more)

Community 1 - "Community 1"

Cohesion: 0.02 Nodes (60): _cron_adp_expire_approved(), _cron_mod_escalate_followups(), Fire all emails mapped to new_status for this order., Overlay client signature onto Page 2 of the approved SA Mobility form., Auto-overlay POD signature onto the ODSP approval form. Uses the ODSP P, Mark the application as accepted by ADP. This is called when AD, Resume the application from on-hold status. 2026-04 update — hold is on, Return a withdrawn application to Ready for Submission for correction and resubm (+52 more)

Community 2 - "Community 2"

Cohesion: 0.02 Nodes (37): AssessmentCompletedWizard, Send assessment completion email when done from backend., Mark assessment as completed., CaseCloseVerificationWizard, Close the case after verification., Wizard to verify audit trail documents before closing an ADP case. This, Close the case even if some items are missing (with warning)., ModAwaitingFundingWizard (+29 more)

Community 3 - "Community 3"

Cohesion: 0.04 Nodes (44): Send MOD invoice to the case worker via email., create(), ModPcaReceivedWizard, Record PCA, set approval amounts, and create invoice(s)., Create a single MOD invoice for the full order amount., Create MOD invoice with proportionally reduced amounts., Create Client invoice with the difference amounts., Log PCA receipt and invoice creation to chatter. (+36 more)

Community 4 - "Community 4"

Cohesion: 0.03 Nodes (37): _compute_adp_totals(), _compute_has_deductions(), _onchange_invoice_type_client_type(), Get client type from mapped field or built-in field., Get all serial numbers from invoice lines., Manually recalculate ADP and Client portions for all lines., default_get(), DeviceApprovalWizard (+29 more)

Community 5 - "Community 5"

Cohesion: 0.04 Nodes (39): AccountMove, Schedule or renew an ADP-related activity. If an activity of th, Complete all activities of a specific type for this record., Schedule a billing deadline reminder for the configured billing person., Schedule correction reminders for all configured correction alert users., Cron job to renew overdue billing reminders. For invoices with, Cron job to renew overdue correction reminders. For invoices wi, Compute if this is an ADP invoice. (+31 more)

Community 6 - "Community 6"

Cohesion: 0.03 Nodes (4): _check_odsp_division_change(), Helper: check if this order is an ODSP sale., # NOTE: x_fc_mod_application_submitted_date already exists at line ~865 —, # IMPORTANT: Only validate when changing relevant fields, not on every write.

Community 7 - "Community 7"

Cohesion: 0.04 Nodes (30): AccountMoveLine, Get ADP device code from product. Checks multiple sources in or, Get serial number from mapped field or native field., Get device placement., Compute ADP and client portions based on device codes database., Manually recalculate ADP and client portions based on device codes database., _compute_estimated_portions(), Check if the current sale order(s) are ADP sales. (+22 more)

Community 8 - "Community 8"

Cohesion: 0.05 Nodes (20): DocumentPreviewDialog, ImagePreviewDialog, previewDocumentAction(), previewImageAction(), previewXmlAction(), XMLViewerDialog, FusionXmlImportWizard, Process uploaded XML files and create client profiles. (+12 more)

Community 9 - "Community 9"

Cohesion: 0.07 Nodes (12): classifyDate(), classifyTask(), extractTechnicians(), floatToTime12(), FusionMapArchParser, FusionTaskMapController, groupTasks(), initialsOf() (+4 more)

Community 10 - "Community 10"

Cohesion: 0.06 Nodes (20): FusionTechnicianTaskClaims, Return the linked sale or purchase order., Fill address from sale order or purchase order during create., Check rental inspection requirement before completing pickup tasks., Revert sale order on delivery cancellation, send email otherwise., Post a brief task creation notice to the linked order's chatter., Mark linked sale orders as Ready for Delivery., Post the completion notes to the linked order's chatter. (+12 more)

Community 11 - "Community 11"

Cohesion: 0.06 Nodes (16): ADPExportRecord, _collect_subfolder_ids(), migrate_from_documents(), _parse_export_filename(), Extract preview text and auto-link invoices from file content., Download the export file., Open the list of invoices included in this export., Download selected export records as a single ZIP file. Works as a multi (+8 more)

Community 12 - "Community 12"

Cohesion: 0.09 Nodes (12): Factual case details for funder workflow emails., Unified sender for funder workflow emails. recipient: 'client' | 'autho, Return attachment IDs for the approval letter, if any, based on sale type., Quotation + application package prepared. Sent to client., Funding approved. Sent to client., Product delivered. Sent to client., Case closed. Sent to client., Case denied. Sent to client. (+4 more)

Community 13 - "Community 13"

Cohesion: 0.1 Nodes (13): Get the path to the SA Mobility form template PDF., Build a dictionary mapping PDF form field names to values., Fill the SA Mobility PDF template using pdfrw AcroForm field filling., Persist user-editable wizard data to sale order for future sessions., Fill the SA Mobility PDF and attach to the sale order via chatter., Fill PDF, attach to order, and send email to SA Mobility., Get human-readable device description., SAMobilityFeeLine (+5 more)

Community 14 - "Community 14"

Cohesion: 0.1 Nodes (14): DeviceCodeImportWizard, Import device codes from uploaded file., Parse CSV content to data list., _clean_text(), FusionADPDeviceCode, import_from_csv_file(), import_from_file(), import_from_json() (+6 more)

Community 15 - "Community 15"

Cohesion: 0.11 Nodes (12): FusionCentralExportWizard, Verify stored portions against calculated portions. Recalculate, Generate claim lines for an invoice. Uses PRE-CALCULATED values, Generate the full export content., Generate filename for ADP export. ADP requires a specific filen, Check if a file with the same name already exists in ADP Export Records., Perform the export. Flow: 1. Validate inputs 2. Generat, Save export file to the ADP Export Records model (filestore-backed). (+4 more)

Community 16 - "Community 16"

Cohesion: 0.11 Nodes (9): FieldMappingConfigWizard, FieldMappingLine, Individual field mapping configuration line., Wizard for configuring field mappings., Save all field mappings to ir.config_parameter., Save mappings and close the wizard., Reset all mappings to their default FC field values., Auto-detect existing custom fields and update mappings. (+1 more)

Community 17 - "Community 17"

Cohesion: 0.21 Nodes (14): _attachTaskAutocomplete(), _checkDialogsForPartnerForms(), getGoogleMapsApiKey(), initAutocompleteOnField(), initCompanyAutocomplete(), _initDialogAutocomplete(), initSimpleAddressAutocomplete(), isOdooAddressAutocompleteActive() (+6 more)

Community 18 - "Community 18"

Cohesion: 0.18 Nodes (3): _compute_panels(), FusionClaimsDashboard, Open a specific sale order with breadcrumbs.

Community 19 - "Community 19"

Cohesion: 0.17 Nodes (7): Get human-readable label for status., Get FontAwesome icon for status., Get human-readable label for rejection reason., Get human-readable label for denial reason., Confirm status change and post reason to chatter., Wizard to capture reason when changing to specific statuses., StatusChangeReasonWizard

Community 20 - "Community 20"

Cohesion: 0.18 Nodes (6): _compute_preview_image(), OdspReadyDeliveryWizard, Save signature page, advance status, and open the delivery task form., Open the full approval PDF for preview., Load field positions from the active ODSP PDF Template., Render the selected page as a PNG with colored markers at field positions.

Community 21 - "Community 21"

Cohesion: 0.21 Nodes (7): FusionClientChatMessage, FusionClientChatSession, Generate a response without AI, using direct database queries. This is, Build the system prompt for the AI., Query relevant data based on the question to provide context to AI., Process user message and generate AI response., Generate an AI-powered response to the user question. Uses OpenAI API t

Community 22 - "Community 22"

Cohesion: 0.21 Nodes (6): Create a calendar event for the assessment., Wizard to schedule an assessment and create a calendar event., Build the calendar event description., Convert float time (e.g., 14.5) to readable format (2:30 PM)., Schedule the assessment and optionally create a calendar event., ScheduleAssessmentWizard

Community 23 - "Community 23"

Cohesion: 0.17 Nodes (4): FusionClientProfile, Open sale orders for this client., Open parsed ADP application data for this client., Open AI chat about this client using Odoo's native AI agent.

Community 24 - "Community 24"

Cohesion: 0.18 Nodes (7): default_get(), Wizard to verify which device types are being submitted in the ADP application., Confirm the selected device types and store them for Stage 2 comparison., Select all device types., Lines for the submission verification wizard - grouped by device type., SubmissionVerificationWizard, SubmissionVerificationWizardLine

Community 25 - "Community 25"

Cohesion: 0.22 Nodes (4): FusionAdpApplicationData, Reconstruct ADP XML from stored JSON data., Reconstruct the ADP XML from flat JSON dictionary., _set_el()

Community 26 - "Community 26"

Cohesion: 0.22 Nodes (3): ApplicationReceivedWizard, Wizard to upload ADP application documents when application is received., Open the Page 11 remote signing wizard from within the Application Received wiza

Community 27 - "Community 27"

Cohesion: 0.22 Nodes (5): AIAgentFusionClaims, AI Tool: Get aggregated claims statistics., Extend ai.agent with Fusion Claims tool methods., AI Tool: Search client profiles., AI Tool: Get detailed client information.

Community 28 - "Community 28"

Cohesion: 0.39 Nodes (7): extract_name(), fetch_accessories(), get_category_id(), Fetch accessory lines from x_demo_pool_tracking_line_b4ec9., Extract English name from Odoo JSONB field., Map equipment type to an appropriate product category., run_import()

Community 29 - "Community 29"

Cohesion: 0.25 Nodes (3): ProductTemplate, Get ADP device code, preferring the linked device code record. Checks i, Get ADP price, preferring the linked device code record. Checks in orde

Community 30 - "Community 30"

Cohesion: 0.25 Nodes (4): Get the name for cheque payments, defaulting to company name., Return the res.users who should receive the MOD handoff follow-up activi, ResCompany, Daily cron: create mail.activity follow-ups for MOD orders in handoff_to

Community 31 - "Community 31"

Cohesion: 0.36 Nodes (7): clean_text(), convert_csv_to_json(), main(), parse_price(), Clean text from weird characters, normalize encoding., Parse price string like '$64.00' or '$2,578.00' to float., Convert ADP Mobility Manual CSV to JSON format.

Community 32 - "Community 32"

Cohesion: 0.29 Nodes (3): AccountPaymentRegister, Override to validate card number is entered for card payments., Override to add card info to payment values.

Community 33 - "Community 33"

Cohesion: 0.38 Nodes (2): Build domain to find applications linked to this authorizer., ResPartner

Community 34 - "Community 34"

Cohesion: 0.4 Nodes (3): FusionCentralConfig, Detect existing custom x_* fields and map them., # NOTE: param_key must match the config_parameter in res_config_settings.py

Community 35 - "Community 35"

Cohesion: 0.5 Nodes (1): PreviewButtonComponent

Community 36 - "Community 36"

Cohesion: 0.83 Nodes (3): compressImageFile(), onFileChange(), upload()

Community 37 - "Community 37"

Cohesion: 0.67 Nodes (0):

Community 38 - "Community 38"

Cohesion: 0.67 Nodes (1): FilteredStatusSelectionField

Community 39 - "Community 39"

Cohesion: 1.0 Nodes (1): AccountPaymentMethodLine

Community 40 - "Community 40"

Cohesion: 1.0 Nodes (1): AccountPayment

Community 41 - "Community 41"

Cohesion: 1.0 Nodes (0):

Community 42 - "Community 42"

Cohesion: 1.0 Nodes (0):

Community 43 - "Community 43"

Cohesion: 1.0 Nodes (0):

Community 44 - "Community 44"

Cohesion: 1.0 Nodes (0):

Community 45 - "Community 45"

Cohesion: 1.0 Nodes (0):

Community 46 - "Community 46"

Cohesion: 1.0 Nodes (0):

Community 47 - "Community 47"

Cohesion: 1.0 Nodes (0):

Community 48 - "Community 48"

Cohesion: 1.0 Nodes (1): Compute the submitted device types from Stage 1 for comparison display.

Community 49 - "Community 49"

Cohesion: 1.0 Nodes (1): Toggle all lines when 'All Approved' is changed. Only triggers

Community 50 - "Community 50"

Cohesion: 1.0 Nodes (1): Compute estimated portions based on current deduction settings.

Community 51 - "Community 51"

Cohesion: 1.0 Nodes (1): Reason text is required for 'other' selections or non-rejection/denial statuses.

Community 52 - "Community 52"

Cohesion: 1.0 Nodes (1): Set defaults from context.

Community 53 - "Community 53"

Cohesion: 1.0 Nodes (1): Pre-populate wizard from sale order context.

Community 54 - "Community 54"

Cohesion: 1.0 Nodes (1): Check if the selected payment method requires card digits. Uses

Community 55 - "Community 55"

Cohesion: 1.0 Nodes (1): Pre-populate from sale order and partner.

Community 56 - "Community 56"

Cohesion: 1.0 Nodes (1): Compute the proportional split preview when partial approval.

Community 57 - "Community 57"

Cohesion: 1.0 Nodes (1): Auto-detect file type from filename.

Community 58 - "Community 58"

Cohesion: 1.0 Nodes (1): Check if the configured field exists on the model.

Community 59 - "Community 59"

Cohesion: 1.0 Nodes (1): Force recomputation of field_exists when field_name changes.

Community 60 - "Community 60"

Cohesion: 1.0 Nodes (1): Compute summary statistics.

Community 61 - "Community 61"

Cohesion: 1.0 Nodes (1): Load field mappings from ir.config_parameter when wizard opens.

Community 62 - "Community 62"

Cohesion: 1.0 Nodes (1): Compute delivery address from partner shipping address.

Community 63 - "Community 63"

Cohesion: 1.0 Nodes (1): Compute whether to show the authorizer field based on invoice type and authorize

Community 64 - "Community 64"

Cohesion: 1.0 Nodes (1): Compute whether to show the 'Authorizer Required?' field.

Community 65 - "Community 65"

Cohesion: 1.0 Nodes (1): Check if this client invoice needs device verification. Shows T

Community 66 - "Community 66"

Cohesion: 1.0 Nodes (1): Compute ADP and Client portion totals from invoice lines. These

Community 67 - "Community 67"

Cohesion: 1.0 Nodes (1): Compute filtered list of only actual product lines (no sections, notes, or empty

Community 68 - "Community 68"

Cohesion: 1.0 Nodes (1): Compute if invoice has any deductions and total deduction amount.

Community 69 - "Community 69"

Cohesion: 1.0 Nodes (1): Trigger recalculation when invoice type or client type changes.

Community 70 - "Community 70"

Cohesion: 1.0 Nodes (1): Get the configured base posting date from settings.

Community 71 - "Community 71"

Cohesion: 1.0 Nodes (1): Get the configured posting frequency in days from settings.

Community 72 - "Community 72"

Cohesion: 1.0 Nodes (1): Calculate the next ADP posting date from a given date. Args:

Community 73 - "Community 73"

Cohesion: 1.0 Nodes (1): Get the posting date for the current cycle (may be in the past).

Community 74 - "Community 74"

Cohesion: 1.0 Nodes (1): Get the Wednesday before the posting date (submission deadline day).

Community 75 - "Community 75"

Cohesion: 1.0 Nodes (1): Get the Tuesday of the posting week (delivery reminder date). A

Community 76 - "Community 76"

Cohesion: 1.0 Nodes (1): Get the Monday of the posting week (billing reminder date). Arg

Community 77 - "Community 77"

Cohesion: 1.0 Nodes (1): Get the expected payment received date (posting + 10 days). Arg

Community 78 - "Community 78"

Cohesion: 1.0 Nodes (1): Get the payment processed date (posting + 7 days). Args:

Community 79 - "Community 79"

Cohesion: 1.0 Nodes (1): Get the configured billing reminder user from settings.

Community 80 - "Community 80"

Cohesion: 1.0 Nodes (1): Get the configured correction reminder users from settings.

Community 81 - "Community 81"

Cohesion: 1.0 Nodes (1): Check if we're past the submission deadline for a posting cycle.

Community 82 - "Community 82"

Cohesion: 1.0 Nodes (1): Mark expired unsigned requests.

Community 83 - "Community 83"

Cohesion: 1.0 Nodes (1): Compute separate counts for ADP and Client invoices. Uses x_fc_

Community 84 - "Community 84"

Cohesion: 1.0 Nodes (1): Compute separate counts for MOD and Client invoices on MOD cases.

Community 85 - "Community 85"

Cohesion: 1.0 Nodes (1): Compute count of linked vendor bills.

Community 86 - "Community 86"

Cohesion: 1.0 Nodes (1): Compute the number of submissions for this order.

Community 87 - "Community 87"

Cohesion: 1.0 Nodes (1): Compute if this is an ADP sale - only ADP or ADP/ODSP sale types.

Community 88 - "Community 88"

Cohesion: 1.0 Nodes (1): Sale type is locked once a workflow has progressed past quotation.

Community 89 - "Community 89"

Cohesion: 1.0 Nodes (1): Compute whether to show the authorizer field based on sale type and authorizer_r

Community 90 - "Community 90"

Cohesion: 1.0 Nodes (1): Compute whether to show the 'Authorizer Required?' field.

Community 91 - "Community 91"

Cohesion: 1.0 Nodes (1): Return the main MOD workflow statuses for kanban columns. Always shows c

Community 92 - "Community 92"

Cohesion: 1.0 Nodes (1): When weeks change, compute the completion date from approval date.

Community 93 - "Community 93"

Cohesion: 1.0 Nodes (1): When date changes, compute weeks from approval date.

Community 94 - "Community 94"

Cohesion: 1.0 Nodes (1): Compute whether to show March of Dimes case fields.

Community 95 - "Community 95"

Cohesion: 1.0 Nodes (1): Compute if this is a March of Dimes sale.

Community 96 - "Community 96"

Cohesion: 1.0 Nodes (1): Compute if this is an ODSP sale.

Community 97 - "Community 97"

Cohesion: 1.0 Nodes (1): Compute whether to show ODSP case fields.

Community 98 - "Community 98"

Cohesion: 1.0 Nodes (1): Block changing ODSP division once the division-specific status has advan

Community 99 - "Community 99"

Cohesion: 1.0 Nodes (1): Auto-populate ODSP case worker from partner when partner changes.

Community 100 - "Community 100"

Cohesion: 1.0 Nodes (1): Return the main workflow statuses for kanban columns. Always shows core

Community 101 - "Community 101"

Cohesion: 1.0 Nodes (1): Override to sort groups by workflow order when grouping by ADP status.

Community 102 - "Community 102"

Cohesion: 1.0 Nodes (1): Compute validity and expiry information for assessments and approvals.

Community 103 - "Community 103"

Cohesion: 1.0 Nodes (1): Compute workflow stage flags for conditional visibility in views.

Community 104 - "Community 104"

Cohesion: 1.0 Nodes (1): Count approval photos.

Community 105 - "Community 105"

Cohesion: 1.0 Nodes (1): Compute filtered list of only actual product lines (no sections, notes, or empty

Community 106 - "Community 106"

Cohesion: 1.0 Nodes (1): Compute device approval status for ADP orders. Only counts line

Community 107 - "Community 107"

Cohesion: 1.0 Nodes (1): Compute if order has any deductions and total deduction amount.

Community 108 - "Community 108"

Cohesion: 1.0 Nodes (1): Compute years since previous funding and 5-year flag.

Community 109 - "Community 109"

Cohesion: 1.0 Nodes (1): Compute warning message for previous funding with time elapsed.

Community 110 - "Community 110"

Cohesion: 1.0 Nodes (1): Validate claim number: 10 digits only, numbers only.

Community 111 - "Community 111"

Cohesion: 1.0 Nodes (1): Validate client reference 1: up to 4 letters, comma allowed.

Community 112 - "Community 112"

Cohesion: 1.0 Nodes (1): Validate client reference 2: exactly 4 digits, numbers only.

Community 113 - "Community 113"

Cohesion: 1.0 Nodes (1): Validate that Original ADP Application is a PDF file.

Community 114 - "Community 114"

Cohesion: 1.0 Nodes (1): Validate that Page 11 & 12 is a PDF file.

Community 115 - "Community 115"

Cohesion: 1.0 Nodes (1): Validate that Final Submitted Application is a PDF file.

Community 116 - "Community 116"

Cohesion: 1.0 Nodes (1): Validate that XML File is an XML file.

Community 117 - "Community 117"

Cohesion: 1.0 Nodes (1): Validate that Proof of Delivery is a PDF file.

Community 118 - "Community 118"

Cohesion: 1.0 Nodes (1): Validate that delivery date is not before approval date. Per bu

Community 119 - "Community 119"

Cohesion: 1.0 Nodes (1): Trigger recalculation when sale type or client type changes.

Community 120 - "Community 120"

Cohesion: 1.0 Nodes (1): Auto-expire ADP orders older than the configured approval window. 2026-

Community 121 - "Community 121"

Cohesion: 1.0 Nodes (1): Cron: Monthly reminder + final warning for on-hold ADP cases. Logic per

Community 122 - "Community 122"

Cohesion: 1.0 Nodes (1): Cron job: Find assessments completed X days ago without application and send rem

Community 123 - "Community 123"

Cohesion: 1.0 Nodes (1): Cron job: Send second reminder X days after first reminder was sent.

Community 124 - "Community 124"

Cohesion: 1.0 Nodes (1): Auto-close ODSP/SA/OW cases 7 days after their final workflow step. SA

Community 125 - "Community 125"

Cohesion: 1.0 Nodes (1): Cron job: Send reminders for orders still in 'submitted' status next business da

Community 126 - "Community 126"

Cohesion: 1.0 Nodes (1): Cron: Schedule bi-weekly follow-up activities for MOD cases awaiting funding.

Community 127 - "Community 127"

Cohesion: 1.0 Nodes (1): Cron: Send auto-email if follow-up activity is overdue. The activity is

Community 128 - "Community 128"

Cohesion: 1.0 Nodes (1): Parse from binary field (base64 encoded). Returns tuple (profile, applic

Community 129 - "Community 129"

Cohesion: 1.0 Nodes (1): Parse raw XML string, create/update profile and application data. Return

Community 130 - "Community 130"

Cohesion: 1.0 Nodes (1): Re-parse an existing application data record from its raw_xml. Updates a

Community 131 - "Community 131"

Cohesion: 1.0 Nodes (1): Get text of child element, empty string if missing.

Community 132 - "Community 132"

Cohesion: 1.0 Nodes (1): Parse date string, return date or False.

Community 133 - "Community 133"

Cohesion: 1.0 Nodes (1): Determine which posting period a file belongs to. If the file was creat

Community 134 - "Community 134"

Cohesion: 1.0 Nodes (1): Migrate existing ADP export files from Documents app to this model. Sea

Community 135 - "Community 135"

Cohesion: 1.0 Nodes (1): Recursively collect all subfolder IDs under the given parent folders.

Community 136 - "Community 136"

Cohesion: 1.0 Nodes (1): Parse an ADP export filename to extract vendor code and date. Expected

Community 137 - "Community 137"

Cohesion: 1.0 Nodes (1): Compute ADP device type and build type from the product's device code.

Community 138 - "Community 138"

Cohesion: 1.0 Nodes (1): Compute ADP and client portions based on product's ADP price, client type, and a

Community 139 - "Community 139"

Cohesion: 1.0 Nodes (1): Lookup ADP info from device codes when product changes.

Community 140 - "Community 140"

Cohesion: 1.0 Nodes (1): Populate device code string and price from the selected device record.

Community 141 - "Community 141"

Cohesion: 1.0 Nodes (1): Create a submission history record from a sale order submission.

Community 142 - "Community 142"

Cohesion: 1.0 Nodes (1): Get the device type for a given device code.

Community 143 - "Community 143"

Cohesion: 1.0 Nodes (1): Get list of unique device types from the database.

Community 144 - "Community 144"

Cohesion: 1.0 Nodes (1): Get device info by code.

Community 145 - "Community 145"

Cohesion: 1.0 Nodes (1): Check if a device code exists in the mobility manual.

Community 146 - "Community 146"

Cohesion: 1.0 Nodes (1): Clean text from weird characters, normalize encoding.

Community 147 - "Community 147"

Cohesion: 1.0 Nodes (1): Parse price string like '$64.00' or '$2,578.00' to float.

Community 148 - "Community 148"

Cohesion: 1.0 Nodes (1): Import device codes from JSON data. Expected format (enhanced w

Community 149 - "Community 149"

Cohesion: 1.0 Nodes (1): Import device codes from a CSV file (ADP Mobility Manual format).

Community 150 - "Community 150"

Cohesion: 1.0 Nodes (1): Import device codes from a JSON file.

Community 151 - "Community 151"

Cohesion: 1.0 Nodes (1): Load device codes from the packaged JSON file. Called automatically on m

Community 152 - "Community 152"

Cohesion: 1.0 Nodes (1): Auto-fill client and address from the sale order's shipping address.

Community 153 - "Community 153"

Cohesion: 1.0 Nodes (1): Auto-fill client and address from the purchase order's vendor.

Community 154 - "Community 154"

Cohesion: 1.0 Nodes (1): Create a child element, self-closing if empty.

Knowledge Gaps

  • 540 isolated node(s): Post-init hook: load device codes then link products to them. Called on mod, Populate x_fc_adp_device_code_id and x_fc_is_adp_product for existing produc, Wizard to collect required fields before marking as Ready for Submission., Validate and mark as ready for submission., Find or create a partner for the MOD default email. (+535 more) These have ≤1 connection - possible missing edges or undocumented components.
  • Thin community Community 39 (2 nodes): AccountPaymentMethodLine, account_payment_method_line.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 40 (2 nodes): AccountPayment, account_payment.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 41 (2 nodes): fcOptions(), calendar_store_hours.js Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 42 (2 nodes): formatData(), tax_totals_patch.js Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 43 (2 nodes): _displayInvalidFieldNotification(), debug_required_fields.js Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 44 (2 nodes): run_cleanup(), cleanup_demo_pool.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 45 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 46 (1 nodes): __init__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 47 (1 nodes): __manifest__.py Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 48 (1 nodes): Compute the submitted device types from Stage 1 for comparison display. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 49 (1 nodes): Toggle all lines when 'All Approved' is changed. Only triggers Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 50 (1 nodes): Compute estimated portions based on current deduction settings. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 51 (1 nodes): Reason text is required for 'other' selections or non-rejection/denial statuses. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 52 (1 nodes): Set defaults from context. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 53 (1 nodes): Pre-populate wizard from sale order context. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 54 (1 nodes): Check if the selected payment method requires card digits. Uses Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 55 (1 nodes): Pre-populate from sale order and partner. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 56 (1 nodes): Compute the proportional split preview when partial approval. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 57 (1 nodes): Auto-detect file type from filename. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 58 (1 nodes): Check if the configured field exists on the model. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 59 (1 nodes): Force recomputation of field_exists when field_name changes. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 60 (1 nodes): Compute summary statistics. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 61 (1 nodes): Load field mappings from ir.config_parameter when wizard opens. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 62 (1 nodes): Compute delivery address from partner shipping address. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 63 (1 nodes): Compute whether to show the authorizer field based on invoice type and authorize Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 64 (1 nodes): Compute whether to show the 'Authorizer Required?' field. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 65 (1 nodes): Check if this client invoice needs device verification. Shows T Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 66 (1 nodes): Compute ADP and Client portion totals from invoice lines. These Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 67 (1 nodes): Compute filtered list of only actual product lines (no sections, notes, or empty Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 68 (1 nodes): Compute if invoice has any deductions and total deduction amount. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 69 (1 nodes): Trigger recalculation when invoice type or client type changes. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 70 (1 nodes): Get the configured base posting date from settings. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 71 (1 nodes): Get the configured posting frequency in days from settings. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 72 (1 nodes): Calculate the next ADP posting date from a given date. Args: Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 73 (1 nodes): Get the posting date for the current cycle (may be in the past). Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 74 (1 nodes): Get the Wednesday before the posting date (submission deadline day). Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 75 (1 nodes): Get the Tuesday of the posting week (delivery reminder date). A Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 76 (1 nodes): Get the Monday of the posting week (billing reminder date). Arg Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 77 (1 nodes): Get the expected payment received date (posting + 10 days). Arg Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 78 (1 nodes): Get the payment processed date (posting + 7 days). Args: Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 79 (1 nodes): Get the configured billing reminder user from settings. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 80 (1 nodes): Get the configured correction reminder users from settings. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 81 (1 nodes): Check if we're past the submission deadline for a posting cycle. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 82 (1 nodes): Mark expired unsigned requests. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 83 (1 nodes): Compute separate counts for ADP and Client invoices. Uses x_fc_ Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 84 (1 nodes): Compute separate counts for MOD and Client invoices on MOD cases. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 85 (1 nodes): Compute count of linked vendor bills. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 86 (1 nodes): Compute the number of submissions for this order. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 87 (1 nodes): Compute if this is an ADP sale - only ADP or ADP/ODSP sale types. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 88 (1 nodes): Sale type is locked once a workflow has progressed past quotation. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 89 (1 nodes): Compute whether to show the authorizer field based on sale type and authorizer_r Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 90 (1 nodes): Compute whether to show the 'Authorizer Required?' field. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 91 (1 nodes): Return the main MOD workflow statuses for kanban columns. Always shows c Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 92 (1 nodes): When weeks change, compute the completion date from approval date. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 93 (1 nodes): When date changes, compute weeks from approval date. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 94 (1 nodes): Compute whether to show March of Dimes case fields. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 95 (1 nodes): Compute if this is a March of Dimes sale. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 96 (1 nodes): Compute if this is an ODSP sale. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 97 (1 nodes): Compute whether to show ODSP case fields. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 98 (1 nodes): Block changing ODSP division once the division-specific status has advan Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 99 (1 nodes): Auto-populate ODSP case worker from partner when partner changes. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 100 (1 nodes): Return the main workflow statuses for kanban columns. Always shows core Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 101 (1 nodes): Override to sort groups by workflow order when grouping by ADP status. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 102 (1 nodes): Compute validity and expiry information for assessments and approvals. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 103 (1 nodes): Compute workflow stage flags for conditional visibility in views. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 104 (1 nodes): Count approval photos. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 105 (1 nodes): Compute filtered list of only actual product lines (no sections, notes, or empty Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 106 (1 nodes): Compute device approval status for ADP orders. Only counts line Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 107 (1 nodes): Compute if order has any deductions and total deduction amount. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 108 (1 nodes): Compute years since previous funding and 5-year flag. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 109 (1 nodes): Compute warning message for previous funding with time elapsed. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 110 (1 nodes): Validate claim number: 10 digits only, numbers only. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 111 (1 nodes): Validate client reference 1: up to 4 letters, comma allowed. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 112 (1 nodes): Validate client reference 2: exactly 4 digits, numbers only. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 113 (1 nodes): Validate that Original ADP Application is a PDF file. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 114 (1 nodes): Validate that Page 11 & 12 is a PDF file. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 115 (1 nodes): Validate that Final Submitted Application is a PDF file. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 116 (1 nodes): Validate that XML File is an XML file. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 117 (1 nodes): Validate that Proof of Delivery is a PDF file. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 118 (1 nodes): Validate that delivery date is not before approval date. Per bu Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 119 (1 nodes): Trigger recalculation when sale type or client type changes. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 120 (1 nodes): Auto-expire ADP orders older than the configured approval window. 2026- Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 121 (1 nodes): Cron: Monthly reminder + final warning for on-hold ADP cases. Logic per Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 122 (1 nodes): Cron job: Find assessments completed X days ago without application and send rem Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 123 (1 nodes): Cron job: Send second reminder X days after first reminder was sent. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 124 (1 nodes): Auto-close ODSP/SA/OW cases 7 days after their final workflow step. SA Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 125 (1 nodes): Cron job: Send reminders for orders still in 'submitted' status next business da Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 126 (1 nodes): Cron: Schedule bi-weekly follow-up activities for MOD cases awaiting funding. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 127 (1 nodes): Cron: Send auto-email if follow-up activity is overdue. The activity is Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 128 (1 nodes): Parse from binary field (base64 encoded). Returns tuple (profile, applic Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 129 (1 nodes): Parse raw XML string, create/update profile and application data. Return Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 130 (1 nodes): Re-parse an existing application data record from its raw_xml. Updates a Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 131 (1 nodes): Get text of child element, empty string if missing. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 132 (1 nodes): Parse date string, return date or False. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 133 (1 nodes): Determine which posting period a file belongs to. If the file was creat Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 134 (1 nodes): Migrate existing ADP export files from Documents app to this model. Sea Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 135 (1 nodes): Recursively collect all subfolder IDs under the given parent folders. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 136 (1 nodes): Parse an ADP export filename to extract vendor code and date. Expected Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 137 (1 nodes): Compute ADP device type and build type from the product's device code. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 138 (1 nodes): Compute ADP and client portions based on product's ADP price, client type, and a Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 139 (1 nodes): Lookup ADP info from device codes when product changes. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 140 (1 nodes): Populate device code string and price from the selected device record. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 141 (1 nodes): Create a submission history record from a sale order submission. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 142 (1 nodes): Get the device type for a given device code. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 143 (1 nodes): Get list of unique device types from the database. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 144 (1 nodes): Get device info by code. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 145 (1 nodes): Check if a device code exists in the mobility manual. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 146 (1 nodes): Clean text from weird characters, normalize encoding. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 147 (1 nodes): Parse price string like '$64.00' or '$2,578.00' to float. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 148 (1 nodes): Import device codes from JSON data. Expected format (enhanced w Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 149 (1 nodes): Import device codes from a CSV file (ADP Mobility Manual format). Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 150 (1 nodes): Import device codes from a JSON file. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 151 (1 nodes): Load device codes from the packaged JSON file. Called automatically on m Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 152 (1 nodes): Auto-fill client and address from the sale order's shipping address. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 153 (1 nodes): Auto-fill client and address from the purchase order's vendor. Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 154 (1 nodes): Create a child element, self-closing if empty. Too small to be a meaningful cluster - may be noise or needs more connections extracted.

Suggested Questions

Questions this graph is uniquely positioned to answer:

  • Why does SaleOrder connect Community 0 to Community 1, Community 3, Community 4, Community 5, Community 6, Community 7, Community 12, Community 13, Community 30? High betweenness centrality (0.315) - this node is a cross-community bridge.
  • Why does create() connect Community 3 to Community 0, Community 1, Community 2, Community 4, Community 7, Community 8, Community 10, Community 11, Community 12, Community 13, Community 14, Community 15, Community 20, Community 21, Community 22, Community 25, Community 28, Community 30? High betweenness centrality (0.241) - this node is a cross-community bridge.
  • Why does _t() connect Community 8 to Community 9? High betweenness centrality (0.085) - this node is a cross-community bridge.
  • Are the 68 inferred relationships involving create() (e.g. with ._get_mod_partner() and .action_send()) actually correct? create() has 68 INFERRED edges - model-reasoned connections that need verification.
  • What connects Post-init hook: load device codes then link products to them. Called on mod, Populate x_fc_adp_device_code_id and x_fc_is_adp_product for existing produc, Wizard to collect required fields before marking as Ready for Submission. to the rest of the system? 540 weakly-connected nodes found - possible documentation gaps or missing edges.
  • Should Community 0 be split into smaller, more focused modules? Cohesion score 0.01 - nodes in this community are weakly interconnected.
  • Should Community 1 be split into smaller, more focused modules? Cohesion score 0.02 - nodes in this community are weakly interconnected.