Beispiel #1
0
def upt_mailserver(request, slug):
    from forms import UptMailserverForm, MailserverPrefsForm
    engineer = Engineer.objects.get(user__username=request.user.username)
    mailserver_list = get_mx_list(engineer.company)
    mx = Mailserver.objects.get(slug=slug)
    form = UptMailserverForm(mx, instance=mx)
    threshold_form = MailserverPrefsForm(instance=mx.mailserverprefs_set.get())
    message = None
    
    company = engineer.company
    engineer_list = Engineer.objects.filter(company=company)
    if request.method == 'POST':
        form = UptMailserverForm(mx, data=request.POST, instance=mx)
        threshold_form = MailserverPrefsForm(request.POST)
        form.user = engineer.user
        if form.is_valid():
            message = "Mailserver details updated successfully"
            form.save()
            name = form.cleaned_data['name']
            mx.slug = slugify(name)
            mx.save()
            add_feed_mailserver(mx)
            threshold_form = MailserverPrefsForm(data=request.POST, instance=mx.mailserverprefs_set.get())
            threshold_form.save()
            
    return render_to_response("hosts/update_mailserver.html", {
                                'mx': mx,
                                'form': form,
                                'threshold_form': threshold_form,
                                'mailserver_list': mailserver_list,
                                'message': message,
                                'company': company,
                                'engineer_list': engineer_list,
                                },
                                context_instance=RequestContext(request)) 
Beispiel #2
0
def add_mailserver(request):
    from datetime import datetime
    from datetime import timedelta
    from mxhelpers import fake_fill
    engineer = Engineer.objects.get(user__username=request.user.username)
    mailserver_list = get_mx_list(engineer.company)
    message = None
    company = engineer.company
    engineer_list = Engineer.objects.filter(company=company)
    if request.method == 'POST':
        site_form = MailserverForm(request.POST)
        if site_form.is_valid():
            if request.user.is_authenticated():
                mx_url=site_form.cleaned_data['mx_url']
                ipaddr=site_form.cleaned_data['ipaddr']
                new_mailserver = Mailserver(name=site_form.cleaned_data['name'],
                                      slug=slugify(site_form.cleaned_data['name']),
                                      company=engineer.company,
                                      mx_url=mx_url,
                                      ipaddr=ipaddr,
                                      )
                new_mailserver.save()
                new_mailserver.alert_contact.add(engineer)

                
                MailserverPrefs.objects.create(mailserver=new_mailserver)
                rbl_all = Blacklist.objects.all()
                for rbl_obj in rbl_all:
                    new_mailserver.rbl.add(rbl_obj)
                    mx_status = MailserverRblStatus(mailserver=new_mailserver, rbl=rbl_obj, status='clear')
                    mx_status.save()
                end_results, rbl_result = run_diag(mx_url, ipaddr)

                if end_results['revdns_result'] is not "no":
                    revdns_status = "yes"
                else:
                    revdns_status = "no"
                    
                MailserverStatus.objects.create(mailserver=new_mailserver, port="up",
                    blacklist="clear", webmail="up", relay=end_results['relay_result'],
                    backupmx=end_results['redund_result'], backupmxport=end_results['backupmxport_result'], revdns=revdns_status)

                add_feed_mailserver(new_mailserver)
                fake_fill(new_mailserver) # DO NOT remove.
                mark_checked(new_mailserver, 'port', 'us') # DO NOT remove
                
                message = "Mailserver has been created successfully."
                site_form = MailserverForm() # this clears the form to add more
    else:
        site_form = MailserverForm()
    return render_to_response("hosts/add_mailserver.html", {
                                'mailserver_form': site_form,
                                'mailserver_list': mailserver_list,
                                'message': message,
                                'company': company,
                                'engineer_list': engineer_list,
                                },
                                context_instance=RequestContext(request))
Beispiel #3
0
def upt_mailserver(request, slug):
    from forms import UptMailserverForm, MailserverPrefsForm
    engineer = Engineer.objects.get(user__username=request.user.username)
    mailserver_list = get_mx_list(engineer.company)
    mx = Mailserver.objects.get(slug=slug)
    form = UptMailserverForm(mx, instance=mx)
    threshold_form = MailserverPrefsForm(instance=mx.mailserverprefs_set.get())
    message = None

    company = engineer.company
    engineer_list = Engineer.objects.filter(company=company)
    if request.method == 'POST':
        form = UptMailserverForm(mx, data=request.POST, instance=mx)
        threshold_form = MailserverPrefsForm(request.POST)
        form.user = engineer.user
        if form.is_valid():
            message = "Mailserver details updated successfully"
            form.save()
            name = form.cleaned_data['name']
            mx.slug = slugify(name)
            mx.save()
            add_feed_mailserver(mx)
            threshold_form = MailserverPrefsForm(
                data=request.POST, instance=mx.mailserverprefs_set.get())
            threshold_form.save()

    return render_to_response("hosts/update_mailserver.html", {
        'mx': mx,
        'form': form,
        'threshold_form': threshold_form,
        'mailserver_list': mailserver_list,
        'message': message,
        'company': company,
        'engineer_list': engineer_list,
    },
                              context_instance=RequestContext(request))
Beispiel #4
0
def add_mailserver(request):
    from datetime import datetime
    from datetime import timedelta
    from mxhelpers import fake_fill
    engineer = Engineer.objects.get(user__username=request.user.username)
    mailserver_list = get_mx_list(engineer.company)
    message = None
    company = engineer.company
    engineer_list = Engineer.objects.filter(company=company)
    if request.method == 'POST':
        site_form = MailserverForm(request.POST)
        if site_form.is_valid():
            if request.user.is_authenticated():
                mx_url = site_form.cleaned_data['mx_url']
                ipaddr = site_form.cleaned_data['ipaddr']
                new_mailserver = Mailserver(
                    name=site_form.cleaned_data['name'],
                    slug=slugify(site_form.cleaned_data['name']),
                    company=engineer.company,
                    mx_url=mx_url,
                    ipaddr=ipaddr,
                )
                new_mailserver.save()
                new_mailserver.alert_contact.add(engineer)

                MailserverPrefs.objects.create(mailserver=new_mailserver)
                rbl_all = Blacklist.objects.all()
                for rbl_obj in rbl_all:
                    new_mailserver.rbl.add(rbl_obj)
                    mx_status = MailserverRblStatus(mailserver=new_mailserver,
                                                    rbl=rbl_obj,
                                                    status='clear')
                    mx_status.save()
                end_results, rbl_result = run_diag(mx_url, ipaddr)

                if end_results['revdns_result'] is not "no":
                    revdns_status = "yes"
                else:
                    revdns_status = "no"

                MailserverStatus.objects.create(
                    mailserver=new_mailserver,
                    port="up",
                    blacklist="clear",
                    webmail="up",
                    relay=end_results['relay_result'],
                    backupmx=end_results['redund_result'],
                    backupmxport=end_results['backupmxport_result'],
                    revdns=revdns_status)

                add_feed_mailserver(new_mailserver)
                fake_fill(new_mailserver)  # DO NOT remove.
                mark_checked(new_mailserver, 'port', 'us')  # DO NOT remove

                message = "Mailserver has been created successfully."
                site_form = MailserverForm(
                )  # this clears the form to add more
    else:
        site_form = MailserverForm()
    return render_to_response("hosts/add_mailserver.html", {
        'mailserver_form': site_form,
        'mailserver_list': mailserver_list,
        'message': message,
        'company': company,
        'engineer_list': engineer_list,
    },
                              context_instance=RequestContext(request))