Esempio n. 1
0
def new_model_field_form(request, field_type, model_id):
    if field_type not in FIELD_FORMS:
        raise Http404
    model = get_object_or_404(Model,
                              application__project__owner=request.user,
                              pk=model_id)
    context = {}
    prefix = "%s_%d" % (field_type, model.id)
    if request.method == 'POST':
        form = FIELD_FORMS[field_type](model, request.POST, prefix=prefix)
        if form.is_valid():
            new_field = form.save()
            model_field = model.model_fields.create(object=new_field)
            prefix = "%s_%d" % (field_type, model_field.id)
            form = FIELD_FORMS[field_type](model,
                                           instance=new_field,
                                           prefix=prefix)
            context = {'field_form': form, 'model_field': model_field}
            return render_response(request, 'field_form.html', context)
    else:
        form = FIELD_FORMS[field_type](model, prefix=prefix)
    context = {
        'new_field_form': form,
        'model': model,
        'field_type': field_type
    }
    return render_response(request, 'new_field_form.html', context)
Esempio n. 2
0
def new_model_form_form(request, model_id):
    """
    Create a new ModelForm if the form is valid, otherwise display the
    initial form.
    Current user must own the destination model.
    If a new ModelForm is created, the template will use ajax to render it
    and append it to the FormList.
    """
    model = get_object_or_404(Model, pk=model_id,
                              application__project__owner=request.user)
    context = {}
    prefix = "new_modelform_%d" % model.id
    if request.method == 'POST':
        form = NewModelFormForm(model, request.POST, prefix=prefix)
        if form.is_valid():
            model_form = form.save(commit=False)
            model_form.model = model
            model_form.save()
            form = NewModelFormForm(model, prefix=prefix)
            context.update({'created': True,
                            'model_form': model_form})
    else:
        form = NewModelFormForm(model, request.POST, prefix=prefix)
    context.update({'new_model_form_form': form,
                    'model': model})
    return render_response(request, 'new_model_form_form.html', context)
Esempio n. 3
0
def project_view(request, project_id):
    """
    - return project corresponding to project_id
    - handle project modification form submition
    - raise 404 if project is not found or project doesn't belong to
    the current user
    """
    if request.user.is_superuser:
        project = get_object_or_404(Project, pk=project_id)
    else:
        project = get_object_or_404(Project, owner=request.user, pk=project_id)
    if request.method == "POST":
        form = ProjectForm(request.POST, instance=project)
        if form.is_valid():
            form.save()
    else:
        form = ProjectForm(instance=project)

    context = {
        'project':
        project,
        'new_application_form':
        NewApplicationForm({'project_id': project.id},
                           prefix='new_application'),
        'project_form':
        form
    }
    return render_response(request, 'project/project_view.html', context)
Esempio n. 4
0
def new_model_form(request, application_id):
    """
    Create a new model inside an application.
    return 404 if
    """
    application = get_object_or_404(Application,
                                    project__owner=request.user,
                                    pk=application_id)
    context = {}
    if request.method == 'POST':
        form = NewModelForm(request.POST,
                            application=application,
                            prefix="new_model_%d" % application.id)
        if form.is_valid():
            context['created'] = True
            new_model = form.save(commit=False)
            new_model.application = application
            new_model.save()
            context['model'] = new_model
            form = NewModelForm(application=application,
                                prefix="new_model_%d" % application.id)
    else:
        form = NewModelForm(application=application,
                            prefix="new_model_%d" % application.id)
    context.update({'new_model_form': form, 'application': application})
    return render_response(request, 'new_model_form.html', context)
Esempio n. 5
0
def model_form_view(request, model_form_id):
    model_form = get_object_or_404(
        ModelForm,
        model__application__project__owner=request.user,
        pk=model_form_id)
    return render_response(
        request, 'model_form_view.html', {'model_form': model_form}
    )
Esempio n. 6
0
def public_project_list(request):
    """
    return public projects list
    The result list is paginated
    """
    context = {}
    projects = Project.objects.filter(public=True).order_by("-creation_date")
    context['projects'] = Paginator(projects, 25)
    return render_response(
        request, 'project/public_project_list.html', context)
