Ejemplo n.º 1
0
def notes_edit_note(request):
    ret = {}
    if request.user.is_authenticated():
        note = request.REQUEST.get("note", 0)
        try:
            note = ZornaNote.objects.get(pk=note, owner=request.user)
        except:
            ret['status'] = 'error'
            ret['message'] = gettext(u'Invalid note')
            return HttpResponse(simplejson.dumps(ret))

        attachments = note.zornanotefile_set.all()
        nbinitialfiles = len(attachments)
        if request.method == 'POST':
            if request.POST.has_key('bdelnote'):
                category = note.category.pk
                try:
                    shutil.rmtree(u"%s/u%s" %
                                  (get_upload_notes_attachments(), note.pk))
                except:
                    pass
                note.zornanotefile_set.all().delete()
                Tag.objects.update_tags(note, None)
                note.delete()
                ret['status'] = 'success'
                ret['message'] = gettext(u'Note deleted successfully')
                ret['data'] = notes_get_content(request, {}, category)
                return HttpResponse(simplejson.dumps(ret))

            fa_set = formset_factory(ZornaNoteFileForm,
                                     extra=2 - nbinitialfiles)
            form_attachments_set = fa_set(request.POST, request.FILES)
            form_note = ZornaNoteForm(request, request.POST, instance=note)
            if form_note.is_valid() and form_attachments_set.is_valid():
                if nbinitialfiles and request.POST.has_key(
                        'selected_attachments'):
                    att = request.POST.getlist('selected_attachments')
                    for f in att:
                        ZornaNoteFile.objects.get(pk=f).delete()

                note = form_note.save(commit=False)
                note.owner = request.user
                note.save()
                bupload = False
                for i in range(0, form_attachments_set.total_form_count()):
                    form = form_attachments_set.forms[i]
                    try:
                        note_file = request.FILES['form-' + str(i) + '-file']
                        attachment = ZornaNoteFile(
                            description=form.cleaned_data['description'],
                            mimetype=note_file.content_type)
                        attachment.note = note
                        attachment.save()
                        attachment.file.save(note_file.name, note_file)
                    except:
                        pass
                ret['status'] = 'success'
                ret['message'] = gettext(u'Note updated successfully')
                ret['data'] = notes_get_content(request, {}, note.category.pk)
                return HttpResponse('<textarea>' + simplejson.dumps(ret) +
                                    '</textarea>')
            else:
                extra_context = {
                    "form_note": form_note,
                    'form_attachments': form_attachments_set,
                    'attachments': attachments,
                }
                extra_context['category'] = note.category
                extra_context[
                    'category_ancestors'] = note.category.get_ancestors()
                extra_context['url_action'] = reverse(
                    'notes_edit_note') + '?note=' + str(note.pk)
                ret['status'] = 'error'
                t = loader.get_template('notes/notes_edit_note.html')
                c = RequestContext(request, extra_context)
                ret['data'] = t.render(c)
                return HttpResponse('<textarea>' + simplejson.dumps(ret) +
                                    '</textarea>')
        else:
            fa_set = formset_factory(ZornaNoteFileForm,
                                     extra=2 - nbinitialfiles)
            form_attachments_set = fa_set()
            form_note = ZornaNoteForm(request,
                                      instance=note,
                                      initial={'tags': note.tags})

        extra_context = {
            "form_note": form_note,
            'form_attachments': form_attachments_set,
            'attachments': attachments,
        }
        extra_context['category'] = note.category
        extra_context['category_ancestors'] = note.category.get_ancestors()
        extra_context['url_action'] = reverse(
            'notes_edit_note') + '?note=' + str(note.pk)
        t = loader.get_template('notes/notes_edit_note.html')
        c = RequestContext(request, extra_context)
        ret['data'] = t.render(c)
        ret['status'] = 'success'
    else:
        ret['status'] = 'error'
        ret['message'] = gettext(u'Access denied')
    return HttpResponse(simplejson.dumps(ret))
