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))
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}))
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}))