Esempio n. 7
0
def public_project_list(request):
    """
    return public projects list
    The result list is paginated
    """
    context = {}
    projects = Project.objects.filter(public=True).order_by("-creation_date")
    context['projects'] = Paginator(projects, 25)
    return render_response(request, 'project/public_project_list.html',
                           context)
Esempio n. 8
0
def new_model_field_form(request, field_type, model_id):
    if field_type not in FIELD_FORMS:
        raise Http404
    model = get_object_or_404(Model, application__project__owner=request.user, pk=model_id)
    context = {}
    prefix = "%s_%d" % (field_type, model.id)
    if request.method == "POST":
        form = FIELD_FORMS[field_type](model, request.POST, prefix=prefix)
        if form.is_valid():
            new_field = form.save()
            model_field = model.model_fields.create(object=new_field)
            prefix = "%s_%d" % (field_type, model_field.id)
            form = FIELD_FORMS[field_type](model, instance=new_field, prefix=prefix)
            context = {"field_form": form, "model_field": model_field}
            return render_response(request, "field_form.html", context)
    else:
        form = FIELD_FORMS[field_type](model, prefix=prefix)
    context = {"new_field_form": form, "model": model, "field_type": field_type}
    return render_response(request, "new_field_form.html", context)
Esempio n. 9
0
def public_project_view(request, project_id):
    """
    - return project corresponding to project_id
    - raise 404 if project is not found or is not public
    """
    if request.user.is_superuser:
        project = get_object_or_404(Project, pk=project_id)
    else:
        project = get_object_or_404(Project, public=True, pk=project_id)

    context = {'project': project}
    return render_response(
        request, 'project/public_project_view.html', context)
Esempio n. 10
0
def public_project_view(request, project_id):
    """
    - return project corresponding to project_id
    - raise 404 if project is not found or is not public
    """
    if request.user.is_superuser:
        project = get_object_or_404(Project, pk=project_id)
    else:
        project = get_object_or_404(Project, public=True, pk=project_id)

    context = {'project': project}
    return render_response(request, 'project/public_project_view.html',
                           context)
Esempio n. 11
0
def model_form(request, model_id):
    model = get_object_or_404(
        Model, application__project__owner=request.user, pk=model_id)
    context = {}
    if request.method == 'POST':
        model_form = ModelForm(
            request.POST, instance=model, prefix="model_%d_" % model.id)
        if model_form.is_valid():
            model = model_form.save()
            context['saved'] = True
            model_form = ModelForm(
                instance=model, prefix="model_%d_" % model.id)
        context.update({
            'model_form': model_form, 'model': model})
        return render_response(request, 'model_form.html', context)
    raise Http404
Esempio n. 12
0
def model_form(request, model_id):
    model = get_object_or_404(Model,
                              application__project__owner=request.user,
                              pk=model_id)
    context = {}
    if request.method == 'POST':
        model_form = ModelForm(request.POST,
                               instance=model,
                               prefix="model_%d_" % model.id)
        if model_form.is_valid():
            model = model_form.save()
            context['saved'] = True
            model_form = ModelForm(instance=model,
                                   prefix="model_%d_" % model.id)
        context.update({'model_form': model_form, 'model': model})
        return render_response(request, 'model_form.html', context)
    raise Http404
Esempio n. 13
0
def new_application_form(request, project_id):
    project = get_object_or_404(Project, owner=request.user, pk=project_id)
    context = {}
    if request.method == 'POST':
        form = NewApplicationForm(
            project, request.POST, prefix="new_application_")
        if form.is_valid():
            context['created'] = True
            new_application = form.save(commit=False)
            new_application.project = project
            new_application.save()
            context['application'] = new_application
            form = NewApplicationForm(project, prefix="new_application_")
    else:
        form = NewApplicationForm(project, prefix="new_application_")
    context.update({'new_application_form': form, 'project': project})
    return render_response(request, 'new_application_form.html', context)
