Skip to content

Commit

Permalink
[MIG]calendar_partner_color: Migration to 16.0
Browse files Browse the repository at this point in the history
  • Loading branch information
LorenzoC0 committed Mar 5, 2025
1 parent 0110838 commit 2c5ff29
Show file tree
Hide file tree
Showing 12 changed files with 113 additions and 43 deletions.
11 changes: 6 additions & 5 deletions calendar_partner_color/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ Calendar Partner Color
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fcalendar-lightgray.png?logo=github
:target: https://github.com/OCA/calendar/tree/14.0/calendar_partner_color
:target: https://github.com/OCA/calendar/tree/16.0/calendar_partner_color
:alt: OCA/calendar
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/calendar-14-0/calendar-14-0-calendar_partner_color
:target: https://translation.odoo-community.org/projects/calendar-16-0/calendar-16-0-calendar_partner_color
: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/calendar&target_branch=14.0
:target: https://runboat.odoo-community.org/builds?repo=OCA/calendar&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|
Expand All @@ -46,7 +46,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/calendar/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 <https://github.com/OCA/calendar/issues/new?body=module:%20calendar_partner_color%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/calendar/issues/new?body=module:%20calendar_partner_color%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Expand All @@ -62,6 +62,7 @@ Contributors
~~~~~~~~~~~~

* Raphaël Reverdy <[email protected]>
* Lorenzo Carta <[email protected]>

Maintainers
~~~~~~~~~~~
Expand All @@ -84,6 +85,6 @@ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-hparfr|

