<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;"># Python imports
from datetime import datetime
import cgi
from itertools import chain

# Django imports
from django.shortcuts import render_to_response, render, redirect
from django.http import HttpResponse
from django.core.urlresolvers import reverse

# LeakLess Monitor imports
from Applications.Measure.models import LldevicePdlagAlarm
from Applications.Users.views import user_get_language, user_get_information
from Applications.Notifications.views import notification_return_list
from Applications.Base.views import *
from Applications.Devices.views import *

def alarm_return_device_alarms(request):
    if request.user.is_authenticated():
        device_id           = request.GET.get('device_id')
        device              = devices_return_by_id(device_id)
        device_identifier   = device.rem_identifier

        start_date  = datetime.strptime(request.GET.get('startDateInput'), "%Y-%m-%d %H:%M:%S")
        end_date    = datetime.strptime(request.GET.get('endDateInput'), "%Y-%m-%d %H:%M:%S")

        if device.loc_type == 'PDL-AG':
            alarm_list=LldevicePdlagAlarm.objects.filter(timestamp__gte=start_date,timestamp__lte=end_date,lldevicelist=device)
        elif device.loc_type == 'PDL-HG':
            alarm_list=LldevicePdlhgAlarm.objects.filter(timestamp__gte=start_date,timestamp__lte=end_date,lldevicelist=device)
        else:
            alarm_list=[]

        return render_to_response('alarms/alarm_maps.html', {'alarm_list' : alarm_list,
                                                             'device_id'  : device_id,
                                                             'device_identifier' : device_identifier
                                                             }, RequestContext(request, processors=[general_context]))
    else:
        return redirect(reverse('login_page'))



def alarm_confirm(request):
    if request.user.is_authenticated():
        if request.method=="POST":
            return_data =json.loads(request.body)
            device_type = return_data['device_type']
            alarm_id = return_data['alarm_id']

            if device_type == 'PDL-AG':
                try:
                    LldevicePdlagAlarm.objects.filter(idlldevice_pdlag_alarm=alarm_id).update(checked=1)
                    return HttpResponse("Ok")
                except Exception as e:
                    return HttpResponse("Error")

            elif device_type == 'PDL-HG':
                try:
                    LldevicePdlhgAlarm.objects.filter(idlldevice_pdlhg_alarm=alarm_id).update(checked=1)
                    return HttpResponse("Ok")
                except Exception as e:
                    return HttpResponse("Error")
            else:
                return HttpResponse("Error")

    else:
        return redirect(reverse('login_page'))


def alarm_return_alarm_notifications(request):
    if request.user.is_authenticated():
        if request.method=="GET":
            permfield = []
            permissions = request.user.get_all_permissions()
            for perm in permissions:
                permfield.append(perm.split(".")[1])

            alarm_list_pdlag = LldevicePdlagAlarm.objects.filter(lldevicelist__in=permfield, checked=0).order_by('-timestamp')
            alarm_list_pdlhg = LldevicePdlhgAlarm.objects.filter(lldevicelist__in=permfield, checked=0).order_by('-timestamp')

            alarm_list = list(chain(alarm_list_pdlag, alarm_list_pdlhg))

            return render_to_response('base/alarm_dropdown.html', {'alarms' : alarm_list}, RequestContext(request, processors=[general_context]))
    else:
        return redirect(reverse('login_page'))


def alarm_return_alarm_table(request):
    if request.user.is_authenticated():
        permfield=[]
        permissions=request.user.get_all_permissions()
        for perm in permissions:
            permfield.append(perm.split(".")[1])

        alarm_list_pdlag=LldevicePdlagAlarm.objects.filter(lldevicelist__in=permfield).order_by('-timestamp')
        alarm_list_pdlhg=LldevicePdlhgAlarm.objects.filter(lldevicelist__in=permfield).order_by('-timestamp')

        alarm_list = list(chain(alarm_list_pdlag, alarm_list_pdlhg))

        return render_to_response('alarms/alarms.html', {  'alarms'            : alarm_list}
                                                            , RequestContext(request, processors=[general_context]))
    else:
        return redirect(reverse('login_page'))


</pre></body></html>