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))
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))
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))
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))