Esempio n. 1
0
def hosting(request):
    """Form for hosting request."""
    if not settings.OFFER_HOSTING:
        return redirect('home')

    if request.method == 'POST':
        form = HostingForm(request.POST)
        if form.is_valid():
            context = form.cleaned_data
            context['username'] = request.user.username
            mail_admins_contact(
                request,
                'Hosting request for %(project)s',
                HOSTING_TEMPLATE,
                context,
                form.cleaned_data['email'],
                settings.ADMINS_HOSTING,
            )
            return redirect('home')
    else:
        initial = get_initial_contact(request)
        form = HostingForm(initial=initial)

    return render(request, 'accounts/hosting.html', {
        'form': form,
        'title': _('Hosting')
    })
Esempio n. 2
0
def hosting(request):
    """Form for hosting request."""
    if not settings.OFFER_HOSTING or request.user.is_demo:
        if request.user.is_demo:
            message = _(
                'Please log in using your personal account to request hosting.'
            )
            messages.warning(request, message)
        return redirect('home')

    if request.method == 'POST':
        form = HostingForm(request.POST)
        if form.is_valid():
            context = form.cleaned_data
            context['username'] = request.user.username
            mail_admins_contact(
                request,
                'Hosting request for %(project)s',
                HOSTING_TEMPLATE,
                context,
                form.cleaned_data['email'],
                settings.ADMINS_HOSTING,
            )
            return redirect('home')
    else:
        initial = get_initial_contact(request)
        form = HostingForm(initial=initial)

    return render(request, 'accounts/hosting.html', {
        'form': form,
        'title': _('Hosting'),
    })
Esempio n. 3
0
def hosting(request):
    '''
    Form for hosting request.
    '''
    if not appsettings.OFFER_HOSTING:
        return redirect('home')

    if request.method == 'POST':
        form = HostingForm(request.POST)
        if form.is_valid():
            mail_admins_contact(
                request,
                'Hosting request for %(project)s',
                HOSTING_TEMPLATE,
                form.cleaned_data,
                form.cleaned_data['email'],
            )
            return redirect('home')
    else:
        initial = get_initial_contact(request)
        form = HostingForm(initial=initial)

    return render(
        request,
        'accounts/hosting.html',
        {
            'form': form,
            'title': _('Hosting'),
        }
    )
Esempio n. 4
0
def hosting(request):
    """Form for hosting request."""
    if not settings.OFFER_HOSTING:
        return redirect("home")

    if request.method == "POST":
        form = HostingForm(request.POST)
        if form.is_valid():
            context = form.cleaned_data
            context["username"] = request.user.username
            mail_admins_contact(
                request,
                "Hosting request for %(project)s",
                HOSTING_TEMPLATE,
                context,
                form.cleaned_data["email"],
                settings.ADMINS_HOSTING,
            )
            return redirect("home")
    else:
        initial = get_initial_contact(request)
        form = HostingForm(initial=initial)

    return render(request, "accounts/hosting.html", {
        "form": form,
        "title": _("Hosting")
    })
Esempio n. 5
0
def hosting(request):
    '''
    Form for hosting request.
    '''
    if not appsettings.OFFER_HOSTING:
        return redirect('home')

    if request.method == 'POST':
        form = HostingForm(request.POST)
        if form.is_valid():
            mail_admins_contact(
                'Hosting request for %(project)s',
                HOSTING_TEMPLATE,
                form.cleaned_data,
                form.cleaned_data['email'],
            )
            messages.info(
                request,
                _('Message has been sent to administrator.')
            )
            return redirect('home')
    else:
        initial = get_initial_contact(request)
        form = HostingForm(initial=initial)

    return render_to_response(
        'accounts/hosting.html',
        RequestContext(
            request,
            {
                'form': form,
                'title': _('Hosting'),
            }
        )
    )
Esempio n. 6
0
def hosting(request):
    """Form for hosting request."""
    if not settings.OFFER_HOSTING:
        return redirect('home')

    if request.method == 'POST':
        form = HostingForm(request.POST)
        if form.is_valid():
            context = form.cleaned_data
            context['username'] = request.user.username
            mail_admins_contact(
                request,
                'Hosting request for %(project)s',
                HOSTING_TEMPLATE,
                context,
                form.cleaned_data['email'],
                settings.ADMINS_HOSTING,
            )
            return redirect('home')
    else:
        initial = get_initial_contact(request)
        form = HostingForm(initial=initial)

    return render(
        request,
        'accounts/hosting.html',
        {
            'form': form,
            'title': _('Hosting'),
        }
    )
Esempio n. 7
0
def hosting(request):
    """Form for hosting request."""
    if not settings.OFFER_HOSTING:
        return redirect("home")

    from weblate.billing.models import Billing, Plan

    billings = (Billing.objects.for_user(
        request.user).filter(state=Billing.STATE_TRIAL).order_by("-payment"))
    form = HostingForm()

    if request.method == "POST" and "billing" in request.POST:
        billing = billings.get(pk=request.POST["billing"])
        if billing.valid_libre:
            if "approve" in request.POST and request.user.is_superuser:
                billing.state = Billing.STATE_ACTIVE
                billing.plan = Plan.objects.get(slug="libre")
                billing.save(update_fields=["state", "plan"])
                return redirect("hosting")

            if "request" in request.POST:
                form = HostingForm(request.POST)
                if form.is_valid():
                    project = billing.projects.get()
                    billing.payment["libre_request"] = True
                    billing.save(update_fields=["payment"])
                    mail_admins_contact(
                        request,
                        "Hosting request for %(billing)s",
                        HOSTING_TEMPLATE,
                        {
                            "billing": billing,
                            "name": request.user.full_name,
                            "email": request.user.email,
                            "project": project,
                            "url": project.web,
                            "message": form.cleaned_data["message"],
                            "billing_id": billing.pk,
                        },
                        request.user.email,
                        settings.ADMINS_HOSTING,
                    )
                    return redirect("hosting")

            if "extend" in request.POST and request.user.is_superuser:
                billing.expiry = timezone.now() + timedelta(days=14)
                billing.save(update_fields=["expiry"])
                return redirect("hosting")

    return render(
        request,
        "accounts/hosting.html",
        {
            "title": _("Hosting"),
            "billings": billings,
            "hosting_form": form,
        },
    )
Esempio n. 8
0
def hosting(request):
    """
    Form for hosting request.
    """
    if not appsettings.OFFER_HOSTING:
        return redirect("home")

    if request.method == "POST":
        form = HostingForm(request.POST)
        if form.is_valid():
            context = form.cleaned_data
            context["username"] = request.user.username
            mail_admins_contact(
                request, "Hosting request for %(project)s", HOSTING_TEMPLATE, context, form.cleaned_data["email"]
            )
            return redirect("home")
    else:
        initial = get_initial_contact(request)
        form = HostingForm(initial=initial)

    return render(request, "accounts/hosting.html", {"form": form, "title": _("Hosting")})