Exemple #1
0
def add(request):
    """
    Add domain of customer
    """
    u = request.session.get('switched_user', request.user)
    superuser = request.user

    if request.method == 'POST':
        form = FormDomain(request.POST)
        if form.is_valid():
            name = form.cleaned_data["name"]

            object = form.save(commit=False)
            object.owner = u
            object.save()

            if config.handle_dns and object.dns:
                pri_br = BindRequest(u, "master")
                pri_br.mod_zone(object)
                pri_br.mod_config()
                pri_br.reload()
                if config.handle_dns_secondary:
                    sec_br = BindRequest(u, "slave")
                    sec_br.mod_config()
                    sec_br.reload()

            logging.info(_("Added domain %s ") % name)
            message = _("Domain %s has been successfuly added") % name
            send_mail(_('Added new domain: %s') % name, message, settings.EMAIL_FROM, [mail for (name, mail) in settings.ADMINS if mail], fail_silently=True)

            messages.add_message(request, messages.SUCCESS, _('Domain has been added'))
            return HttpResponseRedirect(reverse("subdomains", args=(object.id, )))
    else:
        form = FormDomain()

    return render_to_response('universal.html',
            {
            "form": form,
            'form_helper': RostiFormHelper(),
            "title": _("Add domain"),
            "u": u,
            "superuser": superuser,
            "menu_active": "domains",
            },
        context_instance=RequestContext(request)
    )
Exemple #2
0
def rm(request):
    #try:
    user = request.session.get('switched_user', request.user)

    domain = get_object_or_404(user.domain_set, id=request.POST['object_id'])
    if domain.owner == user:
        logging.info(_("Deleting domain %s") % domain.name)

        for subdomain in Domain.objects.filter(parent=domain):
            for app in subdomain.apps():
                if app.domains_count <= 1:
                    remove_app_preparation(app, remove_domains=False)
                    app.delete()
            subdomain.delete()

        for app in domain.apps():
            if app.domains_count <= 1:
                remove_app_preparation(app)
                app.delete()

        if config.handle_dns and domain.dns:
            pri_br = BindRequest(user, "master")
            pri_br.remove_zone(domain)
            pri_br.mod_config()
            pri_br.reload()

            if config.handle_dns_secondary:
                sec_br = BindRequest(user, "slave")
                sec_br.mod_config()
                sec_br.reload()

        domain.delete()

    return JsonResponse("OK", {1: ugettext("Domain was successfuly deleted")})
Exemple #3
0
def add(request):
    """
    Add domain of customer
    """
    u = request.session.get('switched_user', request.user)
    superuser = request.user

    if request.method == 'POST':
        form = FormDomain(request.POST)
        if form.is_valid():
            name = form.cleaned_data["name"]

            object = form.save(commit=False)
            object.owner = u
            object.save()

            if config.handle_dns and object.dns:
                pri_br = BindRequest(u, "master")
                pri_br.mod_zone(object)
                pri_br.mod_config()
                pri_br.reload()
                if config.handle_dns_secondary:
                    sec_br = BindRequest(u, "slave")
                    sec_br.mod_config()
                    sec_br.reload()

            logging.info(_("Added domain %s ") % name)
            message = _("Domain %s has been successfuly added") % name
            send_mail(_('Added new domain: %s') % name,
                      message,
                      settings.EMAIL_FROM,
                      [mail for (name, mail) in settings.ADMINS if mail],
                      fail_silently=True)

            messages.add_message(request, messages.SUCCESS,
                                 _('Domain has been added'))
            return HttpResponseRedirect(
                reverse("subdomains", args=(object.id, )))
    else:
        form = FormDomain()

    return render_to_response('universal.html', {
        "form": form,
        'form_helper': RostiFormHelper(),
        "title": _("Add domain"),
        "u": u,
        "superuser": superuser,
        "menu_active": "domains",
    },
                              context_instance=RequestContext(request))
Exemple #4
0
def rm(request):
    #try:
    user = request.session.get('switched_user', request.user)

    domain = get_object_or_404(user.domain_set, id=request.POST['object_id'])
    if domain.owner == user:
        logging.info(_("Deleting domain %s") % domain.name)

        for subdomain in Domain.objects.filter(parent=domain):
            for app in subdomain.apps():
                if app.domains_count <= 1:
                    remove_app_preparation(app, remove_domains=False)
                    app.delete()
            subdomain.delete()

        for app in domain.apps():
            if app.domains_count <= 1:
                remove_app_preparation(app)
                app.delete()

        if config.handle_dns and domain.dns:
            pri_br = BindRequest(user, "master")
            pri_br.remove_zone(domain)
            pri_br.mod_config()
            pri_br.reload()

            if config.handle_dns_secondary:
                sec_br = BindRequest(user, "slave")
                sec_br.mod_config()
                sec_br.reload()

        domain.delete()

    return JsonResponse("OK", {1: ugettext("Domain was successfuly deleted")})
Exemple #5
0
 def handle(self, *args, **options):
     domains = Domain.objects.all()
     for domain in domains:
         if domain.dns:
             pri_br = BindRequest(domain.owner, "master")
             pri_br.mod_zone(domain)
             pri_br.mod_config()
             pri_br.reload()
             sec_br = BindRequest(domain.owner, "slave")
             sec_br.mod_config()
             sec_br.reload()
Exemple #6
0
 def handle(self, *args, **options):
     domains = Domain.objects.all()
     for domain in domains:
         if domain.dns:
             pri_br = BindRequest(domain.owner, "master")
             pri_br.mod_zone(domain)
             pri_br.mod_config()
             pri_br.reload()
             sec_br = BindRequest(domain.owner, "slave")
             sec_br.mod_config()
             sec_br.reload()