def handle(self, *args, **options): today = datetime.datetime.now().date() tgt_tag = TransactionTag.objects.get(label='Membership fee', tmatch='1') for m in Member.objects.all(): for rt in RecurringTransaction.objects.filter(owner=m, rtype=RecurringTransaction.YEARLY, tag=tgt_tag, end=None): scope_start, scope_end = rt.resolve_timescope(today) rt.end = scope_start.date() - datetime.timedelta(days=1) if rt.start > rt.end: rt.start = rt.end - datetime.timedelta(days=1) rt.save() newrt = MembershipfeeFactory.create(amount=options["amount"], start=today, end=None, owner=m) print("Generated RecurringTransaction %s" % newrt)
def handle(self, *args, **options): cutoff_dt = dateutil.parser.parse(options['cutoffdate']) end_dt = cutoff_dt - datetime.timedelta(minutes=1) tgt_tag = TransactionTag.objects.get(label='Membership fee', tmatch='1') for rt in RecurringTransaction.objects.filter( rtype=RecurringTransaction.YEARLY, tag=tgt_tag, end=None, start__lt=cutoff_dt, amount=options['oldamount']): rt.end = end_dt rt.save() newrt = MembershipfeeFactory.create(amount=options['newamount'], start=cutoff_dt, end=None, owner=rt.owner) if options['verbosity'] > 0: print("Generated RecurringTransaction %s" % newrt)
def handle(self, *args, **options): today = datetime.datetime.now().date() tgt_tag = TransactionTag.objects.get(label='Membership fee', tmatch='1') for m in Member.objects.all(): for rt in RecurringTransaction.objects.filter( owner=m, rtype=RecurringTransaction.YEARLY, tag=tgt_tag, end=None): scope_start, scope_end = rt.resolve_timescope(today) rt.end = scope_start.date() - datetime.timedelta(days=1) if rt.start > rt.end: rt.start = rt.end - datetime.timedelta(days=1) rt.save() newrt = MembershipfeeFactory.create(amount=options["amount"], start=today, end=None, owner=m) print("Generated RecurringTransaction %s" % newrt)