Details

      Description

      Add a new item to the drop down for services on the client profile page called "Invoice Renewal".

      When selected, an option called "Number of Cycles" will appear and default to 1. This will generate 1 invoice per-service, regardless of the # of cycles set.

      When submitted we should:

      • Loop through each selected service
      • Calculate the new renew date (perhaps using the Services::getNextRenewDate() method a number of times equal the the cycle # selected, )
      • Create an invoice based on the new renewal date (see Core/Automation/Tasks/Task/CreateInvoices.php and Invoices::createFromServices())
      • We may want to change the renew date immediately, or we may want to respect the "Queue Service Changes Until Paid" setting and do it as a ServiceChange

      The renewal by the module will be handled by Core/Automation/Tasks/Task/ProcessRenewingServices.php task just like automated renewals. We should check our module to make sure they do not assume single term renewal.

        Activity

        Hide
        jonathan Jonathan Reissmueller added a comment -

        We should also be aware that domains can only be renewed for up to ten years. So if the user has a domain valid for 5 years and then tried to push out the renew date 6 more years, they should be rejected.

        Show
        jonathan Jonathan Reissmueller added a comment - We should also be aware that domains can only be renewed for up to ten years. So if the user has a domain valid for 5 years and then tried to push out the renew date 6 more years, they should be rejected.

          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:
              23/Sep/21

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0 minutes
              0m
              Logged:
              Time Spent - 1 day, 5 hours, 34 minutes
              1d 5h 34m

                Agile