Skip to content
This repository has been archived by the owner on Feb 28, 2018. It is now read-only.

Commit

Permalink
Add new dataset fields to the UI
Browse files Browse the repository at this point in the history
  • Loading branch information
cuducos committed Dec 19, 2016
1 parent 85164e1 commit b87846b
Show file tree
Hide file tree
Showing 23 changed files with 781 additions and 385 deletions.
1 change: 1 addition & 0 deletions elm-package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"NoRedInk/elm-decode-pipeline": "2.0.0 <= v < 3.0.0",
"debois/elm-mdl": "7.6.0 <= v < 8.0.0",
"elm-community/elm-test": "2.1.0 <= v < 3.0.0",
"elm-community/json-extra": "1.1.0 <= v < 2.0.0",
"elm-lang/core": "4.0.5 <= v < 5.0.0",
"elm-lang/html": "1.1.0 <= v < 2.0.0",
"elm-lang/navigation": "1.0.0 <= v < 2.0.0",
Expand Down
7 changes: 7 additions & 0 deletions gulpfile.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
var gulp = require('gulp');
var elm = require('gulp-elm');
var watch = require('gulp-watch');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');

Expand All @@ -10,3 +11,9 @@ gulp.task('elm', function () {
.pipe(rename('jarbas/frontend/static/app.js'))
.pipe(gulp.dest('.'));
});

gulp.task('watch', function () {
watch('**/*.elm', function () {
gulp.start('elm');
});
});
14 changes: 10 additions & 4 deletions jarbas/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def get_probability(self, obj):
return self.to_float(obj.probability)

def get_receipt(self, obj):
return dict(fecthed=obj.receipt_fetched, url=obj.receipt_url)
return dict(fetched=obj.receipt_fetched, url=obj.receipt_url)

def get_remark_value(self, obj):
return self.to_float(obj.remark_value)
Expand Down Expand Up @@ -63,18 +63,24 @@ class Meta:

class NewReceiptSerializer(serializers.ModelSerializer):

reimbursement = serializers.SerializerMethodField()
url = serializers.SerializerMethodField()

def get_reimbursement(self, obj):
return dict(
year=obj.year,
applicant_id=obj.applicant_id,
document_id=obj.document_id
)

def get_url(self, obj):
return obj.receipt_url

class Meta:
model = Reimbursement
fields = (
'applicant_id',
'document_id',
'reimbursement',
'url',
'year'
)


Expand Down
19 changes: 13 additions & 6 deletions jarbas/api/tests/test_reimbursement_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ def test_contents(self):
year=1970,
probability=0.5,
suspicions=suspicions,
receipt=dict(fecthed=False, url=None)
receipt=dict(fetched=False, url=None)
)
self.assertEqual(expected, contents)

Expand All @@ -154,8 +154,10 @@ def setUp(self):
def test_fetch_existing_receipt(self, mocked_head):
mocked_head.return_value.status_code = 200
resp = self.client.get(self.url)
expected = self.unique_id.copy()
expected['url'] = self.expected_receipt_url
expected = dict(
reimbursement=self.unique_id,
url=self.expected_receipt_url
)
content = loads(resp.content.decode('utf-8'))
self.assertEqual(expected, content)

Expand All @@ -165,7 +167,10 @@ def test_fetch_non_existing_receipt(self, mocked_head):
cache.clear()
resp = self.client.get(self.url)
expected = self.unique_id.copy()
expected['url'] = None
expected = dict(
reimbursement=self.unique_id,
url=None
)
content = loads(resp.content.decode('utf-8'))
self.assertEqual(expected, content)

Expand All @@ -176,7 +181,9 @@ def test_refetch_existing_receipt(self, mocked_head):
self.obj.save()
mocked_head.return_value.status_code = 200
resp = self.client.get(self.url + '?force')
expected = self.unique_id.copy()
expected['url'] = self.expected_receipt_url
expected = dict(
reimbursement=self.unique_id,
url=self.expected_receipt_url
)
content = loads(resp.content.decode('utf-8'))
self.assertEqual(expected, content)
20 changes: 20 additions & 0 deletions jarbas/core/migrations/0018_make_issue_date_required.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.4 on 2016-12-18 16:25
from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('core', '0017_make_some_fields_optional'),
]

