From 269b99c4fd75feca0fc9b1e0511869a7f70568b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Sun, 17 May 2026 21:41:42 +0200 Subject: [PATCH 1/2] [ADD] hr_birth_data --- hr_birth_data/README.rst | 101 +++++ hr_birth_data/__init__.py | 4 + hr_birth_data/__manifest__.py | 19 + hr_birth_data/models/__init__.py | 4 + hr_birth_data/models/hr_employee.py | 30 ++ hr_birth_data/pyproject.toml | 3 + hr_birth_data/readme/CONTRIBUTORS.md | 1 + hr_birth_data/readme/DESCRIPTION.md | 14 + hr_birth_data/static/description/index.html | 437 ++++++++++++++++++++ hr_birth_data/views/hr_employee_views.xml | 37 ++ 10 files changed, 650 insertions(+) create mode 100644 hr_birth_data/README.rst create mode 100644 hr_birth_data/__init__.py create mode 100644 hr_birth_data/__manifest__.py create mode 100644 hr_birth_data/models/__init__.py create mode 100644 hr_birth_data/models/hr_employee.py create mode 100644 hr_birth_data/pyproject.toml create mode 100644 hr_birth_data/readme/CONTRIBUTORS.md create mode 100644 hr_birth_data/readme/DESCRIPTION.md create mode 100644 hr_birth_data/static/description/index.html create mode 100644 hr_birth_data/views/hr_employee_views.xml diff --git a/hr_birth_data/README.rst b/hr_birth_data/README.rst new file mode 100644 index 00000000000..2f1930fdd0b --- /dev/null +++ b/hr_birth_data/README.rst @@ -0,0 +1,101 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +============= +HR Birth Data +============= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:48ad5838d6537909e62b5a3a267b7d233979544d648b8d6e5b30ebd307288954 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhr-lightgray.png?logo=github + :target: https://github.com/OCA/hr/tree/19.0/hr_birth_data + :alt: OCA/hr +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/hr-19-0/hr-19-0-hr_birth_data + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/hr&target_branch=19.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Adds birth time and birth coordinates to the employee profile. + +Provides the base fields used by astrological and other birth-data +modules: + +- **Birth Time** (``birth_hour``): decimal hours, e.g. 14.5 = 14:30 +- **Birth Latitude / Longitude**: geographic coordinates of the birth + place + +These fields are displayed in the *Private Information* tab of the +employee form, alongside the existing *Place of Birth* field. + +This module contains no calculations — it is a data layer intended to be +extended by modules such as ``hr_birth_astral_chart``. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* ForgeFlow + +Contributors +------------ + +- Miquel Raïch + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-MiquelRForgeFlow| image:: https://github.com/MiquelRForgeFlow.png?size=40px + :target: https://github.com/MiquelRForgeFlow + :alt: MiquelRForgeFlow + +Current `maintainer `__: + +|maintainer-MiquelRForgeFlow| + +This module is part of the `OCA/hr `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/hr_birth_data/__init__.py b/hr_birth_data/__init__.py new file mode 100644 index 00000000000..34d939457c3 --- /dev/null +++ b/hr_birth_data/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2026 Forgeflow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/hr_birth_data/__manifest__.py b/hr_birth_data/__manifest__.py new file mode 100644 index 00000000000..01546958362 --- /dev/null +++ b/hr_birth_data/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2026 Forgeflow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "HR Birth Data", + "version": "19.0.1.0.0", + "category": "Human Resources", + "website": "https://github.com/OCA/hr", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "maintainers": ["MiquelRForgeFlow"], + "license": "AGPL-3", + "installable": True, + "application": False, + "summary": "Adds birth time and birth coordinates to the employee profile", + "depends": ["hr"], + "data": [ + "views/hr_employee_views.xml", + ], +} diff --git a/hr_birth_data/models/__init__.py b/hr_birth_data/models/__init__.py new file mode 100644 index 00000000000..081bfa341a5 --- /dev/null +++ b/hr_birth_data/models/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2026 Forgeflow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import hr_employee diff --git a/hr_birth_data/models/hr_employee.py b/hr_birth_data/models/hr_employee.py new file mode 100644 index 00000000000..879a10ae66b --- /dev/null +++ b/hr_birth_data/models/hr_employee.py @@ -0,0 +1,30 @@ +# Copyright 2026 Forgeflow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models + + +class HrEmployee(models.Model): + _inherit = "hr.employee" + + birth_hour = fields.Float( + string="Birth Time", + help="Birth time in decimal hours (e.g. 14.5 = 14:30). " + "Required to compute the Ascendant and Houses.", + ) + birth_latitude = fields.Float( + digits=(10, 6), + help="Geographic latitude of birth place (+ north, − south).", + ) + birth_longitude = fields.Float( + digits=(10, 6), + help="Geographic longitude of birth place (+ east, − west).", + ) + birth_location_known = fields.Boolean( + compute="_compute_birth_location_known", + ) + + @api.depends("birth_latitude", "birth_longitude") + def _compute_birth_location_known(self): + for rec in self: + rec.birth_location_known = bool(rec.birth_latitude or rec.birth_longitude) diff --git a/hr_birth_data/pyproject.toml b/hr_birth_data/pyproject.toml new file mode 100644 index 00000000000..4231d0cccb3 --- /dev/null +++ b/hr_birth_data/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/hr_birth_data/readme/CONTRIBUTORS.md b/hr_birth_data/readme/CONTRIBUTORS.md new file mode 100644 index 00000000000..1da3d73e294 --- /dev/null +++ b/hr_birth_data/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Miquel Raïch \<\> diff --git a/hr_birth_data/readme/DESCRIPTION.md b/hr_birth_data/readme/DESCRIPTION.md new file mode 100644 index 00000000000..704c2383a51 --- /dev/null +++ b/hr_birth_data/readme/DESCRIPTION.md @@ -0,0 +1,14 @@ +Adds birth time and birth coordinates to the employee profile. + +Provides the base fields used by astrological and other birth-data +modules: + +- **Birth Time** (``birth_hour``): decimal hours, e.g. 14.5 = 14:30 +- **Birth Latitude / Longitude**: geographic coordinates of the birth + place + +These fields are displayed in the *Private Information* tab of the +employee form, alongside the existing *Place of Birth* field. + +This module contains no calculations — it is a data layer intended to be +extended by modules such as ``hr_birth_astral_chart``. diff --git a/hr_birth_data/static/description/index.html b/hr_birth_data/static/description/index.html new file mode 100644 index 00000000000..eb4fd76e22c --- /dev/null +++ b/hr_birth_data/static/description/index.html @@ -0,0 +1,437 @@ + + + + + +README.rst + + + +
+ + +Odoo Community Association +
+

HR Birth Data

+ +

Beta License: AGPL-3 OCA/hr Translate me on Weblate Try me on Runboat

+

Adds birth time and birth coordinates to the employee profile.

+

Provides the base fields used by astrological and other birth-data +modules:

+
    +
  • Birth Time (birth_hour): decimal hours, e.g. 14.5 = 14:30
  • +
  • Birth Latitude / Longitude: geographic coordinates of the birth +place
  • +
+

These fields are displayed in the Private Information tab of the +employee form, alongside the existing Place of Birth field.

+

This module contains no calculations — it is a data layer intended to be +extended by modules such as hr_birth_astral_chart.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • ForgeFlow
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

MiquelRForgeFlow

+

