2019-01-05 18:45:21 +00:00
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2019-01-03 19:56
from __future__ import unicode_literals
2019-01-10 23:39:16 +00:00
import os
2019-01-05 18:45:21 +00:00
from django . db import migrations , models
import django . db . models . deletion
2019-01-10 23:39:16 +00:00
from django . core . files import File
from django . conf import settings
2019-01-05 18:45:21 +00:00
import re2o . mixins
def initialize_invoice_template ( apps , schema_editor ) :
CotisationsOption = apps . get_model ( ' preferences ' , ' CotisationsOption ' )
DocumentTemplate = apps . get_model ( ' cotisations ' , ' DocumentTemplate ' )
2019-01-10 23:39:16 +00:00
invoice_path = os . path . join (
settings . BASE_DIR ,
" cotisations " ,
" templates " ,
" cotisations " ,
" factures.tex "
)
voucher_path = os . path . join (
settings . BASE_DIR ,
" cotisations " ,
" templates " ,
" cotisations " ,
" voucher.tex "
)
with open ( invoice_path ) as f :
tpl_invoice , _ = DocumentTemplate . objects . get_or_create (
name = " Re2o default invoice " ,
)
tpl_invoice . template . save ( ' default_invoice.tex ' , File ( f ) )
tpl_invoice . save ( )
with open ( voucher_path ) as f :
tpl_voucher , _ = DocumentTemplate . objects . get_or_create (
name = " Re2o default voucher " ,
)
tpl_voucher . template . save ( ' default_voucher.tex ' , File ( f ) )
tpl_voucher . save ( )
2019-01-05 18:45:21 +00:00
CotisationsOption . objects . create (
2019-01-10 23:39:16 +00:00
invoice_template = tpl_invoice ,
voucher_template = tpl_voucher ,
2019-01-05 18:45:21 +00:00
)
class Migration ( migrations . Migration ) :
dependencies = [
( ' cotisations ' , ' 0039_documenttemplate ' ) ,
2019-01-11 14:30:23 +00:00
( ' preferences ' , ' 0057_optionaluser_all_users_active ' ) ,
2019-01-05 18:45:21 +00:00
]
operations = [
migrations . CreateModel (
name = ' CotisationsOption ' ,
fields = [
( ' id ' , models . AutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' invoice_template ' , models . OneToOneField ( on_delete = django . db . models . deletion . PROTECT , related_name = ' invoice_template ' , to = ' cotisations.DocumentTemplate ' , verbose_name = ' Template for invoices ' ) ) ,
2019-01-10 23:39:16 +00:00
( ' voucher_template ' , models . OneToOneField ( on_delete = django . db . models . deletion . PROTECT , related_name = ' voucher_template ' , to = ' cotisations.DocumentTemplate ' , verbose_name = ' Template for subscription voucher ' ) ) ,
2019-01-05 18:45:21 +00:00
] ,
options = {
' verbose_name ' : ' cotisations options ' ,
} ,
bases = ( re2o . mixins . AclMixin , models . Model ) ,
) ,
migrations . RunPython ( initialize_invoice_template ) ,
]