Ejemplo n.º 1
0
class MapsFindIp(TemplateView):

    template_name = 'maps/findip.html'


    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='maps', redirect_url='/begin/access-refused'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user



        return super(MapsFindIp, self).dispatch(request, *args, **kwargs)




    def get_context_data(self, **kwargs):
        context = super(MapsFindIp, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz']= self.session['tz']
        else:
            context['tz']= 'UTC'


        return context
Ejemplo n.º 2
0
class DevicesIp(ListView):

    model = devices
    template_name = "inventory/devicesip.html"

    paginate_by = 0



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='inventory',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)




    def get_context_data(self, **kwargs):
        context = super(DevicesIp, self).get_context_data(**kwargs)

        context['tz']= self.session['tz'] if self.session.has_key('tz') else 'UTC'

        return context
Ejemplo n.º 3
0
class EditDevice(UpdateView):

    model = deviceslist
    form_class = EditDeviceForm
    template_name = "electro/editdevice.html"
    success_url = '/electro/deviceslist/1/'

    @method_decorator(login_required(login_url='/'))
    @method_decorator(
        group_required(group='electro', redirect_url='/begin/access-refused/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(EditDevice, self).dispatch(request, *args, **kwargs)

    def get_context_data(self, **kwargs):
        context = super(EditDevice, self).get_context_data(**kwargs)
        context["device"] = self.get_object()

        return context

    def form_valid(self, form):
        form.instance.rowsum = form.instance.price * form.instance.count
        return super(EditDevice, self).form_valid(form)
Ejemplo n.º 4
0
class MapsAccidents(TemplateView):

    template_name = 'maps/accidents.html'


    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='maps', redirect_url='/begin/access-refused'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user



        return super(MapsAccidents, self).dispatch(request, *args, **kwargs)




    def get_context_data(self, **kwargs):
        context = super(MapsAccidents, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz']= self.session['tz']
        else:
            context['tz']= 'UTC'

        city_list = address_city.objects.order_by('name')
        for item in city_list:
            item.geo_ok = item.geo_ok()

        context['accidents'] = accidents.objects.filter(acc_start__gt=start).order_by('-acc_start')
        context['city_list'] = city_list

        return context
Ejemplo n.º 5
0
class Reports(ListView):

    #model = reestr_proj
    template_name = "working/reports.html"

    paginate_by = 100

    @method_decorator(login_required(login_url='/'))
    @method_decorator(
        group_required(group='working', redirect_url='/begin/access-refused/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user

        return super(ListView, self).dispatch(request, *args, **kwargs)

    def get_queryset(self):

        data = working_reports.objects.order_by("-datetime_create")

        return data

    def get_context_data(self, **kwargs):
        context = super(Reports, self).get_context_data(**kwargs)
        context['tz'] = self.session['tz'] if self.session.has_key(
            'tz') else 'UTC'

        return context
Ejemplo n.º 6
0
class GraphHistory(TemplateView):

    template_name = "working/graph.html"

    @method_decorator(login_required(login_url='/'))
    @method_decorator(
        group_required(group='working', redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user

        return super(GraphHistory, self).dispatch(request, *args, **kwargs)

    def get_context_data(self, **kwargs):
        context = super(GraphHistory, self).get_context_data(**kwargs)

        context["events"] = marks.objects.filter(
            visible=True).order_by('order')
        context["users"] = working_log.objects.filter(
            datetime_create__gte=(now() - datetime.timedelta(days=90)
                                  )).order_by("user__first_name").distinct(
                                      "user__first_name", "user__last_name")

        if self.session.has_key('tz'):
            context['tz'] = self.session['tz']
        else:
            context['tz'] = 'UTC'

        return context
Ejemplo n.º 7
0
class NetElement(TemplateView):

    template_name = 'inventory/edit_netelement.html'


    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='inventory',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        self.pk = kwargs.get('pk')

        return super(NetElement, self).dispatch(request, *args, **kwargs)




    def get_context_data(self, **kwargs):
        context = super(NetElement, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz']= self.session['tz']
        else:
            context['tz']= 'UTC'

        context["interface_prop_list"] = logical_interfaces_prop_list.objects.all()

        #context["elem"] = self.session["netelemid"]

        context["elem"] = self.pk

        return context
Ejemplo n.º 8
0
class FootNodeList(ListView):

    model = footnodes
    template_name = "equipment/footnode_list.html"
    paginate_by = 100

    @method_decorator(login_required(login_url='/'))
    @method_decorator(
        group_required(group='devices', redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.session = request.session
        return super(ListView, self).dispatch(request, *args, **kwargs)

    def get_queryset(self):

        return footnodes.objects.all().order_by("ipaddress")

    def get_context_data(self, **kwargs):
        context = super(FootNodeList, self).get_context_data(**kwargs)

        ii = []
        for i in devices_ip.objects.all().distinct('device_domen'):
            ii.append(i.device_domen)

        context['domen'] = ii

        if self.session.has_key('tz'):
            context['tz'] = self.session['tz']
        else:
            context['tz'] = 'UTC'

        return context
Ejemplo n.º 9
0
class QuestionUpdate(TemplateView):

    template_name = 'exams/question_data.html'

    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='exams', redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        request.session['question_id'] = kwargs.get('question')
        request.session['page'] = kwargs.get('page')
        self.request = request
        self.session = request.session
        self.user = request.user


        return super(QuestionUpdate, self).dispatch(request, *args, **kwargs)




    def get_context_data(self, **kwargs):
        context = super(QuestionUpdate, self).get_context_data(**kwargs)

        q = questions.objects.get(pk=self.session['question_id'])

        context['question_id'] = q.id

        form = QuestionForm(instance=q)
        form.fields['section'].widget.attrs['disabled'] = True
        context['form'] = form

        context['page'] = self.session['page']

        return context
Ejemplo n.º 10
0
class QuestionsList(ListView):

    model = questions
    template_name = "exams/questions_list.html"

    paginate_by = 30



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='exams',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        request.session['page'] = kwargs.get('page')
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)





    def get_queryset(self):


        if self.session.has_key('exams-section'):
            section = sections.objects.get(pk=int(self.session["exams-section"], 10))
            data = questions.objects.filter(section=section).order_by('name')
        else:
            data = []

        n = 1
        ### Порядковый номер
        for item in data:
            item.truth = item.answers_set.filter(truth=True).count()
            item.order = n
            n += 1

        return data







    def get_context_data(self, **kwargs):
        context = super(QuestionsList, self).get_context_data(**kwargs)

        context['tz']= self.session['tz'] if self.session.has_key('tz') else 'UTC'
        context['sections'] = sections.objects.order_by('name')
        context['section'] = self.session['exams-section'] if self.session.has_key('exams-section') else "0"
        context['page'] = self.session['page']

        return context
Ejemplo n.º 11
0
class TaskList(ListView):

    model = proj_stages
    template_name = "regions/workertask.html"

    paginate_by = 100



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='project',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)





    def get_queryset(self):

        begin = self.session['begin_date'] if self.session.has_key('begin_date') else datetime.datetime.today() - datetime.timedelta(days=30)
        end = self.session['end_date'] if self.session.has_key('end_date') else datetime.datetime.today() + datetime.timedelta(days=30)

        data = proj_stages.objects.filter( (Q(begin__gte=begin) & Q(end__lte=end)) | (Q(begin__gte=begin) & Q(begin__lte=end)) | (Q(end__gte=begin) & Q(end__lte=end)) ).order_by('-begin')

        data2 = []
        if self.session.has_key('user_id'):
            u = User.objects.get(pk=self.session['user_id'])
            for i in data:
                if u in i.workers.all():
                    data2.append(i)
            return data2
        else:

            return data







    def get_context_data(self, **kwargs):
        context = super(TaskList, self).get_context_data(**kwargs)
        context['tz']= self.session['tz'] if self.session.has_key('tz') else 'UTC'
        context['begin_date'] = self.session['begin_date'] if self.session.has_key('begin_date') else datetime.datetime.today() - datetime.timedelta(days=30)
        context['end_date'] = self.session['end_date'] if self.session.has_key('end_date') else datetime.datetime.today() + datetime.timedelta(days=30)
        context['user_id'] = self.session['user_id'] if self.session.has_key('user_id') else ""
        context['user_list'] = User.objects.order_by('first_name')

        return context
Ejemplo n.º 12
0
class DevicesList(ListView):

    model = deviceslist
    template_name = "electro/deviceslist.html"

    paginate_by = 50

    @method_decorator(login_required(login_url='/'))
    @method_decorator(
        group_required(group='electro', redirect_url='/begin/access-refused/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user

        return super(ListView, self).dispatch(request, *args, **kwargs)

    def get_queryset(self):

        data = deviceslist.objects.order_by('devicetype', 'placement', 'name')

        if self.session.has_key('filter-deviceslist-d'):
            try:
                data = data.filter(devicetype__in=devicestypes.objects.get(
                    pk=int(self.session['filter-deviceslist-d'])).
                                   get_descendants(include_self=True))
            except:
                del self.session['filter-deviceslist-d']

        if self.session.has_key('filter-deviceslist-p'):
            try:
                data = data.filter(placement__in=placements.objects.get(pk=int(
                    self.session['filter-deviceslist-p'])).get_descendants(
                        include_self=True))
            except:
                del self.session['filter-deviceslist-p']

        return data

    def get_context_data(self, **kwargs):
        context = super(DevicesList, self).get_context_data(**kwargs)
        context['tz'] = self.session['tz'] if self.session.has_key(
            'tz') else 'UTC'
        context['filter'] = FilterDevicesForm()
        context['search_d'] = self.session[
            'filter-deviceslist-d'] if self.session.has_key(
                'filter-deviceslist-d') else ""
        context['search_p'] = self.session[
            'filter-deviceslist-p'] if self.session.has_key(
                'filter-deviceslist-p') else ""

        return context
Ejemplo n.º 13
0
class NetElementsList(ListView):

    model = netelems
    template_name = "inventory/netelements_list.html"

    paginate_by = 50



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='inventory',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)





    def get_queryset(self):

        if self.session.has_key("search_netelem") and self.session["search_netelem"] != "":
            data = netelems.objects.filter(name__icontains=self.session["search_netelem"])
        else:
            data = netelems.objects.order_by('name')

        return data







    def get_context_data(self, **kwargs):
        context = super(NetElementsList, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz']= self.session['tz']
        else:
            context['tz']= 'UTC'

        if self.session.has_key("search_netelem") and self.session["search_netelem"] != "":
            context["netelemsearch"] = self.session["search_netelem"]
        else:
            context["netelemsearch"] = ""


        return context
Ejemplo n.º 14
0
class ResultsList(ListView):

    model = tests_results
    template_name = "exams/results_list.html"

    paginate_by = 50



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='exams',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)




    def get_queryset(self):


        if self.session.has_key('exams-section'):
            section = sections.objects.get(pk=int(self.session["exams-section"], 10))
            # Поиск
            if self.session.has_key('search_result'):
                data = tests_results.objects.filter(test__section=section, learning=False, worker__icontains=self.session['search_result']).exclude(end=None).order_by('-end')
            else:
                data = tests_results.objects.filter(test__section=section, learning=False).exclude(end=None).order_by('-end')
        else:
            data = []



        return data



    def get_context_data(self, **kwargs):
        context = super(ResultsList, self).get_context_data(**kwargs)

        context['sections'] = sections.objects.order_by('name')
        context['section'] = self.session['exams-section'] if self.session.has_key('exams-section') else "0"
        context['reportlist'] = self.session['reportlist'] if self.session.has_key('reportlist') else []
        context['form'] = ResultForm()
        context['search_result'] = self.session['search_result'] if self.session.has_key('search_result') else ""

        return context
Ejemplo n.º 15
0
class MessageList(ListView):

    model = events
    template_name = "monitor/message_list.html"

    paginate_by = 50



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='monitor',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)


    def get_queryset(self):

        data = messages.objects.order_by('-datetime_message')


        for row in data:
            if row.send_done:
                m = pickle.loads(row.mail_body)
                row.subject = m.subject
                row.body = m.body

        return data







    def get_context_data(self, **kwargs):
        context = super(MessageList, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz']= self.session['tz']
        else:
            context['tz']= 'UTC'


        return context
Ejemplo n.º 16
0
class Topology(ListView):

    model = agregators
    template_name = "equipment/topology.html"
    paginate_by = 100

    @method_decorator(login_required(login_url='/'))
    @method_decorator(
        group_required(group='devices', redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.session = request.session
        return super(ListView, self).dispatch(request, *args, **kwargs)

    def get_queryset(self):

        return []

    def get_context_data(self, **kwargs):
        context = super(Topology, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz'] = self.session['tz']
        else:
            context['tz'] = 'UTC'

        domen = []
        for i in devices_ip.objects.all().distinct('device_domen'):
            domen.append(i.device_domen)

        context['domen'] = domen

        footnode = []
        for i in footnodes.objects.all():
            footnode.append(i)

        context['footnode'] = footnode

        agregator = []
        for i in agregators.objects.all():
            agregator.append(i)

        context['agregator'] = agregator

        return context
Ejemplo n.º 17
0
class MakeReports(ListView):

    #model = reestr_proj
    template_name = "working/makereports.html"

    paginate_by = 100

    @method_decorator(login_required(login_url='/'))
    @method_decorator(
        group_required(group='working', redirect_url='/begin/access-refused/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)

    def get_queryset(self):

        if self.session.has_key("worker"):
            worker_id = self.session["worker"]
            data = working_time.objects.filter(
                user_id=worker_id).order_by('-datetime_begin')

        else:
            data = working_time.objects.order_by('-datetime_begin')

        return data

    def get_context_data(self, **kwargs):
        context = super(MakeReports, self).get_context_data(**kwargs)
        context['tz'] = self.session['tz'] if self.session.has_key(
            'tz') else 'UTC'
        context['include_report'] = pickle.loads(
            self.session["include_report"]) if self.session.has_key(
                "include_report") else []
        context["users"] = working_log.objects.filter(
            datetime_create__gte=(now() - datetime.timedelta(days=90)
                                  )).order_by("user__first_name").distinct(
                                      "user__first_name", "user__last_name")
        context["worker"] = self.session["worker"] if self.session.has_key(
            "worker") else ""

        return context
Ejemplo n.º 18
0
class DeviceSchemeList(ListView):

    model = devices_scheme
    template_name = "inventory/devicescheme_list.html"

    paginate_by = 50



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='inventory',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)





    def get_queryset(self):

        data = devices_scheme.objects.order_by('name')

        return data







    def get_context_data(self, **kwargs):
        context = super(DeviceSchemeList, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz']= self.session['tz']
        else:
            context['tz']= 'UTC'


        return context
Ejemplo n.º 19
0
class ProjList(ListView):

    model = proj
    template_name = "regions/projlist.html"

    paginate_by = 100



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='project',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)





    def get_queryset(self):

        data = proj.objects.order_by('-datetime_create')

        return data







    def get_context_data(self, **kwargs):
        context = super(ProjList, self).get_context_data(**kwargs)

        context['tz']= self.session['tz'] if self.session.has_key('tz') else 'UTC'
        context['form']= ProjForm()


        return context
Ejemplo n.º 20
0
class Placements(ListView):

    model = placements
    template_name = "electro/placements.html"

    paginate_by = 0

    @method_decorator(login_required(login_url='/'))
    @method_decorator(
        group_required(group='electro', redirect_url='/begin/access-refused/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user

        return super(ListView, self).dispatch(request, *args, **kwargs)

    def get_queryset(self):

        data = []

        return data

    def get_context_data(self, **kwargs):
        context = super(Placements, self).get_context_data(**kwargs)
        context['tz'] = self.session['tz'] if self.session.has_key(
            'tz') else 'UTC'
        if self.session.has_key('filter-placement'):
            context['all_nodes'] = placements.objects.get(
                pk=self.session["filter-placement"]).get_descendants(
                    include_self=True)
        else:
            context['all_nodes'] = placements.objects.all()
        context['form'] = PlacementForm()
        context['filter'] = FilterPlacementForm()
        context['search'] = self.session[
            'filter-placement'] if self.session.has_key(
                'filter-placement') else ""

        return context
Ejemplo n.º 21
0
class Events(ListView):

    #model = reestr_proj
    template_name = "working/events.html"

    paginate_by = 0

    @method_decorator(login_required(login_url='/'))
    @method_decorator(
        group_required(group='working', redirect_url='/begin/access-refused/'))
    def dispatch(self, request, *args, **kwargs):
        request.session['events_id'] = kwargs.get('pk')
        self.request = request
        self.session = request.session
        self.user = request.user

        self.working = working_time.objects.get(
            pk=request.session['events_id'])

        return super(ListView, self).dispatch(request, *args, **kwargs)

    def get_queryset(self):

        data = self.working.working_log_set.order_by("-datetime_create")

        return data

    def get_context_data(self, **kwargs):
        context = super(Events, self).get_context_data(**kwargs)
        context['tz'] = self.session['tz'] if self.session.has_key(
            'tz') else 'UTC'
        context['user'] = self.working.user
        context['worktime'] = self.working.get_work_hour()
        context['relaxtime'] = self.working.get_relax_min()
        context['events'] = self.working.working_log_set.count()

        return context
Ejemplo n.º 22
0
class Device(TemplateView):

    template_name = 'inventory/edit_device.html'


    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='inventory',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        self.dev = kwargs.get('pk')
        #if self.request.GET.has_key("dev"):
        #    self.session["dev"] = self.request.GET["dev"]


        return super(Device, self).dispatch(request, *args, **kwargs)




    def get_context_data(self, **kwargs):
        context = super(Device, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz']= self.session['tz']
        else:
            context['tz']= 'UTC'

        context['status_port_list'] = port_status.objects.all()
        context['status_slot_list'] = slot_status.objects.all()
        context['status_device_list'] = device_status.objects.all()

        context["device"] = self.dev


        return context
Ejemplo n.º 23
0
class Zkl(TemplateView):

    template_name = 'monitor/zkl.html'


    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='monitor',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user

        #if self.request.GET.has_key("dev"):
        #    self.session["dev"] = self.request.GET["dev"]
        request.session["device_zkl_list"] = pickle.dumps([])


        return super(Zkl, self).dispatch(request, *args, **kwargs)




    def get_context_data(self, **kwargs):
        context = super(Zkl, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz']= self.session['tz']
        else:
            context['tz']= 'UTC'

        #context['status_port_list'] = port_status.objects.all()
        #context['status_slot_list'] = slot_status.objects.all()
        #context['status_device_list'] = device_status.objects.all()


        return context
Ejemplo n.º 24
0
class AgregatorsList(ListView):

    model = agregators
    template_name = "equipment/agregators_list.html"
    paginate_by = 100

    @method_decorator(login_required(login_url='/'))
    @method_decorator(
        group_required(group='devices', redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.session = request.session
        return super(ListView, self).dispatch(request, *args, **kwargs)

    def get_queryset(self):

        q = []

        if self.session.has_key("search"):
            if len(self.session['search']) >= 3:
                for search in self.session['search'].split(" "):
                    print search
                    if search != " ":
                        q.append(
                            "(Q(ipaddress__icontains='%s') | Q(name__icontains='%s') | Q(location__icontains='%s') | Q(descr__icontains='%s') | Q(chassisid__icontains='%s') | Q(serial__icontains='%s'))"
                            % (search, search, search, search, search, search))

        if len(q) == 0:
            return agregators.objects.all().order_by('ipaddress')
        else:
            str_q = " & ".join(q)
            str_sql = "agregators.objects.filter(%s).order_by('ipaddress')" % str_q

        return eval(str_sql)

    def get_context_data(self, **kwargs):
        context = super(AgregatorsList, self).get_context_data(**kwargs)

        ii = []
        for i in devices_ip.objects.all().distinct('device_domen'):
            ii.append(i.device_domen)

        context['domen'] = ii

        fn = []
        for node in footnodes.objects.all():
            fn.append({
                'id': node.id,
                'name': "%s %s" % (node.ipaddress, node.location),
                'domen': node.domen
            })
        context['footnodes'] = fn

        if self.session.has_key('tz'):
            context['tz'] = self.session['tz']
        else:
            context['tz'] = 'UTC'

        # search
        if self.session.has_key('search'):
            context['search'] = self.session['search']
        else:
            context['search'] = ""

        return context
Ejemplo n.º 25
0
class AccidentList(ListView):

    model = events
    template_name = "monitor/accident_list.html"

    paginate_by = 50



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='monitor',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)


    def get_queryset(self):


        q = []

        if self.session.has_key("searchaccident"):
            if len(self.session['searchaccident']) >= 3:
                for search in self.session['searchaccident'].split(" "):
                    if search != " ":
                        q.append("(Q(acc_name__icontains='%s') | Q(acc_comment__icontains='%s') | Q(acc_address__icontains='%s') | Q(acc_start__icontains='%s') | Q(acc_end__icontains='%s') | Q(acc_reason__icontains='%s') | Q(acc_repair__icontains='%s'))" % (search,search,search,search,search,search,search))

        if len(q) == 0:
            return accidents.objects.all().order_by("-acc_start")
        else:
            str_q = " & ".join(q)
            str_sql = "accidents.objects.filter(%s).order_by('-acc_start')" % str_q

        return eval(str_sql)







    def get_context_data(self, **kwargs):
        context = super(AccidentList, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz']= self.session['tz']
        else:
            context['tz']= 'UTC'

        # Категории аварий
        context["accident_cats"] = accident_cats.objects.all().distinct('cat')

        # Вид аварии
        context["accident_list"] = accident_list.objects.all()

        if self.session.has_key("searchaccident"):
            context["searchaccident"] = self.session["searchaccident"]
        else:
            context["searchaccident"] = ""


        return context
Ejemplo n.º 26
0
class DevicesAuditPorts(ListView):

    model = devices
    template_name = "inventory/audit_ports.html"

    paginate_by = 0



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='inventory',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)





    def get_queryset(self):


        if self.session.has_key("address_id") and self.session["address_id"] != 'undefined':

            addr = address_house.objects.get(pk=int(self.session["address_id"],10))

            ### Когда определен только город
            if addr.city and addr.street == None and addr.house == None:
                return devices.objects.filter(address__city = addr.city,status=dev_use).order_by('address__street__name')

            ### Когда определен город и улица
            elif addr.city and addr.street and addr.house == None:
                return devices.objects.filter(address__city = addr.city,address__street = addr.street,status=dev_use).order_by('address__house')


            ### Когда определены город, улица, дом
            elif addr.city and addr.street and addr.house:
                return devices.objects.filter(address__city=addr.city, address__street=addr.street, address__house=addr.house,status=dev_use).all()

            else:
                return []


        else:
            return []







    def get_context_data(self, **kwargs):
        context = super(DevicesAuditPorts, self).get_context_data(**kwargs)

        context['tz']= self.session['tz'] if self.session.has_key('tz') else 'UTC'

        context["address_label"] = self.session["address_label"] if self.session.has_key("address_label") else ''



        return context
Ejemplo n.º 27
0
class DevicesList(ListView):

    model = devices
    template_name = "inventory/devices_list.html"

    paginate_by = 50



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='inventory',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)





    def get_queryset(self):

        q = []


        if self.session.has_key("search_device"):
            if len(self.session['search_device']) >= 3:
                for search in self.session['search_device'].split(" "):
                    if search != " ":
                        q.append("Q(device_scheme__name__icontains='%s') | Q(serial__icontains='%s') | Q(address__street__name__icontains='%s') | Q(address__house__icontains='%s')" % (search,search,search,search))

        if len(q) == 0:
            return devices.objects.order_by('address')
        else:
            str_q = " & ".join(q)
            str_sql = "devices.objects.filter(%s).order_by('address')" % str_q

        return eval(str_sql)










    def get_context_data(self, **kwargs):
        context = super(DevicesList, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz']= self.session['tz']
        else:
            context['tz']= 'UTC'

        # Справочник схем
        context['scheme'] = devices_scheme.objects.order_by('name')
        # Справочник компаний
        context['company'] = address_companies.objects.order_by('name')


        # search
        if self.session.has_key('search_device'):
            context['search_device'] = self.session['search_device']
        else:
            context['search_device'] = ""


        return context
Ejemplo n.º 28
0
class EventList(ListView):

    model = events
    template_name = "monitor/event_list.html"

    paginate_by = 0



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='monitor',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.request = request
        self.session = request.session
        self.user = request.user
        return super(ListView, self).dispatch(request, *args, **kwargs)


    def my_fields_order(self):

        # Чередование полей
        pk_user = self.user.pk
        u = User.objects.get(pk=pk_user)
        if Profile.objects.filter(user=u).count() == 1:
            p = Profile.objects.get(user=u)
            data = p.settings
            if data.has_key("monitor-settings"):
                if data["monitor-settings"].has_key("head_order"):
                    return data["monitor-settings"]["head_order"]
                else:
                    return head_order
            else:
                return head_order
        else:
            return head_order



    ### Через сколько обновлять таблицу
    def my_refresh_table(self):

        pk_user = self.user.pk
        u = User.objects.get(pk=pk_user)
        if Profile.objects.filter(user=u).count() == 1:
            p = Profile.objects.get(user=u)
            data = p.settings
            if data.has_key("monitor-settings"):
                if data["monitor-settings"].has_key("refresh_data"):
                    return data["monitor-settings"]["refresh_data"]
                else:
                    return 0
            else:
                return 0
        else:
            return 0

    #### Сколько событий на странице
    def my_row_page_table(self):

        pk_user = self.user.pk
        u = User.objects.get(pk=pk_user)
        if Profile.objects.filter(user=u).count() == 1:
            p = Profile.objects.get(user=u)
            data = p.settings
            if data.has_key("monitor-settings"):
                if data["monitor-settings"].has_key("row_page_data"):
                    return data["monitor-settings"]["row_page_data"]
                else:
                    return 50
            else:
                return 50
        else:
            return 50


    def get_queryset(self):

        q = []

        # Показывать архивные
        if self.session.has_key("filterhistory"):
            q.append("Q(finished_date__isnull=False)")

        # Показывать события с заведенными авариями
        if self.session.has_key("filteraccident"):
            q.append("Q(accident=%s)" % True)

        # Показывать группировки
        if self.session.has_key("filtergroup"):
            q.append("Q(agregator=%s)" % True)

        # Фильтр по статусам
        if self.session.has_key("status_id") and self.session.has_key("filterhistory") == False and self.session.has_key("filteraccident") == False and self.session.has_key("filtergroup") == False:
            if pickle.loads(self.session["status_id"]) != []:
                qs = []
                for s in pickle.loads(self.session["status_id"]):
                    qs.append("Q(status_id=Status.objects.get(pk=%s))" % s)
                q.append("("+" | ".join(qs)+")")

        # Фильтр по важности
        if self.session.has_key("severity_id") and self.session.has_key("filterhistory") == False and self.session.has_key("filteraccident") == False and self.session.has_key("filtergroup") == False:
            if pickle.loads(self.session["severity_id"]) != []:
                qv = []
                for v in pickle.loads(self.session["severity_id"]):
                    qv.append("Q(severity_id=Severity.objects.get(pk=%s))" % v)
                q.append("("+" | ".join(qv)+")")

        # Фильтр по источникам
        if self.session.has_key("source"):
            if pickle.loads(self.session["source"]) != []:
                qm = []
                for m in pickle.loads(self.session["source"]):
                    qm.append("Q(source='%s')" % m)
                q.append("("+" | ".join(qm)+")")

        # Поиск
        if self.session.has_key("search"):
            if len(self.session['search']) >= 3:
                for search in self.session['search'].split(" "):
                    if search != " ":
                        q.append("(Q(device_net_address__icontains='%s') | Q(device_system__icontains='%s') | Q(device_group__icontains='%s') | Q(device_class__icontains='%s') | Q(device_location__icontains='%s') | Q(event_class__icontains='%s') | Q(source__icontains='%s'))" % (search,search,search,search,search,search,search))


        if self.session.has_key("first_seen"):
            if self.session["first_seen"] != "":
                try:
                    q.append("Q(first_seen__gte='%s')" % datetime.datetime.strptime(self.session["first_seen"],"%d.%m.%Y").replace(tzinfo=timezone('UTC')))
                except:
                    pass

        if self.session.has_key("last_seen"):
            if self.session["last_seen"] != "":
                try:
                    q.append("Q(last_seen__lte='%s')" % datetime.datetime.strptime(self.session["last_seen"],"%d.%m.%Y").replace(tzinfo=timezone('UTC')))
                except:
                    pass

        if len(q) == 0:
            data = events.objects.filter(agregation=False).order_by('-first_seen').select_related()[:1000]
        else:
            str_q = " & ".join(q)
            str_sql = "events.objects.filter(%s).filter(agregation=False).order_by('-first_seen').select_related()" % str_q

            data = (eval(str_sql))[:1000]


        #for i in data:
        #    i.field1 = eval(("i.%s") % (self.my_fields_order()[0]["name"]))


        return data






    ### Строк на странице - переопределение
    def get_paginate_by(self, queryset):

        p = self.my_row_page_table()

        return self.request.GET.get('paginate_by', p)







    def get_context_data(self, **kwargs):
        context = super(EventList, self).get_context_data(**kwargs)

        # Статус
        if self.session.has_key('status_id'):
            status = pickle.loads(self.session['status_id'])
        else:
            status = [1,2,3]
            self.session['status_id'] = pickle.dumps(status)


        # Список статусов
        status_list = []
        for row in Status.objects.all().order_by("id"):
            status_list.append("<option value='%s'>%s</option>" % (row.id, row.name))

        context['status'] = status_list
        context['selected_status'] = status



        # Важность
        if self.session.has_key('severity_id'):
            severity = pickle.loads(self.session['severity_id'])
        else:
            severity = [5,]
            self.session['severity_id'] = pickle.dumps(severity)

        # Список важности
        severity_list = []
        for row in Severity.objects.all().order_by("id"):
            severity_list.append("<option value='%s'>%s</option>" % (row.id,row.name))

        context['severity'] = severity_list
        context['selected_severity'] = severity


        # last_seen
        if self.session.has_key('last_seen'):
            context['last_seen'] = self.session['last_seen']
        else:
            context['last_seen'] = ""


        # first_seen
        if self.session.has_key('first_seen'):
            context['first_seen'] = self.session['first_seen']
        else:
            context['first_seen'] = ""


        # search
        if self.session.has_key('search'):
            context['search'] = self.session['search']
        else:
            context['search'] = ""


        # Source
        if self.session.has_key('source'):
            sources = pickle.loads(self.session['source'])
        else:
            sources = []

        # Список источников
        source_list = []
        for row in sources_dict:
            source_list.append("<option value='%s'>%s</option>" % (row['id'],row['name']))

        context['source'] = source_list
        context['selected_source'] = sources

        context['members'] = 0
        if self.session.has_key('containergroup'):

            g = events.objects.get(pk=self.session['containergroup'])
            data = g.data
            if data.has_key('containergroup'):
                context['members'] = len(data['containergroup'])
            context['containergroup'] = events.objects.get(pk=self.session['containergroup'])
        else:
            context['containergroup'] = False



        if self.session.has_key('tz'):
            context['tz']= self.session['tz']
        else:
            context['tz']= 'UTC'



        if self.session.has_key('filtergroup'):
            context["filtergroup"] = True
        else:
            context["filtergroup"] = False



        if self.session.has_key('filteraccident'):
            context["filteraccident"] = True
        else:
            context["filteraccident"] = False


        if self.session.has_key('filterhistory'):
            context["filterhistory"] = True
        else:
            context["filterhistory"] = False



        # Чередование полей
        context['head_order'] = self.my_fields_order()


        # Категории аварий
        context["accident_cats"] = accident_cats.objects.all().distinct('cat')


        # Вид аварии
        context["accident_list"] = accident_list.objects.all()


        ## Шаблоны сообщений
        context["email_templates"] = email_templates.objects.all()



        # Значение через сколько обновлять таблицу
        context["refresh_table"] = "%s" % self.my_refresh_table()


        # Сколько событий на странице
        context["row_page_table"] = "%s" % self.my_row_page_table()



        return context
Ejemplo n.º 29
0
class EquipmentList(ListView):

    model = devices_ip
    template_name = "equipment/devices_list.html"
    paginate_by = 100

    @method_decorator(login_required(login_url='/'))
    @method_decorator(
        group_required(group='devices', redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        self.session = request.session
        return super(ListView, self).dispatch(request, *args, **kwargs)

    def get_queryset(self):

        q = []
        if self.session.has_key("notaccess"):
            q.append("Q(access=%s)" % False)

        if self.session.has_key("norewrite"):
            q.append("Q(no_rewrite=%s)" % True)

        if self.session.has_key("search"):
            if len(self.session['search']) >= 3:
                for search in self.session['search'].split(" "):
                    print search
                    if search != " ":
                        q.append(
                            "(Q(ipaddress__icontains='%s') | Q(device_name__icontains='%s') | Q(device_location__icontains='%s') | Q(device_descr__icontains='%s') | Q(device_location__icontains='%s') | Q(chassisid__icontains='%s') | Q(device_serial__icontains='%s'))"
                            % (search, search, search, search, search, search,
                               search))

        if len(q) == 0:
            return devices_ip.objects.all().order_by('ipaddress')
        else:
            str_q = " & ".join(q)
            str_sql = "devices_ip.objects.filter(%s).order_by('ipaddress')" % str_q

        return eval(str_sql)

    def get_context_data(self, **kwargs):
        context = super(EquipmentList, self).get_context_data(**kwargs)

        if self.session.has_key('tz'):
            context['tz'] = self.session['tz']
        else:
            context['tz'] = 'UTC'

        if self.session.has_key('notaccess'):
            context["notaccess"] = True
        else:
            context["notaccess"] = False

        if self.session.has_key('norewrite'):
            context["norewrite"] = True
        else:
            context["norewrite"] = False

        # search
        if self.session.has_key('search'):
            context['search'] = self.session['search']
        else:
            context['search'] = ""

        return context
Ejemplo n.º 30
0
class ProjStagesList(ListView):

    model = proj_stages
    template_name = "regions/projstageslist.html"

    paginate_by = 0



    @method_decorator(login_required(login_url='/'))
    @method_decorator(group_required(group='project',redirect_url='/mainmenu/'))
    def dispatch(self, request, *args, **kwargs):
        request.session["proj_id"] = kwargs.get('project')
        self.request = request
        self.session = request.session
        self.user = request.user
        self.proj = proj.objects.get(pk=int(self.session["proj_id"], 10))
        self.actions = []
        return super(ListView, self).dispatch(request, *args, **kwargs)





    def get_queryset(self):

        data = proj_stages.objects.filter(proj=self.proj)

        ### Вычисление пунктов исполнения
        rows = self.proj.make_dict()
        G = self.proj.make_graph(rows)
        G = self.proj.graph_edge_order(G, rows)
        self.actions = self.proj.actions(G)

        for item in data:
            item.order = ".".join(["%s" % x for x in item.stage_order])
            item.depend = ".".join(["%s" % x for x in item.depend_on["stages"]])
            item.action = True if item.id in self.actions else False


        return data







    def get_context_data(self, **kwargs):
        context = super(ProjStagesList, self).get_context_data(**kwargs)

        context['tz']= self.session['tz'] if self.session.has_key('tz') else 'UTC'
        context['form']= ProjForm2(instance=self.proj)
        context['user_list']= User.objects.order_by('first_name')
        context['stageform']= StageForm()
        context['project']= self.session["proj_id"]

        ### Вычисление пунктов исполнения
        context['actions'] = self.actions



        return context