Esempio n. 14
0
def model_field_form(request, field_type, model_field_id):
    model_field = get_object_or_404(ModelField, model__application__project__owner=request.user, pk=model_field_id)
    context = {}
    prefix = "%s_%d" % (model_field.object.field_type, model_field.id)
    if request.method == "POST":
        form = FIELD_FORMS[model_field.object.field_type](
            model_field.model, request.POST, prefix=prefix, instance=model_field.object
        )
        if form.is_valid():
            form.save()
            form = FIELD_FORMS[model_field.object.field_type](
                model_field.model, instance=model_field.object, prefix=prefix
            )
            context["saved"] = True
    else:
        form = FIELD_FORMS[model_field.object.field_type](model_field.model, instance=model_field.object, prefix=prefix)
    context.update({"field_form": form, "model_field": model_field})
    return render_response(request, "field_form.html", context)
Esempio n. 15
0
def new_application_form(request, project_id):
    project = get_object_or_404(Project, owner=request.user, pk=project_id)
    context = {}
    if request.method == 'POST':
        form = NewApplicationForm(project,
                                  request.POST,
                                  prefix="new_application_")
        if form.is_valid():
            context['created'] = True
            new_application = form.save(commit=False)
            new_application.project = project
            new_application.save()
            context['application'] = new_application
            form = NewApplicationForm(project, prefix="new_application_")
    else:
        form = NewApplicationForm(project, prefix="new_application_")
    context.update({'new_application_form': form, 'project': project})
    return render_response(request, 'new_application_form.html', context)
Esempio n. 16
0
def project_list(request):
    """
    return projects own by the current user.
    The result list is paginated
    """
    context = {}
    projects = Project.objects.filter(
        owner=request.user, is_sys=False).order_by("-creation_date")
    if request.method == "POST":
        form = NewProjectForm(request.POST, owner=request.user)
        if form.is_valid():
            new_project = form.save(commit=False)
            new_project.owner = request.user
            new_project.save()
    else:
        form = NewProjectForm(owner=request.user)
    context['projects'] = Paginator(projects, 25)
    context['new_project_form'] = form
    return render_response(request, 'project/project_list.html', context)
Esempio n. 17
0
def project_list(request):
    """
    return projects own by the current user.
    The result list is paginated
    """
    context = {}
    projects = Project.objects.filter(owner=request.user,
                                      is_sys=False).order_by("-creation_date")
    if request.method == "POST":
        form = NewProjectForm(request.POST, owner=request.user)
        if form.is_valid():
            new_project = form.save(commit=False)
            new_project.owner = request.user
            new_project.save()
    else:
        form = NewProjectForm(owner=request.user)
    context['projects'] = Paginator(projects, 25)
    context['new_project_form'] = form
    return render_response(request, 'project/project_list.html', context)
Esempio n. 18
0
def application_form(request, application_id):
    application = get_object_or_404(
        Application, project__owner=request.user, pk=application_id)
    context = {}
    if request.method == "POST":
        form = ApplicationForm(
            application.project, request.POST, instance=application,
            prefix='app_%d_' % application.id)
        if form.is_valid():
            application = form.save()
            context['saved'] = True
            form = ApplicationForm(
                application.project, instance=application,
                prefix='app_%d_' % application.id)
    else:
        form = ApplicationForm(
            application.project, instance=application,
            prefix='app_%d_' % application.id)
    context.update({'application_form': form,
                    'application': application})
    return render_response(request, 'application_form.html', context)
Esempio n. 19
0
def application_form(request, application_id):
    application = get_object_or_404(Application,
                                    project__owner=request.user,
                                    pk=application_id)
    context = {}
    if request.method == "POST":
        form = ApplicationForm(application.project,
                               request.POST,
                               instance=application,
                               prefix='app_%d_' % application.id)
        if form.is_valid():
            application = form.save()
            context['saved'] = True
            form = ApplicationForm(application.project,
                                   instance=application,
                                   prefix='app_%d_' % application.id)
    else:
        form = ApplicationForm(application.project,
                               instance=application,
                               prefix='app_%d_' % application.id)
    context.update({'application_form': form, 'application': application})
    return render_response(request, 'application_form.html', context)