Ejemplo n.º 2
0
def notes_edit_note(request):
    ret = {}
    if request.user.is_authenticated():
        note = request.REQUEST.get("note", 0)
        try:
            note = ZornaNote.objects.get(pk=note, owner=request.user)
        except:
            ret['status'] = 'error'
            ret['message'] = gettext(u'Invalid note')
            return HttpResponse(simplejson.dumps(ret))

        attachments = note.zornanotefile_set.all()
        nbinitialfiles = len(attachments)
        if request.method == 'POST':
            if request.POST.has_key('bdelnote'):
                category = note.category.pk
                try:
                    shutil.rmtree(u"%s/u%s" % (
                        get_upload_notes_attachments(), note.pk))
                except:
                    pass
                note.zornanotefile_set.all().delete()
                Tag.objects.update_tags(note, None)
                note.delete()
                ret['status'] = 'success'
                ret['message'] = gettext(u'Note deleted successfully')
                ret['data'] = notes_get_content(request, {}, category)
                return HttpResponse(simplejson.dumps(ret))

            fa_set = formset_factory(
                ZornaNoteFileForm, extra=2 - nbinitialfiles)
            form_attachments_set = fa_set(request.POST, request.FILES)
            form_note = ZornaNoteForm(request, request.POST, instance=note)
            if form_note.is_valid() and form_attachments_set.is_valid():
                if nbinitialfiles and request.POST.has_key('selected_attachments'):
                    att = request.POST.getlist('selected_attachments')
                    for f in att:
                        ZornaNoteFile.objects.get(pk=f).delete()

                note = form_note.save(commit=False)
                note.owner = request.user
                note.save()
                bupload = False
                for i in range(0, form_attachments_set.total_form_count()):
                    form = form_attachments_set.forms[i]
                    try:
                        note_file = request.FILES['form-' + str(i) + '-file']
                        attachment = ZornaNoteFile(description=form.cleaned_data[
                                                   'description'], mimetype=note_file.content_type)
                        attachment.note = note
                        attachment.save()
                        attachment.file.save(note_file.name, note_file)
                    except:
                        pass
                ret['status'] = 'success'
                ret['message'] = gettext(u'Note updated successfully')
                ret['data'] = notes_get_content(request, {}, note.category.pk)
                return HttpResponse('<textarea>' + simplejson.dumps(ret) + '</textarea>')
            else:
                extra_context = {"form_note": form_note, 'form_attachments':
                                 form_attachments_set, 'attachments': attachments, }
                extra_context['category'] = note.category
                extra_context[
                    'category_ancestors'] = note.category.get_ancestors()
                extra_context['url_action'] = reverse(
                    'notes_edit_note') + '?note=' + str(note.pk)
                ret['status'] = 'error'
                t = loader.get_template('notes/notes_edit_note.html')
                c = RequestContext(request, extra_context)
                ret['data'] = t.render(c)
                return HttpResponse('<textarea>' + simplejson.dumps(ret) + '</textarea>')
        else:
            fa_set = formset_factory(
                ZornaNoteFileForm, extra=2 - nbinitialfiles)
            form_attachments_set = fa_set()
            form_note = ZornaNoteForm(
                request, instance=note, initial={'tags': note.tags})

        extra_context = {"form_note": form_note, 'form_attachments':
                         form_attachments_set, 'attachments': attachments, }
        extra_context['category'] = note.category
        extra_context['category_ancestors'] = note.category.get_ancestors()
        extra_context['url_action'] = reverse(
            'notes_edit_note') + '?note=' + str(note.pk)
        t = loader.get_template('notes/notes_edit_note.html')
        c = RequestContext(request, extra_context)
        ret['data'] = t.render(c)
        ret['status'] = 'success'
    else:
        ret['status'] = 'error'
        ret['message'] = gettext(u'Access denied')
    return HttpResponse(simplejson.dumps(ret))
