def confirm_edit_section(request, section_code, thread_code, form): dajax = Dajax() try: form_dict={} for obj in form: form_dict[obj['name']]=obj['value'] form = ThreadSectionForm(form_dict) thread_section = ThreadSection.objects.get(code=section_code, thread__code=thread_code) if form.is_valid(): new_section_name = form.cleaned_data.get('section_name') new_section_code = form.cleaned_data.get('section_code') thread_section.name = new_section_name thread_section.code = new_section_code thread_section.save() dajax.assign('#thread_contents', 'innerHTML', \ thread_section.thread.render_html_edit_string()) # if form is not valid else: dajax.assign('#%s_section_name_errors' % section_code, 'innerHTML', form['section_name'].errors) dajax.assign('#%s_section_code_errors' % section_code, 'innerHTML', form['section_code'].errors) except Exception as e: dajax.alert("something wrong: %s" % e) return dajax.json()
def insert_section_below(request, section_code, thread_code, form): dajax = Dajax() try: form_dict={} for obj in form: form_dict[obj['name']]=obj['value'] form = ThreadSectionForm(form_dict) if form.is_valid(): new_section_name = form.cleaned_data.get('section_name') new_section_code = form.cleaned_data.get('section_code') # add section after section given by section_code thread_section = ThreadSection.objects.get(code=section_code, thread__code=thread_code) this_sort_order=thread_section.sort_order next_section = thread_section.find_next_section() if next_section: new_sort_order= (this_sort_order+next_section.sort_order)/2.0 else: new_sort_order=this_sort_order+1.0 new_section = ThreadSection(name=new_section_name, code=new_section_code, thread=thread_section.thread, sort_order=new_sort_order, level=thread_section.level) from django.db import IntegrityError try: new_section.save() except IntegrityError as e: dajax.assign('#%s_section_code_errors' % section_code, 'innerHTML', 'Cannot add section. Duplicate code: %s' % (new_section_code)) else: dajax.assign('#thread_contents', 'innerHTML', \ thread_section.thread.render_html_edit_string()) # if form is not valid else: dajax.assign('#%s_section_name_errors' % section_code, 'innerHTML', form['section_name'].errors) dajax.assign('#%s_section_code_errors' % section_code, 'innerHTML', form['section_code'].errors) except Exception as e: dajax.alert("something wrong: %s" % e) return dajax.json()
def insert_section_top(request, thread_code, form): dajax = Dajax() try: form_dict={} for obj in form: form_dict[obj['name']]=obj['value'] form = ThreadSectionForm(form_dict) if form.is_valid(): new_section_name = form.cleaned_data.get('section_name') new_section_code = form.cleaned_data.get('section_code') # add section before first section thread = Thread.objects.get(code=thread_code) try: new_sort_order=thread.thread_sections.all()[0].sort_order-1.0 except: new_sort_order=0 new_section = ThreadSection(name=new_section_name, code=new_section_code, thread=thread, sort_order=new_sort_order, level=1) from django.db import IntegrityError try: new_section.save() except IntegrityError as e: dajax.assign('#section_code_errors_top', 'innerHTML', 'Cannot add section. Duplicate code: %s' % (new_section_code)) else: dajax.assign('#thread_contents', 'innerHTML', \ thread.render_html_edit_string()) # if form is not valid else: dajax.assign('#section_name_errors_top', 'innerHTML', form['section_name'].errors) dajax.assign('#section_code_errors_top', 'innerHTML', form['section_code'].errors) except Exception as e: dajax.alert("something wrong: %s" % e) return dajax.json()