コード例 #1
0
ファイル: views.py プロジェクト: stefanw/brigitte
def repositories_manage_add(request):
    if request.method == 'POST':
        form = RepositoryForm(request.user, request.POST)
        if form.is_valid():
            repo = form.save(commit=False)
            repo.user = request.user
            repo.slug = slugify(repo.title)
            repo.save()

            repo.repositoryuser_set.create(
                user=request.user,
                can_read=True,
                can_write=True,
                can_admin=True
            )

            register_repository_update(request.user, 'created', repo)
            messages.success(request, _('Repository added.'))
            return redirect('accounts_profile')
    else:
        form = RepositoryForm(request.user)

    return render(request, 'repositories/repository_manage_add.html', {
        'form': form,
    })
コード例 #2
0
ファイル: views.py プロジェクト: stefanw/brigitte
def repositories_manage_change(request, repo):
    if request.method == 'POST':
        if request.POST.get('method', None) == 'add_repouser':
            result = False
            error_msg = 'No error message'

            try:
                user = User.objects.get(email=request.POST.get('email', None))
                if repo.user == user:
                    error_msg = 'You cannot re-add the repository owner.'
                elif user.repositoryuser_set.filter(repo=repo).exists():
                    error_msg = 'User already added to repository'
                else:
                    repo.repositoryuser_set.create(user=user)
                    register_repository_update(user, 'changed', repo)
                    result = True
            except User.DoesNotExist:
                error_msg ='Invalid email address'

            return HttpResponse('{"result": "%s", "error_msg": "%s"}' % (
                int(result), error_msg)
            )

        repo_form = RepositoryForm(
            request.user, request.POST, instance=repo, prefix='repository')
        users_formset = RepositoryUserFormSet(request.POST, prefix='users')

        if repo_form.is_valid():
            repo_form.save()

            if users_formset.is_valid():
                for instance in users_formset.save(commit=False):
                    if not instance.pk:
                        instance.repo = repo
                    instance.save()

            register_repository_update(request.user, 'changed', repo)
            messages.success(request, _('Repository updated.'))
            return redirect('accounts_profile')
    else:
        repo_form = RepositoryForm(request.user, instance=repo, prefix='repository')
        users_formset = RepositoryUserFormSet(
            prefix='users',
            queryset=repo.alterable_users
        )

    return render(request, 'repositories/repository_manage_change.html', {
        'repo': repo,
        'form': repo_form,
        'delete_form': RepositoryDeleteForm(),
        'users': users_formset,
    })
コード例 #3
0
ファイル: views.py プロジェクト: EnTeQuAk/brigitte
def repositories_manage_add(request):
    if request.method == "POST":
        form = RepositoryForm(request.user, request.POST)
        if form.is_valid():
            repo = form.save(commit=False)
            repo.user = request.user
            repo.slug = slugify(repo.title)
            repo.save()
            repo.repositoryuser_set.create(user=request.user, can_read=True, can_write=True, can_admin=True)
            register_repository_update(request.user, "created", repo)
            messages.success(request, _("Repository added."))
            return redirect("accounts_profile")
    else:
        form = RepositoryForm(request.user)

    return render(request, "repositories/repository_manage_add.html", {"form": form})
コード例 #4
0
ファイル: views.py プロジェクト: stephrdev/brigitte
def manage_change(request, repo):
    if request.method == 'POST':
        if 'lookup_username' in request.POST:
            username = request.POST['lookup_username']
            result = {'error': False}

            try:
                user = User.objects.get(Q(Q(email=username) | Q(username=username)))

                if user.repositoryuser_set.filter(repo=repo).exists():
                    result['error'] = 'User has already access to this repository.'
                else:
                    result['username'] = user.username
                    result['id'] = user.pk
            except User.DoesNotExist:
                result['error'] = 'Username or e-mail address not found.'

            return HttpResponse(json.dumps(result), mimetype='application/json')

        repo_form = RepositoryForm(
            request.user, request.POST, instance=repo, prefix='repository')
        users_formset = RepositoryUserFormSet(request.POST, prefix='users')

        if repo_form.is_valid():
            repo_form.save()

            if users_formset.is_valid():
                for instance in users_formset.save(commit=False):
                    if not instance.pk:
                        instance.repo = repo
                    instance.save()

            messages.success(request, _('Repository updated.'))
            return redirect('accounts_profile')
    else:
        repo_form = RepositoryForm(request.user, instance=repo, prefix='repository')
        users_formset = RepositoryUserFormSet(
            prefix='users',
            queryset=repo.alterable_users
        )

    return render(request, 'repositories/manage_change.html', {
        'repo': repo,
        'form': repo_form,
        'users': users_formset,
    })
