diff --git a/abonapp/views.py b/abonapp/views.py index 5b3a6ad..7e431e6 100644 --- a/abonapp/views.py +++ b/abonapp/views.py @@ -1083,6 +1083,8 @@ class EditSibscriberMarkers(UpdateView): # API's +@login_required +@mydefs.only_admins @json_view def abons(request): ablist = [{ @@ -1106,9 +1108,13 @@ def abons(request): return data +@login_required +@mydefs.only_admins @json_view def search_abon(request): word = request.GET.get('s') + if not word: + return None results = models.Abon.objects.filter(fio__icontains=word)[:8] results = [{'id': usr.pk, 'text': "%s: %s" % (usr.username, usr.fio)} for usr in results] return results diff --git a/agent/downloader.py b/agent/downloader.py new file mode 100755 index 0000000..9870c99 --- /dev/null +++ b/agent/downloader.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +from urllib import request +from hashlib import sha256 + +API_AUTH_SECRET = 'Your api hash' +FILE_LINK = 'http://localhost:8000/dev/nagios/hosts/' + +""" + Example script that downloads config + file from web via api hash. +""" + + +def calc_hash(data): + if type(data) is str: + result_data = data.encode('utf-8') + else: + result_data = bytes(data) + return sha256(result_data).hexdigest() + + +if __name__ == '__main__': + sign = calc_hash(API_AUTH_SECRET) + request.urlretrieve("%s?sign=%s" % (FILE_LINK, sign), 'nagios_objects.cfg') +