Skip to content

Commit

Permalink
[MIG] crm_event: Migration to 15.0
Browse files Browse the repository at this point in the history
  • Loading branch information
stefan-tecnativa committed Jan 23, 2023
1 parent 9d3ad8b commit 33996a7
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 25 deletions.
2 changes: 1 addition & 1 deletion crm_event/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{
"name": "CRM Event Category",
"summary": "Link opportunities to event categories",
"version": "13.0.1.1.0",
"version": "15.0.1.0.0",
"development_status": "Production/Stable",
"category": "Event Management",
"website": "https://github.com/OCA/event",
Expand Down
10 changes: 2 additions & 8 deletions crm_event/models/event_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ def _events_domain(self):
# events when clicking on it, so it seems more user-friendly to
# include these events, even if they finished earlier today.
("date_end", ">=", fields.Date.today()),
("state", "!=", "cancel"),
]

def _compute_event_totals(self):
Expand All @@ -56,7 +55,7 @@ def _compute_event_totals(self):
types_with_unlimited_seats = (
self.env["event.event"]
.search(
domain + [("seats_availability", "=", "unlimited")],
domain + [("seats_limited", "=", False)],
)
.mapped("event_type_id")
)
Expand All @@ -65,17 +64,12 @@ def _compute_event_totals(self):
fields=["seats_available"],
groupby=["event_type_id"],
)
translated_unlimited = dict(
self.env["event.event"].fields_get(["seats_availability"])[
"seats_availability"
]["selection"]
)["unlimited"]
totals = {group["event_type_id"][0]: group for group in results}
for one in self:
totals_item = totals.get(one.id, {})
event_count = totals_item.get("event_type_id_count", 0)
seats_sum = (
translated_unlimited
_("Unlimited")
if one in types_with_unlimited_seats
else totals_item.get("seats_available", "0")
)
Expand Down
5 changes: 4 additions & 1 deletion crm_event/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
* Jairo Llopis <jairo.llopis@tecnativa.com> (https://www.tecnativa.com/)
* `Tecnativa <https://www.tecnativa.com>`__:

* Jairo Llopis
* Stefan Ungureanu
11 changes: 4 additions & 7 deletions crm_event/reports/event_type_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ def _select(self, fields_=()):
("events_available_count", "COUNT(ee.*)"),
(
"event_seats_availability",
"""CASE WHEN 'unlimited' = ANY(ARRAY_AGG(seats_availability))
THEN 'unlimited' ELSE 'limited' END""",
"""CASE WHEN ee.seats_limited
THEN 'limited' ELSE 'unlimited' END""",
),
("seats_limited_available", "COALESCE(SUM(ee.seats_available), 0)"),
("open_opportunities_count", "et.open_opportunities_count"),
Expand Down Expand Up @@ -80,10 +80,7 @@ def _where(self, clauses=()):
Arguments:
clauses: `("mt.field >= 10 OR mt.field < 0", ...)`
"""
clauses += (
"ee.state IS NULL OR ee.state != 'cancel'",
"ee.date_end IS NULL OR ee.date_end >= CURRENT_DATE",
)
clauses += ("ee.date_end IS NULL OR ee.date_end >= CURRENT_DATE",)
result = sql.Composed(map(sql.SQL, clauses)).join(" AND ")
return result

Expand All @@ -93,7 +90,7 @@ def _groupby(self, clauses=()):
Arguments:
clauses: `("mt.field", ...)`
"""
clauses += ("et.id",)
clauses += ("et.id", "ee.seats_limited")
result = sql.Composed(map(sql.SQL, clauses)).join(", ")
return result

Expand Down
14 changes: 7 additions & 7 deletions crm_event/tests/test_event_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@

from datetime import datetime, timedelta

from odoo.tests.common import SavepointCase
from odoo.tests.common import TransactionCase


class CrmEventCase(SavepointCase):
class CrmEventCase(TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
Expand All @@ -21,31 +21,31 @@ def setUpClass(cls):
"date_begin": datetime.now() - timedelta(days=1),
"date_end": datetime.now() - timedelta(minutes=1),
"name": "Today's past event",
"seats_availability": "limited",
"seats_limited": True,
"seats_max": 1,
},
{
"event_type_id": cls.type_a.id,
"date_begin": datetime.now() - timedelta(days=2),
"date_end": datetime.now() - timedelta(days=1),
"name": "Yesterday's past event",
"seats_availability": "limited",
"seats_limited": True,
"seats_max": 10,
},
{
"event_type_id": cls.type_a.id,
"date_begin": datetime.now() - timedelta(days=1),
"date_end": datetime.now() + timedelta(days=1),
"name": "Present event",
"seats_availability": "limited",
"seats_limited": True,
"seats_max": 100,
},
{
"event_type_id": cls.type_a.id,
"date_begin": datetime.now() + timedelta(days=1),
"date_end": datetime.now() + timedelta(days=2),
"name": "Future event",
"seats_availability": "limited",
"seats_limited": True,
"seats_max": 1000,
},
]
Expand All @@ -55,7 +55,7 @@ def setUpClass(cls):
cls.b_events = cls.env["event.event"]
for event in cls.a_events:
cls.b_events |= event.copy({"event_type_id": cls.type_b.id})
cls.b_events[0].seats_availability = "unlimited"
cls.b_events[0].seats_limited = False
# Leads and opportunities test data
cls.opportunities = cls.env["crm.lead"].create(
[
Expand Down
2 changes: 1 addition & 1 deletion crm_event/views/crm_lead_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
<t t-if="record.event_type_id.raw_value">
<div class="o_kanban_record_body text-info">
<field name="seats_wanted" class="oe_inline" nolabel="1" />
<i class="fa fa-ticket" />
<i class="fa fa-ticket" title="Ticket" />
<field name="event_type_id" class="oe_inline" nolabel="1" />
</div>
</t>
Expand Down

0 comments on commit 33996a7

Please sign in to comment.