This commit is contained in:
gsinghpal
2026-04-24 21:04:38 -04:00
parent 0eab4b4efb
commit 41d0908ade
4083 changed files with 1230780 additions and 287 deletions

View File

@@ -0,0 +1,304 @@
# Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_clock (2026-04-22)
## Corpus Check
- 25 files · ~19,294 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 300 nodes · 466 edges · 40 communities detected
- Extraction: 86% EXTRACTED · 14% INFERRED · 0% AMBIGUOUS · INFERRED: 66 edges (avg confidence: 0.77)
- Token cost: 0 input · 0 output
## Community Hubs (Navigation)
- [[_COMMUNITY_Community 0|Community 0]]
- [[_COMMUNITY_Community 1|Community 1]]
- [[_COMMUNITY_Community 2|Community 2]]
- [[_COMMUNITY_Community 3|Community 3]]
- [[_COMMUNITY_Community 4|Community 4]]
- [[_COMMUNITY_Community 5|Community 5]]
- [[_COMMUNITY_Community 6|Community 6]]
- [[_COMMUNITY_Community 7|Community 7]]
- [[_COMMUNITY_Community 8|Community 8]]
- [[_COMMUNITY_Community 9|Community 9]]
- [[_COMMUNITY_Community 10|Community 10]]
- [[_COMMUNITY_Community 11|Community 11]]
- [[_COMMUNITY_Community 12|Community 12]]
- [[_COMMUNITY_Community 13|Community 13]]
- [[_COMMUNITY_Community 14|Community 14]]
- [[_COMMUNITY_Community 15|Community 15]]
- [[_COMMUNITY_Community 16|Community 16]]
- [[_COMMUNITY_Community 17|Community 17]]
- [[_COMMUNITY_Community 18|Community 18]]
- [[_COMMUNITY_Community 19|Community 19]]
- [[_COMMUNITY_Community 20|Community 20]]
- [[_COMMUNITY_Community 21|Community 21]]
- [[_COMMUNITY_Community 22|Community 22]]
- [[_COMMUNITY_Community 23|Community 23]]
- [[_COMMUNITY_Community 24|Community 24]]
- [[_COMMUNITY_Community 25|Community 25]]
- [[_COMMUNITY_Community 26|Community 26]]
- [[_COMMUNITY_Community 27|Community 27]]
- [[_COMMUNITY_Community 28|Community 28]]
- [[_COMMUNITY_Community 29|Community 29]]
- [[_COMMUNITY_Community 30|Community 30]]
- [[_COMMUNITY_Community 31|Community 31]]
- [[_COMMUNITY_Community 32|Community 32]]
- [[_COMMUNITY_Community 33|Community 33]]
- [[_COMMUNITY_Community 34|Community 34]]
- [[_COMMUNITY_Community 35|Community 35]]
- [[_COMMUNITY_Community 36|Community 36]]
- [[_COMMUNITY_Community 37|Community 37]]
- [[_COMMUNITY_Community 38|Community 38]]
- [[_COMMUNITY_Community 39|Community 39]]
## God Nodes (most connected - your core abstractions)
1. `FusionClockPortal` - 33 edges
2. `get_local_today()` - 18 edges
3. `FusionClockPortalFAB` - 17 edges
4. `FusionClockAPI` - 17 edges
5. `create()` - 16 edges
6. `FusionClockLocationMap` - 16 edges
7. `FusionClockFAB` - 16 edges
8. `get_local_day_boundaries()` - 14 edges
9. `FusionClockPlacesAutocomplete` - 10 edges
10. `clock_action()` - 10 edges
## Surprising Connections (you probably didn't know these)
- `_cron_generate_period_reports()` --calls--> `create()` [INFERRED]
/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_report.py → /Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_leave_request.py
- `action_generate_historical_reports()` --calls--> `create()` [INFERRED]
/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_report.py → /Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_leave_request.py
- `request_leave()` --calls--> `create()` [INFERRED]
/Users/gurpreet/Github/Odoo-Modules/fusion_clock/controllers/clock_api.py → /Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_leave_request.py
- `request_correction()` --calls--> `create()` [INFERRED]
/Users/gurpreet/Github/Odoo-Modules/fusion_clock/controllers/clock_api.py → /Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_leave_request.py
- `_compute_totals()` --calls--> `_resolve_tz()` [INFERRED]
/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_report.py → /Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/tz_utils.py
## Communities
### Community 0 - "Community 0"
Cohesion: 0.13
Nodes (1): FusionClockPortal
### Community 1 - "Community 1"
Cohesion: 0.09
Nodes (21): dashboard_data(), FusionClockAPI, get_locations(), haversine_distance(), Get scheduled clock-in and clock-out datetime using employee shift., Apply automatic break deduction if configured., Create an activity log entry., Calculate the great-circle distance between two points on Earth (in meters). (+13 more)
### Community 2 - "Community 2"
Cohesion: 0.11
Nodes (23): clock_action(), Check if a penalty should be created and deduct minutes., create(), _compute_overtime_hours(), _cron_fusion_auto_clock_out(), _cron_fusion_check_absences(), _cron_fusion_employee_reminders(), _cron_fusion_weekly_summary() (+15 more)
### Community 3 - "Community 3"
Cohesion: 0.12
Nodes (20): get_status(), _compute_totals(), CustomerPortal, FusionClockPortal, portal_clock(), portal_report_download(), portal_reports(), portal_timesheets() (+12 more)
### Community 4 - "Community 4"
Cohesion: 0.14
Nodes (11): action_generate_historical_reports(), _calculate_current_period(), _cron_generate_period_reports(), FusionClockReport, Generate the PDF report for this record., Reset the report back to draft so the user can make changes., Send the report via email., Link attendance and leave records for the period and employee. (+3 more)
### Community 5 - "Community 5"
Cohesion: 0.25
Nodes (1): FusionClockPortalFAB
### Community 6 - "Community 6"
Cohesion: 0.17
Nodes (1): FusionClockLocationMap
### Community 7 - "Community 7"
Cohesion: 0.18
Nodes (1): FusionClockFAB
### Community 8 - "Community 8"
Cohesion: 0.15
Nodes (5): FusionClockLocation, Check if a client IP matches this location's whitelist. Returns True if, Detect the IP the Odoo server sees from your browser and add it., Geocode the address to get lat/lng using Google Geocoding API. Falls bac, Open attendance records for this location.
### Community 9 - "Community 9"
Cohesion: 0.23
Nodes (6): create(), FusionClockCorrection, Reject the correction request., Schedule a mail.activity for the office user., Log the correction event., Approve the correction and update the attendance record.
### Community 10 - "Community 10"
Cohesion: 0.25
Nodes (1): FusionClockPlacesAutocomplete
### Community 11 - "Community 11"
Cohesion: 0.27
Nodes (1): FusionClockKiosk
### Community 12 - "Community 12"
Cohesion: 0.22
Nodes (4): FusionClockLeaveRequest, Log the leave request in the activity log., Mark the leave request as reviewed by the office user., Schedule a mail.activity for the office user.
### Community 13 - "Community 13"
Cohesion: 0.25
Nodes (1): FusionClockDashboard
### Community 14 - "Community 14"
Cohesion: 0.5
Nodes (1): FusionClockActivityLog
### Community 15 - "Community 15"
Cohesion: 0.5
Nodes (1): FusionClockShift
### Community 16 - "Community 16"
Cohesion: 0.5
Nodes (1): FusionClockPenalty
### Community 17 - "Community 17"
Cohesion: 0.5
Nodes (1): ResConfigSettings
### Community 18 - "Community 18"
Cohesion: 1.0
Nodes (0):
### Community 19 - "Community 19"
Cohesion: 1.0
Nodes (0):
### Community 20 - "Community 20"
Cohesion: 1.0
Nodes (0):
### Community 21 - "Community 21"
Cohesion: 1.0
Nodes (0):
### Community 22 - "Community 22"
Cohesion: 1.0
Nodes (1): Cron: Generate reports when a pay period ends.
### Community 23 - "Community 23"
Cohesion: 1.0
Nodes (1): Calculate the period start/end dates based on schedule type.
### Community 24 - "Community 24"
Cohesion: 1.0
Nodes (1): Generate reports for all past pay periods from historical attendance data.
### Community 25 - "Community 25"
Cohesion: 1.0
Nodes (1): Return the scheduled work hours for this shift (excluding break).
### Community 26 - "Community 26"
Cohesion: 1.0
Nodes (1): Cron job: auto clock-out employees after shift + grace period.
### Community 27 - "Community 27"
Cohesion: 1.0
Nodes (1): Cron job: check for absent employees (no attendance on workday).
### Community 28 - "Community 28"
Cohesion: 1.0
Nodes (1): Cron job: send clock-in/out reminders to employees.
### Community 29 - "Community 29"
Cohesion: 1.0
Nodes (1): Cron job: send weekly summary email to employees (Monday 8 AM).
### Community 30 - "Community 30"
Cohesion: 1.0
Nodes (1): Create a mail.activity for the office user.
### Community 31 - "Community 31"
Cohesion: 1.0
Nodes (1): Send a notification to an employee via internal note.
### Community 32 - "Community 32"
Cohesion: 1.0
Nodes (1): Main clock-in/out portal page.
### Community 33 - "Community 33"
Cohesion: 1.0
Nodes (1): Read-only timesheet view.
### Community 34 - "Community 34"
Cohesion: 1.0
Nodes (1): View and download attendance reports.
### Community 35 - "Community 35"
Cohesion: 1.0
Nodes (1): Download a specific report PDF.
### Community 36 - "Community 36"
Cohesion: 1.0
Nodes (1): Submit a reason for missed clock-out.
### Community 37 - "Community 37"
Cohesion: 1.0
Nodes (1): Submit a leave request from the portal.
### Community 38 - "Community 38"
Cohesion: 1.0
Nodes (1): Submit a timesheet correction request from the portal.
### Community 39 - "Community 39"
Cohesion: 1.0
Nodes (1): Return dashboard data for managers.
## Knowledge Gaps
- **65 isolated node(s):** `Approve the correction and update the attendance record.`, `Reject the correction request.`, `Schedule a mail.activity for the office user.`, `Log the correction event.`, `Schedule a mail.activity for the office user.` (+60 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **Thin community `Community 18`** (1 nodes): `__init__.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 19`** (1 nodes): `__init__.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 20`** (1 nodes): `__init__.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 21`** (1 nodes): `__manifest__.py`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 22`** (1 nodes): `Cron: Generate reports when a pay period ends.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 23`** (1 nodes): `Calculate the period start/end dates based on schedule type.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 24`** (1 nodes): `Generate reports for all past pay periods from historical attendance data.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 25`** (1 nodes): `Return the scheduled work hours for this shift (excluding break).`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 26`** (1 nodes): `Cron job: auto clock-out employees after shift + grace period.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 27`** (1 nodes): `Cron job: check for absent employees (no attendance on workday).`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 28`** (1 nodes): `Cron job: send clock-in/out reminders to employees.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 29`** (1 nodes): `Cron job: send weekly summary email to employees (Monday 8 AM).`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 30`** (1 nodes): `Create a mail.activity for the office user.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 31`** (1 nodes): `Send a notification to an employee via internal note.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 32`** (1 nodes): `Main clock-in/out portal page.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 33`** (1 nodes): `Read-only timesheet view.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 34`** (1 nodes): `View and download attendance reports.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 35`** (1 nodes): `Download a specific report PDF.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 36`** (1 nodes): `Submit a reason for missed clock-out.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 37`** (1 nodes): `Submit a leave request from the portal.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 38`** (1 nodes): `Submit a timesheet correction request from the portal.`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 39`** (1 nodes): `Return dashboard data for managers.`
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 `get_local_today()` connect `Community 2` to `Community 1`, `Community 3`, `Community 4`?**
_High betweenness centrality (0.057) - this node is a cross-community bridge._
- **Why does `create()` connect `Community 2` to `Community 1`, `Community 12`, `Community 4`?**
_High betweenness centrality (0.049) - this node is a cross-community bridge._
- **Why does `clock_action()` connect `Community 2` to `Community 1`?**
_High betweenness centrality (0.039) - this node is a cross-community bridge._
- **Are the 15 inferred relationships involving `get_local_today()` (e.g. with `_cron_generate_period_reports()` and `action_generate_historical_reports()`) actually correct?**
_`get_local_today()` has 15 INFERRED edges - model-reasoned connections that need verification._
- **Are the 7 inferred relationships involving `FusionClockAPI` (e.g. with `FusionClockKiosk` and `Kiosk mode controller for shared-device clock-in/out.`) actually correct?**
_`FusionClockAPI` has 7 INFERRED edges - model-reasoned connections that need verification._
- **Are the 13 inferred relationships involving `create()` (e.g. with `._send_report_email()` and `.action_export_csv()`) actually correct?**
_`create()` has 13 INFERRED edges - model-reasoned connections that need verification._
- **What connects `Approve the correction and update the attendance record.`, `Reject the correction request.`, `Schedule a mail.activity for the office user.` to the rest of the system?**
_65 weakly-connected nodes found - possible documentation gaps or missing edges._

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_shift_py", "label": "clock_shift.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L1"}, {"id": "clock_shift_fusionclockshift", "label": "FusionClockShift", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L8"}, {"id": "clock_shift_fusionclockshift_compute_employee_count", "label": "._compute_employee_count()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L55"}, {"id": "clock_shift_scheduled_hours", "label": "scheduled_hours()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L60"}, {"id": "clock_shift_rationale_61", "label": "Return the scheduled work hours for this shift (excluding break).", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L61"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_shift_py", "target": "odoo", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L5", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_shift_py", "target": "clock_shift_fusionclockshift", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L8", "weight": 1.0}, {"source": "clock_shift_fusionclockshift", "target": "clock_shift_fusionclockshift_compute_employee_count", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L55", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_shift_py", "target": "clock_shift_scheduled_hours", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L60", "weight": 1.0}, {"source": "clock_shift_rationale_61", "target": "clock_shift_fusionclockshift_scheduled_hours", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L61", "weight": 1.0}], "raw_calls": [{"caller_nid": "clock_shift_fusionclockshift_compute_employee_count", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L57"}, {"caller_nid": "clock_shift_scheduled_hours", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_shift.py", "source_location": "L63"}]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_clock_controllers_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/controllers/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_clock_controllers_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_controllers_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/controllers/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_controllers_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_controllers_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/controllers/__init__.py", "source_location": "L4", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_controllers_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_controllers_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/controllers/__init__.py", "source_location": "L5", "weight": 1.0}], "raw_calls": []}

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_activity_log_py", "label": "clock_activity_log.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L1"}, {"id": "clock_activity_log_fusionclockactivitylog", "label": "FusionClockActivityLog", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L8"}, {"id": "clock_activity_log_compute_attempt_map_url", "label": "_compute_attempt_map_url()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L111"}, {"id": "clock_activity_log_compute_display_name", "label": "_compute_display_name()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L128"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_activity_log_py", "target": "odoo", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L5", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_activity_log_py", "target": "clock_activity_log_fusionclockactivitylog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L8", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_activity_log_py", "target": "clock_activity_log_compute_attempt_map_url", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L111", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_activity_log_py", "target": "clock_activity_log_compute_display_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L128", "weight": 1.0}], "raw_calls": [{"caller_nid": "clock_activity_log_compute_attempt_map_url", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L112"}, {"caller_nid": "clock_activity_log_compute_attempt_map_url", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L112"}, {"caller_nid": "clock_activity_log_compute_display_name", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L131"}, {"caller_nid": "clock_activity_log_compute_display_name", "callee": "strftime", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_activity_log.py", "source_location": "L132"}]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_clock_manifest_py", "label": "__manifest__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/__manifest__.py", "source_location": "L1"}], "edges": [], "raw_calls": []}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_clock_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_clock_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/__init__.py", "source_location": "L5", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/__init__.py", "source_location": "L6", "weight": 1.0}], "raw_calls": []}

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_penalty_py", "label": "clock_penalty.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L1"}, {"id": "clock_penalty_fusionclockpenalty", "label": "FusionClockPenalty", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L8"}, {"id": "clock_penalty_compute_difference", "label": "_compute_difference()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L58"}, {"id": "clock_penalty_compute_display_name", "label": "_compute_display_name()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L67"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_penalty_py", "target": "odoo", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L5", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_penalty_py", "target": "clock_penalty_fusionclockpenalty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L8", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_penalty_py", "target": "clock_penalty_compute_difference", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L58", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_clock_penalty_py", "target": "clock_penalty_compute_display_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L67", "weight": 1.0}], "raw_calls": [{"caller_nid": "clock_penalty_compute_difference", "callee": "abs", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L61"}, {"caller_nid": "clock_penalty_compute_difference", "callee": "total_seconds", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L61"}, {"caller_nid": "clock_penalty_compute_difference", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L62"}, {"caller_nid": "clock_penalty_compute_display_name", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L68"}, {"caller_nid": "clock_penalty_compute_display_name", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/clock_penalty.py", "source_location": "L71"}]}

View File

@@ -0,0 +1 @@
{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/__init__.py", "source_location": "L4", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/__init__.py", "source_location": "L5", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/__init__.py", "source_location": "L6", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/__init__.py", "source_location": "L7", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/__init__.py", "source_location": "L8", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/__init__.py", "source_location": "L9", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/__init__.py", "source_location": "L10", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/__init__.py", "source_location": "L11", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "target": "users_gurpreet_github_odoo_modules_fusion_clock_models_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_clock/models/__init__.py", "source_location": "L12", "weight": 1.0}], "raw_calls": []}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff