From 1bf5cbaf82e2ea9b7b5ca46b8d8b2572e8648c1f Mon Sep 17 00:00:00 2001 From: tomtom5152 Date: Wed, 5 Nov 2014 16:17:45 +0000 Subject: [PATCH] Add VAT Rates to modes, migrations and importer --- RIGS/importer.py | 20 +++++++++++++++++++- RIGS/migrations/0007_vatrate.py | 26 ++++++++++++++++++++++++++ RIGS/models.py | 12 +++++++++++- db.sqlite3 | Bin 875520 -> 875520 bytes 4 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 RIGS/migrations/0007_vatrate.py diff --git a/RIGS/importer.py b/RIGS/importer.py index 7a2f12c3..9d6f86da 100644 --- a/RIGS/importer.py +++ b/RIGS/importer.py @@ -72,9 +72,27 @@ def import_organisations(): print("Found: " + object.__unicode__()) +def import_vat_rates(): + cursor = setup_cursor() + if cursor is None: + return + sql = """SELECT `id`, `start_date`, `start_time`, `comment`, `rate` FROM `vat_rates`""" + cursor.execute(sql) + for row in cursor.fetchall(): + object, created = models.VatRate.objects.get_or_create(pk=row[0], start_at=row[1] + " " + row[2], + comment=row[3], rate=row[4]) + if created: + print("Created: " + object.__unicode__()) + with transaction.atomic(), reversion.create_revision(): + object.save() + else: + print("Found: " + object.__unicode__()) + + def main(): # import_people() - import_organisations() + # import_organisations() + import_vat_rates() if __name__ == "__main__": diff --git a/RIGS/migrations/0007_vatrate.py b/RIGS/migrations/0007_vatrate.py new file mode 100644 index 00000000..07d7e497 --- /dev/null +++ b/RIGS/migrations/0007_vatrate.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import RIGS.models + + +class Migration(migrations.Migration): + dependencies = [ + ('RIGS', '0006_auto_20141105_1553'), + ] + + operations = [ + migrations.CreateModel( + name='VatRate', + fields=[ + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), + ('start_at', models.DateTimeField()), + ('rate', models.DecimalField(max_digits=6, decimal_places=6)), + ('comment', models.CharField(max_length=255)), + ], + options={ + }, + bases=(models.Model, RIGS.models.RevisionMixin), + ), + ] diff --git a/RIGS/models.py b/RIGS/models.py index 417d8a54..d86c8e07 100644 --- a/RIGS/models.py +++ b/RIGS/models.py @@ -59,4 +59,14 @@ class Organisation(models.Model, RevisionMixin): string = self.name if len(self.notes) > 0: string += "*" - return string \ No newline at end of file + return string + + +@reversion.register +class VatRate(models.Model, RevisionMixin): + start_at = models.DateTimeField() + rate = models.DecimalField(max_digits=6, decimal_places=6) + comment = models.CharField(max_length=255) + + def __unicode__(self): + return self.comment + " " + self.start_at + " @ " + self.rate \ No newline at end of file diff --git a/db.sqlite3 b/db.sqlite3 index ea2de57c8a12602c7e6d85de4230803ffac57f05..b454e20b5e9ff600345d1925f53a3cdf6d81e1e9 100644 GIT binary patch delta 985 zcmZ8fOH30{6n*#InYPv$p-4r9#<9>A6lB`kLhuWOh>?hVj0+ddNJpr)rJ*BkOvDdp zf(y+UT^L0YmAW8C##k4a5H%oMb)&|GVocnK3l^@#*CK*Wa$erMbMoFf=idIOf&Qm~ zD@C?1gy3O9XbvG{Ekp2XgSs3U7@ymOg|R`oQX)yF~V&jbZs)i?{`plUjEuq4vfi$z-G_ z?y*y>g79%A-qjO|MY`BCteOzQl((fZf=J>*-JWo(|JA9biILx?#P@ z6NkNs>60=7GlKtUHHJ5+AP97UpoF=2i7psxisz^;m$Mha3Z7`>Zk)GZDVfvFWep}M z1deT6%Z7L4b5IUqSdFThx|D!tvDn$o^!_cnZ5)( zV1ZsnJ2M{!{p9G7esiKpe>R$D?0hx~*WW zcFdS&zk_H%g6Gnv2{WAL^VmS|NeeZW`B@<|J``RPc#Tuc?i8di+_TPuxu(igu-`@X z$&!K_cSfzngVL%ek`*opjF0evzz1q)SzqHfv8=}!U;c+L=J+zr4<&kgjzyv>eUR?D zYjr^V+5J9qfy+hD9oCei(d-~CH8acqGgUCx(AHSj(I|D))i*av&K3W3TYb=y)RbN= zq-gr5zIEA&bh6AlBQYf^9cby04jgK3u8^FaJ+YV?*Ypvo0Llkb*1^>3`zhh^Z`s)y A!2kdN delta 594 zcmYk3Ur1AN6vxl+oc+1pd(+M9$eGd{Mzd+NWFS$C@}czjtua?P2}i<{L$506XlvUhj|cWKgi{Nx((RB^tLXAK(e06__$#B}xxcjz??WE_|AjC2&vcG>p# z2Qu3^`H(x3h~A1E?>m3)QbeB^zaAfrMye7%<&|RCs1zAm09dn_x{(!@EfP7I#_elu zyk7r0t*y^#>r8+G5?BOQQ(L!v`);zdQX#YQ$}ZipHi*}SO|?fVm;ULzlC;m+JT<1x zBmbVRquXGC7_j?vk5(bZFZ#klV;y_91~6TVatkxxx73uGDz=gP1HxN+0-4R6-0nX1 c{|cBFg(3kVp2&R4$tPy>@@!sN%&RZ{0_sJpyZ`_I