get all formdata at once using "full=on" (#8512)

This commit is contained in:
Serghei Mihai 2015-10-05 15:43:47 +02:00
parent 5b10a3232d
commit 01f404a75b
2 changed files with 5 additions and 11 deletions

View File

@ -21,16 +21,10 @@ class Command(BaseCommand):
def handle(self, *args, **kwargs):
tomorrow = datetime.today() + timedelta(days=1)
filter_query = '?filter=all&filter-date=%s' % tomorrow.strftime('%Y-%m-%d')
filter_query = '?filter=all&filter-date=%s&full=on' % tomorrow.strftime('%Y-%m-%d')
url = getattr(settings, 'ENCOMBRANTS_FORM_URL') + filter_query
r = self.get(url, True)
formdefs = []
if not 'err' in r.json():
for formdata in r.json():
if formdata.get('url'):
r = self.get(formdata['url'])
formdefs.append(r.json())
email_sectors(formdefs, tomorrow)
email_sectors(r.json(), tomorrow)
else:
raise CommandError('Error while retreiving formdefs: %s' % r.json())

View File

@ -66,7 +66,7 @@ def get_sector(insee, address=None):
else:
return commune.sector
def email_sectors(formdefs, when):
def email_sectors(formdatas, when):
subject = get_template('passerelle_montpellier_encombrants/email_subject.txt')
message = get_template('passerelle_montpellier_encombrants/email_body.txt')
@ -76,8 +76,8 @@ def email_sectors(formdefs, when):
sectors = defaultdict(list)
context = Context({'date': when})
for formdef in formdefs:
fields = formdef['fields']
for data in formdatas:
fields = data['fields']
data = [fields.get(d) for d in ('numero', 'voie', 'date',
'volume', 'type_encombrant',