From 42eb80b16ae23a9abd0fe496f7d5087ddd0add57 Mon Sep 17 00:00:00 2001
From: luxcem <af@laquadrature.net>
Date: Thu, 30 Apr 2015 15:48:59 +0200
Subject: [PATCH] new vote model

---
 .gitignore                                    |  3 ++
 .../management/commands/__init__.py           |  0
 .../migrations/0001_initial.py                | 53 +++++++++++++++++++
 .../{management => migrations}/__init__.py    |  0
 representatives_votes/models.py               | 53 ++++++++-----------
 5 files changed, 79 insertions(+), 30 deletions(-)
 create mode 100644 .gitignore
 delete mode 100644 representatives_votes/management/commands/__init__.py
 create mode 100644 representatives_votes/migrations/0001_initial.py
 rename representatives_votes/{management => migrations}/__init__.py (100%)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..08ac325
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.sqlite3
+*.sqlite
+*.pyc
diff --git a/representatives_votes/management/commands/__init__.py b/representatives_votes/management/commands/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/representatives_votes/migrations/0001_initial.py b/representatives_votes/migrations/0001_initial.py
new file mode 100644
index 0000000..4514573
--- /dev/null
+++ b/representatives_votes/migrations/0001_initial.py
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='Dossier',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('title', models.CharField(max_length=500)),
+                ('reference', models.CharField(max_length=200)),
+                ('text', models.TextField()),
+                ('link', models.URLField()),
+            ],
+            options={
+            },
+            bases=(models.Model,),
+        ),
+        migrations.CreateModel(
+            name='Proposal',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('title', models.CharField(max_length=500)),
+                ('description', models.TextField()),
+                ('reference', models.CharField(max_length=200)),
+                ('datetime', models.DateTimeField()),
+                ('dossier', models.ForeignKey(to='representatives_votes.Dossier')),
+            ],
+            options={
+            },
+            bases=(models.Model,),
+        ),
+        migrations.CreateModel(
+            name='Vote',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('representative_slug', models.CharField(max_length=200, null=True, blank=True)),
+                ('representative_remote_id', models.CharField(max_length=200, null=True, blank=True)),
+                ('position', models.CharField(max_length=10, choices=[(b'abstain', b'abstain'), (b'for', b'for'), (b'against', b'against')])),
+                ('proposal', models.ForeignKey(to='representatives_votes.Proposal')),
+            ],
+            options={
+            },
+            bases=(models.Model,),
+        ),
+    ]
diff --git a/representatives_votes/management/__init__.py b/representatives_votes/migrations/__init__.py
similarity index 100%
rename from representatives_votes/management/__init__.py
rename to representatives_votes/migrations/__init__.py
diff --git a/representatives_votes/models.py b/representatives_votes/models.py
index c4351f3..6c72703 100644
--- a/representatives_votes/models.py
+++ b/representatives_votes/models.py
@@ -1,43 +1,36 @@
-# -*- coding:Utf-8 -*-
+# coding: utf-8
+
 from django.db import models
-from parltrack_meps.models import MEP
 
-class Proposal(models.Model):
-    title = models.TextField(null=True)
-    code_name =  models.CharField(max_length=255, unique=True)
-    date = models.DateField(default=None, null=True, blank=True)
 
+class Dossier(models.Model):
+    title = models.CharField(max_length=500)
+    reference = models.CharField(max_length=200)
+    text = models.TextField()
+    link = models.URLField()
 
-    def __unicode__(self):
-        return "%s [%s]" % (self.title if self.title else "no title", self.code_name)
 
-    class Meta:
-        ordering = ('-_date', )
+class Proposal(models.Model):
+    dossier = models.ForeignKey(Dossier)
 
+    title = models.CharField(max_length=500)
+    description = models.TextField()
 
-class ProposalPart(models.Model):
+    reference = models.CharField(max_length=200)
+    
     datetime = models.DateTimeField()
-    subject = models.CharField(max_length=255)
-    part = models.CharField(max_length=255)
-    description = models.CharField(max_length=511)
-    proposal = models.ForeignKey(Proposal)
-
-    def __unicode__(self):
-        return self.subject
-
-    class MetaClass:
-        ordering = ['datetime']
 
 
 class Vote(models.Model):
-    choice = models.CharField(max_length=15, choices=((u'for', u'for'), (u'against', u'against'), (u'abstention', u'abstention'), (u'absent', u'absent')))
-    name = models.CharField(max_length=127)
-    proposal_part = models.ForeignKey(ProposalPart)
-    mep = models.ForeignKey(MEP, null=True)
+    VOTECHOICES = (
+        ('abstain', 'abstain'),
+        ('for', 'for'),
+        ('against', 'against')
+    )
+
+    proposal = models.ForeignKey(Proposal)
 
-    class Meta:
-        ordering = ["choice"]
-        unique_together = ("proposal_part", "mep")
+    representative_slug = models.CharField(max_length=200, blank=True, null=True)
+    representative_remote_id = models.CharField(max_length=200, blank=True, null=True)
 
-    def __unicode__(self):
-        return '%s (%s)' % (self.name, self.choice)
+    position = models.CharField(max_length=10, choices=VOTECHOICES)
-- 
GitLab