Skip to content
This repository was archived by the owner on Dec 20, 2022. It is now read-only.

Commit 40d2117

Browse files
committed
Add treasury flag
1 parent e862a7d commit 40d2117

File tree

4 files changed

+51
-9
lines changed

4 files changed

+51
-9
lines changed

correctiv_justizgelder/admin.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@
44

55

66
class OrganisationAdmin(admin.ModelAdmin):
7-
list_display = ('name', 'sum_fines')
7+
list_display = ('name', 'sum_fines', 'treasury')
8+
list_filter = ('treasury',)
89
search_fields = ['name']
910

1011

1112
class FineAdmin(admin.ModelAdmin):
12-
list_display = ('name', 'amount', 'state', 'year', 'department', 'department_detail')
13-
list_filter = ('state', 'department', 'year')
13+
list_display = ('name', 'amount', 'state', 'year', 'department', 'department_detail', 'treasury')
14+
list_filter = ('state', 'department', 'year', 'treasury')
1415
search_fields = ['original_name', 'department_detail']
1516
raw_id_fields = ('organisation',)
1617

correctiv_justizgelder/management/commands/justizgelder_import.py

+18-6
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ def handle(self, *args, **options):
2020

2121
filename = args[0]
2222

23+
self.staatskasse = Organisation.objects.get_or_create(
24+
name='Staatskasse', slug='staatskasse',
25+
treasury=True
26+
)
27+
2328
collection = []
2429
for fine in self.get_fine_objects(filename):
2530
collection.append(fine)
@@ -48,11 +53,18 @@ def create_from_row(self, row, fine=None):
4853

4954
org_slug = slugify(row['name'])
5055

51-
try:
52-
org = Organisation.objects.get(slug=org_slug)
53-
except Organisation.DoesNotExist:
54-
org = Organisation.objects.create(name=row['name'], slug=org_slug)
56+
treasury = False
57+
58+
if bool(int(row.get('staatkasse', '0'))):
59+
org = self.staatskasse
60+
treasury = True
61+
else:
62+
try:
63+
org = Organisation.objects.get(slug=org_slug)
64+
except Organisation.DoesNotExist:
65+
org = Organisation.objects.create(name=row['name'], slug=org_slug)
5566

67+
fine.treasury = treasury
5668
fine.organisation = org
5769
fine.name = row['name']
5870
fine.original_name = row['orig_name']
@@ -61,9 +73,9 @@ def create_from_row(self, row, fine=None):
6173
fine.state = parts[1]
6274
fine.year = int(parts[2])
6375
fine.department = parts[3]
64-
fine.department_detail = parts[4].split('_')[1].title()
76+
fine.department_detail = parts[4].split('_')[0].title()
6577
fine.amount = decimal.Decimal(row['betrag'])
66-
if row['betrag_eingegangen']:
78+
if row.get('betrag_eingegangen'):
6779
fine.amount_received = decimal.Decimal(row['betrag_eingegangen'])
6880

6981
fine.address = row['adresse']
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# -*- coding: utf-8 -*-
2+
from __future__ import unicode_literals
3+
4+
from django.db import models, migrations
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
('correctiv_justizgelder', '0002_fine_search_index'),
11+
]
12+
13+
operations = [
14+
migrations.AddField(
15+
model_name='fine',
16+
name='treasury',
17+
field=models.BooleanField(default=False),
18+
preserve_default=True,
19+
),
20+
migrations.AddField(
21+
model_name='organisation',
22+
name='treasury',
23+
field=models.BooleanField(default=False),
24+
preserve_default=True,
25+
),
26+
]

correctiv_justizgelder/models.py

+3
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ class Organisation(models.Model):
8080
slug = models.SlugField(max_length=255)
8181
sum_fines = models.DecimalField(null=True, decimal_places=2, max_digits=19)
8282
note = models.TextField(blank=True)
83+
treasury = models.BooleanField(default=False)
8384

8485
objects = OrganisationManager()
8586

@@ -134,6 +135,8 @@ class Fine(models.Model):
134135
city = models.CharField(max_length=255, blank=True)
135136
postcode = models.CharField(max_length=10, blank=True)
136137

138+
treasury = models.BooleanField(default=False)
139+
137140
search_index = VectorField()
138141

139142
objects = FineManager(

0 commit comments

Comments
 (0)