grandlyon: add "+1" hack support scripts (#19000)
This commit is contained in:
parent
fdca4a388a
commit
6898318f82
|
@ -0,0 +1,25 @@
|
|||
import json
|
||||
import sys
|
||||
|
||||
from wcs.formdef import FormDef
|
||||
|
||||
if len(sys.argv) == 2:
|
||||
data = json.load(open(sys.argv[1]))
|
||||
else:
|
||||
data = json.load(sys.stdin)
|
||||
|
||||
for key in data:
|
||||
formdef = FormDef.get_by_urlname(key)
|
||||
plus1_field_id = None
|
||||
for field in formdef.workflow.backoffice_fields_formdef.fields:
|
||||
if field.varname == 'plus1':
|
||||
plus1_field_id = field.id
|
||||
break
|
||||
if not plus1_field_id:
|
||||
continue
|
||||
dataclass = formdef.data_class()
|
||||
for data_id, data_count in data[key].items():
|
||||
formdata = dataclass.get(data_id)
|
||||
if str(data_count) != formdata.data.get(plus1_field_id):
|
||||
formdata.data[plus1_field_id] = str(data_count)
|
||||
formdata.store()
|
|
@ -0,0 +1,23 @@
|
|||
#! /usr/bin/env python
|
||||
|
||||
import json
|
||||
|
||||
from passerelle.apps.jsondatastore.models import JsonDataStore, JsonData
|
||||
|
||||
plus1_store = JsonDataStore.objects.get(slug='plus1')
|
||||
|
||||
formdefs = {}
|
||||
|
||||
for data in JsonData.objects.filter(datastore=plus1_store):
|
||||
if not 'reference' in data.content:
|
||||
continue
|
||||
if not ':' in data.content['reference']:
|
||||
continue
|
||||
formdef_slug, formdata_id = data.content['reference'].split(':')
|
||||
if not formdef_slug in formdefs:
|
||||
formdefs[formdef_slug] = {}
|
||||
if not formdata_id in formdefs[formdef_slug]:
|
||||
formdefs[formdef_slug][formdata_id] = 0
|
||||
formdefs[formdef_slug][formdata_id] = formdefs[formdef_slug][formdata_id] + 1
|
||||
|
||||
print json.dumps(formdefs)
|
Loading…
Reference in New Issue