diff --git a/subscription_oca/models/sale_subscription.py b/subscription_oca/models/sale_subscription.py index 6845706840..8225ab4d39 100644 --- a/subscription_oca/models/sale_subscription.py +++ b/subscription_oca/models/sale_subscription.py @@ -139,10 +139,11 @@ def _read_group_stage_ids(self, stages, domain, order): def cron_subscription_management(self): today = date.today() - for subscription in self.search([]): + for subscription in self.search([], order="recurring_next_date asc"): + subscription = subscription.with_company(subscription.company_id) if subscription.in_progress: if ( - subscription.recurring_next_date == today + subscription.recurring_next_date <= today and subscription.sale_subscription_line_ids ): try: @@ -150,11 +151,11 @@ def cron_subscription_management(self): except Exception: logger.exception("Error on subscription invoice generate") if not subscription.recurring_rule_boundary: - if subscription.date == today: + if subscription.date <= today: subscription.action_close_subscription() else: - if subscription.date_start == today: + if subscription.date_start <= today: subscription.action_start_subscription() subscription.generate_invoice() diff --git a/subscription_oca/views/sale_subscription_views.xml b/subscription_oca/views/sale_subscription_views.xml index 9a7dafa0a9..912aab2eb7 100644 --- a/subscription_oca/views/sale_subscription_views.xml +++ b/subscription_oca/views/sale_subscription_views.xml @@ -371,11 +371,50 @@ + + + + + + + + + + + + + + +