Skip to content

Commit 1ae19e8

Browse files
committed
Merge PR #1170 into 14.0
Signed-off-by max3903
2 parents 6e4f325 + 4d3bc96 commit 1ae19e8

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

fieldservice_recurring/models/fsm_recurring.py

+21-13
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,26 @@ def _get_rruleset(self):
152152
ruleset = rruleset()
153153
if self.state != "progress" or not self.fsm_frequency_set_id:
154154
return ruleset
155-
# set next_date which is used as the rrule 'dtstart' parameter
155+
next_date = self._get_next_date()
156+
thru_date = self._get_thru_date()
157+
# use variables to calulate and return the rruleset object
158+
ruleset = self.fsm_frequency_set_id._get_rruleset(
159+
dtstart=next_date, until=thru_date
160+
)
161+
return ruleset
162+
163+
def _get_thru_date(self):
164+
"""Get thru_date to use as rrule 'until' parameter"""
165+
days_ahead = self.fsm_frequency_set_id.schedule_days
166+
request_thru_date = datetime.now() + relativedelta(days=+days_ahead)
167+
if self.end_date and (self.end_date < request_thru_date):
168+
thru_date = self.end_date
169+
else:
170+
thru_date = request_thru_date
171+
return thru_date
172+
173+
def _get_next_date(self):
174+
"""Get next_date which is used as the rrule 'dtstart' parameter"""
156175
next_date = self.start_date
157176
last_order = self.env["fsm.order"].search(
158177
[
@@ -165,18 +184,7 @@ def _get_rruleset(self):
165184
)
166185
if last_order:
167186
next_date = last_order.scheduled_date_start
168-
# set thru_date to use as rrule 'until' parameter
169-
days_ahead = self.fsm_frequency_set_id.schedule_days
170-
request_thru_date = datetime.now() + relativedelta(days=+days_ahead)
171-
if self.end_date and (self.end_date < request_thru_date):
172-
thru_date = self.end_date
173-
else:
174-
thru_date = request_thru_date
175-
# use variables to calulate and return the rruleset object
176-
ruleset = self.fsm_frequency_set_id._get_rruleset(
177-
dtstart=next_date, until=thru_date
178-
)
179-
return ruleset
187+
return next_date
180188

181189
def _prepare_order_values(self, date=None):
182190
self.ensure_one()

0 commit comments

Comments
 (0)