コード例 #5
0
ファイル: views.py プロジェクト: EnTeQuAk/brigitte
def repositories_manage_change(request, repo):
    if request.method == "POST":
        if request.POST.get("method", None) == "add_repouser":
            result = False
            error_msg = "No error message"

            try:
                user = User.objects.get(email=request.POST.get("email", None))
                if repo.user == user:
                    error_msg = "You cannot re-add the repository owner."
                elif user.repositoryuser_set.filter(repo=repo).exists():
                    error_msg = "User already added to repository"
                else:
                    repo.repositoryuser_set.create(user=user)
                    register_repository_update(user, "changed", repo)
                    result = True
            except User.DoesNotExist:
                error_msg = "Invalid email address"

            return HttpResponse('{"result": "%s", "error_msg": "%s"}' % (int(result), error_msg))

        repo_form = RepositoryForm(request.user, request.POST, instance=repo, prefix="repository")
        users_formset = RepositoryUserFormSet(request.POST, prefix="users")

        if repo_form.is_valid():
            repo_form.save()

            if users_formset.is_valid():
                for instance in users_formset.save(commit=False):
                    if not instance.pk:
                        instance.repo = repo
                    instance.save()

            register_repository_update(request.user, "changed", repo)
            messages.success(request, _("Repository updated."))
            return redirect("accounts_profile")
    else:
        repo_form = RepositoryForm(request.user, instance=repo, prefix="repository")
        users_formset = RepositoryUserFormSet(prefix="users", queryset=repo.alterable_users)

    return render(
        request,
        "repositories/repository_manage_change.html",
        {"repo": repo, "form": repo_form, "delete_form": RepositoryDeleteForm(), "users": users_formset},
    )
コード例 #6
0
ファイル: views.py プロジェクト: MasterofJOKers/brigitte
def repositories_manage_change(request, repo):
    if request.method == 'POST':
        if request.POST.get('method', None) == 'add_repouser':
            result = False
            error_msg = 'No error message'

            try:
                user = User.objects.get(email=request.POST.get('email', None))
                if repo.user == user:
                    error_msg = 'You cannot re-add the repository owner.'
                elif user.repositoryuser_set.filter(repo=repo).exists():
                    error_msg = 'User already added to repository'
                else:
                    repo.repositoryuser_set.create(user=user)
                    register_repository_update(user, 'changed', repo)
                    result = True
            except User.DoesNotExist:
                error_msg ='Invalid email address'

            return HttpResponse('{"result": "%s", "error_msg": "%s"}' % (
                int(result), error_msg)
            )

        repo_form = RepositoryForm(
            request.user, request.POST, instance=repo, prefix='repository')
        users_formset = RepositoryUserFormSet(request.POST, prefix='users')

        if repo_form.is_valid():
            repo_form.save()

            if users_formset.is_valid():
                for instance in users_formset.save(commit=False):
                    if not instance.pk:
                        instance.repo = repo
                    instance.save()

            register_repository_update(request.user, 'changed', repo)
            messages.success(request, _('Repository updated.'))
            return redirect('accounts_profile')
    else:
        repo_form = RepositoryForm(request.user, instance=repo, prefix='repository')
        users_formset = RepositoryUserFormSet(
            prefix='users',
            queryset=repo.alterable_users
        )

    return render(request, 'repositories/repository_manage_change.html', {
        'repo': repo,
        'form': repo_form,
        'delete_form': RepositoryDeleteForm(),
        'users': users_formset,
    })
コード例 #7
0
ファイル: views.py プロジェクト: MasterofJOKers/brigitte
def repositories_manage_add(request):
    if request.method == 'POST':
        form = RepositoryForm(request.user, request.POST)
        if form.is_valid():
            repo = form.save(commit=False)
            repo.user = request.user
            repo.slug = slugify(repo.title)
            repo.save()
            repo.repositoryuser_set.create(
                user=request.user,
                can_read=True,
                can_write=True,
                can_admin=True
            )
            register_repository_update(request.user, 'created', repo)
            messages.success(request, _('Repository added.'))
            return redirect('accounts_profile')
    else:
        form = RepositoryForm(request.user)

    return render(request, 'repositories/repository_manage_add.html', {
        'form': form,
    })