Exemple #1
0
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())
Exemple #2
0
 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__)
Exemple #3
0
 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__)
Exemple #4
0
 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 ""
Exemple #5
0
 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"))
Exemple #6
0
 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))
Exemple #7
0
 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()
Exemple #8
0
 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)
Exemple #9
0
 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)
Exemple #10
0
 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"))
Exemple #11
0
 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"))
Exemple #12
0
    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))
Exemple #13
0
    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())
Exemple #14
0
 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"))
Exemple #15
0
    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())
Exemple #16
0
 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)
Exemple #17
0
class Settings():

    __option_entity = Option_Entity()
    __helpers = Helpers()
    __logger = None


    def __init__(self):
        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
Exemple #18
0
    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())
Exemple #19
0
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())
Exemple #20
0
    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)
Exemple #21
0
    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__)
Exemple #22
0
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
Exemple #23
0
 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
         }]))
Exemple #24
0
    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())
Exemple #25
0
 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)
Exemple #26
0
class Profile():

    __option_entity = Option_Entity()
    __user_entity = User_Entity()
    __helpers = Helpers()
    __logger = None
    __token = Token()
    __profile_entity = Profile_Entity()

    def __init__(self):
        self.__logger = self.__helpers.get_logger(__name__)

    def get_profile(self, user_id):

        profile_data = {
            "first_name": "",
            "last_name": "",
            "username": "",
            "email": "",
            "job_title": "",
            "company": "",
            "address": "",
            "github_url": "",
            "twitter_url": "",
            "facebook_url": "",
            "access_token": "",
            "refresh_token": "",
            "avatar": ""
        }

        user = self.__user_entity.get_one_by_id(user_id)
        profile = self.__profile_entity.get_profile_by_user_id(user_id)

        if user != False:
            profile_data["first_name"] = user.first_name
            profile_data["last_name"] = user.last_name
            profile_data["username"] = user.username
            profile_data["email"] = user.email
            profile_data["avatar"] = Gravatar(user.email).get_image()

        if profile != False:
            profile_data["job_title"] = profile.job_title
            profile_data["company"] = profile.company
            profile_data["address"] = profile.address
            profile_data["github_url"] = profile.github_url
            profile_data["twitter_url"] = profile.twitter_url
            profile_data["facebook_url"] = profile.facebook_url
            profile_data["access_token"] = profile.access_token
            profile_data["refresh_token"] = profile.refresh_token

        return profile_data

    def update_profile(self, user_id, user_data):
        user_data["user"] = user_id
        if self.__profile_entity.profile_exists(user_data["user"]):
            status = self.__profile_entity.update_profile(user_data)
            status &= self.__user_entity.update_one_by_id(
                user_data["user"], user_data)
            return status
        else:
            status = (self.__profile_entity.create_profile(user_data) != False)
            status &= self.__user_entity.update_one_by_id(
                user_data["user"], user_data)
            return status

    def update_access_token(self, user_id):
        token = self.__token.generate_token()
        while self.__profile_entity.token_used(token) != False:
            token = self.__token.generate_token()

        return token if self.__profile_entity.update_access_token(
            user_id, token) else False

    def update_refresh_token(self, user_id):
        token = self.__token.generate_token()
        while self.__profile_entity.token_used(token) != False:
            token = self.__token.generate_token()

        return token if self.__profile_entity.update_refresh_token(
            user_id, token) else False

    def get_profile_by_access_token(self, access_token):
        return self.__profile_entity.get_profile_by_access_token(access_token)

    def change_password(self, user_id, password):
        return self.__user_entity.update_password_by_user_id(user_id, password)

    def restore_session(self, user_id, request):
        return update_session_auth_hash(
            request, self.__user_entity.get_one_by_id(user_id))

    def validate_password(self, user_id, password):
        return self.__user_entity.validate_password_by_user_id(
            user_id, password)

    def update_user(self, user_id, user_data):
        return self.__user_entity.update_one_by_id(self, user_id, user_data)

    def username_used_elsewhere(self, user_id, username):
        user = self.__user_entity.get_one_by_username(username)
        return False if user == False or user.id == user_id else True

    def email_used_elsewhere(self, user_id, email):
        user = self.__user_entity.get_one_by_email(email)
        return False if user == False or user.id == user_id else True
Exemple #27
0
 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)
Exemple #28
0
 def __init__(self):
     self.__option_entity = Option_Entity()
     self.__helpers = Helpers()
     self.__logger = self.__helpers.get_logger(__name__)