This module is part of the `OCA/calendar <https://github.com/OCA/calendar/tree/14.0/calendar_partner_color>`_ project on GitHub.
This module is part of the `OCA/calendar <https://github.com/OCA/calendar/tree/16.0/calendar_partner_color>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
13 changes: 9 additions & 4 deletions calendar_partner_color/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,21 @@
{
"name": "Calendar Partner Color",
"summary": "Adapt calendar color based on partner's color",
"version": "14.0.0.1.0",
"version": "16.0.0.1.0",
"category": "Calendar",
"website": "https://github.com/OCA/calendar",
"author": "Akretion, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["calendar", "web_calendar_color_field"],
"depends": ["calendar"],
"data": [
"views/calendar_event.xml",
"views/partner.xml",
"views/res_partner_views.xml",
],
"assets": {
"web.assets_backend": [
"calendar_partner_color/static/src/views/**/*",
],
},
"excludes": ["calendar_event_type_color"],
"installable": True,
"development_status": "Beta",
"maintainers": ["hparfr"],
Expand Down
1 change: 0 additions & 1 deletion calendar_partner_color/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
from . import calendar_event
from . import res_partner
9 changes: 0 additions & 9 deletions calendar_partner_color/models/calendar_event.py

This file was deleted.

7 changes: 7 additions & 0 deletions calendar_partner_color/models/res_partner.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,10 @@ def _get_default_color(self):
return randint(0, 29)

color = fields.Integer(default=_get_default_color)

def get_attendee_detail(self, meeting_ids):
res = super().get_attendee_detail(meeting_ids)
for attendee in res:
partner = self.browse(attendee["id"])
attendee["color"] = partner.color
return res
1 change: 1 addition & 0 deletions calendar_partner_color/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
* Raphaël Reverdy <[email protected]>
* Lorenzo Carta <[email protected]>
19 changes: 11 additions & 8 deletions calendar_partner_color/static/description/index.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
Expand All @@ -9,10 +8,11 @@

/*
:Author: David Goodger ([email protected])
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
Expand Down Expand Up @@ -275,7 +275,7 @@
margin-left: 2em ;
margin-right: 2em }

pre.code .ln { color: grey; } /* line numbers */
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
Expand All @@ -301,7 +301,7 @@
span.pre {
white-space: pre }

span.problematic {
span.problematic, pre.problematic {
color: red }

span.section-subtitle {
Expand Down Expand Up @@ -369,7 +369,7 @@ <h1 class="title">Calendar Partner Color</h1>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:398bbea0556bc535439d30bf204710498bed07b3d3b4f7d413863b3c9b7c67f7
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/calendar/tree/14.0/calendar_partner_color"><img alt="OCA/calendar" src="https://img.shields.io/badge/github-OCA%2Fcalendar-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/calendar-14-0/calendar-14-0-calendar_partner_color"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/calendar&amp;target_branch=14.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/calendar/tree/16.0/calendar_partner_color"><img alt="OCA/calendar" src="https://img.shields.io/badge/github-OCA%2Fcalendar-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/calendar-16-0/calendar-16-0-calendar_partner_color"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/calendar&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>Display each user’s calendar with a different color.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
Expand All @@ -393,7 +393,7 @@ <h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/calendar/issues">GitHub Issues</a>.
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
<a class="reference external" href="https://github.com/OCA/calendar/issues/new?body=module:%20calendar_partner_color%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/calendar/issues/new?body=module:%20calendar_partner_color%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
Expand All @@ -408,18 +408,21 @@ <h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2>
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
<ul class="simple">
<li>Raphaël Reverdy &lt;<a class="reference external" href="mailto:raphael.reverdy&#64;akretion.com">raphael.reverdy&#64;akretion.com</a>&gt;</li>
<li>Lorenzo Carta &lt;<a class="reference external" href="mailto:lorenzo.carta&#64;innovyou.it">lorenzo.carta&#64;innovyou.it</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>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.</p>
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
<p><a class="reference external image-reference" href="https://github.com/hparfr"><img alt="hparfr" src="https://github.com/hparfr.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/calendar/tree/14.0/calendar_partner_color">OCA/calendar</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/calendar/tree/16.0/calendar_partner_color">OCA/calendar</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/** @odoo-module **/

import {AttendeeCalendarModel} from "@calendar/views/attendee_calendar/attendee_calendar_model";
import {patch} from "@web/core/utils/patch";

patch(AttendeeCalendarModel.prototype, "calendar_partner_color", {
/**
* @override
* Set color to the partner color
*/
async updateAttendeeData(data) {
const res = await this._super(...arguments);
const attendees = data.attendees;

// Map attendees by event_id and attendee_id
const attendeeMap = new Map();
for (const attendee of attendees) {
if (!attendeeMap.has(attendee.event_id)) {
attendeeMap.set(attendee.event_id, new Map());
}
attendeeMap
.get(attendee.event_id)
.set(attendee.attendee_id, attendee.color);
}

let missingColors = new Set();
// Assign colorIndex based on matching attendee
for (const event of Object.values(data.records)) {
if (attendeeMap.has(event.id)) {
const eventAttendees = attendeeMap.get(event.id);
if (eventAttendees.has(event.calendarAttendeeId)) {
event.colorIndex = eventAttendees.get(event.calendarAttendeeId);
}
} else if (event.rawRecord.privacy === "private") {
if (!missingColors.has(event.rawRecord.partner_id[0])) {
event.colorIndex = await this.getColorPrivateEvent(event.rawRecord.partner_id[0], missingColors);
} else {
event.colorIndex = missingColors.get(event.rawRecord.partner_id[0]);
}
}
}

// Update filter colors
const filterSection = data.filterSections.partner_ids;
for (const filter of filterSection.filters) {
if (typeof filter.value === "number") {
let color = null;
for (const attendee of attendees) {
if (attendee.id == filter.value) {
color = attendee.color;
break;
}
}
filter.colorIndex = color;
}
}
return res;
},

async getColorPrivateEvent(partner_id, missingColors) {
const colorIndex = await this.orm.searchRead(
"res.partner",
[["id", "=", partner_id]],
["color"],
);
if (colorIndex.length) {
missingColors.add(partner_id[0], colorIndex[0].color);
return colorIndex[0].color;
};
return null; // Return a default value if no color is found
},
});
16 changes: 0 additions & 16 deletions calendar_partner_color/views/calendar_event.xml

This file was deleted.

File renamed without changes.
6 changes: 6 additions & 0 deletions setup/calendar_partner_color/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)

0 comments on commit 2c5ff29

Please sign in to comment.