Exemplo n.º 1
0
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))
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
#!/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