operations = [
migrations.AlterField(
model_name='reimbursement',
name='issue_date',
field=models.DateField(verbose_name='Issue date'),
),
]
2 changes: 1 addition & 1 deletion jarbas/core/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class Reimbursement(models.Model):
document_number = models.CharField('Document number', max_length=140, blank=True, null=True)
document_value = models.DecimalField('Document value', max_digits=10, decimal_places=3)

issue_date = models.DateField('Issue date', blank=True, null=True)
issue_date = models.DateField('Issue date')
month = models.IntegerField('Month', db_index=True)
remark_value = models.DecimalField('Remark value', max_digits=10, decimal_places=3, blank=True, null=True)
installment = models.IntegerField('Installment', blank=True, null=True)
Expand Down
1 change: 0 additions & 1 deletion jarbas/core/tests/test_reimbursement_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ def test_optional_fields(self):
'subquota_group_id',
'subquota_group_description',
'cnpj_cpf',
'issue_date',
'remark_value',
'installment',
'reimbursement_values',
Expand Down
58 changes: 31 additions & 27 deletions jarbas/frontend/elm/Documents/Decoder.elm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ import Documents.Inputs.Update as InputsUpdate
import Documents.Receipt.Decoder as ReceiptDecoder
import Documents.Supplier.Model as SupplierModel
import Internationalization exposing (Language(..), TranslationId(..), translate)
import Json.Decode exposing ((:=), Decoder, int, list, maybe, string)
import Json.Decode exposing ((:=), Decoder, bool, fail, float, int, list, keyValuePairs, string, succeed)
import Json.Decode.Extra exposing (date)
import Json.Decode.Pipeline exposing (decode, hardcoded, nullable, required)
import String
import Documents.Model exposing (Model, Document, Results, results)
Expand Down Expand Up @@ -60,36 +61,39 @@ singleDecoder lang apiKey =
SupplierModel.model
in
decode Document
|> required "id" int
|> required "year" int
|> required "document_id" int
|> required "congressperson_name" string
|> required "congressperson_id" int
|> required "congressperson_document" int
|> required "term" int
|> required "state" string
|> required "party" string
|> required "applicant_id" int
|> required "total_reimbursement_value" (nullable float)
|> required "total_net_value" float
|> required "all_reimbursement_numbers" (list int)
|> required "all_net_values" (list float)
|> required "congressperson_id" (nullable int)
|> required "congressperson_name" (nullable string)
|> required "congressperson_document" (nullable int)
|> required "state" (nullable string)
|> required "party" (nullable string)
|> required "term_id" int
|> required "subquota_number" int
|> required "term" int
|> required "subquota_id" int
|> required "subquota_description" string
|> required "subquota_group_id" int
|> required "subquota_group_description" string
|> required "subquota_group_id" (nullable int)
|> required "subquota_group_description" (nullable string)
|> required "supplier" string
|> required "cnpj_cpf" string
|> required "document_number" string
|> required "cnpj_cpf" (nullable string)
|> required "document_type" int
|> required "issue_date" (nullable string)
|> required "document_value" string
|> required "remark_value" string
|> required "net_value" string
|> required "document_number" (nullable string)
|> required "document_value" float
|> required "issue_date" date
|> required "month" int
|> required "year" int
|> required "installment" int
|> required "passenger" string
|> required "leg_of_the_trip" string
|> required "batch_number" int
|> required "reimbursement_number" int
|> required "reimbursement_value" string
|> required "applicant_id" int
|> required "remark_value" (nullable float)
|> required "installment" (nullable int)
|> required "batch_number" (nullable int)
|> required "all_reimbursement_values" (nullable <| list float)
|> required "passenger" (nullable string)
|> required "leg_of_the_trip" (nullable string)
|> required "probability" (nullable float)
|> required "suspicions" (nullable <| keyValuePairs bool)
|> required "receipt" (ReceiptDecoder.decoder lang)
|> hardcoded { supplier | googleStreetViewApiKey = apiKey }

Expand All @@ -104,12 +108,12 @@ updateDocumentLanguage lang document =
{ receipt | lang = lang }

supplier =
document.supplier_info
document.supplierInfo

newSupplier =
{ supplier | lang = lang }
in
{ document | receipt = newReceipt, supplier_info = newSupplier }
{ document | receipt = newReceipt, supplierInfo = newSupplier }


updateLanguage : Language -> Model -> Model
Expand Down
Loading

0 comments on commit b87846b

Please sign in to comment.