mirror of
https://gitlab.crans.org/bde/nk20-scripts
synced 2024-11-26 18:37:15 +00:00
Compare commits
2 Commits
4984159a61
...
53098f8adc
Author | SHA1 | Date | |
---|---|---|---|
|
53098f8adc | ||
|
169895a825 |
@ -8,6 +8,7 @@ import pytz
|
|||||||
import datetime
|
import datetime
|
||||||
import copy
|
import copy
|
||||||
|
|
||||||
|
from django.contrib.auth.models import User
|
||||||
from django.utils.timezone import make_aware
|
from django.utils.timezone import make_aware
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
@ -23,7 +24,7 @@ from note.models import Note, NoteClub
|
|||||||
from activity.models import Guest, GuestTransaction, Entry
|
from activity.models import Guest, GuestTransaction, Entry
|
||||||
|
|
||||||
from member.models import Membership
|
from member.models import Membership
|
||||||
from treasury.models import Remittance, SpecialTransactionProxy
|
from treasury.models import Remittance, SpecialTransactionProxy, SogeCredit
|
||||||
from ._import_utils import ImportCommand, BulkCreateManager, timed
|
from ._import_utils import ImportCommand, BulkCreateManager, timed
|
||||||
|
|
||||||
MAP_TRANSACTION = dict()
|
MAP_TRANSACTION = dict()
|
||||||
@ -367,6 +368,30 @@ class Command(ImportCommand):
|
|||||||
except:
|
except:
|
||||||
print("Failed to save row: " + str(row))
|
print("Failed to save row: " + str(row))
|
||||||
|
|
||||||
|
@timed
|
||||||
|
def import_soge_credits(self):
|
||||||
|
users = User.objects.filter(profile__registration_valid=True).order_by('pk')
|
||||||
|
n = users.count()
|
||||||
|
for idx, user in enumerate(users.all()):
|
||||||
|
self.update_line(idx, n, user.username)
|
||||||
|
soge_credit_transaction = SpecialTransaction.objects.filter(
|
||||||
|
reason__icontains="crédit sogé",
|
||||||
|
destination_id=user.note.id,
|
||||||
|
)
|
||||||
|
if soge_credit_transaction.exists():
|
||||||
|
soge_credit_transaction = soge_credit_transaction.get()
|
||||||
|
soge_credit = SogeCredit.objects.create(user=user, credit_transaction=soge_credit_transaction)
|
||||||
|
memberships = Membership.objects.filter(
|
||||||
|
user=user,
|
||||||
|
club_id__in=[BDE_PK, KFET_PK],
|
||||||
|
date_start__lte=soge_credit_transaction.created_at,
|
||||||
|
date_end__gte=soge_credit_transaction.created_at + datetime.timedelta(days=61),
|
||||||
|
).all()
|
||||||
|
for membership in memberships:
|
||||||
|
soge_credit.transactions.add(membership.transaction)
|
||||||
|
soge_credit.save()
|
||||||
|
|
||||||
|
|
||||||
@timed
|
@timed
|
||||||
def handle(self, *args, **kwargs):
|
def handle(self, *args, **kwargs):
|
||||||
# default args, provided by ImportCommand.
|
# default args, provided by ImportCommand.
|
||||||
@ -383,3 +408,4 @@ class Command(ImportCommand):
|
|||||||
self.set_roles()
|
self.set_roles()
|
||||||
self.import_remittances(cur, kwargs["chunk"])
|
self.import_remittances(cur, kwargs["chunk"])
|
||||||
self.import_checks(cur)
|
self.import_checks(cur)
|
||||||
|
self.import_soge_credits()
|
||||||
|
Loading…
Reference in New Issue
Block a user