Пример #1
0
def edit(request, stack_id, template='stack/edit.html'):
    stack = Stack.objects.get(pk=stack_id)
    root = Node.objects.get(stack=stack, depth=1)
    project = root.project

    public_projects = Project.objects.all()
    root_dump = Node.dump_bulk(parent=root)
    nodes_dump = dumps(root_dump, cls=DjangoJSONEncoder)

    temp_output = serializers.serialize('python', public_projects)
    projects = dumps(temp_output, cls=DjangoJSONEncoder)

    temp_output = serializers.serialize('python', [project])
    project_json = dumps(temp_output, cls=DjangoJSONEncoder)

    temp_output = serializers.serialize('python', [stack])
    stack_json = dumps(temp_output, cls=DjangoJSONEncoder)

    return render(request, template, {
        'page': 'edit', 
        'stack': stack_json,
        'stack_raw': stack,
        'project': project_json,
        'root': root,
        'nodes': root_dump,
        'nodes_dump': nodes_dump,
        'projects': projects,
        'projects_raw': public_projects,
        'link_types': LINK_CHOICES,
        'licenses': License.objects.all()
    })
Пример #2
0
def share(request, stack_id, template='stack/share.html'):
    stack = Stack.objects.get(pk=stack_id)
    root = Node.objects.get(stack=stack, depth=1)
    project = root.project

    public_projects = Project.objects.all()
    root_dump = Node.dump_bulk(parent=root)
    nodes_dump = dumps(root_dump, cls=DjangoJSONEncoder)

    temp_output = serializers.serialize('python', public_projects)
    projects = dumps(temp_output, cls=DjangoJSONEncoder)

    temp_output = serializers.serialize('python', [project])
    project_json = dumps(temp_output, cls=DjangoJSONEncoder)

    temp_output = serializers.serialize('python', [stack])
    stack_json = dumps(temp_output, cls=DjangoJSONEncoder)

    temp_output = serializers.serialize('python', Contributor.objects.all())
    cont_json = dumps(temp_output, cls=DjangoJSONEncoder)

    width = request.GET.get('w', '')
    height = request.GET.get('h', '')

    return render(request, template, {
        'page': 'share', 
        'stack': stack_json,
        'stack_raw': stack,
        'project': project_json,
        'root': root,
        'nodes': root_dump,
        'nodes_dump': nodes_dump,
        'projects': projects,
        'contributors': cont_json,
        'projects_raw': public_projects,
        'link_types': LINK_CHOICES,
        'licenses': License.objects.all(),
        'width': width,
        'height': height
    })