--- a/src/jocondelab/views/ajax.py Fri Sep 27 17:22:22 2013 +0200
+++ b/src/jocondelab/views/ajax.py Fri Sep 27 19:12:00 2013 +0200
@@ -132,29 +132,28 @@
def post(self, request):
notice_id = request.POST.get('notice_id', None)
- dbpedia_language = request.POST.get('dbpedia_language', None)
- dbpedia_uri = request.POST.get('dbpedia_uri', None)
+ lang = request.LANGUAGE_CODE[:2]
+ dbpedia_uri = request.POST.get('dbpedia_uri', None) #TODO: Remove it and regenerate from Wikipedia/Dbpedia
thesaurus_label = request.POST.get('thesaurus_label', None)
- translations = json.loads(request.POST.get('translations', '[]'))
+ label = request.POST.get('label', None)
thobj = Thesaurus.objects.get(label=thesaurus_label) if thesaurus_label else None
notobj = Notice.objects.get(id=notice_id)
- termobj, created = ContributedTerm.objects.get_or_create(dbpedia_uri=dbpedia_uri, dbpedia_language=dbpedia_language)
+
+ # Contributed Term should be validated and Dbpedia uris should be regenerated by SPARQL Queries
+
+ termobj, created = ContributedTerm.objects.get_or_create(dbpedia_uri=dbpedia_uri)
controbj, created = Contribution.objects.get_or_create(term=termobj, thesaurus=thobj, notice=notobj, defaults={'contribution_count': 1})
if not created:
controbj.contribution_count += 1
controbj.save()
- for t in translations:
- abstract = t.get('abstract', None)
- thumbnail = t.get('thumbnail', None)
- label = t['label']
- language = t.get('language',request.LANGUAGE_CODE[:2])
- fieldsobj, created = ContributedFields.objects.get_or_create(term=termobj, dbpedia_uri=dbpedia_uri, language_code=language, defaults={'abstract': abstract, 'label': label, 'thumbnail': thumbnail})
- if not created:
- fieldsobj.abstract = abstract
- fieldsobj.thumbnail = thumbnail
- fieldsobj.label = label
- fieldsobj.save()
+
+ # Translated labels should also be regenerated from dbpedia.
+
+ fieldsobj, created = ContributedFields.objects.get_or_create(term=termobj, dbpedia_uri=dbpedia_uri, language_code=lang, defaults={'label': label})
+ if not created:
+ fieldsobj.label = label
+ fieldsobj.save()
return self.render_contribution(controbj, request)