36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
"""Fill pickup_day and pickup_date for existing group orders."""
|
|
|
|
from datetime import datetime, timedelta
|
|
|
|
|
|
def migrate(cr, version):
|
|
"""
|
|
Fill pickup_day and pickup_date for existing group orders.
|
|
|
|
This ensures that existing group orders show delivery information.
|
|
"""
|
|
from odoo import api, SUPERUSER_ID
|
|
|
|
env = api.Environment(cr, SUPERUSER_ID, {})
|
|
|
|
# Get all group orders that don't have pickup_day set
|
|
group_orders = env['group.order'].search([('pickup_day', '=', False)])
|
|
|
|
if not group_orders:
|
|
return
|
|
|
|
# Set default values: Friday (4) and one week from now
|
|
today = datetime.now().date()
|
|
|
|
# Find Friday of next week (day 4)
|
|
days_until_friday = (4 - today.weekday()) % 7 # 4 = Friday
|
|
if days_until_friday == 0:
|
|
days_until_friday = 7
|
|
friday = today + timedelta(days=days_until_friday)
|
|
|
|
for order in group_orders:
|
|
order.write({
|
|
'pickup_day': 4, # Friday
|
|
'pickup_date': friday,
|
|
'delivery_notice': 'Home delivery available.',
|
|
})
|