Details
-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 5.6.0-b2
-
Component/s: None
-
Labels:None
Description
Currently, when a service renewal fails, the only thing that happens is that a staff notice is sent (which has to be subscribed to and is often overlooked by users). No reattempt to provision is made.
We should use the service_invoices table for this but it needs some cleaning and updating.
Migration
Record meeting either the following criteria should be removed from the service_invoices table:
- The linked invoices.date_closed < log_cron.date_started for the latest run of process_renewing_services
- The linked services.date_last_renewed === null
Two columns should be added to the service_invoices table
- failed_attempts INT(10) UNSIGNED NOT NULL DEFAULT 0
- maximum_attempts INT(10) UNSIGNED NOT NULL DEFAULT 1
A company setting should be created service_renewal_attempts and defaulted to 24
Setting
Add a company setting "Service Renewal Attempt" in "Invoice and Charge Options" (for now) just under "Auto Debit Attempts" as a numeric input.
When a service_invoices record is inserted, maximum_attempts should be set to service_renewal_attempts
Cron
Services::getAllRenewablePaid() should be updated to ignore the date filter. It should then be updated to only fetch records whose failed_attempts < maximum_attempts.
Services::renew() should be updated to increment service_invoices.failed_attempts on a failed attempt.
Other
ServiceInvoice records should not be added when a service is created, only when one is renewed.
Invoices::createFromServices() needs to be updated to only add ServiceInvoice records if the services are being renewed.
Invoices::appendServices() should not add a ServiceInvoice record.
Activity
Field | Original Value | New Value |
---|---|---|
Rank | Ranked higher |
Description |
Currently, when a service renewal fails, the only thing that happens is that a staff notice is sent (which has to be subscribed to and is often overlooked by users). No reattempt to provision is made.
We should use the service_invoices table for this but it needs some cleaning and updating. h2. Migration Record meeting either the following criteria should be removed from the service_invoices table: # The linked invoices.date_closed < log_cron.date_started for the latest run of process_renewing_services # The linked services.date_last_renewed === null Two columns should be added to the service_invoices table # completed_attempts INT(10) UNSIGNED NOT NULL DEFAULT 0 # maximum_attempts INT(10) UNSIGNED NOT NULL DEFAULT 1 A company setting should be created service_renewal_attempts and defaulted to 24 h2. Setting Add a company setting "Service Renewal Attempt" in "Invoice and Charge Options" (for now) just under "Auto Debit Attempts" as a numeric input. When a service_invoices record is inserted, maximum_attempts should be set to service_renewal_attempts h2. Cron Services::getAllRenewablePaid() should be updated to ignore the date filter. It should then be updated to only fetch records whose completed_attempts < maximum_attempts. Services::renew() should be updated to increment service_invoices.completed_attempts on a failed attempt. |
Currently, when a service renewal fails, the only thing that happens is that a staff notice is sent (which has to be subscribed to and is often overlooked by users). No reattempt to provision is made.
We should use the service_invoices table for this but it needs some cleaning and updating. h2. Migration Record meeting either the following criteria should be removed from the service_invoices table: # The linked invoices.date_closed < log_cron.date_started for the latest run of process_renewing_services # The linked services.date_last_renewed === null Two columns should be added to the service_invoices table # failed_attempts INT(10) UNSIGNED NOT NULL DEFAULT 0 # maximum_attempts INT(10) UNSIGNED NOT NULL DEFAULT 1 A company setting should be created service_renewal_attempts and defaulted to 24 h2. Setting Add a company setting "Service Renewal Attempt" in "Invoice and Charge Options" (for now) just under "Auto Debit Attempts" as a numeric input. When a service_invoices record is inserted, maximum_attempts should be set to service_renewal_attempts h2. Cron Services::getAllRenewablePaid() should be updated to ignore the date filter. It should then be updated to only fetch records whose failed_attempts < maximum_attempts. Services::renew() should be updated to increment service_invoices.failed_attempts on a failed attempt. |
Story Points | 5 |
Sprint | 5.7.0 Sprint 1 [ 169 ] |
Rank | Ranked higher |
Rank | Ranked higher |
Assignee | Abdy Franco [ abdy ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Remaining Estimate | 0 minutes [ 0 ] | |
Time Spent | 1 hour, 38 minutes [ 5880 ] | |
Worklog Id | 16063 [ 16063 ] |
Status | In Progress [ 3 ] | In Review [ 5 ] |
Resolution | Fixed [ 1 ] |
Sprint | 5.7.0 Sprint 1 [ 169 ] | 5.7.0 Sprint 1, 5.7.0 Sprint 2 [ 169, 171 ] |
Rank | Ranked higher |
Description |
Currently, when a service renewal fails, the only thing that happens is that a staff notice is sent (which has to be subscribed to and is often overlooked by users). No reattempt to provision is made.
We should use the service_invoices table for this but it needs some cleaning and updating. h2. Migration Record meeting either the following criteria should be removed from the service_invoices table: # The linked invoices.date_closed < log_cron.date_started for the latest run of process_renewing_services # The linked services.date_last_renewed === null Two columns should be added to the service_invoices table # failed_attempts INT(10) UNSIGNED NOT NULL DEFAULT 0 # maximum_attempts INT(10) UNSIGNED NOT NULL DEFAULT 1 A company setting should be created service_renewal_attempts and defaulted to 24 h2. Setting Add a company setting "Service Renewal Attempt" in "Invoice and Charge Options" (for now) just under "Auto Debit Attempts" as a numeric input. When a service_invoices record is inserted, maximum_attempts should be set to service_renewal_attempts h2. Cron Services::getAllRenewablePaid() should be updated to ignore the date filter. It should then be updated to only fetch records whose failed_attempts < maximum_attempts. Services::renew() should be updated to increment service_invoices.failed_attempts on a failed attempt. |
Currently, when a service renewal fails, the only thing that happens is that a staff notice is sent (which has to be subscribed to and is often overlooked by users). No reattempt to provision is made.
We should use the service_invoices table for this but it needs some cleaning and updating. h2. Migration Record meeting either the following criteria should be removed from the service_invoices table: # The linked invoices.date_closed < log_cron.date_started for the latest run of process_renewing_services # The linked services.date_last_renewed === null Two columns should be added to the service_invoices table # failed_attempts INT(10) UNSIGNED NOT NULL DEFAULT 0 # maximum_attempts INT(10) UNSIGNED NOT NULL DEFAULT 1 A company setting should be created service_renewal_attempts and defaulted to 24 h2. Setting Add a company setting "Service Renewal Attempt" in "Invoice and Charge Options" (for now) just under "Auto Debit Attempts" as a numeric input. When a service_invoices record is inserted, maximum_attempts should be set to service_renewal_attempts h2. Cron Services::getAllRenewablePaid() should be updated to ignore the date filter. It should then be updated to only fetch records whose failed_attempts < maximum_attempts. Services::renew() should be updated to increment service_invoices.failed_attempts on a failed attempt. h2. Other Invoices::createFromServices() needs to be updated to only add ServiceInvoice records if the services are being renewed. Invoices::appendServices() should not add a ServiceInvoice record. |
Description |
Currently, when a service renewal fails, the only thing that happens is that a staff notice is sent (which has to be subscribed to and is often overlooked by users). No reattempt to provision is made.
We should use the service_invoices table for this but it needs some cleaning and updating. h2. Migration Record meeting either the following criteria should be removed from the service_invoices table: # The linked invoices.date_closed < log_cron.date_started for the latest run of process_renewing_services # The linked services.date_last_renewed === null Two columns should be added to the service_invoices table # failed_attempts INT(10) UNSIGNED NOT NULL DEFAULT 0 # maximum_attempts INT(10) UNSIGNED NOT NULL DEFAULT 1 A company setting should be created service_renewal_attempts and defaulted to 24 h2. Setting Add a company setting "Service Renewal Attempt" in "Invoice and Charge Options" (for now) just under "Auto Debit Attempts" as a numeric input. When a service_invoices record is inserted, maximum_attempts should be set to service_renewal_attempts h2. Cron Services::getAllRenewablePaid() should be updated to ignore the date filter. It should then be updated to only fetch records whose failed_attempts < maximum_attempts. Services::renew() should be updated to increment service_invoices.failed_attempts on a failed attempt. h2. Other Invoices::createFromServices() needs to be updated to only add ServiceInvoice records if the services are being renewed. Invoices::appendServices() should not add a ServiceInvoice record. |
Currently, when a service renewal fails, the only thing that happens is that a staff notice is sent (which has to be subscribed to and is often overlooked by users). No reattempt to provision is made.
We should use the service_invoices table for this but it needs some cleaning and updating. h2. Migration Record meeting either the following criteria should be removed from the service_invoices table: # The linked invoices.date_closed < log_cron.date_started for the latest run of process_renewing_services # The linked services.date_last_renewed === null Two columns should be added to the service_invoices table # failed_attempts INT(10) UNSIGNED NOT NULL DEFAULT 0 # maximum_attempts INT(10) UNSIGNED NOT NULL DEFAULT 1 A company setting should be created service_renewal_attempts and defaulted to 24 h2. Setting Add a company setting "Service Renewal Attempt" in "Invoice and Charge Options" (for now) just under "Auto Debit Attempts" as a numeric input. When a service_invoices record is inserted, maximum_attempts should be set to service_renewal_attempts h2. Cron Services::getAllRenewablePaid() should be updated to ignore the date filter. It should then be updated to only fetch records whose failed_attempts < maximum_attempts. Services::renew() should be updated to increment service_invoices.failed_attempts on a failed attempt. h2. Other ServiceInvoice records should not be added when a service is created, only when one is renewed. Invoices::createFromServices() needs to be updated to only add ServiceInvoice records if the services are being renewed. Invoices::appendServices() should not add a ServiceInvoice record. |
Time Spent | 1 hour, 38 minutes [ 5880 ] | 4 hours, 28 minutes [ 16080 ] |
Worklog Id | 16079 [ 16079 ] |
Time Spent | 4 hours, 28 minutes [ 16080 ] | 5 hours, 39 minutes [ 20340 ] |
Worklog Id | 16081 [ 16081 ] |
Status | In Review [ 5 ] | Closed [ 6 ] |
Resolution | Fixed [ 1 ] | |
Status | Closed [ 6 ] | Reopened [ 4 ] |
Time Spent | 5 hours, 39 minutes [ 20340 ] | 6 hours, 19 minutes [ 22740 ] |
Worklog Id | 16088 [ 16088 ] |
Status | Reopened [ 4 ] | In Review [ 5 ] |
Resolution | Fixed [ 1 ] |
Time Spent | 6 hours, 19 minutes [ 22740 ] | 6 hours, 43 minutes [ 24180 ] |
Worklog Id | 16089 [ 16089 ] |
Status | In Review [ 5 ] | Closed [ 6 ] |