Beispiel #1
0
def document_statement_new(request, document, type):
    ctx = {}

    doc = get_object_or_404(Document, id=document)

    if doc.is_proposed:
        return document_changeproposal_new(request, document, type)

    s = Statement()
    s.user = request.user
    s.document = doc
    s.type = type
    s.text = request.GET.get('text', '')

    if s.user != s.document.user:
        return {"error": 403}

    try:
        s.number = Statement.objects.get(document=s.document, type=s.type).order_by('-number')[0].number + 1
    except Statement.DoesNotExist:
        s.number = 1
    except IndexError:
        s.number = 1

    s.save()

    ctx["ok"] = True
    ctx["id"] = s.id
    ctx["seq"] = s.number
    ctx["html"] = str(s)

    return ctx
Beispiel #2
0
 def test_statement_required_fields(self):
     statement = Statement()
     with self.assertRaises(ValidationError):
         statement.full_clean()
Beispiel #3
0
def document_statements_import(request):
    ctx = {}
    ctx["list"] = []

    doc = get_object_or_404(Document, id=request.GET.get("document"))
    text = request.GET.get("text", "")
    lines = text.split("\n")

    if request.user != doc.user:
        return {"error": 403}

    for line in lines:
        s = Statement()
        s.user = request.user
        s.document = doc
        s.text = line[1:].strip()

        if len(line) == 0:
            continue

        if line[0] == "\#":
            # Subheading
            s.type = 3
        elif line[0] == "-":
            # Reference
            s.type = 0
        elif line[0] == ":":
            # Assumption
            s.type = 1
        elif line[0] == "*":
            # Statement
            s.type = 2
        else:
            continue

        try:
            s.number = Statement.objects.get(
                document=s.document,
                type=s.type).order_by('-number')[0].number + 1
        except Statement.DoesNotExist:
            s.number = 1
        except IndexError:
            s.number = 1

        s.save()

        boom = {}
        boom["id"] = s.id
        boom["seq"] = s.number
        boom["html"] = str(s)
        ctx["list"].append(boom)

    return ctx
Beispiel #4
0
def document_statement_new(request, document, type):
    ctx = {}

    doc = get_object_or_404(Document, id=document)

    if doc.is_proposed:
        return document_changeproposal_new(request, document, type)

    s = Statement()
    s.user = request.user
    s.document = doc
    s.type = type
    s.text = request.GET.get('text', '')

    if s.user != s.document.user:
        return {"error": 403}

    try:
        s.number = Statement.objects.get(
            document=s.document, type=s.type).order_by('-number')[0].number + 1
    except Statement.DoesNotExist:
        s.number = 1
    except IndexError:
        s.number = 1

    s.save()

    ctx["ok"] = True
    ctx["id"] = s.id
    ctx["seq"] = s.number
    ctx["html"] = str(s)

    return ctx
Beispiel #5
0
def document_statements_import(request):
	ctx = {}
	ctx["list"] = []

	doc = get_object_or_404(Document, id=request.GET.get("document"))
	text = request.GET.get("text", "")
	lines = text.split("\n")

	if request.user != doc.user:
		return {"error": 403}

	for line in lines:
		s = Statement()
		s.user = request.user
		s.document = doc
		s.text = line[1:].strip()

		if len(line) == 0:
			continue

		if line[0] == "\#":
			# Subheading
			s.type = 3
		elif line[0] == "-":
			# Reference
			s.type = 0
		elif line[0] == ":":
			# Assumption
			s.type = 1
		elif line[0] == "*":
			# Statement
			s.type = 2
		else:
			continue

		try:
			s.number = Statement.objects.get(document=s.document, type=s.type).order_by('-number')[0].number + 1
		except:
			s.number = 1

		s.save()

		boom = {}
		boom["id"] = s.id
		boom["seq"] = s.number
		boom["html"] = str(s)
		ctx["list"].append(boom)

	return ctx