def questions_edit(request): context = {} form = QuetionEditForm(hide_condition=True) if request.method == 'POST': form= QuetionEditForm(request.POST, hide_condition=True) if form.is_valid(): # form.save() txt = form.cleaned_data['question_txt'] question_id = form.cleaned_data['question_id'] if question_id == '': nq = Question( user = request.user, date = timezone.now(), question = txt ) nq.save() return HttpResponseRedirect('/q/media/?q=%s'% nq.id) else: question = Question.objects.get(id=question_id) question.question = txt question.save() questions = Question.objects.all() return HttpResponseRedirect('/q/media/?q=%s'% question.id) else: args = {} args.update(csrf(request)) args['form'] = form return render_to_response('question/question_form.html', args) else: if 'q' in request.GET: question_id = request.GET['q'] question = Question.objects.get(id=question_id) form = QuetionEditForm({'question_txt':question.question, 'question_id':question_id, }, hide_condition=True) context.update({'q': question_id}) context.update({'form': form}) context.update(csrf(request)) return direct_to_template(request, 'question/question_form.html', context)
def list_question_media(request): # Handle file upload context = {} documents = [] if request.method == 'POST': form = DocumentForm(request.POST, request.FILES) if form.is_valid(): docfile = request.FILES['docfile'] question_id = form.cleaned_data['question_id'] question = Question.objects.get(id=question_id) docfile_name = docfile.name docfile_name_changed = docfile_name.replace('.','~^~') question.docs.update({docfile_name_changed:docfile.content_type}) question.image.update({docfile_name_changed +'_url':'/static/display/s_'+docfile_name, docfile_name_changed +'_name': docfile_name, docfile_name_changed +'_content_type':docfile.content_type}) file_read = docfile.file.read() file_data = base64.b64encode(file_read) question.image.update({docfile_name_changed +'_data': file_data}) # question.save() nq = Question( user = question.user, date = question.date, question = question.question, docs = question.docs, image = question.image, audio = question.audio, other = question.other, vote_ids = question.vote_ids, ) question.delete() # todo - there is an update issue here nq.save() questions = Question.objects.all() return render_to_response('question/home.html', {'questions':questions, 'the_user': request.user, 'message': 'Media updated!' }) # Redirect to the document list after POST # return HttpResponseRedirect(reverse('data.views.list_question_media')) else: if 'q' in request.GET: question_id = request.GET['q'] form = DocumentForm({ 'question_id':question_id,}, hide_condition=True) question = Question.objects.get(id=question_id) documents = [] for docname in question.docs: file_data = question.image[docname+'_data'] file_name = question.image[docname+'_name'] orig_fname = settings.STATIC_ROOT + '/display/' + file_name new_fname = settings.STATIC_ROOT + '/display/tn_' + file_name _decode_image_to_size(file_data, orig_fname, new_fname, basewidth=128) documents.append({'docfile':{'url':question.image[docname +'_url'], 'name':question.image[docname+'_name'], 'thumb':'/static/display/tn_'+question.image[docname+'_name']}}) context.update({'q': question_id, 'question':question}) # Load documents for the list page # documents = [{'docfile':{'url':'blaaa', 'name':'Bleee'}}] context.update( {'documents': documents, 'form': form,}) context.update(csrf(request)) context.update({'the_user': request.user}) return direct_to_template(request, 'question/question_media.html', context)
def list_question_media(request): # Handle file upload context = {} documents = [] if request.method == 'POST': form = DocumentForm(request.POST, request.FILES) if form.is_valid(): docfile = request.FILES['docfile'] question_id = form.cleaned_data['question_id'] question = Question.objects.get(id=question_id) docfile_name = docfile.name docfile_name_changed = docfile_name.replace('.','~^~') question.docs.update({docfile_name_changed:docfile.content_type}) question.image.update({docfile_name_changed +'_url':'/static/display/s_'+docfile_name, docfile_name_changed +'_name': docfile_name, docfile_name_changed +'_content_type':docfile.content_type}) file_read = docfile.file.read() file_data = base64.b64encode(file_read) question.image.update({docfile_name_changed +'_data': file_data}) # question.save() nq = Question( user = question.user, date = question.date, question = question.question, docs = question.docs, image = question.image, audio = question.audio, other = question.other, vote_ids = question.vote_ids, ) question.delete() # todo - there is an update issue here nq.save() questions = Question.objects.all() return render_to_response('question/home.html', {'questions':questions, 'the_user': request.user, 'message': 'Media updated!' }) # Redirect to the document list after POST # return HttpResponseRedirect(reverse('data.views.list_question_media')) else: if 'q' in request.GET: question_id = request.GET['q'] form = DocumentForm({ 'question_id':question_id,}, hide_condition=True) question = Question.objects.get(id=question_id) documents = [] for docname in question.docs: file_data = question.image[docname+'_data'] file_name = question.image[docname+'_name'] orig_fname = settings.STATIC_ROOT + '/../moma_example/static/display/' + file_name new_fname = settings.STATIC_ROOT + '/../moma_example/static/display/tn_' + file_name _decode_image_to_size(file_data, orig_fname, new_fname, basewidth=128) documents.append({'docfile':{'url':question.image[docname +'_url'], 'name':question.image[docname+'_name'], 'thumb':'/static/display/tn_'+question.image[docname+'_name']}}) context.update({'q': question_id, 'question':question}) # Load documents for the list page # documents = [{'docfile':{'url':'blaaa', 'name':'Bleee'}}] context.update( {'documents': documents, 'form': form,}) context.update(csrf(request)) context.update({'the_user': request.user}) return direct_to_template(request, 'question/question_media.html', context)