def dashboard(request): from monitor.models import PortHistory, BlacklistHistory try: engineer = Engineer.objects.get(user__username=request.user.username) except: return HttpResponseRedirect('/accounts/profile/') success_type = request.GET.get('success') if success_type == "mailserver": message = "Mailserver deleted successfully" elif success_type == "engineer": message = "Engineer deleted successfully" elif success_type == "password": message = "Password changed successfully" else: message = None mailserver_list = get_mx_list(engineer.company) avail_history = PortHistory.objects.filter( mailserver__company=engineer.company, mailserver__active=True).order_by('-add_time') open_avail_history = avail_history.filter(close_time=None) dataset_availability = [ mailserver_list.filter(mailserverstatus__port='up').count(), mailserver_list.filter(mailserverstatus__port='down').count() ] blacklist_history = BlacklistHistory.objects.filter( mailserver__company=engineer.company, mailserver__active=True).order_by('-add_time') open_blacklist_history = blacklist_history.filter(close_time=None) dataset_blacklist = [ mailserver_list.filter( mailserverstatus__blacklist='blacklisted').count(), mailserver_list.filter(mailserverstatus__blacklist='clear').count() ] dataset_hist, d_range = build_hist_dataset(avail_history) open_incidents = [] for s in [open_blacklist_history, open_avail_history]: for x in s: open_incidents.append(x) company = engineer.company daily_cost = get_daily_cost(company) engineer_list = Engineer.objects.filter(company=company) return render_to_response("profiles/dashboard.html", { 'mailserver_list': mailserver_list, 'engineer_list': engineer_list, 'company': company, 'message': message, 'dataset_availability': dataset_availability, 'blacklist_history': open_blacklist_history, 'dataset_blacklist': dataset_blacklist, 'dataset_hist': dataset_hist, 'open_incidents': open_incidents, 'daily_cost': daily_cost, 'max_daily_incidents': max(dataset_hist), 'd_range': d_range, }, context_instance=RequestContext(request))
def dashboard(request): from monitor.models import PortHistory, BlacklistHistory try: engineer = Engineer.objects.get(user__username=request.user.username) except: return HttpResponseRedirect('/accounts/profile/') success_type = request.GET.get('success') if success_type == "mailserver": message = "Mailserver deleted successfully" elif success_type == "engineer": message = "Engineer deleted successfully" elif success_type == "password": message = "Password changed successfully" else: message = None mailserver_list = get_mx_list(engineer.company) avail_history = PortHistory.objects.filter(mailserver__company=engineer.company, mailserver__active=True).order_by('-add_time') open_avail_history = avail_history.filter(close_time=None) dataset_availability = [mailserver_list.filter(mailserverstatus__port='up').count(), mailserver_list.filter(mailserverstatus__port='down').count()] blacklist_history = BlacklistHistory.objects.filter(mailserver__company=engineer.company, mailserver__active=True).order_by('-add_time') open_blacklist_history = blacklist_history.filter(close_time=None) dataset_blacklist = [mailserver_list.filter(mailserverstatus__blacklist='blacklisted').count(), mailserver_list.filter(mailserverstatus__blacklist='clear').count()] dataset_hist, d_range = build_hist_dataset(avail_history) open_incidents = [] for s in [open_blacklist_history, open_avail_history]: for x in s: open_incidents.append(x) company = engineer.company daily_cost = get_daily_cost(company) engineer_list = Engineer.objects.filter(company=company) return render_to_response("profiles/dashboard.html", { 'mailserver_list': mailserver_list, 'engineer_list': engineer_list, 'company': company, 'message': message, 'dataset_availability': dataset_availability, 'blacklist_history': open_blacklist_history, 'dataset_blacklist': dataset_blacklist, 'dataset_hist': dataset_hist, 'open_incidents': open_incidents, 'daily_cost': daily_cost, 'max_daily_incidents': max(dataset_hist), 'd_range': d_range, }, context_instance=RequestContext(request))
#!/usr/bin/python import sys sys.path.append('/home/vhosts/helomx.com/helomx/') from django.core.management import setup_environ import settings setup_environ(settings) from monitor.views import * from profiles.models import Company from billing.models import Credit from mxhelpers import get_daily_cost if __name__ == "__main__": company_list = Company.objects.filter(active=True) for company_obj in company_list: deduct_count = get_daily_cost(company_obj) credit_obj = Credit.objects.get(company=company_obj) credit_obj.credit_left = credit_obj.credit_left - deduct_count credit_obj.save() if credit_obj < 0: pass # send out an email