Esempio n. 20
0
def project_view(request, project_id):
    """
    - return project corresponding to project_id
    - handle project modification form submition
    - raise 404 if project is not found or project doesn't belong to
    the current user
    """
    if request.user.is_superuser:
        project = get_object_or_404(Project, pk=project_id)
    else:
        project = get_object_or_404(Project, owner=request.user, pk=project_id)
    if request.method == "POST":
        form = ProjectForm(request.POST, instance=project)
        if form.is_valid():
            form.save()
    else:
        form = ProjectForm(instance=project)

    context = {'project': project,
               'new_application_form': NewApplicationForm(
                   {'project_id': project.id}, prefix='new_application'),
               'project_form': form}
    return render_response(request, 'project/project_view.html', context)
Esempio n. 21
0
def model_field_form(request, field_type, model_field_id):
    model_field = get_object_or_404(
        ModelField,
        model__application__project__owner=request.user,
        pk=model_field_id)
    context = {}
    prefix = "%s_%d" % (model_field.object.field_type, model_field.id)
    if request.method == 'POST':
        form = FIELD_FORMS[model_field.object.field_type](
            model_field.model,
            request.POST,
            prefix=prefix,
            instance=model_field.object)
        if form.is_valid():
            form.save()
            form = FIELD_FORMS[model_field.object.field_type](
                model_field.model, instance=model_field.object, prefix=prefix)
            context['saved'] = True
    else:
        form = FIELD_FORMS[model_field.object.field_type](
            model_field.model, instance=model_field.object, prefix=prefix)
    context.update({'field_form': form, 'model_field': model_field})
    return render_response(request, 'field_form.html', context)
Esempio n. 22
0
def model_form_form(request, model_form_id):
    """
    Allow update of a given ModelForm.
    Current user must own the destination model.
    """
    model_form = get_object_or_404(
        ModelForm, pk=model_form_id,
        model__application__project__owner=request.user)
    context = {}
    prefix = "modelform_%d" % model_form.id
    if request.method == 'POST':
        form = ModelFormForm(model_form.model, request.POST,
                             instance=model_form, prefix=prefix)
        if form.is_valid():
            model_form = form.save()
            form = ModelFormForm(model_form.model, request.POST,
                                 instance=model_form, prefix=prefix)
            context['saved'] = True
    else:
        form = ModelFormForm(model_form.model, instance=model_form,
                             prefix=prefix)
    context.update({'model_form_form': form,
                    'model_form': model_form})
    return render_response(request, 'model_form_form.html', context)
Esempio n. 23
0
def new_model_form(request, application_id):
    """
    Create a new model inside an application.
    return 404 if
    """
    application = get_object_or_404(
        Application, project__owner=request.user, pk=application_id)
    context = {}
    if request.method == 'POST':
        form = NewModelForm(request.POST, application=application,
                            prefix="new_model_%d" % application.id)
        if form.is_valid():
            context['created'] = True
            new_model = form.save(commit=False)
            new_model.application = application
            new_model.save()
            context['model'] = new_model
            form = NewModelForm(application=application,
                                prefix="new_model_%d" % application.id)
    else:
        form = NewModelForm(
            application=application, prefix="new_model_%d" % application.id)
    context.update({'new_model_form': form, 'application': application})
    return render_response(request, 'new_model_form.html', context)
Esempio n. 24
0
def model_view(request, model_id):
    model = get_object_or_404(
        Model, application__project__owner=request.user, pk=model_id)
    return render_response(request, 'model_view.html', {'model': model})
Esempio n. 25
0
def model_view(request, model_id):
    model = get_object_or_404(Model,
                              application__project__owner=request.user,
                              pk=model_id)
    return render_response(request, 'model_view.html', {'model': model})
Esempio n. 26
0
def application_view(request, application_id):
    application = get_object_or_404(Application,
                                    project__owner=request.user,
                                    pk=application_id)
    context = {'application': application}
    return render_response(request, 'application_view.html', context)
Esempio n. 27
0
def application_view(request, application_id):
    application = get_object_or_404(
        Application, project__owner=request.user, pk=application_id)
    context = {'application': application}
    return render_response(request, 'application_view.html', context)