Пример #1
0
 def post(self, request):
     data = json.loads(request.POST.get('r'))
     slug = slugify(data.get('slug', ''))
     try:
         survey = Survey.objects.create(slug=slug, title=data.get('title', ''), description=data.get('description', ''))
     except IntegrityError:
         return HttpResponse(json.dumps({'status': 'failure', 'error': _('That SLUG already exists')}), mimetype='application/json')
     questions = data.get('questions', [])
     Question.add_questions(questions, survey)
     return HttpResponse(json.dumps({'status': 'success', 'url': reverse('surveydashboard', args=[survey.slug])}), mimetype='application/json')
Пример #2
0
 def post(self, request, slug):
     survey = self.get_object()
     data = json.loads(request.POST.get('r'))
     questions = data.get('questions', [])
     # delete existing questions
     # due to cascading deletes, this will also delete choices
     survey.question_set.all().delete()
     # edit the title if it has changed
     survey.title = data.get('title', '')
     survey.description = data.get('description', '')
     # edit slug if it has changed
     survey.slug = slugify(data.get('slug', ''))
     try:
         survey.save()
     except IntegrityError:
         return HttpResponse(json.dumps({'status': 'failure', 'error': _('That SLUG already exists')}), mimetype='application/json')
     Question.add_questions(questions, survey)
     return HttpResponse(json.dumps({'status': 'success', 'url': reverse('surveydashboard', args=[survey.slug])}), mimetype='application/json')