You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
4.1 KiB
103 lines
4.1 KiB
# -*- coding: utf-8 -*-
|
|
# Generated by Django 1.11 on 2018-06-12 12:05
|
|
from __future__ import unicode_literals
|
|
import os
|
|
import re
|
|
from json import load
|
|
|
|
import django.core.validators
|
|
from django.db import migrations, models
|
|
from django.core import serializers
|
|
|
|
|
|
TMP_FILE = '/tmp/djing_ip_field_abonapp_migrate.json'
|
|
|
|
|
|
def backup_info(apps, _):
|
|
Abon = apps.get_model('abonapp', 'Abon')
|
|
obs = Abon.objects.all()
|
|
with open(TMP_FILE, 'w') as f:
|
|
serializers.serialize('json', obs, stream=f)
|
|
|
|
|
|
def restore_info_to_new_scheme(apps, _):
|
|
Abon = apps.get_model('abonapp', 'Abon')
|
|
with open(TMP_FILE, 'r') as f:
|
|
for abon in load(f):
|
|
Abon.objects.filter(pk=abon['pk']).update(ip_address=abon['fields']['ip_address'])
|
|
if os.path.isfile(TMP_FILE):
|
|
os.remove(TMP_FILE)
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('abonapp', '0001_initial'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(backup_info),
|
|
migrations.AlterModelOptions(
|
|
name='abon',
|
|
options={'ordering': ('fio',), 'permissions': (('can_buy_tariff', 'Buy service perm'), ('can_view_passport', 'Can view passport'), ('can_add_ballance', 'fill account'), ('can_ping', 'Can ping')), 'verbose_name': 'Abon', 'verbose_name_plural': 'Abons'},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='abonlog',
|
|
options={'ordering': ('-date',), 'permissions': (('can_view_abonlog', 'Can view subscriber logs'),)},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='abonstreet',
|
|
options={'ordering': ('name',), 'verbose_name': 'Street', 'verbose_name_plural': 'Streets'},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='abontariff',
|
|
options={'ordering': ('time_start',), 'permissions': (('can_complete_service', 'finish service perm'),), 'verbose_name': 'Abon service', 'verbose_name_plural': 'Abon services'},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='allpaylog',
|
|
options={'ordering': ('-date_action',)},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='alltimepaylog',
|
|
options={'ordering': ('-date_add',)},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='passportinfo',
|
|
options={'ordering': ('series',), 'verbose_name': 'Passport Info', 'verbose_name_plural': 'Passport Info'},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='periodicpayforid',
|
|
options={'ordering': ('last_pay',)},
|
|
),
|
|
migrations.AlterField(
|
|
model_name='abon',
|
|
name='ip_address',
|
|
field=models.GenericIPAddressField(blank=True, null=True, verbose_name='Ip Address'),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='additionaltelephone',
|
|
name='telephone',
|
|
field=models.CharField(max_length=16, validators=[django.core.validators.RegexValidator('^(\\+[7,8,9,3]\\d{10,11})?$')], verbose_name='Telephone'),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='passportinfo',
|
|
name='abon',
|
|
field=models.OneToOneField(blank=True, null=True, on_delete=models.deletion.CASCADE, to='abonapp.Abon'),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='passportinfo',
|
|
name='distributor',
|
|
field=models.CharField(max_length=64, verbose_name='Distributor'),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='passportinfo',
|
|
name='number',
|
|
field=models.CharField(max_length=6, validators=[django.core.validators.RegexValidator(re.compile('^-?\\d+\\Z', 32), code='invalid', message='Enter a valid integer.')], verbose_name='Pasport number'),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='passportinfo',
|
|
name='series',
|
|
field=models.CharField(max_length=4, validators=[django.core.validators.RegexValidator(re.compile('^-?\\d+\\Z', 32), code='invalid', message='Enter a valid integer.')], verbose_name='Pasport serial'),
|
|
),
|
|
migrations.RunPython(restore_info_to_new_scheme)
|
|
]
|