Exemple #1
0
def schedule_project_command(request, project_id, command, success_message):
    project = get_object_or_404(Project, id=project_id)
    try:
        queue_job(command, project_id=project.id)
        return HttpResponse(success_message)
    except Exception as e:
        return HttpResponseServerError("Error: " + str(e))
Exemple #2
0
def add_project(request):
    form = AddProjectForm(request.POST or None)
    if form.is_valid():
        try:
            base_dir = os.path.expanduser(form.cleaned_data['base_directory'])

            base_dir = base_dir.rstrip('/')
            if form.cleaned_data['git_repo']:
                target_dir = os.path.dirname(base_dir)
                if target_dir and not os.path.isdir(target_dir):
                    os.makedirs(target_dir)
                instance = form.save()
                queue_job("GITCLONE", project_id=instance.id)
            else:
                instance = form.save()
                instance.prep_project()
                if instance.project_type == "buildout":
                    queue_job("BOOTSTRAP", project_id=instance.id)

            return redirect(instance.get_absolute_url())

        except IOError as e:
            errors = form._errors.setdefault("base_directory", ErrorList())
            errors.append(u"An error occurred: " + str(e))

    base_url = Preference.objects.get_preference("projects_directory", '')

    return render_to_response("project/project_form.html",
            RequestContext(request, {'form': form, 'base_url': base_url}))
Exemple #3
0
def startapp(request, project_id):
    # I feel like this belongs elsewhere
    project = get_object_or_404(Project, id=project_id)
    form = StartAppForm(request.POST or None)
    if form.is_valid():
        queue_job("STARTAPP", project_id=project_id, app_name=form.cleaned_data["app_name"])
        return redirect(project.get_absolute_url())
    return render_to_response("form.html", RequestContext(request, {"form": form}))