Ticket #117 (closed enhancement: fixed)

Opened 3 years ago

Last modified 3 years ago

redesign the job scheduling interface & scheduling implementation

Reported by: jzarate Owned by: jzarate
Priority: major Milestone: 0.2
Component: recurring Keywords: scheduling, user interface, recurring
Cc: enrique

Description

in order to be able to easily compare the current date with the "starting date" of a recurring invoice, and allow the system to calculate whenever it needs to generate a new invoice or not, based on the recurring "starting date" field and not on the recurring "last execution date" field (which is the field used now), we need to establish a clean period (months, years or days, but not the three of them mixed). that means a new validator that doesn't allow the user to fill the three fields.

Change History

Changed 3 years ago by jzarate

  • status changed from new to assigned

Changed 3 years ago by ablasco

  • component set to recurring module

Changed 3 years ago by jzarate

  • status changed from assigned to closed
  • resolution set to fixed

r694 mayor revamp (also for the #154)

  • editing template readaptation
  • model change
  • scheduling job change

Changed 3 years ago by jzarate

Finally, the system follows these steps:

  • the scheduling is based on
    • starting_date
    • finishing_date OR max_occurrences
    • period_type (month, day, year, week)
    • period
    • last_execution_date

when the system checks if it's time to generate an invoice, it checks that the last_execution_date + period of the recurring_invoice is EQUAL OR LESS than the actual date. This is done preventing that single failures in generating an invoice shut the generation of invoices down for good at the future.

Note: See TracTickets for help on using tickets.