This module is part of the OCA/hr project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+
+ + diff --git a/hr_birth_data/views/hr_employee_views.xml b/hr_birth_data/views/hr_employee_views.xml new file mode 100644 index 00000000000..e42fb506bab --- /dev/null +++ b/hr_birth_data/views/hr_employee_views.xml @@ -0,0 +1,37 @@ + + + + + hr.employee.birth_data.form + hr.employee + + + + + + + From e76b6de333e9eb276f5a86d0394e5efa5d74d83d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Sun, 17 May 2026 21:46:22 +0200 Subject: [PATCH 2/2] [ADD] hr_birth_astral_chart --- hr_birth_astral_chart/README.rst | 105 +++ hr_birth_astral_chart/__init__.py | 4 + hr_birth_astral_chart/__manifest__.py | 26 + hr_birth_astral_chart/ephe/seas_18.se1 | Bin 0 -> 223004 bytes hr_birth_astral_chart/models/__init__.py | 6 + hr_birth_astral_chart/models/astro_calc.py | 171 ++++ hr_birth_astral_chart/models/chart_svg.py | 502 ++++++++++++ hr_birth_astral_chart/models/hr_employee.py | 169 ++++ .../models/interpretations.py | 734 ++++++++++++++++++ hr_birth_astral_chart/pyproject.toml | 3 + hr_birth_astral_chart/readme/CONTRIBUTORS.md | 1 + hr_birth_astral_chart/readme/DESCRIPTION.md | 16 + .../static/description/index.html | 441 +++++++++++ .../static/src/js/birth_chart_table.esm.js | 44 ++ .../static/src/xml/birth_chart_table.xml | 48 ++ .../views/hr_employee_views.xml | 167 ++++ requirements.txt | 1 + 17 files changed, 2438 insertions(+) create mode 100644 hr_birth_astral_chart/README.rst create mode 100644 hr_birth_astral_chart/__init__.py create mode 100644 hr_birth_astral_chart/__manifest__.py create mode 100644 hr_birth_astral_chart/ephe/seas_18.se1 create mode 100644 hr_birth_astral_chart/models/__init__.py create mode 100644 hr_birth_astral_chart/models/astro_calc.py create mode 100644 hr_birth_astral_chart/models/chart_svg.py create mode 100644 hr_birth_astral_chart/models/hr_employee.py create mode 100644 hr_birth_astral_chart/models/interpretations.py create mode 100644 hr_birth_astral_chart/pyproject.toml create mode 100644 hr_birth_astral_chart/readme/CONTRIBUTORS.md create mode 100644 hr_birth_astral_chart/readme/DESCRIPTION.md create mode 100644 hr_birth_astral_chart/static/description/index.html create mode 100644 hr_birth_astral_chart/static/src/js/birth_chart_table.esm.js create mode 100644 hr_birth_astral_chart/static/src/xml/birth_chart_table.xml create mode 100644 hr_birth_astral_chart/views/hr_employee_views.xml diff --git a/hr_birth_astral_chart/README.rst b/hr_birth_astral_chart/README.rst new file mode 100644 index 00000000000..69a8458d9c7 --- /dev/null +++ b/hr_birth_astral_chart/README.rst @@ -0,0 +1,105 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +===================== +HR Birth Astral Chart +===================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:7cdfdfdcb177bcfdbc83acf2f37349036ea8006643bfc524ffc77d8ba08c5b8a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhr-lightgray.png?logo=github + :target: https://github.com/OCA/hr/tree/19.0/hr_birth_astral_chart + :alt: OCA/hr +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/hr-19-0/hr-19-0-hr_birth_astral_chart + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/hr&target_branch=19.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +View your full Western astrological birth chart directly from your +employee profile. + +Depends on ``hr_birth_data`` for the birth time and coordinates fields. + +Adds an **Astral Chart** tab to the employee form showing: + +- **Sun Sign**, **Moon Sign** and **Ascendant** summary badges +- An SVG zodiac wheel with planetary positions +- A detailed table with degree, minute, sign and house for each planet + (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, + Pluto, Chiron, Black Moon Lilith, Ceres) +- Astrological houses (Whole Sign system) when birth time and location + are provided +- Current transits biwheel and interpretation + +Astronomical calculations use ``pyswisseph`` (Python binding for Swiss +Ephemeris) for high-precision planetary positions. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* ForgeFlow + +Contributors +------------ + +- Miquel Raïch + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-MiquelRForgeFlow| image:: https://github.com/MiquelRForgeFlow.png?size=40px + :target: https://github.com/MiquelRForgeFlow + :alt: MiquelRForgeFlow + +Current `maintainer `__: + +|maintainer-MiquelRForgeFlow| + +This module is part of the `OCA/hr `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/hr_birth_astral_chart/__init__.py b/hr_birth_astral_chart/__init__.py new file mode 100644 index 00000000000..34d939457c3 --- /dev/null +++ b/hr_birth_astral_chart/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2026 Forgeflow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/hr_birth_astral_chart/__manifest__.py b/hr_birth_astral_chart/__manifest__.py new file mode 100644 index 00000000000..39bcb4af4cb --- /dev/null +++ b/hr_birth_astral_chart/__manifest__.py @@ -0,0 +1,26 @@ +# Copyright 2026 Forgeflow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "HR Birth Astral Chart", + "version": "19.0.1.0.0", + "category": "Human Resources", + "website": "https://github.com/OCA/hr", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "maintainers": ["MiquelRForgeFlow"], + "license": "AGPL-3", + "installable": True, + "application": False, + "summary": "View your full astrological birth chart from your employee profile", + "external_dependencies": {"python": ["pyswisseph"]}, + "depends": ["hr_birth_data"], + "data": [ + "views/hr_employee_views.xml", + ], + "assets": { + "web.assets_backend": [ + "hr_birth_astral_chart/static/src/xml/birth_chart_table.xml", + "hr_birth_astral_chart/static/src/js/birth_chart_table.esm.js", + ], + }, +} diff --git a/hr_birth_astral_chart/ephe/seas_18.se1 b/hr_birth_astral_chart/ephe/seas_18.se1 new file mode 100644 index 0000000000000000000000000000000000000000..5e75e5659ed9fd7d9a294fbd370d9f4212482bab GIT binary patch literal 223004 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 cXT5$yNp#OcW93 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�>cOXI2ii9HT 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 CmdvjJ literal 0 HcmV?d00001 diff --git a/hr_birth_astral_chart/models/__init__.py b/hr_birth_astral_chart/models/__init__.py new file mode 100644 index 00000000000..78d1aa7a714 --- /dev/null +++ b/hr_birth_astral_chart/models/__init__.py @@ -0,0 +1,6 @@ +# Copyright 2026 Forgeflow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import astro_calc +from . import interpretations +from . import hr_employee diff --git a/hr_birth_astral_chart/models/astro_calc.py b/hr_birth_astral_chart/models/astro_calc.py new file mode 100644 index 00000000000..d2b2f644cda --- /dev/null +++ b/hr_birth_astral_chart/models/astro_calc.py @@ -0,0 +1,171 @@ +# Copyright 2026 Forgeflow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +# pylint: disable=W8161 + +import os + +import swisseph as swe + +_EPHE_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "ephe") +swe.set_ephe_path(_EPHE_PATH) + +SIGNS = [ + "Aries", + "Taurus", + "Gemini", + "Cancer", + "Leo", + "Virgo", + "Libra", + "Scorpio", + "Sagittarius", + "Capricorn", + "Aquarius", + "Pisces", +] +SIGN_SYMBOLS = ["♈", "♉", "♊", "♋", "♌", "♍", "♎", "♏", "♐", "♑", "♒", "♓"] +# Keep as plain English — used as dictionary keys in interpretation logic +SIGN_ELEMENTS = ["Fire", "Earth", "Air", "Water"] * 3 +SIGN_MODALITIES = ["Cardinal", "Fixed", "Mutable"] * 4 +SIGN_POLARITIES = ["Positive", "Negative"] * 6 + +PLANET_NAMES = [ + "Sun", + "Moon", + "Mercury", + "Venus", + "Mars", + "Jupiter", + "Saturn", + "Uranus", + "Neptune", + "Pluto", + "Chiron", + "Lilith", + "Ceres", +] +PLANET_SYMBOLS = ["☉", "☽", "☿", "♀", "♂", "♃", "♄", "⛢", "♆", "♇", "⚷", "⚸", "⚳"] +PLANET_KEYS = [ + "sun", + "moon", + "mercury", + "venus", + "mars", + "jupiter", + "saturn", + "uranus", + "neptune", + "pluto", + "chiron", + "lilith", + "ceres", +] + +_SWE_IDS = { + "sun": swe.SUN, + "moon": swe.MOON, + "mercury": swe.MERCURY, + "venus": swe.VENUS, + "mars": swe.MARS, + "jupiter": swe.JUPITER, + "saturn": swe.SATURN, + "uranus": swe.URANUS, + "neptune": swe.NEPTUNE, + "pluto": swe.PLUTO, + "chiron": swe.CHIRON, + "lilith": swe.MEAN_APOG, + "ceres": swe.CERES, +} + +# Chiron and Ceres require seas_18.se1; all others work via Moshier fallback. +_NEEDS_SE_FILE = {"chiron", "ceres"} +_FLAGS_SE = swe.FLG_SWIEPH +_FLAGS_MOSH = swe.FLG_MOSEPH + + +def _norm(deg): + return deg % 360.0 + + +def lon_to_sign(lon): + """Return (sign_index, degrees_in_sign, minutes).""" + idx = int(lon / 30) % 12 + deg_in = lon % 30 + return idx, int(deg_in), int((deg_in % 1) * 60) + + +def get_house(lon, houses): + """Return 1-based house number for a longitude given Whole Sign houses.""" + if not houses: + return None + for h_i in range(12): + cusp_start = houses[h_i] + cusp_end = houses[(h_i + 1) % 12] + if cusp_start <= cusp_end: + in_house = cusp_start <= lon < cusp_end + else: + in_house = lon >= cusp_start or lon < cusp_end + if in_house: + return h_i + 1 + return None + + +ASPECT_DEFS = [ + ("Conjunction", 0, 8, "☌", "#cc3333"), + ("Sextile", 60, 5, "⚹", "#44aa44"), + ("Square", 90, 7, "□", "#cc6633"), + ("Trine", 120, 7, "△", "#4466cc"), + ("Opposition", 180, 8, "☍", "#aa3399"), +] + + +def calc_aspects(natal_planets, transit_planets): + """Return list of active aspects between transit and natal planets.""" + aspects = [] + for t_key in PLANET_KEYS: + t_lon = transit_planets[t_key] + for n_key in PLANET_KEYS: + n_lon = natal_planets[n_key] + diff = abs((t_lon - n_lon + 180) % 360 - 180) + for name, angle, orb, symbol, color in ASPECT_DEFS: + if abs(diff - angle) <= orb: + aspects.append( + { + "transit_key": t_key, + "natal_key": n_key, + "aspect": name, + "symbol": symbol, + "color": color, + "orb": round(abs(diff - angle), 1), + } + ) + return aspects + + +def compute_chart(year, month, day, hour=12.0, lat=None, lon=None): + """Compute full birth chart using Swiss Ephemeris (Moshier fallback).""" + swe.set_ephe_path(_EPHE_PATH) + jd = swe.julday(year, month, day, hour) + + planets = {} + for key in PLANET_KEYS: + flags = _FLAGS_SE if key in _NEEDS_SE_FILE else _FLAGS_MOSH + result, _ = swe.calc_ut(jd, _SWE_IDS[key], flags) + planets[key] = _norm(result[0]) + + nn_result, _ = swe.calc_ut(jd, swe.MEAN_NODE, _FLAGS_MOSH) + north_node = _norm(nn_result[0]) + + chart = {"planets": planets, "jd": jd, "north_node": north_node} + + if lat is not None and lon is not None: + cusps, ascmc = swe.houses(jd, lat, lon, b"W") + chart["ascendant"] = _norm(ascmc[0]) + chart["midheaven"] = _norm(ascmc[1]) + chart["houses"] = [_norm(c) for c in cusps[0:12]] + else: + chart["ascendant"] = None + chart["midheaven"] = None + chart["houses"] = None + + return chart diff --git a/hr_birth_astral_chart/models/chart_svg.py b/hr_birth_astral_chart/models/chart_svg.py new file mode 100644 index 00000000000..2ce6eebad55 --- /dev/null +++ b/hr_birth_astral_chart/models/chart_svg.py @@ -0,0 +1,502 @@ +# Copyright 2026 Forgeflow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +# pylint: disable=W8161 + +import math + +from .astro_calc import ( + PLANET_KEYS, + PLANET_NAMES, + PLANET_SYMBOLS, + SIGN_SYMBOLS, + SIGNS, + get_house, + lon_to_sign, +) + +CX, CY, R = 260, 260, 200 +R_SIGN = R +R_SIGN_IN = R - 36 +R_HOUSE = R_SIGN_IN - 4 +R_PLANET = R_HOUSE - 22 +R_CENTER = R_PLANET - 28 + +R_TRANSIT_OUT = R_SIGN + 36 +R_TRANSIT_IN = R_SIGN + 4 +R_TRANSIT_PLANET = R_SIGN + 20 + +COLOR_FIRE = "#e8554e" +COLOR_EARTH = "#7db87d" +COLOR_AIR = "#7ba7c7" +COLOR_WATER = "#9b7fc0" +SIGN_COLORS = [COLOR_FIRE, COLOR_EARTH, COLOR_AIR, COLOR_WATER] * 3 +PLANET_COLORS = { + "sun": "#e8a020", + "moon": "#8888cc", + "mercury": "#44aa88", + "venus": "#cc6688", + "mars": "#cc3333", + "jupiter": "#8866cc", + "saturn": "#888844", + "uranus": "#44aacc", + "neptune": "#4466cc", + "pluto": "#884422", + "chiron": "#5fa8a0", + "lilith": "#776688", + "ceres": "#6a9e5a", +} + +# CSS embedded in the SVG — uses Bootstrap/Odoo CSS variables so the chart +# adapts automatically to light mode, dark mode and custom themes. +_SVG_STYLE = """""" + + +def _r(deg): + return math.radians(deg) + + +def _xy(angle_deg, r, cx=CX, cy=CY): + a = math.radians(180.0 - angle_deg) + return cx + r * math.cos(a), cy + r * math.sin(a) + + +def _sign_sector(i): + start, end = i * 30, (i + 1) * 30 + x1o, y1o = _xy(start, R_SIGN) + x2o, y2o = _xy(end, R_SIGN) + x1i, y1i = _xy(start, R_SIGN_IN) + x2i, y2i = _xy(end, R_SIGN_IN) + return ( + f"M {x1o:.2f} {y1o:.2f} " + f"A {R_SIGN} {R_SIGN} 0 0 0 {x2o:.2f} {y2o:.2f} " + f"L {x2i:.2f} {y2i:.2f} " + f"A {R_SIGN_IN} {R_SIGN_IN} 0 0 1 {x1i:.2f} {y1i:.2f} Z" + ) + + +def _spoke(angle_deg): + x1, y1 = _xy(angle_deg, R_SIGN) + x2, y2 = _xy(angle_deg, R_SIGN_IN) + return f"M {x1:.2f} {y1:.2f} L {x2:.2f} {y2:.2f}" + + +def _render_zodiac_ring(parts, r_out, r_in, xy_fn, opacity, font_size): + """Render a 12-sector zodiac ring with sign symbols and boundary spokes.""" + for i in range(12): + s, e = i * 30, (i + 1) * 30 + x1o, y1o = xy_fn(s, r_out) + x2o, y2o = xy_fn(e, r_out) + x1i, y1i = xy_fn(s, r_in) + x2i, y2i = xy_fn(e, r_in) + d = ( + f"M {x1o:.2f} {y1o:.2f} " + f"A {r_out} {r_out} 0 0 0 {x2o:.2f} {y2o:.2f} " + f"L {x2i:.2f} {y2i:.2f} " + f"A {r_in} {r_in} 0 0 1 {x1i:.2f} {y1i:.2f} Z" + ) + parts.append( + f'' + ) + mid = i * 30 + 15 + sx, sy = xy_fn(mid, (r_out + r_in) / 2) + parts.append( + f'{SIGN_SYMBOLS[i]}' + ) + for i in range(12): + x1, y1 = xy_fn(i * 30, r_out) + x2, y2 = xy_fn(i * 30, r_in) + parts.append( + f'' + ) + + +def _place_planets(planets, planet_keys, min_gap_deg): + """Return list of (adjusted_angle, key) with overlap avoidance.""" + placed = [] + for key in planet_keys: + adj = planets[key] + for prev_adj, _k in placed: + if abs((adj - prev_adj + 180) % 360 - 180) < min_gap_deg: + adj = prev_adj + min_gap_deg + 1 + placed.append((adj, key)) + return placed + + +def _render_planet_ring( + parts, + placed, + planets, + tick_r, + planet_r, + colors, + symbols, + xy_fn, + font_size, + inner_tick=True, +): + """Render planet tick marks, offset leader lines, and symbol labels.""" + for adj, key in placed: + orig = planets[key] + col = colors[key] + sym = symbols[PLANET_KEYS.index(key)] + px, py = xy_fn(adj, planet_r) + tx1, ty1 = xy_fn(orig, tick_r - 2) + tx2, ty2 = xy_fn(orig, tick_r + 2) + parts.append( + f'' + ) + if abs((adj - orig + 180) % 360 - 180) > 2: + lx, ly = (tx1, ty1) if inner_tick else (tx2, ty2) + parts.append( + f'' + ) + parts.append( + f'{sym}' + ) + + +def generate_chart_svg(chart_data): + """Generate an SVG birth chart from compute_chart() output.""" + planets = chart_data["planets"] + houses = chart_data.get("houses") + asc = chart_data.get("ascendant") + mc = chart_data.get("midheaven") + + W, H = 520, 520 + parts = [ + f'', + _SVG_STYLE, + ] + + # ── Zodiac sectors ────────────────────────────────────────────────────── + for i in range(12): + parts.append( + f'' + ) + mid = i * 30 + 15 + sx, sy = _xy(mid, (R_SIGN + R_SIGN_IN) / 2) + parts.append( + f'{SIGN_SYMBOLS[i]}' + ) + + # Spokes between signs + for i in range(12): + parts.append(f'') + + # ── Ring circles ──────────────────────────────────────────────────────── + for rr, sw in ((R_SIGN, "1"), (R_SIGN_IN, ".8"), (R_HOUSE, ".5")): + parts.append( + f'' + ) + # Centre fill adapts to body background + parts.append( + f'' + ) + + # ── House cusps ───────────────────────────────────────────────────────── + if houses: + for i, cusp in enumerate(houses): + x1, y1 = _xy(cusp, R_HOUSE) + x2, y2 = _xy(cusp, R_CENTER) + cls = "bc-ac" if i == 0 else "bc-hl" + sw = "1.5" if i in (0, 3, 6, 9) else "0.5" + parts.append( + f'' + ) + mid_angle = cusp + 15 + nx, ny = _xy(mid_angle, (R_HOUSE + R_CENTER) / 2) + parts.append( + f'{i + 1}' + ) + + # ── Planets ────────────────────────────────────────────────────────────── + placed = _place_planets(planets, PLANET_KEYS, 12) + _render_planet_ring( + parts, + placed, + planets, + R_HOUSE, + R_PLANET, + PLANET_COLORS, + PLANET_SYMBOLS, + _xy, + 14, + ) + + # ── AC / MC labels ──────────────────────────────────────────────────────── + if asc is not None: + ax, ay = _xy(asc, R_HOUSE + 10) + parts.append(f'AC') + if mc is not None: + mx2, my2 = _xy(mc, R_HOUSE + 10) + parts.append(f'MC') + + parts.append("") + return "".join(parts) + + +def build_planet_table(env, chart_data): + """Return a list of dicts for the planet position table.""" + planets = chart_data["planets"] + houses = chart_data.get("houses") + rows = [] + for key, name, sym in zip(PLANET_KEYS, PLANET_NAMES, PLANET_SYMBOLS, strict=False): + lon = planets[key] + sign_i, deg, minute = lon_to_sign(lon) + rows.append( + { + "key": key, + "name": env._(name), + "symbol": sym, + "longitude": round(lon, 2), + "sign_index": sign_i, + "sign": env._(SIGNS[sign_i]), + "sign_symbol": SIGN_SYMBOLS[sign_i], + "position": f"{deg}°{minute:02d}'", + "house": get_house(lon, houses), + } + ) + + extra = [] + if chart_data.get("ascendant") is not None: + asc_lon = chart_data["ascendant"] + sign_i, deg, minute = lon_to_sign(asc_lon) + extra.append( + { + "key": "ascendant", + "name": env._("Ascendant"), + "symbol": "AC", + "longitude": round(asc_lon, 2), + "sign_index": sign_i, + "sign": env._(SIGNS[sign_i]), + "sign_symbol": SIGN_SYMBOLS[sign_i], + "position": f"{deg}°{minute:02d}'", + "house": 1, + } + ) + if chart_data.get("midheaven") is not None: + mc_lon = chart_data["midheaven"] + sign_i, deg, minute = lon_to_sign(mc_lon) + extra.append( + { + "key": "midheaven", + "name": env._("Midheaven (MC)"), + "symbol": "MC", + "longitude": round(mc_lon, 2), + "sign_index": sign_i, + "sign": env._(SIGNS[sign_i]), + "sign_symbol": SIGN_SYMBOLS[sign_i], + "position": f"{deg}°{minute:02d}'", + "house": 10, + } + ) + if chart_data.get("north_node") is not None: + nn_lon = chart_data["north_node"] + sign_i, deg, minute = lon_to_sign(nn_lon) + extra.append( + { + "key": "north_node", + "name": env._("North Node"), + "symbol": "☊", + "longitude": round(nn_lon, 2), + "sign_index": sign_i, + "sign": env._(SIGNS[sign_i]), + "sign_symbol": SIGN_SYMBOLS[sign_i], + "position": f"{deg}°{minute:02d}'", + "house": get_house(nn_lon, houses), + } + ) + return rows, extra + + +def build_houses_html(env, chart_data): + """Return an HTML table of houses (Whole Sign), or empty string if no houses.""" + houses = chart_data.get("houses") + if not houses: + return "" + planets = chart_data.get("planets", {}) + + # Map each house number → list of (symbol, color) for bodies in that house + house_bodies = {h: [] for h in range(1, 13)} + for key, sym in zip(PLANET_KEYS, PLANET_SYMBOLS, strict=False): + if key in planets: + h = get_house(planets[key], houses) + if h: + house_bodies[h].append((sym, PLANET_COLORS[key])) + if chart_data.get("north_node") is not None: + h = get_house(chart_data["north_node"], houses) + if h: + house_bodies[h].append(("☊", "#888888")) + + rows = [] + for i, cusp in enumerate(houses): + sign_i = int(cusp / 30) % 12 + bodies_html = "".join( + f'{sym}' + for sym, col in house_bodies[i + 1] + ) + rows.append( + f"" + f"{i + 1}" + f"" + f"" + f"{SIGN_SYMBOLS[sign_i]}" + f"{env._(SIGNS[sign_i])}" + f"{bodies_html}" + f"" + ) + return ( + "" + "" + f"" + f"" + f"" + "" + "" + "".join(rows) + "" + "
{env._('House')}{env._('Sign')}{env._('Planets')}
" + ) + + +def generate_biwheel_svg(natal_data, transit_data, aspects=None): + """Generate a bi-wheel SVG with natal (inner) and transit (outer) planets.""" + planets_n = natal_data["planets"] + houses = natal_data.get("houses") + asc = natal_data.get("ascendant") + mc = natal_data.get("midheaven") + planets_t = transit_data["planets"] + + W, H, CXB, CYB = 560, 560, 280, 280 + + def xy(angle_deg, r): + return _xy(angle_deg, r, cx=CXB, cy=CYB) + + parts = [ + f'', + _SVG_STYLE, + ] + + # ── Zodiac rings ────────────────────────────────────────────────────────── + _render_zodiac_ring(parts, R_TRANSIT_OUT, R_TRANSIT_IN, xy, "0.15", 10) + _render_zodiac_ring(parts, R_SIGN, R_SIGN_IN, xy, "0.30", 13) + + # ── Ring circles ───────────────────────────────────────────────────────── + for rr, sw in ( + (R_TRANSIT_OUT, "1"), + (R_TRANSIT_IN, ".8"), + (R_SIGN, "1"), + (R_SIGN_IN, ".8"), + (R_HOUSE, ".5"), + ): + parts.append( + f'' + ) + parts.append( + f'' + ) + + # ── House cusps ────────────────────────────────────────────────────────── + if houses: + for i, cusp in enumerate(houses): + x1, y1 = xy(cusp, R_HOUSE) + x2, y2 = xy(cusp, R_CENTER) + cls = "bc-ac" if i == 0 else "bc-hl" + sw = "1.5" if i in (0, 3, 6, 9) else "0.5" + parts.append( + f'' + ) + mid_angle = cusp + 15 + nx, ny = xy(mid_angle, (R_HOUSE + R_CENTER) / 2) + parts.append( + f'{i + 1}' + ) + + # ── Natal and transit planets ───────────────────────────────────────────── + placed_n = _place_planets(planets_n, PLANET_KEYS, 12) + _render_planet_ring( + parts, + placed_n, + planets_n, + R_HOUSE, + R_PLANET, + PLANET_COLORS, + PLANET_SYMBOLS, + xy, + 14, + ) + + placed_t = _place_planets(planets_t, PLANET_KEYS, 10) + _render_planet_ring( + parts, + placed_t, + planets_t, + R_TRANSIT_IN, + R_TRANSIT_PLANET, + PLANET_COLORS, + PLANET_SYMBOLS, + xy, + 12, + inner_tick=False, + ) + + # ── AC / MC labels ─────────────────────────────────────────────────────── + if asc is not None: + ax, ay = xy(asc, R_HOUSE + 10) + parts.append(f'AC') + if mc is not None: + mx2, my2 = xy(mc, R_HOUSE + 10) + parts.append(f'MC') + + # ── Aspect lines (tightest aspects only) ───────────────────────────────── + if aspects: + for asp in sorted(aspects, key=lambda a: a["orb"]): + if asp["orb"] > 4: + break + n_lon = planets_n[asp["natal_key"]] + t_lon = planets_t[asp["transit_key"]] + nxp, nyp = xy(n_lon, R_CENTER - 4) + txp, typ = xy(t_lon, R_TRANSIT_IN + 4) + opacity = round(max(0.1, 0.45 - asp["orb"] * 0.08), 2) + parts.append( + f'' + ) + + parts.append("") + return "".join(parts) diff --git a/hr_birth_astral_chart/models/hr_employee.py b/hr_birth_astral_chart/models/hr_employee.py new file mode 100644 index 00000000000..baba567e737 --- /dev/null +++ b/hr_birth_astral_chart/models/hr_employee.py @@ -0,0 +1,169 @@ +# Copyright 2026 Forgeflow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import json +from datetime import date as date_type + +from odoo import api, fields, models + +from .astro_calc import SIGN_SYMBOLS, SIGNS, calc_aspects, compute_chart, lon_to_sign +from .chart_svg import ( + build_houses_html, + build_planet_table, + generate_biwheel_svg, + generate_chart_svg, +) +from .interpretations import build_interpretation, build_transit_interpretation + + +class HrEmployee(models.Model): + _inherit = "hr.employee" + + # ── Computed chart fields ───────────────────────────────────────────── + birth_chart_svg = fields.Html( + string="Birth Chart", + compute="_compute_birth_chart", + sanitize=False, + ) + birth_chart_planets_json = fields.Char( + compute="_compute_birth_chart", + ) + birth_chart_sun_sign = fields.Char( + string="Sun Sign", + compute="_compute_birth_chart", + ) + birth_chart_moon_sign = fields.Char( + string="Moon Sign", + compute="_compute_birth_chart", + ) + birth_chart_rising_sign = fields.Char( + string="Ascendant", + compute="_compute_birth_chart", + ) + birth_chart_available = fields.Boolean( + compute="_compute_birth_chart", + ) + birth_chart_interpretation = fields.Html( + string="Chart Interpretation", + compute="_compute_birth_chart", + sanitize=False, + ) + birth_chart_houses_html = fields.Html( + string="Houses", + compute="_compute_birth_chart", + sanitize=False, + ) + + # ── Transit chart (recomputes on every page load — not stored) ──────────── + birth_chart_transit_svg = fields.Html( + string="Transit Chart", + compute="_compute_transit_chart", + sanitize=False, + ) + birth_chart_transit_json = fields.Char( + compute="_compute_transit_chart", + ) + birth_chart_transit_aspects = fields.Html( + string="Transit Aspects", + compute="_compute_transit_chart", + sanitize=False, + ) + birth_chart_transit_interpretation = fields.Html( + string="Transit Interpretation", + compute="_compute_transit_chart", + sanitize=False, + ) + + @api.depends("birthday", "birth_hour", "birth_latitude", "birth_longitude") + def _compute_birth_chart(self): + for rec in self: + if not rec.birthday: + rec.birth_chart_svg = False + rec.birth_chart_planets_json = False + rec.birth_chart_sun_sign = False + rec.birth_chart_moon_sign = False + rec.birth_chart_rising_sign = False + rec.birth_chart_interpretation = False + rec.birth_chart_houses_html = False + rec.birth_chart_available = False + continue + + bd = rec.birthday + lat = rec.birth_latitude or None + lon = rec.birth_longitude or None + if not (lat or lon): + lat = lon = None + + chart = compute_chart( + bd.year, + bd.month, + bd.day, + hour=rec.birth_hour or 12.0, + lat=lat, + lon=lon, + ) + + rec.birth_chart_svg = generate_chart_svg(chart) + rec.birth_chart_available = True + + sun_i, sun_d, sun_m = lon_to_sign(chart["planets"]["sun"]) + moon_i, moon_d, moon_m = lon_to_sign(chart["planets"]["moon"]) + rec.birth_chart_sun_sign = ( + f"{SIGN_SYMBOLS[sun_i]} {self.env._(SIGNS[sun_i])} {sun_d}° {sun_m}'" + ) + rec.birth_chart_moon_sign = ( + f"{SIGN_SYMBOLS[moon_i]}" + f" {self.env._(SIGNS[moon_i])} {moon_d}° {moon_m}'" + ) + + if chart["ascendant"] is not None: + asc_i, asc_d, asc_m = lon_to_sign(chart["ascendant"]) + rec.birth_chart_rising_sign = ( + f"{SIGN_SYMBOLS[asc_i]}" + f" {self.env._(SIGNS[asc_i])} {asc_d}° {asc_m}'" + ) + else: + rec.birth_chart_rising_sign = self.env._( + "Requires birth time and location" + ) + + rows, extra = build_planet_table(self.env, chart) + rec.birth_chart_planets_json = json.dumps(rows + extra) + rec.birth_chart_interpretation = build_interpretation(self.env, chart) + rec.birth_chart_houses_html = build_houses_html(self.env, chart) or False + + @api.depends("birthday", "birth_hour", "birth_latitude", "birth_longitude") + def _compute_transit_chart(self): + today = date_type.today() + transit = compute_chart(today.year, today.month, today.day, hour=12.0) + for rec in self: + if not rec.birthday: + rec.birth_chart_transit_svg = False + rec.birth_chart_transit_json = False + rec.birth_chart_transit_aspects = False + rec.birth_chart_transit_interpretation = False + continue + + bd = rec.birthday + lat = rec.birth_latitude or None + lon = rec.birth_longitude or None + if not (lat or lon): + lat = lon = None + + natal = compute_chart( + bd.year, + bd.month, + bd.day, + hour=rec.birth_hour or 12.0, + lat=lat, + lon=lon, + ) + aspects = calc_aspects(natal["planets"], transit["planets"]) + rec.birth_chart_transit_svg = generate_biwheel_svg(natal, transit, aspects) + rows, _extra = build_planet_table(self.env, transit) + rec.birth_chart_transit_json = json.dumps(rows) + aspects_html, interp_html = build_transit_interpretation( + self.env, natal, transit, aspects, today + ) + rec.birth_chart_transit_aspects = aspects_html or False + rec.birth_chart_transit_interpretation = interp_html or False diff --git a/hr_birth_astral_chart/models/interpretations.py b/hr_birth_astral_chart/models/interpretations.py new file mode 100644 index 00000000000..ace2687db84 --- /dev/null +++ b/hr_birth_astral_chart/models/interpretations.py @@ -0,0 +1,734 @@ +# Copyright 2026 Forgeflow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from .astro_calc import ( + PLANET_KEYS, + SIGN_ELEMENTS, + SIGN_MODALITIES, + SIGN_POLARITIES, + SIGN_SYMBOLS, + SIGNS, + get_house, +) + +SUN_INTERPRETATIONS = [ + # Aries + ( + "Bold, pioneering and energetic. A natural leader with a competitive spirit " + "and a strong drive to initiate new projects." + ), + # Taurus + ( + "Reliable, patient and practical. Values stability, beauty and material " + "comfort; known for persistence and sensuality." + ), + # Gemini + ( + "Curious, adaptable and communicative. Quick-witted and versatile, with a " + "constant need for intellectual stimulation." + ), + # Cancer + ( + "Intuitive, nurturing and protective. Deeply empathetic and family-oriented, " + "with a strong emotional memory." + ), + # Leo + ( + "Confident, creative and generous. A natural performer who thrives in the " + "spotlight; loyal and warm-hearted." + ), + # Virgo + ( + "Analytical, diligent and precise. Pays close attention to detail and has a " + "strong desire to be of service." + ), + # Libra + ( + "Diplomatic, fair-minded and social. Seeks harmony and balance; values " + "partnerships and aesthetic beauty." + ), + # Scorpio + ( + "Intense, perceptive and determined. Possesses deep emotional power and a " + "gift for transformation." + ), + # Sagittarius + ( + "Optimistic, adventurous and philosophical. Loves freedom, travel and the " + "pursuit of truth and knowledge." + ), + # Capricorn + ( + "Disciplined, ambitious and responsible. Patient and strategic, with a strong " + "drive for achievement." + ), + # Aquarius + ( + "Original, idealistic and independent. A forward-thinking humanitarian who " + "values friendship and innovation." + ), + # Pisces + ( + "Compassionate, imaginative and intuitive. Deeply sensitive and spiritual, " + "with a rich inner life." + ), +] + +MOON_INTERPRETATIONS = [ + # Aries + ( + "Emotional reactions are quick and intense; needs independence and action " + "to feel secure." + ), + # Taurus + ( + "Seeks emotional security through stability, routine and physical comfort; " + "very loyal once trust is established." + ), + # Gemini + ( + "Processes emotions intellectually; needs communication and variety to feel " + "at ease." + ), + # Cancer + "Deeply intuitive and empathetic; home and family are the emotional anchor.", + # Leo + "Needs recognition and warmth; generous and loyal in emotional bonds.", + # Virgo + "Analytical about feelings; finds comfort in being useful and well-organised.", + # Libra + "Needs harmony and partnership; dislikes conflict and seeks emotional balance.", + # Scorpio + "Intense and private emotional world; deeply loyal but prone to jealousy.", + # Sagittarius + ( + "Needs freedom and optimism; enthusiastic but may avoid deeper emotional " + "commitment." + ), + # Capricorn + "Reserved with emotions; finds security through achievement and structure.", + # Aquarius + "Detached but humanitarian; connects best through shared ideas and ideals.", + # Pisces + ("Extremely sensitive and empathetic; absorbs surrounding emotions like a sponge."), +] + +ASCENDANT_INTERPRETATIONS = [ + # Aries + ( + "Projects energy, confidence and directness. First impression is dynamic " + "and assertive." + ), + # Taurus + ( + "Projects calm, reliability and groundedness. Others see you as steady " + "and trustworthy." + ), + # Gemini + ( + "Projects curiosity and adaptability. Others see you as lively, " + "communicative and witty." + ), + # Cancer + ( + "Projects sensitivity and nurturing. Others see you as caring, protective " + "and approachable." + ), + # Leo + ( + "Projects charisma and warmth. Others see you as confident, generous and " + "magnetic." + ), + # Virgo + ( + "Projects competence and modesty. Others see you as careful, helpful " + "and analytical." + ), + # Libra + ( + "Projects elegance and sociability. Others see you as charming, fair and " + "refined." + ), + # Scorpio + ( + "Projects intensity and mystery. Others see you as powerful, perceptive " + "and magnetic." + ), + # Sagittarius + ( + "Projects enthusiasm and openness. Others see you as adventurous, honest " + "and optimistic." + ), + # Capricorn + ( + "Projects authority and seriousness. Others see you as reliable, ambitious " + "and disciplined." + ), + # Aquarius + ( + "Projects originality and independence. Others see you as unique, friendly " + "and intellectual." + ), + # Pisces + ( + "Projects sensitivity and dreaminess. Others see you as gentle, empathetic " + "and spiritual." + ), +] + +ELEMENT_DESCRIPTIONS = { + "Fire": ( + "Your chart is dominated by " + "Fire (♈♌♐). You tend " + "to be enthusiastic, action-oriented and inspiring, with a strong creative " + "drive and a natural optimism." + ), + "Earth": ( + "Your chart is dominated by " + "Earth (♉♍♑). You tend " + "to be practical, grounded and reliable, with a talent for building lasting " + "results in the material world." + ), + "Air": ( + "Your chart is dominated by " + "Air (♊♎♒). You tend to " + "be intellectual, communicative and socially oriented, with a gift for " + "connecting ideas and people." + ), + "Water": ( + "Your chart is dominated by " + "Water (♋♏♓). You tend " + "to be intuitive, empathetic and emotionally perceptive, with a deep inner " + "life and strong instincts." + ), +} + +POLARITY_DESCRIPTIONS = { + "Positive": ( + "Your chart leans towards Positive (Yang) signs " + "(♈♊♌♎♐♒). You tend to be outwardly expressive, action-oriented " + "and socially engaged." + ), + "Negative": ( + "Your chart leans towards Negative (Yin) signs " + "(♉♋♍♏♑♓). You tend to be receptive, reflective and focused on " + "inner depth and inner resources." + ), +} + +QUADRANT_DESCRIPTIONS = { + "Q1": ( + "Many planets in the First Quadrant (Houses 1–3) " + "suggest a strong focus on personal identity, self-expression and " + "immediate environment." + ), + "Q2": ( + "Many planets in the Second Quadrant (Houses 4–6) " + "suggest an emphasis on home, roots, daily routines and personal " + "resources." + ), + "Q3": ( + "Many planets in the Third Quadrant (Houses 7–9) " + "suggest a strong orientation towards relationships, partnerships " + "and the pursuit of meaning." + ), + "Q4": ( + "Many planets in the Fourth Quadrant (Houses 10–12) " + "suggest an emphasis on career, public life and collective or " + "spiritual concerns." + ), +} + +MODALITY_DESCRIPTIONS = { + "Cardinal": ( + "A strong Cardinal emphasis (♈♋♎♑) suggests you " + "are a natural initiator who starts things, takes charge and drives change." + ), + "Fixed": ( + "A strong Fixed emphasis (♉♌♏♒) suggests you are " + "persistent and determined, with the stamina to see things through and " + "resist unnecessary change." + ), + "Mutable": ( + "A strong Mutable emphasis (♊♍♐♓) suggests you " + "are adaptable and flexible, thriving in changing environments and " + "bridging transitions with ease." + ), +} + + +_ELEMENT_COLORS = { + "Fire": "#e8554e", + "Earth": "#7db87d", + "Air": "#7ba7c7", + "Water": "#9b7fc0", +} + + +def _dominant(counts): + """Return the key with the highest count, or None if all equal.""" + if not counts: + return None + max_val = max(counts.values()) + if list(counts.values()).count(max_val) > 1: + return None + return max(counts, key=counts.get) + + +def build_interpretation(env, chart_data): + """Return an HTML string interpreting the birth chart.""" + planets = chart_data["planets"] + asc = chart_data.get("ascendant") + + from .astro_calc import lon_to_sign + + sun_i = lon_to_sign(planets["sun"])[0] + moon_i = lon_to_sign(planets["moon"])[0] + + sections = [] + + # ── Sun ────────────────────────────────────────────────────────────────── + sections.append( + f"
☉ {env._('Sun')} in {SIGN_SYMBOLS[sun_i]} {env._(SIGNS[sun_i])}
" + f"

{env._(SUN_INTERPRETATIONS[sun_i])}

" + ) + + # ── Moon ───────────────────────────────────────────────────────────────── + sections.append( + f"
☽ {env._('Moon')} in {SIGN_SYMBOLS[moon_i]} {env._(SIGNS[moon_i])}
" + f"

{env._(MOON_INTERPRETATIONS[moon_i])}

" + ) + + # ── Ascendant ───────────────────────────────────────────────────────────── + if asc is not None: + asc_i = lon_to_sign(asc)[0] + asc_sign = f"{SIGN_SYMBOLS[asc_i]} {env._(SIGNS[asc_i])}" + sections.append( + f"
AC {env._('Ascendant')} in {asc_sign}
" + f"

{env._(ASCENDANT_INTERPRETATIONS[asc_i])}

" + ) + + # ── Element, modality, polarity & quadrant distribution ────────────────── + element_counts = {"Fire": 0, "Earth": 0, "Air": 0, "Water": 0} + modality_counts = {"Cardinal": 0, "Fixed": 0, "Mutable": 0} + polarity_counts = {"Positive": 0, "Negative": 0} + for key in PLANET_KEYS: + sign_i = lon_to_sign(planets[key])[0] + element_counts[SIGN_ELEMENTS[sign_i]] += 1 + modality_counts[SIGN_MODALITIES[sign_i]] += 1 + polarity_counts[SIGN_POLARITIES[sign_i]] += 1 + + dominant_el = _dominant(element_counts) + dominant_mod = _dominant(modality_counts) + dominant_pol = _dominant(polarity_counts) + + dist_rows = "".join( + f"" + f"{env._(el)}" + f"" + f"{'◉ ' * element_counts[el]}" + for el in ("Fire", "Earth", "Air", "Water") + ) + mod_rows = "".join( + f"{env._(mod)}" + f"" + f"{'◉ ' * modality_counts[mod]}" + for mod in ("Cardinal", "Fixed", "Mutable") + ) + pol_rows = "".join( + f"{env._(pol)}" + f"" + f"{'◉ ' * polarity_counts[pol]}" + for pol in ("Positive", "Negative") + ) + + def _col(title, rows_html): + return ( + f"
" + f"
{title}
" + f"{rows_html}
" + f"
" + ) + + tables_html = ( + "
" + + _col(env._("Elements"), dist_rows) + + _col(env._("Modalities"), mod_rows) + + _col(env._("Polarities"), pol_rows) + ) + + houses = chart_data.get("houses") + dominant_quad = None + if houses: + quadrant_counts = {"Q1": 0, "Q2": 0, "Q3": 0, "Q4": 0} + for key in PLANET_KEYS: + h = get_house(planets[key], houses) + if h: + quadrant_counts[f"Q{(h - 1) // 3 + 1}"] += 1 + dominant_quad = _dominant(quadrant_counts) + quad_labels = { + "Q1": env._("Q1 (1–3)"), + "Q2": env._("Q2 (4–6)"), + "Q3": env._("Q3 (7–9)"), + "Q4": env._("Q4 (10–12)"), + } + quad_rows = "".join( + f"{quad_labels[q]}" + f"" + f"{'◉ ' * quadrant_counts[q]}" + for q in ("Q1", "Q2", "Q3", "Q4") + ) + tables_html += _col(env._("Quadrants"), quad_rows) + + tables_html += "
" + + dominant_texts = [] + if dominant_el: + dominant_texts.append(f"

{env._(ELEMENT_DESCRIPTIONS[dominant_el])}

") + if dominant_mod: + dominant_texts.append(f"

{env._(MODALITY_DESCRIPTIONS[dominant_mod])}

") + if dominant_pol: + dominant_texts.append(f"

{env._(POLARITY_DESCRIPTIONS[dominant_pol])}

") + if dominant_quad: + dominant_texts.append(f"

{env._(QUADRANT_DESCRIPTIONS[dominant_quad])}

") + + sections.append( + f"
{env._('Chart Balance')}
" + + tables_html + + ("
" + "".join(dominant_texts) if dominant_texts else "") + ) + + return "
" + "".join(sections) + "
" + + +# Keys: (transiting_planet_key, aspect_name) +# {natal} is replaced at render time with the natal planet name. +TRANSIT_ASPECT_INTERPRETATIONS = { + # ── Sun ────────────────────────────────────────────────────────────────── + ("sun", "Conjunction"): ( + "Solar energy illuminates and energises your natal {natal}. " + "Awareness, vitality and intention peak in {natal}'s themes. " + "This is a good moment to act consciously and decisively." + ), + ("sun", "Trine"): ( + "Confidence and creative clarity flow harmoniously through your natal " + "{natal}. Self-expression and initiative are well-supported right now." + ), + ("sun", "Sextile"): ( + "Positive opportunities for self-expression arise around your natal " + "{natal}. Vitality and initiative can be directed productively today." + ), + ("sun", "Square"): ( + "Creative tension between your will and natal {natal} calls for " + "conscious effort. Channel any friction into growth rather than conflict." + ), + ("sun", "Opposition"): ( + "External circumstances or other people mirror your natal {natal} back " + "to you. Objectivity and balance help you integrate the tension well." + ), + # ── Moon ───────────────────────────────────────────────────────────────── + ("moon", "Conjunction"): ( + "Emotional sensitivity peaks around your natal {natal}. Instincts and " + "feelings are heightened, so trust your gut in {natal}'s domain today." + ), + ("moon", "Trine"): ( + "Emotional harmony flows through your natal {natal}. Intuition and " + "domestic life support {natal}'s natural expression right now." + ), + ("moon", "Sextile"): ( + "Gentle emotional support nurtures your natal {natal}. " + "Relationships and daily rhythms feel easy and comfortable." + ), + ("moon", "Square"): ( + "Emotional tension or restlessness challenges your natal {natal}. " + "Mood fluctuations are normal; patience and self-care help." + ), + ("moon", "Opposition"): ( + "Emotional needs come into tension with your natal {natal}'s themes. " + "Nurture yourself while staying open to others' perspectives." + ), + # ── Mercury ─────────────────────────────────────────────────────────────── + ("mercury", "Conjunction"): ( + "Mercury sharpens thinking and communication around your natal {natal}. " + "Ideas flow quickly; important conversations or decisions are highlighted." + ), + ("mercury", "Trine"): ( + "Clear, harmonious thinking supports your natal {natal}. " + "A good time for writing, negotiating or learning in {natal}'s areas." + ), + ("mercury", "Sextile"): ( + "Mental opportunities arise around your natal {natal}. " + "Communications and short-term plans tend to go smoothly today." + ), + ("mercury", "Square"): ( + "Mental tension or miscommunication may surface around your natal " + "{natal}. Double-check details and aim for clarity in all exchanges." + ), + ("mercury", "Opposition"): ( + "Others' ideas challenge or stimulate your natal {natal}. " + "Listen as much as you speak; different perspectives are valuable." + ), + # ── Venus ───────────────────────────────────────────────────────────────── + ("venus", "Conjunction"): ( + "Venus brings charm, harmony and pleasure to your natal {natal}. " + "Social ease and aesthetic appreciation are highlighted today." + ), + ("venus", "Trine"): ( + "Harmony and enjoyment flow easily around your natal {natal}. " + "Relationships, beauty and creative pursuits are favoured." + ), + ("venus", "Sextile"): ( + "Gentle social and creative opportunities arise around your natal " + "{natal}. Diplomacy and warmth come naturally right now." + ), + ("venus", "Square"): ( + "Indulgence or disharmony may challenge your natal {natal}. " + "Balance pleasure with responsibility and avoid overcommitting." + ), + ("venus", "Opposition"): ( + "Relationship tensions or differing values involve your natal {natal}. " + "Seek balance between your own needs and those of others." + ), + # ── Mars ────────────────────────────────────────────────────────────────── + ("mars", "Conjunction"): ( + "Mars ignites your natal {natal} with drive and assertiveness. " + "Energy and initiative peak, so act decisively but avoid impulsiveness." + ), + ("mars", "Trine"): ( + "Energetic support flows easily to your natal {natal}. " + "Physical vitality and motivation make this a good time for bold action." + ), + ("mars", "Sextile"): ( + "A helpful burst of energy supports your natal {natal}. " + "Courage and initiative are available for productive, targeted effort." + ), + ("mars", "Square"): ( + "Friction and impatience challenge your natal {natal}. " + "Avoid rash decisions; channel this intensity into constructive effort." + ), + ("mars", "Opposition"): ( + "Competing drives or others' assertiveness challenge your natal {natal}. " + "Seek compromise and direct your energy wisely to avoid confrontation." + ), + # ── Jupiter ─────────────────────────────────────────────────────────────── + ("jupiter", "Conjunction"): ( + "A powerful surge of Jupiterian energy activates your natal {natal}. " + "Opportunities for growth and abundance arise in {natal}'s themes." + ), + ("jupiter", "Trine"): ( + "Fortunate energy flows easily to your natal {natal}. " + "A period of natural growth, positive developments and deserved rewards." + ), + ("jupiter", "Sextile"): ( + "Meaningful opportunities related to your natal {natal} come your way. " + "Effort invested in {natal}'s themes now is likely to pay off well." + ), + ("jupiter", "Square"): ( + "Tension between growth and limits challenges your natal {natal}. " + "Overconfidence may need tempering; use this energy to overcome obstacles." + ), + ("jupiter", "Opposition"): ( + "A need to balance expansion with reality around your natal {natal}. " + "Others may bring opportunity or inflated expectations, so stay discerning." + ), + # ── Saturn ──────────────────────────────────────────────────────────────── + ("saturn", "Conjunction"): ( + "Saturn's serious energy meets your natal {natal}. " + "A period of testing and consolidation: structures built now are built to last." + ), + ("saturn", "Trine"): ( + "Saturn supports your natal {natal} with stability and practical wisdom. " + "A good time to formalise commitments or take disciplined, lasting action." + ), + ("saturn", "Sextile"): ( + "Practical opportunities to strengthen your natal {natal}'s expression " + "arise. Steady, responsible effort leads to tangible, lasting results." + ), + ("saturn", "Square"): ( + "Saturn tests your natal {natal}, exposing weaknesses to be addressed. " + "Challenges, met with patience, build resilience and long-term strength." + ), + ("saturn", "Opposition"): ( + "External pressures or authority figures challenge your natal {natal}. " + "Honest assessment and taking responsibility bring clarity and growth." + ), + # ── Uranus ──────────────────────────────────────────────────────────────── + ("uranus", "Conjunction"): ( + "Sudden, liberating change disrupts your natal {natal}. " + "Unexpected breakthroughs or upheavals shake up established patterns." + ), + ("uranus", "Trine"): ( + "Exciting innovations and positive changes relate to your natal {natal}. " + "Freedom, originality and new approaches are easily expressed now." + ), + ("uranus", "Sextile"): ( + "Refreshing new ideas create positive shifts around your natal {natal}. " + "Openness to change and flexibility bring real benefits at this time." + ), + ("uranus", "Square"): ( + "Disruption and restlessness challenge your natal {natal}. " + "The urge for radical change creates tension; avoid impulsive decisions." + ), + ("uranus", "Opposition"): ( + "Unexpected events or people disrupt your natal {natal}. " + "Adaptability and flexibility are essential to navigate these changes." + ), + # ── Neptune ─────────────────────────────────────────────────────────────── + ("neptune", "Conjunction"): ( + "Neptune dissolves or spiritualises your natal {natal}. " + "Intuition heightens, but confusion or idealisation is also possible." + ), + ("neptune", "Trine"): ( + "Spiritual sensitivity and creative inspiration flow gently through " + "your natal {natal}. Intuition and empathy are naturally heightened." + ), + ("neptune", "Sextile"): ( + "Subtle spiritual or creative opportunities emerge around your natal " + "{natal}. Dreams and intuition offer useful, gentle guidance now." + ), + ("neptune", "Square"): ( + "Confusion or idealisation may cloud your natal {natal}'s expression. " + "Be wary of self-deception and keep yourself grounded in clear facts." + ), + ("neptune", "Opposition"): ( + "Illusions or escapism challenge your natal {natal}. " + "Grounding and discernment are essential; reality may need reassessing." + ), + # ── Pluto ───────────────────────────────────────────────────────────────── + ("pluto", "Conjunction"): ( + "Profound, irreversible transformation touches your natal {natal}. " + "Old patterns are stripped away to reveal deeper power and authentic truth." + ), + ("pluto", "Trine"): ( + "Deep, empowering change flows smoothly through your natal {natal}. " + "Transformation feels purposeful and ultimately regenerative." + ), + ("pluto", "Sextile"): ( + "An opportunity for deep personal growth around your natal {natal} " + "arises. Subtle but meaningful transformation is available if embraced." + ), + ("pluto", "Square"): ( + "Intense power struggles or compulsive forces challenge your natal " + "{natal}. Resistance amplifies pressure; embrace the necessary change." + ), + ("pluto", "Opposition"): ( + "External forces of change confront your natal {natal}. " + "Old structures may collapse; rebirth comes through letting go." + ), +} + + +def build_transit_interpretation(env, natal_data, transit_data, aspects, today): + """Return (aspects_html, interpretations_html) for the transit chart. + + aspects_html — date header + active aspects table (goes in the side column). + interpretations_html — per-aspect interpretation texts (goes full-width below). + """ + from .astro_calc import ( + PLANET_KEYS, + PLANET_NAMES, + PLANET_SYMBOLS, + SIGN_SYMBOLS, + SIGNS, + lon_to_sign, + ) + + planets_t = transit_data["planets"] + + date_str = today.strftime("%B %d, %Y") + date_header = ( + f"

" + f"{env._('Transits for')} {date_str} " + f"{env._('compared to natal chart')}

" + ) + + tight = sorted([a for a in aspects if a["orb"] <= 8], key=lambda a: a["orb"])[:12] + + if not tight: + no_aspects = f"

{env._('No major aspects currently active.')}

" + return ( + "
" + + date_header + + no_aspects + + "
", + "", + ) + + rows_html = "" + interp_html = "" + for asp in tight: + ti = PLANET_KEYS.index(asp["transit_key"]) + ni = PLANET_KEYS.index(asp["natal_key"]) + t_sym = PLANET_SYMBOLS[ti] + n_sym = PLANET_SYMBOLS[ni] + t_name = env._(PLANET_NAMES[ti]) + n_name = env._(PLANET_NAMES[ni]) + t_sign_i = lon_to_sign(planets_t[asp["transit_key"]])[0] + rows_html += ( + f"" + f"" + f"{t_sym}" + f"" + f"{SIGN_SYMBOLS[t_sign_i]} {env._(SIGNS[t_sign_i])}" + f"" + f"{asp['symbol']}" + f"" + f"{env._(asp['aspect'])}" + f"" + f"{n_sym}" + f"" + f"{asp['orb']}°" + f"" + ) + key = (asp["transit_key"], asp["aspect"]) + text = TRANSIT_ASPECT_INTERPRETATIONS.get(key, "") + if text and asp["orb"] <= 6: + filled = env._(text).format(natal=n_name) + aspect_label = env._(asp["aspect"]).lower() + aspect_colored = f"{aspect_label}" + heading = env._( + "Transiting %(transit)s forms a %(aspect)s with your natal %(natal)s", + transit=t_name, + aspect=aspect_colored, + natal=n_name, + ) + interp_html += ( + f"
" + f"" + f"{t_sym} {asp['symbol']} {n_sym}" + f" {heading}" + f"{asp['orb']}°" + f"
" + f"

{filled}

" + ) + + aspects_table = ( + f"
{env._('Active Aspects (Transit → Natal)')}
" + "" + "" + f"" + f"" + f"" + f"" + f"" + f"{rows_html}
{env._('Transit')}{env._('In Sign')}{env._('Aspect')}{env._('Natal')}{env._('Orb')}
" + ) + aspects_html = ( + "
" + + date_header + + aspects_table + + "
" + ) + interp_out = ( + ( + "
" + f"
{env._('Transit Interpretations')}
" + + interp_html + + "
" + ) + if interp_html + else "" + ) + return aspects_html, interp_out diff --git a/hr_birth_astral_chart/pyproject.toml b/hr_birth_astral_chart/pyproject.toml new file mode 100644 index 00000000000..4231d0cccb3 --- /dev/null +++ b/hr_birth_astral_chart/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/hr_birth_astral_chart/readme/CONTRIBUTORS.md b/hr_birth_astral_chart/readme/CONTRIBUTORS.md new file mode 100644 index 00000000000..1da3d73e294 --- /dev/null +++ b/hr_birth_astral_chart/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Miquel Raïch \<\> diff --git a/hr_birth_astral_chart/readme/DESCRIPTION.md b/hr_birth_astral_chart/readme/DESCRIPTION.md new file mode 100644 index 00000000000..8bdd7f9ff99 --- /dev/null +++ b/hr_birth_astral_chart/readme/DESCRIPTION.md @@ -0,0 +1,16 @@ +View your full Western astrological birth chart directly from your employee profile. + +Depends on `hr_birth_data` for the birth time and coordinates fields. + +Adds an **Astral Chart** tab to the employee form showing: + +- **Sun Sign**, **Moon Sign** and **Ascendant** summary badges +- An SVG zodiac wheel with planetary positions +- A detailed table with degree, minute, sign and house for each planet + (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto, + Chiron, Black Moon Lilith, Ceres) +- Astrological houses (Whole Sign system) when birth time and location are provided +- Current transits biwheel and interpretation + +Astronomical calculations use `pyswisseph` (Python binding for Swiss Ephemeris) +for high-precision planetary positions. diff --git a/hr_birth_astral_chart/static/description/index.html b/hr_birth_astral_chart/static/description/index.html new file mode 100644 index 00000000000..cf8333b83aa --- /dev/null +++ b/hr_birth_astral_chart/static/description/index.html @@ -0,0 +1,441 @@ + + + + + +README.rst + + + +
+ + diff --git a/hr_birth_astral_chart/static/src/js/birth_chart_table.esm.js b/hr_birth_astral_chart/static/src/js/birth_chart_table.esm.js new file mode 100644 index 00000000000..93c7860ffd4 --- /dev/null +++ b/hr_birth_astral_chart/static/src/js/birth_chart_table.esm.js @@ -0,0 +1,44 @@ +// @odoo-module +import {Component} from "@odoo/owl"; +import {registry} from "@web/core/registry"; +import {standardFieldProps} from "@web/views/fields/standard_field_props"; + +const SIGN_COLORS = [ + "#e8554e", + "#7db87d", + "#7ba7c7", + "#9b7fc0", + "#e8554e", + "#7db87d", + "#7ba7c7", + "#9b7fc0", + "#e8554e", + "#7db87d", + "#7ba7c7", + "#9b7fc0", +]; + +class BirthChartTableWidget extends Component { + static template = "hr_birth_astral_chart.BirthChartTable"; + static props = {...standardFieldProps}; + + get rows() { + try { + const value = this.props.record.data[this.props.name]; + return JSON.parse(value || "[]"); + } catch { + return []; + } + } + + signColor(signIndex) { + return SIGN_COLORS[signIndex] || "#888"; + } +} + +registry.category("fields").add("birth_chart_table", { + component: BirthChartTableWidget, + supportedTypes: ["char"], +}); + +export {BirthChartTableWidget}; diff --git a/hr_birth_astral_chart/static/src/xml/birth_chart_table.xml b/hr_birth_astral_chart/static/src/xml/birth_chart_table.xml new file mode 100644 index 00000000000..c4c9c1bc13a --- /dev/null +++ b/hr_birth_astral_chart/static/src/xml/birth_chart_table.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + +
PlanetSignPositionHouse
+ + + + + + + + + + + + + + + + + House + +
+
+ +
diff --git a/hr_birth_astral_chart/views/hr_employee_views.xml b/hr_birth_astral_chart/views/hr_employee_views.xml new file mode 100644 index 00000000000..6bbe2885580 --- /dev/null +++ b/hr_birth_astral_chart/views/hr_employee_views.xml @@ -0,0 +1,167 @@ + + + + + hr.employee.birth_astral_chart.form + hr.employee + + + + + + + +
+ +
+
+
Sun Sign
+
+ +
+
+
+
Moon Sign
+
+ +
+
+
+
Ascendant
+
+ +
+
+
+ + Add birth time and coordinates to compute the + Ascendant and Houses +
+
+ + +
+
+ +
+
+
Planetary Positions
+ +
+
Houses
+ +
+
+
+ + +
+
+
+ Chart Interpretation +
+ +
+
+ + +
+
+
+ Current Transits: + how today's sky influences your natal chart +
+
+
+ +
+
+
+ Transit Positions +
+ + +
+
+
+ +
+
+
+
+
+
+
+
+
diff --git a/requirements.txt b/requirements.txt index 7d41f1be0f9..db36908f9c1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ # generated from manifests external_dependencies +pyswisseph python-dateutil
+ + +Odoo Community Association +
+

HR Birth Astral Chart

+ +

Beta License: AGPL-3 OCA/hr Translate me on Weblate Try me on Runboat

+

View your full Western astrological birth chart directly from your +employee profile.

+

Depends on hr_birth_data for the birth time and coordinates fields.

+

Adds an Astral Chart tab to the employee form showing:

+
    +
  • Sun Sign, Moon Sign and Ascendant summary badges
  • +
  • An SVG zodiac wheel with planetary positions
  • +
  • A detailed table with degree, minute, sign and house for each planet +(Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, +Pluto, Chiron, Black Moon Lilith, Ceres)
  • +
  • Astrological houses (Whole Sign system) when birth time and location +are provided
  • +
  • Current transits biwheel and interpretation
  • +
+

Astronomical calculations use pyswisseph (Python binding for Swiss +Ephemeris) for high-precision planetary positions.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • ForgeFlow
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

MiquelRForgeFlow

+

This module is part of the OCA/hr project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+