From e5d2589d14de58d056457dba3766d8e94c04c584 Mon Sep 17 00:00:00 2001 From: "J.-S. Caux" <J.S.Caux@uva.nl> Date: Fri, 1 Mar 2019 12:37:37 +0100 Subject: [PATCH] Add temp management method to transfer PartnerEvent to OrgsEvent --- .../commands/transfer_partnerevents_data.py | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 organizations/management/commands/transfer_partnerevents_data.py diff --git a/organizations/management/commands/transfer_partnerevents_data.py b/organizations/management/commands/transfer_partnerevents_data.py new file mode 100644 index 000000000..94f953ed6 --- /dev/null +++ b/organizations/management/commands/transfer_partnerevents_data.py @@ -0,0 +1,33 @@ +__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)" +__license__ = "AGPL v3" + + +from django.core.management.base import BaseCommand + +from partners.models import Partner + +from organizations.models import OrganizationEvent + + +class Command(BaseCommand): + help = ('For Partners, transfer the data of partners.PartnerEvent instances ' + 'to organizations.OrganizationEvent instances. ' + 'This is meant as a temporary, one-off method to be used during ' + 'deprecation of (Prospective)Partners.') + + def handle(self, *args, **kwargs): + for partner in Partner.objects.all(): + for partnerevent in partner.events.all(): + event_kind = 'comment' + if partnerevent.event == 'initial': + event_kind = 'email_sent' + elif partnerevent.event == 'status_update': + event_kind = 'status_updated' + event = OrganizationEvent( + organization=partner.organization, + event=event_kind, + comments=partnerevent.comments, + noted_on=partnerevent.noted_on, + noted_by=partnerevent.noted_by) + event.save() + partnerevent.delete() -- GitLab