@@ -152,7 +152,26 @@ def _get_rruleset(self):
152
152
ruleset = rruleset ()
153
153
if self .state != "progress" or not self .fsm_frequency_set_id :
154
154
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"""
156
175
next_date = self .start_date
157
176
last_order = self .env ["fsm.order" ].search (
158
177
[
@@ -165,18 +184,7 @@ def _get_rruleset(self):
165
184
)
166
185
if last_order :
167
186
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
180
188
181
189
def _prepare_order_values (self , date = None ):
182
190
self .ensure_one ()
0 commit comments