[DEL] date_utils clean

This commit is contained in:
Dario Lodeiros
2018-11-07 19:46:05 +01:00
parent ccfb72d617
commit 4038fcc416
9 changed files with 28 additions and 77 deletions

View File

@@ -1,5 +1 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from . import test_reservations_calendar
from . import test_management_calendar
from . import test_product_pricelist

View File

@@ -11,7 +11,6 @@ from odoo.tools import (
DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATE_FORMAT,
DEFAULT_SERVER_DATETIME_FORMAT) DEFAULT_SERVER_DATETIME_FORMAT)
from .backend_adapter import DEFAULT_WUBOOK_DATE_FORMAT from .backend_adapter import DEFAULT_WUBOOK_DATE_FORMAT
from odoo.addons.hotel import date_utils
from odoo import api, fields from odoo import api, fields
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
@@ -29,17 +28,13 @@ class HotelChannelConnectorExporter(AbstractComponent):
def push_priceplans(self): def push_priceplans(self):
unpushed = self.env['product.pricelist.item'].search([ unpushed = self.env['product.pricelist.item'].search([
('wpushed', '=', False), ('wpushed', '=', False),
('date_start', '>=', date_utils.now(hours=False).strftime( ('date_start', '>=', fields.Datetime.now().strftime(
DEFAULT_SERVER_DATE_FORMAT)) DEFAULT_SERVER_DATE_FORMAT))
], order="date_start ASC") ], order="date_start ASC")
if any(unpushed): if any(unpushed):
date_start = date_utils.get_datetime( date_start = fields.Date.from_string(unpushed[0].date_start)
unpushed[0].date_start, date_end = fields.Date.from_string(unpushed[-1].date_start)
dtformat=DEFAULT_SERVER_DATE_FORMAT) days_diff = (date_start - date_end).days + 1
date_end = date_utils.get_datetime(
unpushed[-1].date_start,
dtformat=DEFAULT_SERVER_DATE_FORMAT)
days_diff = date_utils.date_diff(date_start, date_end, hours=False) + 1
prices = {} prices = {}
pricelist_ids = self.env['product.pricelist'].search([ pricelist_ids = self.env['product.pricelist'].search([
@@ -82,20 +77,13 @@ class HotelChannelConnectorExporter(AbstractComponent):
rest_item_obj = self.env['hotel.room.type.restriction.item'] rest_item_obj = self.env['hotel.room.type.restriction.item']
unpushed = rest_item_obj.search([ unpushed = rest_item_obj.search([
('wpushed', '=', False), ('wpushed', '=', False),
('date_start', '>=', date_utils.now(hours=False).strftime( ('date_start', '>=', fields.Datetime.now().strftime(
DEFAULT_SERVER_DATE_FORMAT)) DEFAULT_SERVER_DATE_FORMAT))
], order="date_start ASC") ], order="date_start ASC")
if any(unpushed): if any(unpushed):
date_start = date_utils.get_datetime( date_start = fields.Date.from_string(unpushed[0].date_start)
unpushed[0].date_start, date_end = fields.Date.from_string(unpushed[-1].date_start)
dtformat=DEFAULT_SERVER_DATE_FORMAT) days_diff = (date_start - date_end) + 1
date_end = date_utils.get_datetime(
unpushed[-1].date_start,
dtformat=DEFAULT_SERVER_DATE_FORMAT)
days_diff = date_utils.date_diff(
date_start,
date_end,
hours=False) + 1
restrictions = {} restrictions = {}
restriction_plan_ids = room_type_rest_obj.search([ restriction_plan_ids = room_type_rest_obj.search([
('wpid', '!=', False), ('wpid', '!=', False),

View File

@@ -8,7 +8,6 @@ from datetime import timedelta
from odoo.exceptions import ValidationError from odoo.exceptions import ValidationError
from odoo.addons.component.core import AbstractComponent, Component from odoo.addons.component.core import AbstractComponent, Component
from odoo.addons.hotel_channel_connector.components.core import ChannelConnectorError from odoo.addons.hotel_channel_connector.components.core import ChannelConnectorError
from odoo.addons.hotel import date_utils
from odoo import _ from odoo import _
from odoo.tools import ( from odoo.tools import (
DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATE_FORMAT,
@@ -110,9 +109,7 @@ class HotelChannelConnectorImporter(AbstractComponent):
('wrid', '=', k_rid) ('wrid', '=', k_rid)
], limit=1) ], limit=1)
if room_type: if room_type:
date_dt = date_utils.get_datetime( date_dt = fields.Date.from_string(dfrom)
dfrom,
dtformat=DEFAULT_WUBOOK_DATE_FORMAT)
for day_vals in v_rid: for day_vals in v_rid:
date_str = date_dt.strftime(DEFAULT_SERVER_DATE_FORMAT) date_str = date_dt.strftime(DEFAULT_SERVER_DATE_FORMAT)
self._get_room_values_availability( self._get_room_values_availability(
@@ -138,14 +135,10 @@ class HotelChannelConnectorImporter(AbstractComponent):
reservation_line_ids = [] reservation_line_ids = []
tprice = 0.0 tprice = 0.0
for brday in broom['roomdays']: for brday in broom['roomdays']:
wndate = date_utils.get_datetime( wndate = fields.Date.from_string(
brday['day'], brday['day']
dtformat=DEFAULT_WUBOOK_DATE_FORMAT )
).replace(tzinfo=pytz.utc) if wndate >= dates_checkin[0] and wndate <= (dates_checkout[0] - timedelta(days=1)):
if date_utils.date_in(wndate,
dates_checkin[0],
dates_checkout[0] - timedelta(days=1),
hours=False) == 0:
reservation_line_ids.append((0, False, { reservation_line_ids.append((0, False, {
'date': wndate.strftime( 'date': wndate.strftime(
DEFAULT_SERVER_DATE_FORMAT), DEFAULT_SERVER_DATE_FORMAT),
@@ -247,19 +240,13 @@ class HotelChannelConnectorImporter(AbstractComponent):
arr_hour = default_arrival_hour if book['arrival_hour'] == "--" \ arr_hour = default_arrival_hour if book['arrival_hour'] == "--" \
else book['arrival_hour'] else book['arrival_hour']
checkin = "%s %s" % (book['date_arrival'], arr_hour) checkin = "%s %s" % (book['date_arrival'], arr_hour)
checkin_dt = date_utils.get_datetime( checkin_dt = fields.Date.from_string(checkin)
checkin,
dtformat=DEFAULT_WUBOOK_DATETIME_FORMAT,
stz=tz_hotel)
checkin_utc_dt = date_utils.dt_as_timezone(checkin_dt, 'UTC') checkin_utc_dt = date_utils.dt_as_timezone(checkin_dt, 'UTC')
checkin = checkin_utc_dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT) checkin = checkin_utc_dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT)
checkout = "%s %s" % (book['date_departure'], checkout = "%s %s" % (book['date_departure'],
default_departure_hour) default_departure_hour)
checkout_dt = date_utils.get_datetime( checkout_dt = fields.Date.from_string(checkout)
checkout,
dtformat=DEFAULT_WUBOOK_DATETIME_FORMAT,
stz=tz_hotel)
checkout_utc_dt = date_utils.dt_as_timezone(checkout_dt, 'UTC') checkout_utc_dt = date_utils.dt_as_timezone(checkout_dt, 'UTC')
checkout = checkout_utc_dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT) checkout = checkout_utc_dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT)
@@ -539,9 +526,9 @@ class HotelChannelConnectorImporter(AbstractComponent):
], limit=1) ], limit=1)
if pricelist: if pricelist:
pricelist_item_obj = self.env['product.pricelist.item'] pricelist_item_obj = self.env['product.pricelist.item']
dfrom_dt = date_utils.get_datetime(date_from) dfrom_dt = fields.Date.from_string(date_from)
dto_dt = date_utils.get_datetime(date_to) dto_dt = fields.Date.from_string(date_to)
days_diff = date_utils.date_diff(dfrom_dt, dto_dt, hours=False) + 1 days_diff = (dfrom_dt - dto_dt) + 1
for i in range(0, days_diff): for i in range(0, days_diff):
ndate_dt = dfrom_dt + timedelta(days=i) ndate_dt = dfrom_dt + timedelta(days=i)
for k_rid, v_rid in plan_prices.iteritems(): for k_rid, v_rid in plan_prices.iteritems():
@@ -623,9 +610,7 @@ class HotelChannelConnectorImporter(AbstractComponent):
], limit=1) ], limit=1)
if room_type: if room_type:
for item in v_rid: for item in v_rid:
date_dt = date_utils.get_datetime( date_dt = fields.Date.from_string(item['date'])
item['date'],
dtformat=DEFAULT_WUBOOK_DATE_FORMAT)
restriction_item = restriction_item_obj.search([ restriction_item = restriction_item_obj.search([
('restriction_id', '=', restriction_id.id), ('restriction_id', '=', restriction_id.id),
('date_start', '=', date_dt.strftime( ('date_start', '=', date_dt.strftime(

View File

@@ -5,8 +5,7 @@ import logging
from datetime import timedelta from datetime import timedelta
from odoo.exceptions import ValidationError from odoo.exceptions import ValidationError
from odoo.addons.component.core import Component from odoo.addons.component.core import Component
from odoo.addons.connector.components.mapper import mapping from odoo.addons.sconnector.components.mapper import mapping
from odoo.addons.hotel import date_utils
from odoo import fields, api, _ from odoo import fields, api, _
from odoo.tools import ( from odoo.tools import (
DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATE_FORMAT,
@@ -45,9 +44,9 @@ class HotelRoomTypeImporter(Component):
def fetch_rooms_values(self, dfrom, dto, rooms=False, def fetch_rooms_values(self, dfrom, dto, rooms=False,
set_max_avail=False): set_max_avail=False):
# Sanitize Dates # Sanitize Dates
now_dt = date_utils.now() now_dt = fields.Datetime.now()
dfrom_dt = date_utils.get_datetime(dfrom) dfrom_dt = fields.Date.from_string(dfrom)
dto_dt = date_utils.get_datetime(dto) dto_dt = fields.Date.from_string(dto)
if dto_dt < now_dt: if dto_dt < now_dt:
return True return True
if dfrom_dt < now_dt: if dfrom_dt < now_dt:
@@ -122,7 +121,7 @@ class HotelRoomTypeImporter(Component):
('channel_plan_id', '=', k_rid) ('channel_plan_id', '=', k_rid)
], limit=1) ], limit=1)
if room_type: if room_type:
date_dt = date_utils.get_datetime( date_dt = fields.Date.from_string(
dfrom, dfrom,
dtformat=DEFAULT_WUBOOK_DATE_FORMAT) dtformat=DEFAULT_WUBOOK_DATE_FORMAT)
for day_vals in v_rid: for day_vals in v_rid:

View File

@@ -7,7 +7,6 @@ from odoo.exceptions import ValidationError
from odoo.addons.component.core import Component from odoo.addons.component.core import Component
from odoo.addons.hotel_channel_connector.components.core import ChannelConnectorError from odoo.addons.hotel_channel_connector.components.core import ChannelConnectorError
from odoo.addons.connector.components.mapper import mapping, only_create from odoo.addons.connector.components.mapper import mapping, only_create
from odoo.addons.hotel import date_utils
from odoo import fields, api, _ from odoo import fields, api, _
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)

View File

@@ -6,7 +6,6 @@ from datetime import timedelta
from odoo.exceptions import ValidationError from odoo.exceptions import ValidationError
from odoo.addons.component.core import Component from odoo.addons.component.core import Component
from odoo.addons.connector.components.mapper import mapping from odoo.addons.connector.components.mapper import mapping
from odoo.addons.hotel import date_utils
from odoo import fields, api, _ from odoo import fields, api, _
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)

View File

@@ -20,16 +20,3 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
############################################################################## ##############################################################################
from . import test_wubook
from . import test_room_type_availability_model
from . import test_wubook_issue_model
from . import test_reservation_restriction_item_model
from . import test_reservation_restriction_model
from . import test_res_partner_model
from . import test_product_pricelist_item_model
from . import test_wubook_channel_info_model
from . import test_product_pricelist_model
from . import test_hotel_calendar_management_model
from . import test_hotel_folio_model
from . import test_hotel_room_type_model
from . import test_hotel_reservation_model

View File

@@ -21,7 +21,6 @@
############################################################################## ##############################################################################
from openerp.exceptions import ValidationError from openerp.exceptions import ValidationError
from openerp import models, fields, api, _ from openerp import models, fields, api, _
from odoo.addons.hotel import date_utils
from ..components.backend_adapter import DEFAULT_WUBOOK_DATE_FORMAT from ..components.backend_adapter import DEFAULT_WUBOOK_DATE_FORMAT
@@ -37,8 +36,8 @@ class ImportPlanPricesWizard(models.TransientModel):
self.env.context.get('active_id')) self.env.context.get('active_id'))
if pricelist_id: if pricelist_id:
for record in self: for record in self:
date_start_dt = date_utils.get_datetime(record.date_start) date_start_dt = fields.Date.from_string(record.date_start)
date_end_dt = date_utils.get_datetime(record.date_end) date_end_dt = fields.Date.from_string(record.date_end)
wres = self.env['wubook'].fetch_plan_prices( wres = self.env['wubook'].fetch_plan_prices(
pricelist_id.wpid, pricelist_id.wpid,
date_start_dt.strftime(DEFAULT_WUBOOK_DATE_FORMAT), date_start_dt.strftime(DEFAULT_WUBOOK_DATE_FORMAT),

View File

@@ -21,7 +21,6 @@
############################################################################## ##############################################################################
from openerp.exceptions import ValidationError from openerp.exceptions import ValidationError
from openerp import models, fields, api, _ from openerp import models, fields, api, _
from odoo.addons.hotel import date_utils
from ..components.backend_adapter import DEFAULT_WUBOOK_DATE_FORMAT from ..components.backend_adapter import DEFAULT_WUBOOK_DATE_FORMAT
@@ -37,8 +36,8 @@ class ImportPlanRestrictionsWizard(models.TransientModel):
self.env.context.get('active_id')) self.env.context.get('active_id'))
if restriction_id: if restriction_id:
for record in self: for record in self:
date_start_dt = date_utils.get_datetime(record.date_start) date_start_dt = fields.Date.from_string(record.date_start)
date_end_dt = date_utils.get_datetime(record.date_end) date_end_dt = fields.Date.from_string(record.date_end)
if int(restriction_id.wpid) == 0: if int(restriction_id.wpid) == 0:
wres = self.env['wubook'].fetch_rooms_values( wres = self.env['wubook'].fetch_rooms_values(
date_start_dt.strftime(DEFAULT_WUBOOK_DATE_FORMAT), date_start_dt.strftime(DEFAULT_WUBOOK_DATE_FORMAT),