Esempio n. 1
0
File: views.py Progetto: vault/bugit
def repo_edit(request, user_name, repo_name):
    owner = get_object_or_404(User, username=user_name)
    user = request.user
    repo = get_object_or_404(Repository, owner=owner, name=repo_name)


    access = repo.user_access(user)

    if access != 'O':
        return HttpResponse("You can't edit this", status=401)

    if request.method == 'GET':
        form = RepositoryForm(model_to_dict(repo))
        colab_form = CollaborationFormSet(instance=repo, 
                queryset=repo.collaboration_set.exclude(user=user))
    elif request.method == 'POST':
        form = RepositoryForm(request.POST, instance=repo)
        colab_form = CollaborationFormSet(request.POST, instance=repo)
        if form.is_valid() and colab_form.is_valid():
            repo = form.save()
            colab_form.save()
            return redirect('repo_desc', owner.username, repo.name)

    context = get_context(request, {'owner': owner, 'repo' : repo, 'form' : form,
        'colab': colab_form, 'access': access })
    return render_to_response('repo_manage/repo_edit.html', context, context_instance=RequestContext(request))
Esempio n. 2
0
File: views.py Progetto: vault/bugit
def repo_simple_new(request):
    user = request.user

    if not user.is_authenticated():
        return HttpResponse("You can't add this", status=401)

    if request.method == 'GET':
        return redirect('repo_new')
    elif request.method == 'POST':
        new_form = NewRepositoryForm(request.POST)
        if new_form.is_valid():
            repo = Repository(owner=user)
            repo.name = new_form.cleaned_data['repo_name']
            try:
                repo.save()
                repo.collaboration_set.add(
                    Collaboration(user=user, permission='O'))
                return redirect('repo_edit', user.username, repo.name)
            except IntegrityError:
                new_form._errors["repo_name"] = ErrorList(
                    ["You DKDKDK already have a repository named that"])
    context = get_context(request, {
        'new_form': new_form,
        'form': RepositoryForm()
    })
    return render_to_response('repo_manage/repo_edit.html',
                              context,
                              context_instance=RequestContext(request))
Esempio n. 3
0
File: views.py Progetto: vault/bugit
def repo_edit(request, user_name, repo_name):
    owner = get_object_or_404(User, username=user_name)
    user = request.user
    repo = get_object_or_404(Repository, owner=owner, name=repo_name)

    access = repo.user_access(user)

    if access != 'O':
        return HttpResponse("You can't edit this", status=401)

    if request.method == 'GET':
        form = RepositoryForm(model_to_dict(repo))
        colab_form = CollaborationFormSet(
            instance=repo, queryset=repo.collaboration_set.exclude(user=user))
    elif request.method == 'POST':
        form = RepositoryForm(request.POST, instance=repo)
        colab_form = CollaborationFormSet(request.POST, instance=repo)
        if form.is_valid() and colab_form.is_valid():
            repo = form.save()
            colab_form.save()
            return redirect('repo_desc', owner.username, repo.name)

    context = get_context(
        request, {
            'owner': owner,
            'repo': repo,
            'form': form,
            'colab': colab_form,
            'access': access
        })
    return render_to_response('repo_manage/repo_edit.html',
                              context,
                              context_instance=RequestContext(request))
Esempio n. 4
0
File: views.py Progetto: vault/bugit
def repo_new(request):
    user = request.user

    if not user.is_authenticated():
        return HttpResponse("You can't add this", status=401)

    if request.method == 'GET':
        new_form = NewRepositoryForm()
        form = RepositoryForm()
    elif request.method == 'POST':
        new_form = NewRepositoryForm(request.POST)
        form = RepositoryForm(request.POST)
        if new_form.is_valid() and form.is_valid():
            repo = form.save(commit=False)
            repo.owner = user
            repo.name = new_form.cleaned_data['repo_name']
            try:
                repo.save()
                repo.collaboration_set.add(Collaboration(user=user, permission='O'))
                return redirect('repo_desc' , user.username, repo.name)
            except IntegrityError:
                new_form._errors["repo_name"] = ErrorList(["You already have a repository named that"])
    context = get_context(request, { 'new_form':new_form, 'form':form})
    return render_to_response('repo_manage/repo_edit.html', context, context_instance=RequestContext(request))