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:

      1. The linked invoices.date_closed < log_cron.date_started for the latest run of process_renewing_services
      2. The linked services.date_last_renewed === null

      Two columns should be added to the service_invoices table

      1. failed_attempts INT(10) UNSIGNED NOT NULL DEFAULT 0
      2. 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

        jonathan Jonathan Reissmueller created issue -
        jonathan Jonathan Reissmueller made changes -
        Field Original Value New Value
        Rank Ranked higher
        jonathan Jonathan Reissmueller made changes -
        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.
        jonathan Jonathan Reissmueller made changes -
        Story Points 5
        jonathan Jonathan Reissmueller made changes -
        Sprint 5.7.0 Sprint 1 [ 169 ]
        jonathan Jonathan Reissmueller made changes -
        Rank Ranked higher
        jonathan Jonathan Reissmueller made changes -
        Rank Ranked higher
        abdy Abdy Franco made changes -
        Assignee Abdy Franco [ abdy ]
        abdy Abdy Franco made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        abdy Abdy Franco made changes -
        Remaining Estimate 0 minutes [ 0 ]
        Time Spent 1 hour, 38 minutes [ 5880 ]
        Worklog Id 16063 [ 16063 ]
        abdy Abdy Franco made changes -
        Status In Progress [ 3 ] In Review [ 5 ]
        Resolution Fixed [ 1 ]
        jonathan Jonathan Reissmueller made changes -
        Sprint 5.7.0 Sprint 1 [ 169 ] 5.7.0 Sprint 1, 5.7.0 Sprint 2 [ 169, 171 ]
        jonathan Jonathan Reissmueller made changes -
        Rank Ranked higher
        jonathan Jonathan Reissmueller made changes -
        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.
        jonathan Jonathan Reissmueller made changes -
        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.
        abdy Abdy Franco made changes -
        Time Spent 1 hour, 38 minutes [ 5880 ] 4 hours, 28 minutes [ 16080 ]
        Worklog Id 16079 [ 16079 ]
        jonathan Jonathan Reissmueller made changes -
        Time Spent 4 hours, 28 minutes [ 16080 ] 5 hours, 39 minutes [ 20340 ]
        Worklog Id 16081 [ 16081 ]
        jonathan Jonathan Reissmueller made changes -
        Status In Review [ 5 ] Closed [ 6 ]
        jonathan Jonathan Reissmueller made changes -
        Resolution Fixed [ 1 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        jonathan Jonathan Reissmueller made changes -
        Time Spent 5 hours, 39 minutes [ 20340 ] 6 hours, 19 minutes [ 22740 ]
        Worklog Id 16088 [ 16088 ]
        jonathan Jonathan Reissmueller made changes -
        Status Reopened [ 4 ] In Review [ 5 ]
        Resolution Fixed [ 1 ]
        abdy Abdy Franco made changes -
        Time Spent 6 hours, 19 minutes [ 22740 ] 6 hours, 43 minutes [ 24180 ]
        Worklog Id 16089 [ 16089 ]
        abdy Abdy Franco made changes -
        Status In Review [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            abdy Abdy Franco
            Reporter:
            jonathan Jonathan Reissmueller
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              Fix Release Date:
              9/Dec/22

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0 minutes
              0m
              Logged:
              Time Spent - 6 hours, 43 minutes
              6h 43m

                Agile