From 95e8f3a447b8b597843d8b75b319b708a4659225 Mon Sep 17 00:00:00 2001 From: Eliseu Egewarth Date: Wed, 20 Sep 2017 13:13:04 -0300 Subject: [PATCH] Fix #1492 (#1493) Signed-off-by: Eliseu Egewarth --- .../0010_corrige_data_inicio_mandato.py | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sapl/parlamentares/migrations/0010_corrige_data_inicio_mandato.py diff --git a/sapl/parlamentares/migrations/0010_corrige_data_inicio_mandato.py b/sapl/parlamentares/migrations/0010_corrige_data_inicio_mandato.py new file mode 100644 index 000000000..9cc3cccaf --- /dev/null +++ b/sapl/parlamentares/migrations/0010_corrige_data_inicio_mandato.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals +from django.db import migrations +import json +import os +from datetime import timedelta + +from django.core.management import call_command + + + +def altera_data_inicio_mandato(apps, schema_editor): + Mandato = apps.get_model("parlamentares", "Mandato") + mandatos = Mandato.objects.all() + + for mandato in mandatos: + data_inicio = mandato.data_inicio_mandato + data_inicio_legislatura = mandato.legislatura.data_inicio + days = abs((data_inicio - data_inicio_legislatura).days) + + if days >= 60: + mandato.data_inicio_mandato = data_inicio_legislatura + mandato.save() + + +class Migration(migrations.Migration): + + dependencies = [ + # A dependencia real desse script é o arquivo 0001_initial.py, mas + # isso gera um erro (Conflicting migrations detected; multiple leaf + # nodes in the migration graph). para não ocasionar problemas de migração, + # vamos manter a ordem padrão do django. + ('parlamentares', '0009_auto_20170905_1617'), + ] + + operations = [ + migrations.RunPython(altera_data_inicio_mandato), + ]