def __init__(self): self.__notification_entity = Notification_Entity() self.__option_entity = Option_Entity() self.__helpers = Helpers() self.__humanize = Humanize() self.__logger = self.__helpers.get_logger(__name__) option = self.__option_entity.get_one_by_key("app_name") self.__app_name = option.value if option is not False else ""
def __init__(self): self.__option_entity = Option_Entity() self.__user_entity = User_Entity() self.__host_entity = Host_Entity() self.__task_entity = Task_Entity() self.__profile_entity = Profile_Entity() self.__helpers = Helpers() self.__logger = self.__helpers.get_logger(__name__) self.__app_name = self.__option_entity.get_value_by_key("app_name").lower()
def test_insert_one(self): option_entity = Option_Entity() option = option_entity.insert_one({ "key": "key1", "value": "value1", "autoload": True }) self.assertTrue(option) self.assertTrue(option.id > 1)
def test_delete_one_by_key(self): option_entity = Option_Entity() option = option_entity.insert_one({ "key": "key11", "value": "value11", "autoload": True }) self.assertTrue(option_entity.delete_one_by_key("key11"), 1) self.assertFalse(option_entity.delete_one_by_key("key12"))
def test_delete_one_by_id(self): option_entity = Option_Entity() option = option_entity.insert_one({ "key": "key10", "value": "value10", "autoload": True }) self.assertTrue(option_entity.delete_one_by_id(option.id)) self.assertFalse(option_entity.delete_one_by_id(600))
def test_update_value_by_id(self): option_entity = Option_Entity() option = option_entity.insert_one({ "key": "key8", "value": "value8", "autoload": True }) self.assertTrue( option_entity.update_value_by_id(option.id, "new_value8")) self.assertFalse(option_entity.update_value_by_id(700, "new_value8"))
def test_update_value_by_key(self): option_entity = Option_Entity() option = option_entity.insert_one({ "key": "key9", "value": "value9", "autoload": True }) self.assertTrue(option_entity.update_value_by_key( "key9", "new_value9")) self.assertFalse( option_entity.update_value_by_key("not_found_key", "new_value9"))
def get(self, request): self.__context = Context() self.__install = Install_Module() self.__option_entity = Option_Entity() if self.__install.is_installed(): return redirect("app.web.login") self.__context.push({ "page_title": _("Installation · %s") % self.__option_entity.get_value_by_key( "app_name", os.getenv("APP_NAME", "Kraven")) }) return render(request, self.template_name, self.__context.get())
class Reset_Password(View): template_name = 'templates/reset_password.html' __reset_password_core = Reset_Password_Module() __context = Context() __option_entity = Option_Entity() @redirect_if_not_installed @redirect_if_authenticated def get(self, request, token): self.__context.autoload_options() self.__context.push({ "page_title": _("Reset Password · %s") % self.__context.get("app_name", os.getenv("APP_NAME", "Kevin")), "reset_token": token }) if not self.__reset_password_core.check_token(token): messages.error( request, _("Reset token is expired or invalid, Please request another token!" )) return redirect("app.web.forgot_password") return render(request, self.template_name, self.__context.get())
def __init__(self): self.__acl = ACL() self.__option_entity = Option_Entity() self.__user_entity = User_Entity() self.__helpers = Helpers() self.__notification_entity = Notification_Entity() self.__logger = self.__helpers.get_logger(__name__)
def __init__(self): self.__option_entity = Option_Entity() self.__user_entity = User_Entity() self.__helpers = Helpers() self.__token = Token() self.__profile_entity = Profile_Entity() self.__logger = self.__helpers.get_logger(__name__)
def __init__(self): self.__reset_request_entity = Reset_Request_Entity() self.__option_entity = Option_Entity() self.__helpers = Helpers() self.__user_entity = User_Entity() self.__job_entity = Job_Entity() messages_count_option = self.__option_entity.get_one_by_key( "reset_mails_messages_count") reset_expire_option = self.__option_entity.get_one_by_key( "reset_mails_expire_after") if messages_count_option != False: self.__messages_count_option = int(messages_count_option.value) if reset_expire_option != False: self.__reset_expire_option = int(reset_expire_option.value)
def __init__(self): self.__option_entity = Option_Entity() self.__user_entity = User_Entity() self.__helpers = Helpers() self.__data["AUTHOR"] = AUTHOR self.__data["COPYRIGHT"] = COPYRIGHT self.__data["LICENSE"] = LICENSE self.__data["VERSION"] = VERSION self.__data["MAINTAINER"] = MAINTAINER self.__data["EMAIL"] = EMAIL self.__data["STATUS"] = STATUS self.__data["REPO_URL"] = REPO_URL self.__data["AUTHOR_URL"] = AUTHOR_URL self.__data["RELEASES"] = RELEASES self.__data["SUPPORT_URL"] = SUPPORT_URL self.__logger = self.__helpers.get_logger(__name__)
def test_insert_many(self): option_entity = Option_Entity() self.assertTrue( option_entity.insert_many([{ "key": "key2", "value": "value2", "autoload": False }, { "key": "key3", "value": "value3" }, { "key": "key4", "value": "value4", "autoload": True }, { "key": "key5", "value": "value5", "autoload": True }]))
def wrap(controller, request, *args, **kwargs): if kwargs["type"] == "prometheus": prometheus_token = Option_Entity().get_one_by_key( "prometheus_token") if prometheus_token.value != "" and ( "HTTP_AUTHORIZATION" not in request.META or prometheus_token.value != request.META["HTTP_AUTHORIZATION"]): raise Http404("Host not found.") return function(controller, request, *args, **kwargs)
def get(self, request): self.__context = Context() self.__option_entity = Option_Entity() self.__context.autoload_options() self.__context.push({ "page_title": _("Forgot Password · %s") % self.__context.get("app_name", os.getenv("APP_NAME", "Kraven")) }) return render(request, self.template_name, self.__context.get())
def get(self, request): self.__context = Context() self.__option_entity = Option_Entity() self.__context.autoload_options() self.__context.push({ "page_title": self.__context.get("app_name", os.getenv("APP_NAME", "Kraven")), "is_authenticated": request.user and request.user.is_authenticated }) return render(request, self.template_name, self.__context.get())
def test_get_many_by_autoload(self): option_entity = Option_Entity() self.assertTrue( option_entity.insert_many([{ "key": "key2", "value": "value2", "autoload": False }, { "key": "key3", "value": "value3" }, { "key": "key4", "value": "value4", "autoload": True }, { "key": "key5", "value": "value5", "autoload": True }])) self.assertEqual(option_entity.get_many_by_autoload(True).count(), 2) self.assertEqual(option_entity.get_many_by_autoload(False).count(), 2)
class Metric(): __option_entity = None __user_entity = None __host_entity = None __task_entity = None __profile_entity = None __helpers = None __logger = None __app_name = "" def __init__(self): self.__option_entity = Option_Entity() self.__user_entity = User_Entity() self.__host_entity = Host_Entity() self.__task_entity = Task_Entity() self.__profile_entity = Profile_Entity() self.__helpers = Helpers() self.__logger = self.__helpers.get_logger(__name__) self.__app_name = self.__option_entity.get_value_by_key("app_name").lower() def get_all_users(self): return { "type": "count", "record": "%s_all_users" % self.__app_name, "count": self.__user_entity.count_all_users(), "comment": "Current All Users on System" } def get_all_profiles(self): return { "type": "count", "record": "%s_all_profiles" % self.__app_name, "count": self.__profile_entity.count_all_profiles(), "comment": "Current All Profiles on System" } def get_all_tasks(self): return { "type": "count", "record": "%s_all_tasks" % self.__app_name, "count": self.__task_entity.count_all_tasks(), "comment": "Current All Tasks on System" } def get_all_hosts(self): return { "type": "count", "record": "%s_all_hosts" % self.__app_name, "count": self.__host_entity.count_all_hosts(), "comment": "Current All Hosts on System" }
def wrap(controller, request, *args, **kwargs): installed = False if Option_Entity().get_one_by_key( "app_installed") is False else True if installed: response = Response() return JsonResponse( response.send_private_failure([{ "type": "error", "message": _("Error! Application is already installed.") }])) return function(controller, request, *args, **kwargs)
def test_get_one_by_key(self): option_entity = Option_Entity() option = option_entity.insert_one({ "key": "key7", "value": "value7", "autoload": True }) self.assertEqual(option_entity.get_one_by_key("key7"), option) self.assertEqual(option_entity.get_one_by_key("key7").key, "key7") self.assertFalse(option_entity.get_one_by_key("not_found_key"))
class Settings(): __option_entity = None __helpers = None __logger = None def __init__(self): self.__option_entity = Option_Entity() self.__helpers = Helpers() self.__logger = self.__helpers.get_logger(__name__) def update_options(self, options): status = True for key, value in options.items(): status &= self.__option_entity.update_value_by_key(key, value) return status
def test_get_one_by_id(self): option_entity = Option_Entity() option = option_entity.insert_one({ "key": "key6", "value": "value6", "autoload": True }) self.assertEqual(option_entity.get_one_by_id(option.id), option) self.assertEqual(option_entity.get_one_by_id(option.id).key, "key6") self.assertFalse(option_entity.get_one_by_id(1000))
class Forgot_Password(View): template_name = 'templates/forgot_password.html' __context = Context() __option_entity = Option_Entity() @redirect_if_not_installed @redirect_if_authenticated def get(self, request): self.__context.autoload_options() self.__context.push({ "page_title": _("Forgot Password · %s") % self.__context.get("app_name", os.getenv("APP_NAME", "Kevin")) }) return render(request, self.template_name, self.__context.get())
class Base(): __option_entity = Option_Entity() __helpers = Helpers() __logger = None __arguments = {"app_name": "", "app_email": "", "app_url": ""} def __init__(self, arguments): self.__logger = self.__helpers.get_logger(__name__) self.__arguments.update(arguments) self.__load_options() def __load_options(self): options = self.__option_entity.get_many_by_keys( ["app_name", "app_email", "app_url"]) for option in options: if option.key in self.__arguments.keys(): self.__arguments[option.key] = option.value
def get(self, request): self.__context = Context() self.__option_entity = Option_Entity() self.__context.autoload_options() self.__context.push({ "page_title": _("Login · %s") % self.__context.get("app_name", os.getenv("APP_NAME", "Kraven")) }) if "redirect" in request.GET: self.__context.push({"redirect_url": request.GET["redirect"]}) else: self.__context.push( {"redirect_url": reverse("app.web.admin.dashboard")}) return render(request, self.template_name, self.__context.get())
class Forgot_Password(): __reset_request_entity = None __option_entity = None __user_entity = None __job_entity = None __helpers = None __reset_expire_option = 24 __messages_count_option = 5 def __init__(self): self.__reset_request_entity = Reset_Request_Entity() self.__option_entity = Option_Entity() self.__helpers = Helpers() self.__user_entity = User_Entity() self.__job_entity = Job_Entity() messages_count_option = self.__option_entity.get_one_by_key( "reset_mails_messages_count") reset_expire_option = self.__option_entity.get_one_by_key( "reset_mails_expire_after") if messages_count_option != False: self.__messages_count_option = int(messages_count_option.value) if reset_expire_option != False: self.__reset_expire_option = int(reset_expire_option.value) def check_email(self, email): return True if self.__user_entity.get_one_by_email( email) != False else False def reset_request_exists(self, email): return self.__reset_request_entity.get_one_by_email(email) def is_spam(self, request): if request.messages_count >= self.__messages_count_option and timezone.now( ) < request.expire_at: return True return False def update_request(self, request): # Delete Old Request self.__reset_request_entity.delete_one_by_id(request.id) # Create a Fresh Request if timezone.now() > request.expire_at: return self.create_request(request.email) # Create from the Old Request request = self.__reset_request_entity.insert_one({ "email": request.email, "expire_at": request.expire_at, "messages_count": request.messages_count + 1 }) return request.token if request != False else False def create_request(self, email): request = self.__reset_request_entity.insert_one({ "email": email, "expire_after": self.__reset_expire_option, "messages_count": 0 }) return request.token if request != False else False def send_message(self, email, token): return self.__job_entity.insert_one({ "name": "reset_password_msg_for_%s" % (email), "executor": "forgot_password_email.Forgot_Password_Email", "parameters": { "recipient_list": [email], "token": token }, "interval": { "type": Job_Entity.ONCE } })
def wrap(controller, request, *args, **kwargs): installed = False if Option_Entity().get_one_by_key( "app_installed") is False else True if not installed: return redirect("app.web.install") return function(controller, request, *args, **kwargs)
class Install(): __options = [ {"key": "app_installed", "value": "true", "autoload": True}, {"key": "app_description", "value": "", "autoload": False}, {"key": "google_analytics_account", "value": "", "autoload": True}, {"key": "reset_mails_messages_count", "value": "5", "autoload": False}, {"key": "reset_mails_expire_after", "value": "24", "autoload": False}, {"key": "access_tokens_expire_after", "value": "48", "autoload": False}, {"key": "prometheus_token", "value": "", "autoload": False} ] __admin = { "username": "", "email": "", "password": "", "is_superuser": True, "is_active": True, "is_staff": False } __option_entity = None __user_entity = None __helpers = None __logger = None __acl = None def __init__(self): self.__option_entity = Option_Entity() self.__user_entity = User_Entity() self.__helpers = Helpers() self.__acl = ACL() self.__logger = self.__helpers.get_logger(__name__) def is_installed(self): return False if self.__option_entity.get_one_by_key("app_installed") is False else True def set_app_data(self, name, email, url): self.__options.append({"key": "app_name", "value": name, "autoload": True}) self.__options.append({"key": "app_email", "value": email, "autoload": True}) self.__options.append({"key": "app_url", "value": url, "autoload": True}) def set_admin_data(self, username, email, password): self.__admin["username"] = username self.__admin["email"] = email self.__admin["password"] = password def init_base_acl(self, user_id): self.__acl.truncate_default_permissions() self.__acl.new_role("super_admin") self.__acl.new_role("normal_user") self.__acl.new_permission("Manage Settings", self.__acl.get_content_type_id("auth", "user"), "manage_settings") self.__acl.add_permission_to_role("super_admin", "manage_settings") self.__acl.add_role_to_user("super_admin", user_id) return True def install(self): try: execute_from_command_line(["manage.py", "migrate"]) except Exception as e: self.__logger.error("Error While Running Migrations: %s" % e) return False status = True status &= self.__option_entity.insert_many(self.__options) user = self.__user_entity.insert_one(self.__admin) status &= (user is not False) if user is not False: status &= self.init_base_acl(user.id) return status
class Forgot_Password(): __reset_request_entity = None __option_entity = None __user_entity = None __task_core = None __helpers = None __reset_expire_option = 24 __messages_count_option = 5 def __init__(self): self.__reset_request_entity = Reset_Request_Entity() self.__option_entity = Option_Entity() self.__helpers = Helpers() self.__user_entity = User_Entity() self.__task_core = Task_Core() messages_count_option = self.__option_entity.get_one_by_key( "reset_mails_messages_count") reset_expire_option = self.__option_entity.get_one_by_key( "reset_mails_expire_after") if messages_count_option: self.__messages_count_option = int(messages_count_option.value) if reset_expire_option: self.__reset_expire_option = int(reset_expire_option.value) def check_email(self, email): return True if self.__user_entity.get_one_by_email( email) is not False else False def reset_request_exists(self, email): return self.__reset_request_entity.get_one_by_email(email) def is_spam(self, request): if request.messages_count >= self.__messages_count_option and timezone.now( ) < request.expire_at: return True return False def update_request(self, request): # Delete Old Request self.__reset_request_entity.delete_one_by_id(request.id) # Create a Fresh Request if timezone.now() > request.expire_at: return self.create_request(request.email) # Create from the Old Request request = self.__reset_request_entity.insert_one({ "email": request.email, "expire_at": request.expire_at, "messages_count": request.messages_count + 1 }) return request.token if request is not False else False def create_request(self, email): request = self.__reset_request_entity.insert_one({ "email": email, "expire_after": self.__reset_expire_option, "messages_count": 0 }) return request.token if request is not False else False def send_message(self, email, token): app_name = self.__option_entity.get_value_by_key("app_name") app_email = self.__option_entity.get_value_by_key("app_email") app_url = self.__option_entity.get_value_by_key("app_url") user = self.__user_entity.get_one_by_email(email) return self.__task_core.delay( "forgot_password_email", { "app_name": app_name, "app_email": app_email, "app_url": app_url, "recipient_list": [email], "token": token, "subject": _("%s Password Reset") % (app_name), "template": "mails/reset_password.html", "fail_silently": False }, user.id)