Ejemplo n.º 3
0
def notes_add_note(request):
    ret = {}
    if request.user.is_authenticated():
        category = request.REQUEST.get("category", 0)
        try:
            category = ZornaNoteCategory.objects.get(pk=category,
                                                     owner=request.user)
        except:
            ret['status'] = 'error'
            ret['message'] = gettext(u'Invalid category note')
            return HttpResponse(simplejson.dumps(ret))

        if request.method == 'POST':
            fa_set = formset_factory(ZornaNoteFileForm, extra=2)
            form_attachments_set = fa_set(request.POST, request.FILES)
            form_note = ZornaNoteForm(request,
                                      request.POST,
                                      initial={'category': category})
            if form_note.is_valid() and form_attachments_set.is_valid():
                note = form_note.save(commit=False)
                note.owner = request.user
                note.save()
                bupload = False
                for i in range(0, form_attachments_set.total_form_count()):
                    form = form_attachments_set.forms[i]
                    try:
                        note_file = request.FILES['form-' + str(i) + '-file']
                        attachment = ZornaNoteFile(
                            description=form.cleaned_data['description'],
                            mimetype=note_file.content_type)
                        attachment.note = note
                        attachment.save()
                        attachment.file.save(note_file.name, note_file)
                    except:
                        pass
                ret['status'] = 'success'
                ret['message'] = gettext(u'Note created successfully')
                ret['data'] = notes_get_content(request, {}, category.pk)
                return HttpResponse('<textarea>' + simplejson.dumps(ret) +
                                    '</textarea>')
            else:
                ret['status'] = 'error'
                ret['message'] = gettext(u'Invalid form')
                extra_context = {
                    "form_note": form_note,
                    'form_attachments': form_attachments_set
                }
                extra_context['category'] = category
                extra_context['category_ancestors'] = category.get_ancestors()
                extra_context['url_action'] = reverse('notes_add_note')
                t = loader.get_template('notes/notes_edit_note.html')
                c = RequestContext(request, extra_context)
                ret['data'] = t.render(c)
                return HttpResponse('<textarea>' + simplejson.dumps(ret) +
                                    '</textarea>')
        else:
            fa_set = formset_factory(ZornaNoteFileForm, extra=2)
            form_attachments_set = fa_set()
            form_note = ZornaNoteForm(request, initial={'category': category})
            ret['status'] = 'success'

        extra_context = {
            "form_note": form_note,
            'form_attachments': form_attachments_set
        }
        extra_context['category'] = category
        extra_context['category_ancestors'] = category.get_ancestors()
        extra_context['url_action'] = reverse('notes_add_note')
        t = loader.get_template('notes/notes_edit_note.html')
        c = RequestContext(request, extra_context)
        ret['data'] = t.render(c)
    else:
        ret['status'] = 'error'
        ret['message'] = gettext(u'Access denied')
    return HttpResponse(simplejson.dumps(ret))
Ejemplo n.º 4
0
def notes_add_note(request):
    ret = {}
    if request.user.is_authenticated():
        category = request.REQUEST.get("category", 0)
        try:
            category = ZornaNoteCategory.objects.get(
                pk=category, owner=request.user)
        except:
            ret['status'] = 'error'
            ret['message'] = gettext(u'Invalid category note')
            return HttpResponse(simplejson.dumps(ret))

        if request.method == 'POST':
            fa_set = formset_factory(ZornaNoteFileForm, extra=2)
            form_attachments_set = fa_set(request.POST, request.FILES)
            form_note = ZornaNoteForm(
                request, request.POST, initial={'category': category})
            if form_note.is_valid() and form_attachments_set.is_valid():
                note = form_note.save(commit=False)
                note.owner = request.user
                note.save()
                bupload = False
                for i in range(0, form_attachments_set.total_form_count()):
                    form = form_attachments_set.forms[i]
                    try:
                        note_file = request.FILES['form-' + str(i) + '-file']
                        attachment = ZornaNoteFile(description=form.cleaned_data[
                                                   'description'], mimetype=note_file.content_type)
                        attachment.note = note
                        attachment.save()
                        attachment.file.save(note_file.name, note_file)
                    except:
                        pass
                ret['status'] = 'success'
                ret['message'] = gettext(u'Note created successfully')
                ret['data'] = notes_get_content(request, {}, category.pk)
                return HttpResponse('<textarea>' + simplejson.dumps(ret) + '</textarea>')
            else:
                ret['status'] = 'error'
                ret['message'] = gettext(u'Invalid form')
                extra_context = {"form_note":
                                 form_note, 'form_attachments': form_attachments_set}
                extra_context['category'] = category
                extra_context['category_ancestors'] = category.get_ancestors()
                extra_context['url_action'] = reverse('notes_add_note')
                t = loader.get_template('notes/notes_edit_note.html')
                c = RequestContext(request, extra_context)
                ret['data'] = t.render(c)
                return HttpResponse('<textarea>' + simplejson.dumps(ret) + '</textarea>')
        else:
            fa_set = formset_factory(ZornaNoteFileForm, extra=2)
            form_attachments_set = fa_set()
            form_note = ZornaNoteForm(request, initial={'category': category})
            ret['status'] = 'success'

        extra_context = {"form_note":
                         form_note, 'form_attachments': form_attachments_set}
        extra_context['category'] = category
        extra_context['category_ancestors'] = category.get_ancestors()
        extra_context['url_action'] = reverse('notes_add_note')
        t = loader.get_template('notes/notes_edit_note.html')
        c = RequestContext(request, extra_context)
        ret['data'] = t.render(c)
    else:
        ret['status'] = 'error'
        ret['message'] = gettext(u'Access denied')
    return HttpResponse(simplejson.dumps(ret))