From c365f1a6aa4c1c55463565c16056268f0474cf8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Tue, 10 Sep 2013 16:55:06 +0200 Subject: [PATCH] sync-tabellio: sync document types (#3544) --- .../pfwb/management/commands/sync-tabellio.py | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/docbow_project/pfwb/management/commands/sync-tabellio.py b/docbow_project/pfwb/management/commands/sync-tabellio.py index 2cd12c7..69e6e4e 100644 --- a/docbow_project/pfwb/management/commands/sync-tabellio.py +++ b/docbow_project/pfwb/management/commands/sync-tabellio.py @@ -8,7 +8,8 @@ from django.core.management.base import BaseCommand, CommandError from django.db import transaction from django.template.defaultfilters import slugify -from docbow_project.docbow.models import MailingList, DocbowProfile +from docbow_project.docbow.models import MailingList, DocbowProfile, FileType +from docbow_project.pfwb.models import TabellioDocType # Generate passwords using capitals and numbers, but no 1 or I, O or 0 @@ -203,4 +204,30 @@ class Command(BaseCommand): ministres_list.members.add(user) ministres_list.save() + # get list of document types + cur.execute('''SELECT id, descr + FROM t_typedoc''') + + while True: + t = cur.fetchone() + if not t: + break + id, descr = t + + try: + doctype = TabellioDocType.objects.get(tabellio_doc_type=id) + except TabellioDocType.DoesNotExist: + filetype = FileType() + filetype.name = descr + filetype.save() + + doctype = TabellioDocType() + doctype.tabellio_doc_type = id + doctype.filetype = filetype + doctype.save() + else: + if doctype.filetype.name != descr: + doctype.filetype.name = descr + doctype.filetype.save() + cur.close()