From 920c7fd67a8f4198fe99b0450fc4946439412c73 Mon Sep 17 00:00:00 2001
From: Jan Mach <jan.mach@cesnet.cz>
Date: Mon, 21 Mar 2022 21:33:49 +0100
Subject: [PATCH] It works again - sort of

Refactoring to at least get working home page.

(Redmine issue: #7544)
---
 .gitignore                                    |   2 +-
 MANIFEST.in                                   |   1 -
 conf/mentat-hawat-dev.py.conf                 |  10 +-
 conf/mentat-hawat.py.conf                     |  10 +-
 conf/scripts/sqldb-init.sh                    |   2 +-
 hawat.local.conf                              |  10 +-
 lib/hawat/app.py                              |   3 +-
 lib/hawat/babel.cfg                           |   1 -
 lib/hawat/base.py                             | 248 +++----
 lib/hawat/blueprints/auth/__init__.py         |   2 +-
 .../blueprints/auth/templates/auth/login.html |   4 +-
 .../auth/templates/auth/register.html         |   4 +-
 .../templates/registration/email_admins.txt   |   4 +-
 .../templates/registration/email_managers.txt |   4 +-
 .../templates/registration/email_user.txt     |   4 +-
 lib/hawat/blueprints/auth_api/__init__.py     |   2 +-
 lib/hawat/blueprints/auth_dev/__init__.py     |   2 +-
 .../templates/registration/email_admins.txt   |   4 +-
 .../templates/registration/email_managers.txt |   4 +-
 .../templates/registration/email_user.txt     |   4 +-
 lib/hawat/blueprints/auth_env/__init__.py     |   2 +-
 .../auth_env/registration/email_admins.txt    |   4 +-
 .../auth_env/registration/email_managers.txt  |   4 +-
 .../auth_env/registration/email_user.txt      |   4 +-
 lib/hawat/blueprints/auth_pwd/__init__.py     |   2 +-
 .../templates/registration/email_admins.txt   |   4 +-
 .../templates/registration/email_managers.txt |   4 +-
 .../templates/registration/email_user.txt     |   4 +-
 lib/hawat/blueprints/changelogs/__init__.py   |   2 +-
 .../templates/changelogs/search.html          |   2 +-
 .../changelogs/templates/changelogs/show.html |   2 +-
 lib/hawat/blueprints/dbstatus/__init__.py     |   2 +-
 .../templates/dbstatus/queries_my.html        |   4 +-
 .../dbstatus/templates/dbstatus/view.html     |   2 +-
 lib/hawat/blueprints/design_bs3/__init__.py   |   2 +-
 .../design_bs3/templates/_layout.html         |   8 +-
 .../templates/_layout_confirmation.html       |   2 +-
 .../templates/_layout_creatupdate.html        |   2 +-
 .../templates/_layout_events_search.html      |   2 +-
 .../design_bs3/templates/_layout_list.html    |   2 +-
 .../design_bs3/templates/_layout_login.html   |   2 +-
 .../templates/_layout_registration.html       |   4 +-
 .../design_bs3/templates/_layout_search.html  |   2 +-
 .../design_bs3/templates/_macros_form.html    |   2 +-
 .../design_bs3/templates/_macros_page.html    |   8 +-
 .../design_bs3/templates/_macros_site.html    |   6 +-
 lib/hawat/blueprints/devtools/__init__.py     |   2 +-
 .../devtools/templates/devtools/config.html   |  14 +-
 lib/hawat/blueprints/dnsr/__init__.py         |   2 +-
 .../dnsr/templates/dnsr/search.html           |   2 +-
 lib/hawat/blueprints/events/__init__.py       |   2 +-
 .../events/templates/events/dashboard.html    |   2 +-
 .../events/templates/events/show.html         |   2 +-
 lib/hawat/blueprints/filters/__init__.py      |   2 +-
 .../filters/templates/filters/playground.html |   2 +-
 .../filters/templates/filters/show.html       |   2 +-
 lib/hawat/blueprints/geoip/__init__.py        |   2 +-
 .../geoip/templates/geoip/search.html         |   2 +-
 lib/hawat/blueprints/groups/__init__.py       |   2 +-
 .../groups/templates/groups/show.html         |   2 +-
 lib/hawat/blueprints/home/__init__.py         |   2 +-
 .../blueprints/home/templates/home/index.html |   4 +-
 lib/hawat/blueprints/hosts/__init__.py        |   2 +-
 .../hosts/templates/hosts/search.html         |   2 +-
 lib/hawat/blueprints/nerd/__init__.py         |   2 +-
 .../nerd/templates/nerd/search.html           |   2 +-
 lib/hawat/blueprints/networks/__init__.py     |   2 +-
 .../networks/templates/networks/show.html     |   2 +-
 lib/hawat/blueprints/pdnsr/__init__.py        |   2 +-
 .../pdnsr/templates/pdnsr/search.html         |   2 +-
 lib/hawat/blueprints/performance/__init__.py  |   2 +-
 .../templates/performance/view.html           |   2 +-
 lib/hawat/blueprints/reports/__init__.py      |   2 +-
 .../reports/templates/reports/dashboard.html  |   2 +-
 .../reports/templates/reports/show.html       |   2 +-
 .../blueprints/settings_reporting/__init__.py |   2 +-
 .../settings_reporting/creatupdate.html       |   2 +-
 .../templates/settings_reporting/show.html    |   2 +-
 lib/hawat/blueprints/skeleton/__init__.py     |   2 +-
 .../skeleton/templates/skeleton/search.html   |   2 +-
 lib/hawat/blueprints/status/__init__.py       |   2 +-
 .../status/templates/status/view.html         |   2 +-
 lib/hawat/blueprints/timeline/__init__.py     |   2 +-
 lib/hawat/blueprints/users/__init__.py        |   2 +-
 .../users/templates/users/show.html           |   2 +-
 lib/hawat/blueprints/whois/__init__.py        |   2 +-
 .../whois/templates/whois/search.html         |   2 +-
 lib/hawat/config.py                           |   9 +-
 lib/hawat/templates/app-main.js               |  12 +-
 .../templates/registration/email_admins.txt   |   4 +-
 .../templates/registration/email_managers.txt |   4 +-
 .../templates/registration/email_user.txt     |   4 +-
 lib/hawat/test/__init__.py                    |  40 +-
 lib/hawat/test/test_app.py                    |  20 +-
 .../translations/cs/LC_MESSAGES/messages.po   | 662 +++++++++---------
 lib/hawat/view/__init__.py                    |   2 +-
 vagrantenv/system/login-banner.sh             |   2 +-
 97 files changed, 632 insertions(+), 632 deletions(-)

diff --git a/.gitignore b/.gitignore
index b2ea7be0..2031b28e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -56,7 +56,7 @@ parsetab.py
 /lib/hawat/static/vendor/
 /lib/hawat/templates/iana-tz-data/
 /lib/hawat/blueprints/design/static/vendor/
-/lib/vial/blueprints/design_bs3/static/vendor/
+/lib/hawat/blueprints/design_bs3/static/vendor/
 
 # Local NodeJS modules for Grunt.
 /node_modules/
diff --git a/MANIFEST.in b/MANIFEST.in
index 1a38294a..76efd8c5 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -8,5 +8,4 @@ recursive-include lib/hawat/templates *
 recursive-include lib/hawat/migrations *
 recursive-include lib/hawat/translations *
 recursive-include lib/hawat/blueprints *
-recursive-include lib/vial/blueprints *
 global-exclude *.pyc
diff --git a/conf/mentat-hawat-dev.py.conf b/conf/mentat-hawat-dev.py.conf
index 597fb861..6586d32c 100644
--- a/conf/mentat-hawat-dev.py.conf
+++ b/conf/mentat-hawat-dev.py.conf
@@ -40,11 +40,11 @@ HAWAT_LOG_FILE = '/var/tmp/mentat-hawat.py.log'
 HAWAT_LOG_FILE_LEVEL = 'debug'
 
 ENABLED_BLUEPRINTS = [
-    'vial.blueprints.auth',
-    'vial.blueprints.auth_api',
-    'vial.blueprints.design_bs3',
-    'vial.blueprints.devtools',
-    'vial.blueprints.changelogs',
+    'hawat.blueprints.auth',
+    'hawat.blueprints.auth_api',
+    'hawat.blueprints.design_bs3',
+    'hawat.blueprints.devtools',
+    'hawat.blueprints.changelogs',
 
     'hawat.blueprints.auth_env',
     'hawat.blueprints.auth_dev',
diff --git a/conf/mentat-hawat.py.conf b/conf/mentat-hawat.py.conf
index 1f42ac26..48e42275 100644
--- a/conf/mentat-hawat.py.conf
+++ b/conf/mentat-hawat.py.conf
@@ -33,11 +33,11 @@ HAWAT_SEARCH_QUERY_QUOTA = 7
 
 # List of enabled application blueprints.
 ENABLED_BLUEPRINTS = [
-    'vial.blueprints.auth',
-    'vial.blueprints.auth_api',
-    'vial.blueprints.design_bs3',
-    'vial.blueprints.devtools',
-    'vial.blueprints.changelogs',
+    'hawat.blueprints.auth',
+    'hawat.blueprints.auth_api',
+    'hawat.blueprints.design_bs3',
+    'hawat.blueprints.devtools',
+    'hawat.blueprints.changelogs',
 
     'hawat.blueprints.auth_env',
     #'hawat.blueprints.auth_dev',
diff --git a/conf/scripts/sqldb-init.sh b/conf/scripts/sqldb-init.sh
index 542761c1..4fd239bd 100755
--- a/conf/scripts/sqldb-init.sh
+++ b/conf/scripts/sqldb-init.sh
@@ -15,7 +15,7 @@ if [ $? -ne 0 ]; then
 fi
 
 
-for dbname in "mentat_events" "mentat_main" "mentat_utest" "mentat_bench" "vial"
+for dbname in "mentat_events" "mentat_main" "mentat_utest" "mentat_bench"
 do
     sudo -u postgres psql -c "SELECT datname FROM pg_catalog.pg_database;" | grep $dbname > /dev/null
     if [ $? -ne 0 ]; then
diff --git a/hawat.local.conf b/hawat.local.conf
index 9628b947..0513681f 100644
--- a/hawat.local.conf
+++ b/hawat.local.conf
@@ -6,11 +6,11 @@ HAWAT_LOG_DEFAULT_LEVEL = 'debug'
 HAWAT_LOG_FILE = '/var/tmp/mentat-hawat.py.log'
 HAWAT_LOG_FILE_LEVEL = 'debug'
 ENABLED_BLUEPRINTS = [
-    'vial.blueprints.auth',
-    'vial.blueprints.auth_api',
-    'vial.blueprints.design_bs3',
-    'vial.blueprints.devtools',
-    'vial.blueprints.changelogs',
+    'hawat.blueprints.auth',
+    'hawat.blueprints.auth_api',
+    'hawat.blueprints.design_bs3',
+    'hawat.blueprints.devtools',
+    'hawat.blueprints.changelogs',
 
     'hawat.blueprints.auth_env',
     'hawat.blueprints.auth_dev',
diff --git a/lib/hawat/app.py b/lib/hawat/app.py
index 1f31db67..024470ae 100644
--- a/lib/hawat/app.py
+++ b/lib/hawat/app.py
@@ -28,7 +28,7 @@ import pyzenkit.utils
 
 from mentat.const import CKEY_CORE_DATABASE, CKEY_CORE_DATABASE_SQLSTORAGE
 
-import vial
+import hawat
 from hawat.const import CFGKEY_MENTAT_CORE
 
 import hawat.base
@@ -75,6 +75,7 @@ def create_app_full(
         app.config.from_pyfile(config_file)
     if config_env and os.getenv(config_env, None):
         app.config.from_envvar(config_env)
+    config_func = config_func or _config_app
     if config_func and callable(config_func):
         config_func(app.config)
 
diff --git a/lib/hawat/babel.cfg b/lib/hawat/babel.cfg
index 674492ec..68d9823a 100644
--- a/lib/hawat/babel.cfg
+++ b/lib/hawat/babel.cfg
@@ -1,6 +1,5 @@
 [python: hawat/**.py]
 [python: mentat/**.py]
-[python: vial/**.py]
 [jinja2: hawat/**/templates/**.html]
 [jinja2: hawat/**/templates/**.txt]
 extensions=jinja2.ext.autoescape,jinja2.ext.with_
diff --git a/lib/hawat/base.py b/lib/hawat/base.py
index b0fd3ce9..dea28b2f 100644
--- a/lib/hawat/base.py
+++ b/lib/hawat/base.py
@@ -31,16 +31,16 @@ import flask_login
 import flask_principal
 
 import hawat.const
-import vial.acl
-import vial.log
-import vial.mailer
-import vial.intl
-import vial.errors
-import vial.utils
-import vial.jsglue
-import vial.view
-import vial.menu
-import vial.command
+import hawat.acl
+import hawat.log
+import hawat.mailer
+import hawat.intl
+import hawat.errors
+import hawat.utils
+import hawat.jsglue
+import hawat.view
+import hawat.menu
+import hawat.command
 
 #
 # Flask related modules.
@@ -54,10 +54,10 @@ from flask_babel import gettext
 #
 # Custom modules.
 #
-import vial.app
+import hawat.app
 import hawat.const
-import vial.menu
-import vial.errors
+import hawat.menu
+import hawat.errors
 import hawat.events
 
 import mentat
@@ -76,7 +76,7 @@ RE_UQUERY = ' AS "_mentatq\\({:d}_[^)]+\\)_"'
 
 class HawatException(Exception):
     """
-    Custom class for :py:class:`vial.app.Vial` application exceptions.
+    Custom class for :py:class:`hawat.app.Hawat` application exceptions.
     """
 
 class HawatApp(flask.Flask):
@@ -106,9 +106,9 @@ class HawatApp(flask.Flask):
 
         self.mailer = None
 
-        self.menu_main = vial.menu.Menu()
-        self.menu_auth = vial.menu.Menu()
-        self.menu_anon = vial.menu.Menu()
+        self.menu_main = hawat.menu.Menu()
+        self.menu_auth = hawat.menu.Menu()
+        self.menu_anon = hawat.menu.Menu()
 
         self.sign_ins    = {}
         self.sign_ups    = {}
@@ -167,12 +167,12 @@ class HawatApp(flask.Flask):
               within application`s ``config`` under key :py:const:`hawat.const.CFGKEY_ENABLED_BLUEPRINTS`.
             * Call blueprint`s ``register_app`` method, if available, with ``self`` as only argument.
 
-        :param vial.app.VialBlueprint blueprint: Blueprint to be registered.
+        :param hawat.app.HawatBlueprint blueprint: Blueprint to be registered.
         :param dict options: Additional options, will be passed down to :py:func:`flask.Flask.register_blueprint`.
         """
         super().register_blueprint(blueprint, **options)
 
-        if isinstance(blueprint, VialBlueprint):
+        if isinstance(blueprint, HawatBlueprint):
             if hasattr(blueprint, 'register_app'):
                 blueprint.register_app(self)
 
@@ -185,11 +185,11 @@ class HawatApp(flask.Flask):
         from :py:const:`hawat.const.CFGKEY_ENABLED_BLUEPRINTS` configuration
         subkey, which must contain list of string names of required blueprints.
         The blueprint module must provide ``get_blueprint`` factory method, that
-        must return valid instance of :py:class:`vial.app.VialBlueprint`. This
-        method will call the :py:func:`vial.app.Vial.register_blueprint` for
+        must return valid instance of :py:class:`hawat.app.HawatBlueprint`. This
+        method will call the :py:func:`hawat.app.Hawat.register_blueprint` for
         each blueprint, that is being registered into the application.
 
-        :raises vial.app.VialException: In case the factory method ``get_blueprint`` is not provided by loaded module.
+        :raises hawat.app.HawatException: In case the factory method ``get_blueprint`` is not provided by loaded module.
         """
         for name in self.config[hawat.const.CFGKEY_ENABLED_BLUEPRINTS]:
             self.logger.debug(  # pylint: disable=locally-disabled,no-member
@@ -200,7 +200,7 @@ class HawatApp(flask.Flask):
             if hasattr(mod, 'get_blueprint'):
                 self.register_blueprint(mod.get_blueprint())
             else:
-                raise VialException(
+                raise HawatException(
                     "Invalid blueprint module '{}', does not provide the 'get_blueprint' factory method.".format(name)
                 )
 
@@ -269,13 +269,13 @@ class HawatApp(flask.Flask):
         if not endpoint in self.view_functions:
             if quiet:
                 return None
-            raise VialException(
+            raise HawatException(
                 "Unknown endpoint name '{}'.".format(endpoint)
             )
         try:
             return self.view_functions[endpoint].view_class
         except AttributeError:
-            return vial.view.DecoratedView(self.view_functions[endpoint])
+            return hawat.view.DecoratedView(self.view_functions[endpoint])
 
     def can_access_endpoint(self, endpoint, **kwargs):
         """
@@ -307,7 +307,7 @@ class HawatApp(flask.Flask):
 
             return True
 
-        except VialException:
+        except HawatException:
             return False
 
     def get_model(self, name):
@@ -444,36 +444,36 @@ class HawatApp(flask.Flask):
 
     def _setup_app_logging(self):
         """
-        Setup logging to file and via email for given Vial application. Logging
+        Setup logging to file and via email for given Hawat application. Logging
         capabilities are adjustable by application configuration.
 
-        :param vial.app.VialApp app: Vial application to be modified.
-        :return: Modified Vial application
-        :rtype: vial.app.VialApp
+        :param hawat.app.HawatApp app: Hawat application to be modified.
+        :return: Modified Hawat application
+        :rtype: hawat.app.HawatApp
         """
-        vial.log.setup_logging_default(self)
-        vial.log.setup_logging_file(self)
+        hawat.log.setup_logging_default(self)
+        hawat.log.setup_logging_file(self)
         if not self.debug:
-            vial.log.setup_logging_email(self)
+            hawat.log.setup_logging_email(self)
 
         return self
 
     def _setup_app_mailer(self):
         """
-        Setup mailer service for Vial application.
+        Setup mailer service for Hawat application.
 
-        :param vial.app.VialApp app: Vial application to be modified.
-        :return: Modified Vial application
-        :rtype: vial.app.VialApp
+        :param hawat.app.HawatApp app: Hawat application to be modified.
+        :return: Modified Hawat application
+        :rtype: hawat.app.HawatApp
         """
-        vial.mailer.MAILER.init_app(self)
-        self.mailer = vial.mailer.MAILER
+        hawat.mailer.MAILER.init_app(self)
+        self.mailer = hawat.mailer.MAILER
 
         return self
 
     def _setup_app_core(self):
         """
-        Setup application core for given Vial application. The application core
+        Setup application core for given Hawat application. The application core
         contains following features:
 
             * Error handlers
@@ -481,9 +481,9 @@ class HawatApp(flask.Flask):
             * Additional custom Jinja template variables
             * Additional custom Jinja template macros
 
-        :param vial.app.VialApp app: Vial application to be modified.
-        :return: Modified Vial application
-        :rtype: vial.app.VialApp
+        :param hawat.app.HawatApp app: Hawat application to be modified.
+        :return: Modified Hawat application
+        :rtype: hawat.app.HawatApp
         """
         @self.errorhandler(400)
         def eh_badrequest(err):  # pylint: disable=locally-disabled,unused-variable
@@ -497,27 +497,27 @@ class HawatApp(flask.Flask):
                     ).format()
                 )
             )
-            return vial.errors.error_handler_switch(400, err)
+            return hawat.errors.error_handler_switch(400, err)
 
         @self.errorhandler(403)
         def eh_forbidden(err):  # pylint: disable=locally-disabled,unused-variable
             """Flask error handler to be called to service HTTP 403 error."""
-            return vial.errors.error_handler_switch(403, err)
+            return hawat.errors.error_handler_switch(403, err)
 
         @self.errorhandler(404)
         def eh_page_not_found(err):  # pylint: disable=locally-disabled,unused-variable
             """Flask error handler to be called to service HTTP 404 error."""
-            return vial.errors.error_handler_switch(404, err)
+            return hawat.errors.error_handler_switch(404, err)
 
         @self.errorhandler(405)
         def eh_method_not_allowed(err):  # pylint: disable=locally-disabled,unused-variable
             """Flask error handler to be called to service HTTP 405 error."""
-            return vial.errors.error_handler_switch(405, err)
+            return hawat.errors.error_handler_switch(405, err)
 
         @self.errorhandler(410)
         def eh_gone(err):  # pylint: disable=locally-disabled,unused-variable
             """Flask error handler to be called to service HTTP 410 error."""
-            return vial.errors.error_handler_switch(410, err)
+            return hawat.errors.error_handler_switch(410, err)
 
         @self.errorhandler(500)
         def eh_internal_server_error(err):  # pylint: disable=locally-disabled,unused-variable
@@ -531,7 +531,7 @@ class HawatApp(flask.Flask):
                     ).format()
                 ),
             )
-            return vial.errors.error_handler_switch(500, err)
+            return hawat.errors.error_handler_switch(500, err)
 
         @self.before_request
         def before_request():  # pylint: disable=locally-disabled,unused-variable
@@ -547,16 +547,16 @@ class HawatApp(flask.Flask):
             Inject additional variables into Jinja2 global template namespace.
             """
             return dict(
-                vial_appname           = flask.current_app.config['APPLICATION_NAME'],
-                vial_appid             = flask.current_app.config['APPLICATION_ID'],
-                vial_current_app       = flask.current_app,
-                vial_current_menu_main = flask.current_app.menu_main,
-                vial_current_menu_auth = flask.current_app.menu_auth,
-                vial_current_menu_anon = flask.current_app.menu_anon,
-                vial_current_view      = self.get_endpoint_class(flask.request.endpoint, True),
-                vial_logger            = flask.current_app.logger,
-                vial_cdt_utc           = datetime.datetime.utcnow(),
-                vial_cdt_local         = datetime.datetime.now(),
+                hawat_appname           = flask.current_app.config['APPLICATION_NAME'],
+                hawat_appid             = flask.current_app.config['APPLICATION_ID'],
+                hawat_current_app       = flask.current_app,
+                hawat_current_menu_main = flask.current_app.menu_main,
+                hawat_current_menu_auth = flask.current_app.menu_auth,
+                hawat_current_menu_anon = flask.current_app.menu_anon,
+                hawat_current_view      = self.get_endpoint_class(flask.request.endpoint, True),
+                hawat_logger            = flask.current_app.logger,
+                hawat_cdt_utc           = datetime.datetime.utcnow(),
+                hawat_cdt_local         = datetime.datetime.now(),
             )
 
         @self.context_processor
@@ -686,25 +686,25 @@ class HawatApp(flask.Flask):
                 get_endpoint_icon = get_endpoint_icon,
                 get_country_flag  = get_country_flag,
 
-                get_timedelta       = vial.utils.get_timedelta,
-                get_datetime_utc    = vial.utils.get_datetime_utc,
-                get_datetime_local  = vial.utils.get_datetime_local,
-                parse_datetime      = vial.utils.parse_datetime,
+                get_timedelta       = hawat.utils.get_timedelta,
+                get_datetime_utc    = hawat.utils.get_datetime_utc,
+                get_datetime_local  = hawat.utils.get_datetime_local,
+                parse_datetime      = hawat.utils.parse_datetime,
 
-                get_datetime_window = vial.view.mixin.VialUtils.get_datetime_window,
+                get_datetime_window = hawat.view.mixin.HawatUtils.get_datetime_window,
 
-                check_file_exists = vial.utils.check_file_exists,
+                check_file_exists = hawat.utils.check_file_exists,
 
-                in_query_params       = vial.utils.in_query_params,
-                generate_query_params = vial.utils.generate_query_params,
+                in_query_params       = hawat.utils.in_query_params,
+                generate_query_params = hawat.utils.generate_query_params,
 
                 current_datetime_utc = datetime.datetime.utcnow(),
 
                 include_raw         = include_raw,
-                json_to_yaml        = vial.utils.json_to_yaml,
-                get_uuid4           = vial.utils.get_uuid4,
-                load_json_from_file = vial.utils.load_json_from_file,
-                make_copy_deep      = vial.utils.make_copy_deep
+                json_to_yaml        = hawat.utils.json_to_yaml,
+                get_uuid4           = hawat.utils.get_uuid4,
+                load_json_from_file = hawat.utils.load_json_from_file,
+                make_copy_deep      = hawat.utils.make_copy_deep
             )
 
         @self.template_filter('tojson_pretty')
@@ -715,7 +715,7 @@ class HawatApp(flask.Flask):
                 indent = 4
             )
 
-        class VialJSONEncoder(flask.json.JSONEncoder):
+        class HawatJSONEncoder(flask.json.JSONEncoder):
             """
             Custom JSON encoder for converting anything into JSON strings.
             """
@@ -735,7 +735,7 @@ class HawatApp(flask.Flask):
                     pass
                 return flask.json.JSONEncoder.default(self, obj)
 
-        self.json_encoder = VialJSONEncoder
+        self.json_encoder = HawatJSONEncoder
 
         @self.route('/app-main.js')
         def mainjs():  # pylint: disable=locally-disabled,unused-variable
@@ -750,7 +750,7 @@ class HawatApp(flask.Flask):
 
         # Initialize JSGlue plugin for using `flask.url_for()` method in JavaScript.
         #jsglue = flask_jsglue.JSGlue()
-        jsglue = vial.jsglue.JSGlue()
+        jsglue = hawat.jsglue.JSGlue()
         jsglue.init_app(self)
 
         @self.template_filter()
@@ -804,7 +804,7 @@ class HawatApp(flask.Flask):
                 """
                 if not limit:
                     limit = flask.current_app.config['HAWAT_LIMIT_AODS']
-                return vial.utils.LimitCounter(limit)
+                return hawat.utils.LimitCounter(limit)
 
             return dict(
                 get_csag                    = get_csag,
@@ -843,13 +843,13 @@ class HawatApp(flask.Flask):
 
     def _setup_app_db(self):
         """
-        Setup application database service for given Vial application.
+        Setup application database service for given Hawat application.
 
-        :param vial.app.VialApp app: Vial application to be modified.
-        :return: Modified Vial application
-        :rtype: vial.app.VialApp
+        :param hawat.app.HawatApp app: Hawat application to be modified.
+        :return: Modified Hawat application
+        :rtype: hawat.app.HawatApp
         """
-        dbh = vial.db.db_setup(**self.config['SQLALCHEMY_SETUP_ARGS'])
+        dbh = hawat.db.db_setup(**self.config['SQLALCHEMY_SETUP_ARGS'])
         dbh.init_app(self)
 
         # Initialize database migration service and register it among the application
@@ -881,7 +881,7 @@ class HawatApp(flask.Flask):
                 """
                 Thin proxy property for retrieving reference to current database session.
                 """
-                return vial.db.db_session()
+                return hawat.db.db_session()
 
 
         class StorageServiceManager:  # pylint: disable=locally-disabled,too-few-public-methods
@@ -910,9 +910,9 @@ class HawatApp(flask.Flask):
         """
         Setup application authentication features.
 
-        :param vial.app.VialApp app: Vial application to be modified.
-        :return: Modified Vial application
-        :rtype: vial.app.VialApp
+        :param hawat.app.HawatApp app: Hawat application to be modified.
+        :return: Modified Hawat application
+        :rtype: hawat.app.HawatApp
         """
 
         lim = flask_login.LoginManager()
@@ -929,7 +929,7 @@ class HawatApp(flask.Flask):
             Flask-Login callback for loading current user`s data.
             """
             user_model = self.get_model(hawat.const.MODEL_USER)
-            return vial.db.db_get().session.query(user_model).filter(user_model.id == user_id).one_or_none()
+            return hawat.db.db_get().session.query(user_model).filter(user_model.id == user_id).one_or_none()
 
         @self.route('/logout')
         @flask_login.login_required
@@ -971,9 +971,9 @@ class HawatApp(flask.Flask):
         """
         Setup application ACL features.
 
-        :param vial.app.VialApp app: Vial application to be modified.
-        :return: Modified Vial application
-        :rtype: vial.app.VialApp
+        :param hawat.app.HawatApp app: Hawat application to be modified.
+        :return: Modified Hawat application
+        :rtype: hawat.app.HawatApp
         """
         fpp = flask_principal.Principal(self, skip_static = True)
         self.set_resource(hawat.const.RESOURCE_PRINCIPAL, fpp)
@@ -1018,7 +1018,7 @@ class HawatApp(flask.Flask):
             if hasattr(flask_login.current_user, 'memberships'):
                 for group in flask_login.current_user.memberships:
                     identity.provides.add(
-                        vial.acl.MembershipNeed(group.id)
+                        hawat.acl.MembershipNeed(group.id)
                     )
 
             # Assuming the User model has a list of group managements, update the
@@ -1026,7 +1026,7 @@ class HawatApp(flask.Flask):
             if hasattr(flask_login.current_user, 'managements'):
                 for group in flask_login.current_user.managements:
                     identity.provides.add(
-                        vial.acl.ManagementNeed(group.id)
+                        hawat.acl.ManagementNeed(group.id)
                     )
 
         @self.context_processor
@@ -1054,7 +1054,7 @@ class HawatApp(flask.Flask):
                 :return: Check result.
                 :rtype: bool
                 """
-                return vial.acl.PERMISSIONS[permission_name].can()
+                return hawat.acl.PERMISSIONS[permission_name].can()
 
             def is_it_me(item):
                 """
@@ -1074,12 +1074,12 @@ class HawatApp(flask.Flask):
         """
         Setup application`s internationalization sybsystem.
 
-        :param vial.app.VialApp app: Vial application to be modified.
-        :return: Modified Vial application
-        :rtype: vial.app.VialApp
+        :param hawat.app.HawatApp app: Hawat application to be modified.
+        :return: Modified Hawat application
+        :rtype: hawat.app.HawatApp
         """
-        vial.intl.BABEL.init_app(self)
-        self.set_resource(hawat.const.RESOURCE_BABEL, vial.intl.BABEL)
+        hawat.intl.BABEL.init_app(self)
+        self.set_resource(hawat.const.RESOURCE_BABEL, hawat.intl.BABEL)
 
         @self.route('/locale/<code>')
         def locale(code):  # pylint: disable=locally-disabled,unused-variable
@@ -1094,8 +1094,8 @@ class HawatApp(flask.Flask):
                 # Make sure current user is in SQLAlchemy session. Turns out, this
                 # step is not necessary and current user is already in session,
                 # because it was fetched from database few moments ago.
-                #vial.db.db_session().add(flask_login.current_user)
-                vial.db.db_session().commit()
+                #hawat.db.db_session().add(flask_login.current_user)
+                hawat.db.db_session().commit()
 
             flask.session['locale'] = code
             flask_babel.refresh()
@@ -1111,7 +1111,7 @@ class HawatApp(flask.Flask):
 
             # Redirect user back to original page.
             return flask.redirect(
-                vial.forms.get_redirect_target(
+                hawat.forms.get_redirect_target(
                     default_url = flask.url_for(
                         flask.current_app.config['ENDPOINT_HOME']
                     )
@@ -1125,9 +1125,9 @@ class HawatApp(flask.Flask):
             currently selected locale and timezone to request`s session storage.
             """
             if 'locale' not in flask.session:
-                flask.session['locale'] = vial.intl.get_locale()
+                flask.session['locale'] = hawat.intl.get_locale()
             if 'timezone' not in flask.session:
-                flask.session['timezone'] = vial.intl.get_timezone()
+                flask.session['timezone'] = hawat.intl.get_timezone()
 
         @self.context_processor
         def utility_processor():  # pylint: disable=locally-disabled,unused-variable
@@ -1136,17 +1136,17 @@ class HawatApp(flask.Flask):
             """
 
             return dict(
-                babel_get_locale         = vial.intl.get_locale,
-                babel_get_timezone       = vial.intl.get_timezone,
+                babel_get_locale         = hawat.intl.get_locale,
+                babel_get_timezone       = hawat.intl.get_timezone,
                 babel_format_datetime    = flask_babel.format_datetime,
                 babel_format_date        = flask_babel.format_date,
                 babel_format_time        = flask_babel.format_time,
                 babel_format_timedelta   = flask_babel.format_timedelta,
                 babel_format_decimal     = flask_babel.format_decimal,
                 babel_format_percent     = flask_babel.format_percent,
-                babel_format_bytes       = vial.intl.babel_format_bytes,
-                babel_translate_locale   = vial.intl.babel_translate_locale,
-                babel_language_in_locale = vial.intl.babel_language_in_locale
+                babel_format_bytes       = hawat.intl.babel_format_bytes,
+                babel_translate_locale   = hawat.intl.babel_translate_locale,
+                babel_language_in_locale = hawat.intl.babel_language_in_locale
             )
 
         return self
@@ -1155,9 +1155,9 @@ class HawatApp(flask.Flask):
         """
         Setup default application menu skeleton.
 
-        :param vial.app.VialApp app: Vial application to be modified.
-        :return: Modified Vial application
-        :rtype: vial.app.VialApp
+        :param hawat.app.HawatApp app: Hawat application to be modified.
+        :return: Modified Hawat application
+        :rtype: hawat.app.HawatApp
         """
         for entry in self.config[hawat.const.CFGKEY_MENU_MAIN_SKELETON]:
             self.menu_main.add_entry(**entry)
@@ -1168,9 +1168,9 @@ class HawatApp(flask.Flask):
         """
         Setup application blueprints.
 
-        :param vial.app.VialApp app: Vial application to be modified.
-        :return: Modified Vial application
-        :rtype: vial.app.VialApp
+        :param hawat.app.HawatApp app: Hawat application to be modified.
+        :return: Modified Hawat application
+        :rtype: hawat.app.HawatApp
         """
         self.register_blueprints()
 
@@ -1180,21 +1180,21 @@ class HawatApp(flask.Flask):
         """
         Setup application command line interface.
 
-        :param vial.app.VialApp app: Vial application to be modified.
-        :return: Modified Vial application
-        :rtype: vial.app.VialApp
+        :param hawat.app.HawatApp app: Hawat application to be modified.
+        :return: Modified Hawat application
+        :rtype: hawat.app.HawatApp
         """
-        vial.command.setup_cli(app)
+        hawat.command.setup_cli(app)
 
         return app
 
     def _setup_app_eventdb(self):
         """
-        Setup application database service for given Vial application.
+        Setup application database service for given Hawat application.
 
-        :param vial.app.VialApp app: Vial application to be modified.
-        :return: Modified Vial application
-        :rtype: vial.app.VialApp
+        :param hawat.app.HawatApp app: Hawat application to be modified.
+        :return: Modified Hawat application
+        :rtype: hawat.app.HawatApp
         """
         hawat.events.db_init(self)
         self.logger.info("Connected to event database")
@@ -1239,10 +1239,10 @@ class HawatBlueprint(flask.Blueprint):
     def register_app(self, app):  # pylint: disable=locally-disabled,no-self-use,unused-argument
         """
         *Hook method:* Custom callback, which will be called from
-        :py:func:`vial.app.Vial.register_blueprint` method and which can
-        perform additional tweaking of Vial application object.
+        :py:func:`hawat.app.Hawat.register_blueprint` method and which can
+        perform additional tweaking of Hawat application object.
 
-        :param vial.app.Vial app: Application object.
+        :param hawat.app.Hawat app: Application object.
         """
         return
 
@@ -1250,7 +1250,7 @@ class HawatBlueprint(flask.Blueprint):
         """
         Register given view class into the internal blueprint registry.
 
-        :param vial.view.BaseView view_class: View class (not instance!)
+        :param hawat.view.BaseView view_class: View class (not instance!)
         :param str route_spec: Routing information for the view.
         """
         view_class.module_ref  = weakref.ref(self)
diff --git a/lib/hawat/blueprints/auth/__init__.py b/lib/hawat/blueprints/auth/__init__.py
index bd3adcbc..57072aab 100644
--- a/lib/hawat/blueprints/auth/__init__.py
+++ b/lib/hawat/blueprints/auth/__init__.py
@@ -16,7 +16,7 @@ import flask_login
 from flask_babel import lazy_gettext
 
 import hawat.const
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import SimpleView
 from hawat.view.mixin import HTMLMixin
 
diff --git a/lib/hawat/blueprints/auth/templates/auth/login.html b/lib/hawat/blueprints/auth/templates/auth/login.html
index baf77796..0eb97e0a 100644
--- a/lib/hawat/blueprints/auth/templates/auth/login.html
+++ b/lib/hawat/blueprints/auth/templates/auth/login.html
@@ -1,10 +1,10 @@
 {%- extends "_layout.html" %}
 
-{% block title %}{{ vial_current_view.get_view_title() }}{% endblock %}
+{% block title %}{{ hawat_current_view.get_view_title() }}{% endblock %}
 
 {%- block content %}
 
-            <h2>{{ vial_current_view.get_view_title() }}</h2>
+            <h2>{{ hawat_current_view.get_view_title() }}</h2>
             <hr>
             <div class="row">
                 <div class="well col-md-6 col-md-offset-3">
diff --git a/lib/hawat/blueprints/auth/templates/auth/register.html b/lib/hawat/blueprints/auth/templates/auth/register.html
index f8fa134d..73905737 100644
--- a/lib/hawat/blueprints/auth/templates/auth/register.html
+++ b/lib/hawat/blueprints/auth/templates/auth/register.html
@@ -1,10 +1,10 @@
 {%- extends "_layout.html" %}
 
-{% block title %}{{ vial_current_view.get_view_title() }}{% endblock %}
+{% block title %}{{ hawat_current_view.get_view_title() }}{% endblock %}
 
 {%- block content %}
 
-            <h2>{{ vial_current_view.get_view_title() }}</h2>
+            <h2>{{ hawat_current_view.get_view_title() }}</h2>
             <hr>
             <div class="row">
                 <div class="well col-md-6 col-md-offset-3">
diff --git a/lib/hawat/blueprints/auth/templates/registration/email_admins.txt b/lib/hawat/blueprints/auth/templates/registration/email_admins.txt
index 5a58a233..54eb78a2 100644
--- a/lib/hawat/blueprints/auth/templates/registration/email_admins.txt
+++ b/lib/hawat/blueprints/auth/templates/registration/email_admins.txt
@@ -1,6 +1,6 @@
 {{ _('Dear administrator,') | wordwrap }}
 
-{{ _('a new account "%(item_id)s" was just registered in %(app_name)s. Please review the following request and activate or delete the account:', item_id = account.login, app_name = vial_appname) | wordwrap }}
+{{ _('a new account "%(item_id)s" was just registered in %(app_name)s. Please review the following request and activate or delete the account:', item_id = account.login, app_name = hawat_appname) | wordwrap }}
 
     {{ '{:16s}'.format(_('Login:')) }} {{ account.login }}
     {{ '{:16s}'.format(_('Full name:')) }} {{ account.fullname }}
@@ -23,4 +23,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/auth/templates/registration/email_managers.txt b/lib/hawat/blueprints/auth/templates/registration/email_managers.txt
index 6cc8bf53..802547a4 100644
--- a/lib/hawat/blueprints/auth/templates/registration/email_managers.txt
+++ b/lib/hawat/blueprints/auth/templates/registration/email_managers.txt
@@ -1,6 +1,6 @@
 {{ _('Dear group manager,') | wordwrap }}
 
-{{ _('a new account "%(item_id)s" was just registered in %(app_name)s and user requested membership in your group "%(group_id)s". Please review the following information and approve or reject the request:', item_id = account.login, app_name = vial_appname, group_id = group.name) | wordwrap }}
+{{ _('a new account "%(item_id)s" was just registered in %(app_name)s and user requested membership in your group "%(group_id)s". Please review the following information and approve or reject the request:', item_id = account.login, app_name = hawat_appname, group_id = group.name) | wordwrap }}
 
     {{ '{:16s}'.format(_('Login:')) }} {{ account.login }}
     {{ '{:16s}'.format(_('Full name:')) }} {{ account.fullname }}
@@ -16,4 +16,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/auth/templates/registration/email_user.txt b/lib/hawat/blueprints/auth/templates/registration/email_user.txt
index a3f2d82c..c20b45e5 100644
--- a/lib/hawat/blueprints/auth/templates/registration/email_user.txt
+++ b/lib/hawat/blueprints/auth/templates/registration/email_user.txt
@@ -1,6 +1,6 @@
 {{ _('Dear user,') | wordwrap }}
 
-{{ _('this email is a confirmation, that you have successfully registered your new user account "%(item_id)s" in %(app_name)s.', item_id = account.login, app_name = vial_appname) | wordwrap }}
+{{ _('this email is a confirmation, that you have successfully registered your new user account "%(item_id)s" in %(app_name)s.', item_id = account.login, app_name = hawat_appname) | wordwrap }}
 
 {{ _('During the registration process you have provided following information:') | wordwrap }}
 
@@ -27,4 +27,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/auth_api/__init__.py b/lib/hawat/blueprints/auth_api/__init__.py
index 0580f409..1641909f 100644
--- a/lib/hawat/blueprints/auth_api/__init__.py
+++ b/lib/hawat/blueprints/auth_api/__init__.py
@@ -57,7 +57,7 @@ from flask_babel import gettext, lazy_gettext
 import hawat.const
 import hawat.forms
 import hawat.db
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import ItemChangeView
 from hawat.view.mixin import HTMLMixin, SQLAlchemyMixin
 
diff --git a/lib/hawat/blueprints/auth_dev/__init__.py b/lib/hawat/blueprints/auth_dev/__init__.py
index 37ad42f7..822cff1c 100644
--- a/lib/hawat/blueprints/auth_dev/__init__.py
+++ b/lib/hawat/blueprints/auth_dev/__init__.py
@@ -48,7 +48,7 @@ from flask_babel import lazy_gettext
 import hawat.const
 import hawat.forms
 import hawat.db
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import BaseLoginView, BaseRegisterView
 from hawat.view.mixin import HTMLMixin, SQLAlchemyMixin
 
diff --git a/lib/hawat/blueprints/auth_dev/templates/registration/email_admins.txt b/lib/hawat/blueprints/auth_dev/templates/registration/email_admins.txt
index 4ec6751c..5c63ba52 100644
--- a/lib/hawat/blueprints/auth_dev/templates/registration/email_admins.txt
+++ b/lib/hawat/blueprints/auth_dev/templates/registration/email_admins.txt
@@ -1,6 +1,6 @@
 {{ _('Dear administrator,') | wordwrap }}
 
-{{ _('a new account "%(item_id)s" was just registered in %(app_name)s. Please review the following request and activate or delete the account:', item_id = account.login, app_name = vial_appname) | wordwrap }}
+{{ _('a new account "%(item_id)s" was just registered in %(app_name)s. Please review the following request and activate or delete the account:', item_id = account.login, app_name = hawat_appname) | wordwrap }}
 
     {{ '{:16s}'.format(_('Login:')) }} {{ account.login }}
     {{ '{:16s}'.format(_('Full name:')) }} {{ account.fullname }}
@@ -24,4 +24,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/auth_dev/templates/registration/email_managers.txt b/lib/hawat/blueprints/auth_dev/templates/registration/email_managers.txt
index c3b79bb7..2f8ae69b 100644
--- a/lib/hawat/blueprints/auth_dev/templates/registration/email_managers.txt
+++ b/lib/hawat/blueprints/auth_dev/templates/registration/email_managers.txt
@@ -1,6 +1,6 @@
 {{ _('Dear group manager,') | wordwrap }}
 
-{{ _('a new account "%(item_id)s" was just registered in %(app_name)s and user requested membership in your group "%(group_id)s". Please review the following information and approve or reject the request:', item_id = account.login, app_name = vial_appname, group_id = group.name) | wordwrap }}
+{{ _('a new account "%(item_id)s" was just registered in %(app_name)s and user requested membership in your group "%(group_id)s". Please review the following information and approve or reject the request:', item_id = account.login, app_name = hawat_appname, group_id = group.name) | wordwrap }}
 
     {{ '{:16s}'.format(_('Login:')) }} {{ account.login }}
     {{ '{:16s}'.format(_('Full name:')) }} {{ account.fullname }}
@@ -17,4 +17,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/auth_dev/templates/registration/email_user.txt b/lib/hawat/blueprints/auth_dev/templates/registration/email_user.txt
index fd0a4f90..0eaccda2 100644
--- a/lib/hawat/blueprints/auth_dev/templates/registration/email_user.txt
+++ b/lib/hawat/blueprints/auth_dev/templates/registration/email_user.txt
@@ -1,6 +1,6 @@
 {{ _('Dear user,') | wordwrap }}
 
-{{ _('this email is a confirmation, that you have successfully registered your new user account "%(item_id)s" in %(app_name)s.', item_id = account.login, app_name = vial_appname) | wordwrap }}
+{{ _('this email is a confirmation, that you have successfully registered your new user account "%(item_id)s" in %(app_name)s.', item_id = account.login, app_name = hawat_appname) | wordwrap }}
 
 {{ _('During the registration process you have provided following information:') | wordwrap }}
 
@@ -28,4 +28,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/auth_env/__init__.py b/lib/hawat/blueprints/auth_env/__init__.py
index 6ea0425d..0f588798 100644
--- a/lib/hawat/blueprints/auth_env/__init__.py
+++ b/lib/hawat/blueprints/auth_env/__init__.py
@@ -81,7 +81,7 @@ from flask_babel import gettext, lazy_gettext
 import hawat.const
 import hawat.forms
 import hawat.db
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import BaseLoginView, BaseRegisterView
 from hawat.view.mixin import HTMLMixin, SQLAlchemyMixin
 
diff --git a/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_admins.txt b/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_admins.txt
index 4ec6751c..5c63ba52 100644
--- a/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_admins.txt
+++ b/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_admins.txt
@@ -1,6 +1,6 @@
 {{ _('Dear administrator,') | wordwrap }}
 
-{{ _('a new account "%(item_id)s" was just registered in %(app_name)s. Please review the following request and activate or delete the account:', item_id = account.login, app_name = vial_appname) | wordwrap }}
+{{ _('a new account "%(item_id)s" was just registered in %(app_name)s. Please review the following request and activate or delete the account:', item_id = account.login, app_name = hawat_appname) | wordwrap }}
 
     {{ '{:16s}'.format(_('Login:')) }} {{ account.login }}
     {{ '{:16s}'.format(_('Full name:')) }} {{ account.fullname }}
@@ -24,4 +24,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_managers.txt b/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_managers.txt
index c3b79bb7..2f8ae69b 100644
--- a/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_managers.txt
+++ b/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_managers.txt
@@ -1,6 +1,6 @@
 {{ _('Dear group manager,') | wordwrap }}
 
-{{ _('a new account "%(item_id)s" was just registered in %(app_name)s and user requested membership in your group "%(group_id)s". Please review the following information and approve or reject the request:', item_id = account.login, app_name = vial_appname, group_id = group.name) | wordwrap }}
+{{ _('a new account "%(item_id)s" was just registered in %(app_name)s and user requested membership in your group "%(group_id)s". Please review the following information and approve or reject the request:', item_id = account.login, app_name = hawat_appname, group_id = group.name) | wordwrap }}
 
     {{ '{:16s}'.format(_('Login:')) }} {{ account.login }}
     {{ '{:16s}'.format(_('Full name:')) }} {{ account.fullname }}
@@ -17,4 +17,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_user.txt b/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_user.txt
index fd0a4f90..0eaccda2 100644
--- a/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_user.txt
+++ b/lib/hawat/blueprints/auth_env/templates/auth_env/registration/email_user.txt
@@ -1,6 +1,6 @@
 {{ _('Dear user,') | wordwrap }}
 
-{{ _('this email is a confirmation, that you have successfully registered your new user account "%(item_id)s" in %(app_name)s.', item_id = account.login, app_name = vial_appname) | wordwrap }}
+{{ _('this email is a confirmation, that you have successfully registered your new user account "%(item_id)s" in %(app_name)s.', item_id = account.login, app_name = hawat_appname) | wordwrap }}
 
 {{ _('During the registration process you have provided following information:') | wordwrap }}
 
@@ -28,4 +28,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/auth_pwd/__init__.py b/lib/hawat/blueprints/auth_pwd/__init__.py
index cff95837..467c4662 100644
--- a/lib/hawat/blueprints/auth_pwd/__init__.py
+++ b/lib/hawat/blueprints/auth_pwd/__init__.py
@@ -33,7 +33,7 @@ from flask_babel import lazy_gettext
 
 import hawat.const
 import hawat.forms
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import BaseLoginView, BaseRegisterView
 from hawat.view.mixin import HTMLMixin, SQLAlchemyMixin
 
diff --git a/lib/hawat/blueprints/auth_pwd/templates/registration/email_admins.txt b/lib/hawat/blueprints/auth_pwd/templates/registration/email_admins.txt
index 4ec6751c..5c63ba52 100644
--- a/lib/hawat/blueprints/auth_pwd/templates/registration/email_admins.txt
+++ b/lib/hawat/blueprints/auth_pwd/templates/registration/email_admins.txt
@@ -1,6 +1,6 @@
 {{ _('Dear administrator,') | wordwrap }}
 
-{{ _('a new account "%(item_id)s" was just registered in %(app_name)s. Please review the following request and activate or delete the account:', item_id = account.login, app_name = vial_appname) | wordwrap }}
+{{ _('a new account "%(item_id)s" was just registered in %(app_name)s. Please review the following request and activate or delete the account:', item_id = account.login, app_name = hawat_appname) | wordwrap }}
 
     {{ '{:16s}'.format(_('Login:')) }} {{ account.login }}
     {{ '{:16s}'.format(_('Full name:')) }} {{ account.fullname }}
@@ -24,4 +24,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/auth_pwd/templates/registration/email_managers.txt b/lib/hawat/blueprints/auth_pwd/templates/registration/email_managers.txt
index c3b79bb7..2f8ae69b 100644
--- a/lib/hawat/blueprints/auth_pwd/templates/registration/email_managers.txt
+++ b/lib/hawat/blueprints/auth_pwd/templates/registration/email_managers.txt
@@ -1,6 +1,6 @@
 {{ _('Dear group manager,') | wordwrap }}
 
-{{ _('a new account "%(item_id)s" was just registered in %(app_name)s and user requested membership in your group "%(group_id)s". Please review the following information and approve or reject the request:', item_id = account.login, app_name = vial_appname, group_id = group.name) | wordwrap }}
+{{ _('a new account "%(item_id)s" was just registered in %(app_name)s and user requested membership in your group "%(group_id)s". Please review the following information and approve or reject the request:', item_id = account.login, app_name = hawat_appname, group_id = group.name) | wordwrap }}
 
     {{ '{:16s}'.format(_('Login:')) }} {{ account.login }}
     {{ '{:16s}'.format(_('Full name:')) }} {{ account.fullname }}
@@ -17,4 +17,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/auth_pwd/templates/registration/email_user.txt b/lib/hawat/blueprints/auth_pwd/templates/registration/email_user.txt
index fd0a4f90..0eaccda2 100644
--- a/lib/hawat/blueprints/auth_pwd/templates/registration/email_user.txt
+++ b/lib/hawat/blueprints/auth_pwd/templates/registration/email_user.txt
@@ -1,6 +1,6 @@
 {{ _('Dear user,') | wordwrap }}
 
-{{ _('this email is a confirmation, that you have successfully registered your new user account "%(item_id)s" in %(app_name)s.', item_id = account.login, app_name = vial_appname) | wordwrap }}
+{{ _('this email is a confirmation, that you have successfully registered your new user account "%(item_id)s" in %(app_name)s.', item_id = account.login, app_name = hawat_appname) | wordwrap }}
 
 {{ _('During the registration process you have provided following information:') | wordwrap }}
 
@@ -28,4 +28,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/blueprints/changelogs/__init__.py b/lib/hawat/blueprints/changelogs/__init__.py
index 7cdd3fcc..b6c0fc14 100644
--- a/lib/hawat/blueprints/changelogs/__init__.py
+++ b/lib/hawat/blueprints/changelogs/__init__.py
@@ -14,7 +14,7 @@ import flask
 from flask_babel import lazy_gettext
 
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import BaseSearchView, ItemShowView
 from hawat.view.mixin import HTMLMixin, SQLAlchemyMixin
 from hawat.blueprints.changelogs.forms import ItemChangeLogSearchForm
diff --git a/lib/hawat/blueprints/changelogs/templates/changelogs/search.html b/lib/hawat/blueprints/changelogs/templates/changelogs/search.html
index 60b5b491..83ff8f70 100644
--- a/lib/hawat/blueprints/changelogs/templates/changelogs/search.html
+++ b/lib/hawat/blueprints/changelogs/templates/changelogs/search.html
@@ -31,6 +31,6 @@
 
 {%- block contentsearchresult %}
 
-                    {{ macros_page.render_changelog_records(items, vial_current_view.get_context_action_menu()) }}
+                    {{ macros_page.render_changelog_records(items, hawat_current_view.get_context_action_menu()) }}
 
 {%- endblock contentsearchresult %}
diff --git a/lib/hawat/blueprints/changelogs/templates/changelogs/show.html b/lib/hawat/blueprints/changelogs/templates/changelogs/show.html
index 3e806a02..b32b940c 100644
--- a/lib/hawat/blueprints/changelogs/templates/changelogs/show.html
+++ b/lib/hawat/blueprints/changelogs/templates/changelogs/show.html
@@ -6,7 +6,7 @@
                 <div class="col-lg-12">
                     {{ macros_page.render_breadcrumbs(item) }}
 
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
                     <hr>
                     <h3>{{ item.__str__() }}</h3>
                     <br>
diff --git a/lib/hawat/blueprints/dbstatus/__init__.py b/lib/hawat/blueprints/dbstatus/__init__.py
index 99f5ebe4..b7d0af06 100644
--- a/lib/hawat/blueprints/dbstatus/__init__.py
+++ b/lib/hawat/blueprints/dbstatus/__init__.py
@@ -68,7 +68,7 @@ from mentat.datatype.sqldb import UserModel, GroupModel, FilterModel, SettingsRe
 
 import hawat.menu
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import RenderableView, SimpleView
 from hawat.view.mixin import HTMLMixin, AJAXMixin, SQLAlchemyMixin
 from hawat.forms import ItemActionConfirmForm
diff --git a/lib/hawat/blueprints/dbstatus/templates/dbstatus/queries_my.html b/lib/hawat/blueprints/dbstatus/templates/dbstatus/queries_my.html
index ecae88fe..14e22695 100644
--- a/lib/hawat/blueprints/dbstatus/templates/dbstatus/queries_my.html
+++ b/lib/hawat/blueprints/dbstatus/templates/dbstatus/queries_my.html
@@ -6,9 +6,9 @@
                 <div class="col-lg-12">
                     <ol class="breadcrumb">
                         <li><a href="{{ url_for('home.index') }}">{{ _('Home') }}</a></li>
-                        <li class="active">{{ vial_current_view.get_menu_title() }}</li>
+                        <li class="active">{{ hawat_current_view.get_menu_title() }}</li>
                     </ol>
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
                     <hr>
 
                 </div> <!-- /.col-lg-12 -->
diff --git a/lib/hawat/blueprints/dbstatus/templates/dbstatus/view.html b/lib/hawat/blueprints/dbstatus/templates/dbstatus/view.html
index ab177d77..62d4383f 100644
--- a/lib/hawat/blueprints/dbstatus/templates/dbstatus/view.html
+++ b/lib/hawat/blueprints/dbstatus/templates/dbstatus/view.html
@@ -8,7 +8,7 @@
                         <li><a href="{{ url_for('home.index') }}">{{ _('Home') }}</a></li>
                         <li class="active">{{ _('Database status') }}</li>
                     </ol>
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
                     <hr>
 
                 </div> <!-- /.col-lg-12 -->
diff --git a/lib/hawat/blueprints/design_bs3/__init__.py b/lib/hawat/blueprints/design_bs3/__init__.py
index b0a05068..091ae6ae 100644
--- a/lib/hawat/blueprints/design_bs3/__init__.py
+++ b/lib/hawat/blueprints/design_bs3/__init__.py
@@ -34,7 +34,7 @@ Module content
 
 from flask_babel import lazy_gettext
 
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 
 
 #
diff --git a/lib/hawat/blueprints/design_bs3/templates/_layout.html b/lib/hawat/blueprints/design_bs3/templates/_layout.html
index 2ce02cee..9feddebd 100644
--- a/lib/hawat/blueprints/design_bs3/templates/_layout.html
+++ b/lib/hawat/blueprints/design_bs3/templates/_layout.html
@@ -184,7 +184,7 @@
         ----------------------------------------------------------------------->
         <link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
 
-        <title>{% block title %}{{ vial_current_view.get_view_title() }}{% endblock %} - Mentat</title>
+        <title>{% block title %}{{ hawat_current_view.get_view_title() }}{% endblock %} - Mentat</title>
 {%- endblock head %}
     </head>
 
@@ -216,7 +216,7 @@
                     </button>
                     <a class="navbar-brand" href="{{ url_for(config['ENDPOINT_HOME']) }}">
                         <img src="{{ url_for('static', filename='images/app-logo-mini.png') }}" class="mentat-logo-mini" alt="Mentat logo">
-                        {{ vial_appname }}
+                        {{ hawat_appname }}
                     </a>
                 </div> <!-- #navbar-header -->
                 <div id="navbar" class="navbar-collapse collapse">
@@ -224,7 +224,7 @@
                     <ul class="nav navbar-nav navbar-right">
                         {{ macros_site.render_submenu_auth() }}
                         {{ macros_site.render_locale_switcher() }}
-                        {%- if vial_current_view.has_help %}
+                        {%- if hawat_current_view.has_help %}
                         <li>
                             {{ macros_page.render_help_link(icon = 'help', text = '') }}
                         </li>
@@ -266,7 +266,7 @@
             <span data-toggle="tooltip" title="{{ _('Page generated in: ') }}">{{ get_icon('stopwatch') }}</span><span class="hidden-sm"> <em>{{ _('Page generated in: ') }}</em></span> {{ get_timedelta(g.requeststart) }}
             <br>
             <span data-toggle="tooltip" title="{{ hawat_bversion_full }}">
-                {{ vial_appname }} {{ hawat_version }}
+                {{ hawat_appname }} {{ hawat_version }}
             </span> &#124;
             &copy; {{ _('since') }} 2011 &#124;
             <a data-toggle="tooltip" title="Go to official web page of CESNET-CERTS, the CSIRT for CESNET2 network" href="http://csirt.cesnet.cz">
diff --git a/lib/hawat/blueprints/design_bs3/templates/_layout_confirmation.html b/lib/hawat/blueprints/design_bs3/templates/_layout_confirmation.html
index a4ad2bef..ea75314d 100644
--- a/lib/hawat/blueprints/design_bs3/templates/_layout_confirmation.html
+++ b/lib/hawat/blueprints/design_bs3/templates/_layout_confirmation.html
@@ -11,7 +11,7 @@
 
                             <div class="modal-header">
                                 <h4 class="modal-title">
-                                    {{ get_icon('modal-question') }} {{ vial_current_view.get_view_title() }}
+                                    {{ get_icon('modal-question') }} {{ hawat_current_view.get_view_title() }}
                                 </h4>
                             </div>
 
diff --git a/lib/hawat/blueprints/design_bs3/templates/_layout_creatupdate.html b/lib/hawat/blueprints/design_bs3/templates/_layout_creatupdate.html
index d9f45dcb..1c809b56 100644
--- a/lib/hawat/blueprints/design_bs3/templates/_layout_creatupdate.html
+++ b/lib/hawat/blueprints/design_bs3/templates/_layout_creatupdate.html
@@ -19,7 +19,7 @@
 
                         <form method="POST" action="{{ form_url }}" id="form-{{ item_type }}-{{ item_action }}">
                             <fieldset>
-                                <legend>{{ vial_current_view.get_view_title() }}</legend>
+                                <legend>{{ hawat_current_view.get_view_title() }}</legend>
 
                                 {%- block itemform_fields %}{% endblock itemform_fields %}
 
diff --git a/lib/hawat/blueprints/design_bs3/templates/_layout_events_search.html b/lib/hawat/blueprints/design_bs3/templates/_layout_events_search.html
index ea69c603..8cbcd999 100644
--- a/lib/hawat/blueprints/design_bs3/templates/_layout_events_search.html
+++ b/lib/hawat/blueprints/design_bs3/templates/_layout_events_search.html
@@ -8,7 +8,7 @@
 
                     <!-- Search form - BEGIN ---------------------------------->
                     <div class="jumbotron" style="margin-top: 1em;">
-                        <h2>{{ vial_current_view.get_view_title() }}</h2>
+                        <h2>{{ hawat_current_view.get_view_title() }}</h2>
                         <hr>
                         <form method="GET" class="form-horizontal" id="form-events-simple" action="{{ url_for(request.endpoint) }}">
                             <div>
diff --git a/lib/hawat/blueprints/design_bs3/templates/_layout_list.html b/lib/hawat/blueprints/design_bs3/templates/_layout_list.html
index ba9f3b1c..137b5880 100644
--- a/lib/hawat/blueprints/design_bs3/templates/_layout_list.html
+++ b/lib/hawat/blueprints/design_bs3/templates/_layout_list.html
@@ -7,7 +7,7 @@
 
                     {{ macros_page.render_breadcrumbs() }}
 
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
                     <div class="pull-right">
                         {{ macros_page.render_menu_actions() }}
                     </div>
diff --git a/lib/hawat/blueprints/design_bs3/templates/_layout_login.html b/lib/hawat/blueprints/design_bs3/templates/_layout_login.html
index bbe4f926..f6b5e1d8 100644
--- a/lib/hawat/blueprints/design_bs3/templates/_layout_login.html
+++ b/lib/hawat/blueprints/design_bs3/templates/_layout_login.html
@@ -8,7 +8,7 @@
 
                         <form method="POST" action="{{ url_for(request.endpoint, next = next) }}">
                             <fieldset>
-                                <legend>{{ get_icon(vial_current_view.get_view_icon()) }} {{ vial_current_view.get_view_title() }}</legend>
+                                <legend>{{ get_icon(hawat_current_view.get_view_icon()) }} {{ hawat_current_view.get_view_title() }}</legend>
 
                                 {%- block loginformfields %}{% endblock loginformfields %}
 
diff --git a/lib/hawat/blueprints/design_bs3/templates/_layout_registration.html b/lib/hawat/blueprints/design_bs3/templates/_layout_registration.html
index 0c42620c..6537a5fc 100644
--- a/lib/hawat/blueprints/design_bs3/templates/_layout_registration.html
+++ b/lib/hawat/blueprints/design_bs3/templates/_layout_registration.html
@@ -1,6 +1,6 @@
 {%- extends "_layout.html" %}
 
-{% block title %}{{ vial_current_view.get_view_title() }}{% endblock %}
+{% block title %}{{ hawat_current_view.get_view_title() }}{% endblock %}
 
 {%- block content %}
 
@@ -10,7 +10,7 @@
 
                         <form method="POST" action="{{ url_for(request.endpoint, next = next) }}">
                             <fieldset>
-                                <legend>{{ get_icon(vial_current_view.get_view_icon()) }} {{ vial_current_view.get_view_title() }}</legend>
+                                <legend>{{ get_icon(hawat_current_view.get_view_icon()) }} {{ hawat_current_view.get_view_title() }}</legend>
 
                                 {%- block registrationformfields %}{% endblock registrationformfields %}
 
diff --git a/lib/hawat/blueprints/design_bs3/templates/_layout_search.html b/lib/hawat/blueprints/design_bs3/templates/_layout_search.html
index a3bce432..b8665964 100644
--- a/lib/hawat/blueprints/design_bs3/templates/_layout_search.html
+++ b/lib/hawat/blueprints/design_bs3/templates/_layout_search.html
@@ -9,7 +9,7 @@
 
                     <!-- Search form - BEGIN ---------------------------------->
                     <div class="jumbotron" style="margin-top: 1em;">
-                        <h2>{{ vial_current_view.get_view_title() }}</h2>
+                        <h2>{{ hawat_current_view.get_view_title() }}</h2>
                         <hr>
                         <form method="GET" class="form" action="{{ url_for(request.endpoint) }}">
                         	{% block contentsearchform %}{% endblock contentsearchform %}
diff --git a/lib/hawat/blueprints/design_bs3/templates/_macros_form.html b/lib/hawat/blueprints/design_bs3/templates/_macros_form.html
index ea5ba52c..6cb67be7 100644
--- a/lib/hawat/blueprints/design_bs3/templates/_macros_form.html
+++ b/lib/hawat/blueprints/design_bs3/templates/_macros_form.html
@@ -182,7 +182,7 @@
                                                         </p>
         {%- endif %}
                                                         {{ caller() }}
-        {%- if vial_current_view.has_help %}
+        {%- if hawat_current_view.has_help %}
                                                         <p>
                                                             {{ macros_page.render_help_link(icon = 'reference', text = _('more help'), tooltip_text = '') }}
                                                         </p>
diff --git a/lib/hawat/blueprints/design_bs3/templates/_macros_page.html b/lib/hawat/blueprints/design_bs3/templates/_macros_page.html
index 97b5ef67..b46dfb1f 100644
--- a/lib/hawat/blueprints/design_bs3/templates/_macros_page.html
+++ b/lib/hawat/blueprints/design_bs3/templates/_macros_page.html
@@ -5,7 +5,7 @@
 ----------------------------------------------------------------------------- #}
 
 {%- macro render_breadcrumbs(context_item = None) %}
-    {%- set breadcrumbs_menu = vial_current_view.get_breadcrumbs_menu() %}
+    {%- set breadcrumbs_menu = hawat_current_view.get_breadcrumbs_menu() %}
     {%- if breadcrumbs_menu %}
                     <!-- Breadcrumbs menu widget - BEGIN ---------------------->
                     <ol class="breadcrumb">
@@ -36,7 +36,7 @@
 
 {%- macro render_menu_actions(context_item = None, action_menu = None) %}
     {%- if not action_menu %}
-    {%- set action_menu = vial_current_view.get_action_menu() %}
+    {%- set action_menu = hawat_current_view.get_action_menu() %}
     {%- endif %}
     {%- if action_menu %}
         {%- set menu_item_list = action_menu.get_entries(item = context_item) %}
@@ -82,7 +82,7 @@
 
 {%- macro render_menu_context_actions(context_item, action_menu = None, cssclass = '', kwargs = {}) %}
     {%- if not action_menu %}
-    {%- set action_menu = vial_current_view.get_context_action_menu() %}
+    {%- set action_menu = hawat_current_view.get_context_action_menu() %}
     {%- endif %}
     {%- if action_menu %}
         {%- set menu_item_list = action_menu.get_entries(item = context_item, **kwargs) %}
@@ -204,5 +204,5 @@
 
 
 {%- macro render_help_link(icon = 'reference', text = _('Help'), tooltip_text = _('View full online documentation'), tooltip_placement = 'bottom', url_suffix = '') %}
-<a href="https://alchemist.cesnet.cz/mentat/doc/production/html/_doclib/hawat_plugin_{{ vial_current_view.module_name }}.html#section-hawat-plugin-{{ vial_current_view.module_name }}-features-{{ vial_current_view.get_view_name() }}{{ url_suffix }}" target="_blank"{% if tooltip_text %} data-toggle="tooltip" data-placement="{{ tooltip_placement }}" title="{{ tooltip_text }}"{% endif %}>{% if icon %}{{ get_icon(icon) }}{% endif %}{% if text %} {{ text }}{% endif %}</a>
+<a href="https://alchemist.cesnet.cz/mentat/doc/production/html/_doclib/hawat_plugin_{{ hawat_current_view.module_name }}.html#section-hawat-plugin-{{ hawat_current_view.module_name }}-features-{{ hawat_current_view.get_view_name() }}{{ url_suffix }}" target="_blank"{% if tooltip_text %} data-toggle="tooltip" data-placement="{{ tooltip_placement }}" title="{{ tooltip_text }}"{% endif %}>{% if icon %}{{ get_icon(icon) }}{% endif %}{% if text %} {{ text }}{% endif %}</a>
 {%- endmacro %}
diff --git a/lib/hawat/blueprints/design_bs3/templates/_macros_site.html b/lib/hawat/blueprints/design_bs3/templates/_macros_site.html
index c59a60ae..a9ca93df 100644
--- a/lib/hawat/blueprints/design_bs3/templates/_macros_site.html
+++ b/lib/hawat/blueprints/design_bs3/templates/_macros_site.html
@@ -11,7 +11,7 @@
 
                     <!-- Main menu widget - BEGIN ----------------------------->
                     <ul class="nav navbar-nav">
-    {%- for menu_item in vial_current_menu_main.get_entries() recursive %}
+    {%- for menu_item in hawat_current_menu_main.get_entries() recursive %}
         {%- set menu_item_submenu = menu_item.get_entries() %}
         {%- if menu_item.group %}
                         <li role="separator" class="divider"></li>
@@ -54,7 +54,7 @@
                                 {%- if current_user.has_role('admin') %}{{ get_icon('role-admin') }}{% elif current_user.has_role('maintainer') %}{{ get_icon('role-maintainer') }}{% elif current_user.has_role('developer') %}{{ get_icon('role-developer') }}{% else %}{{ get_icon('role-user') }}{% endif %}<span class="hidden-sm hidden-md"> {{ current_user.login }}</span> <span class="caret"></span>
                             </a>
                             <ul class="dropdown-menu">
-        {%- for menu_item in vial_current_menu_auth.get_entries() recursive %}
+        {%- for menu_item in hawat_current_menu_auth.get_entries() recursive %}
             {%- set menu_item_submenu = menu_item.get_entries() %}
             {%- if menu_item.group %}
                                 <li role="separator" class="divider"></li>
@@ -91,7 +91,7 @@
                                 {{ get_icon('role-anonymous') }}<span class="hidden-sm hidden-md"> {{ _('Anonymous') }}</span> <span class="caret"></span>
                             </a>
                             <ul class="dropdown-menu">
-        {%- for menu_item in vial_current_menu_anon.get_entries() recursive %}
+        {%- for menu_item in hawat_current_menu_anon.get_entries() recursive %}
             {%- set menu_item_submenu = menu_item.get_entries() %}
             {%- if menu_item.group %}
                                 <li role="separator" class="divider"></li>
diff --git a/lib/hawat/blueprints/devtools/__init__.py b/lib/hawat/blueprints/devtools/__init__.py
index 0c162d02..ba80f4ad 100644
--- a/lib/hawat/blueprints/devtools/__init__.py
+++ b/lib/hawat/blueprints/devtools/__init__.py
@@ -14,7 +14,7 @@ import flask_debugtoolbar
 from flask_babel import lazy_gettext
 
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import SimpleView
 from hawat.view.mixin import HTMLMixin
 
diff --git a/lib/hawat/blueprints/devtools/templates/devtools/config.html b/lib/hawat/blueprints/devtools/templates/devtools/config.html
index 458c30a6..3c874801 100644
--- a/lib/hawat/blueprints/devtools/templates/devtools/config.html
+++ b/lib/hawat/blueprints/devtools/templates/devtools/config.html
@@ -4,7 +4,7 @@
 
             <div class="row">
                 <div class="col-lg-12">
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
 
                     <h3>{{ _('Enabled modules') }}</h3>
                     <table class="table">
@@ -93,21 +93,21 @@
 
                     <h3>{{ _('Menu - main') }}</h3>
                     <pre class="pre-scrollable">
-{{ vial_current_menu_main|pprint }}
+{{ hawat_current_menu_main|pprint }}
 ---
-{{ vial_current_menu_main.get_entries()|pprint }}</pre>
+{{ hawat_current_menu_main.get_entries()|pprint }}</pre>
 
                     <h3>{{ _('Menu - auth') }}</h3>
                     <pre class="pre-scrollable">
-{{ vial_current_menu_auth|pprint }}
+{{ hawat_current_menu_auth|pprint }}
 ---
-{{ vial_current_menu_auth.get_entries()|pprint }}</pre>
+{{ hawat_current_menu_auth.get_entries()|pprint }}</pre>
 
                     <h3>{{ _('Menu - anon') }}</h3>
                     <pre class="pre-scrollable">
-{{ vial_current_menu_anon|pprint }}
+{{ hawat_current_menu_anon|pprint }}
 ---
-{{ vial_current_menu_anon.get_entries()|pprint }}</pre>
+{{ hawat_current_menu_anon.get_entries()|pprint }}</pre>
 
                 </div><!-- /.col-lg-12 -->
             </div><!-- /.row -->
diff --git a/lib/hawat/blueprints/dnsr/__init__.py b/lib/hawat/blueprints/dnsr/__init__.py
index d58280ac..64d53357 100644
--- a/lib/hawat/blueprints/dnsr/__init__.py
+++ b/lib/hawat/blueprints/dnsr/__init__.py
@@ -54,7 +54,7 @@ from mentat.const import tr_
 import hawat.db
 import hawat.const
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import RenderableView
 from hawat.view.mixin import HTMLMixin, AJAXMixin, SnippetMixin
 from hawat.utils import URLParamsBuilder
diff --git a/lib/hawat/blueprints/dnsr/templates/dnsr/search.html b/lib/hawat/blueprints/dnsr/templates/dnsr/search.html
index 964d1ed2..85262006 100644
--- a/lib/hawat/blueprints/dnsr/templates/dnsr/search.html
+++ b/lib/hawat/blueprints/dnsr/templates/dnsr/search.html
@@ -6,7 +6,7 @@
                 <div class="col-lg-12">
 
                     <div class="jumbotron" style="margin-top: 1em;">
-                        <h2>{{ vial_current_view.get_view_title() }}</h2>
+                        <h2>{{ hawat_current_view.get_view_title() }}</h2>
                         <form method="GET" class="form-inline" action="{{ url_for('dnsr.search') }}">
                             <div class="form-group{% if search_form.search.errors %}{{ ' has-error' }}{% endif %}">
                                 {{ search_form.search.label(class_='sr-only') }}
diff --git a/lib/hawat/blueprints/events/__init__.py b/lib/hawat/blueprints/events/__init__.py
index 9eb61c96..e0d8733a 100644
--- a/lib/hawat/blueprints/events/__init__.py
+++ b/lib/hawat/blueprints/events/__init__.py
@@ -33,7 +33,7 @@ import hawat.const
 import hawat.events
 import hawat.const
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import BaseView, SimpleView, BaseSearchView, ItemShowView
 from hawat.view.mixin import HTMLMixin, AJAXMixin, SQLAlchemyMixin
 from hawat.utils import URLParamsBuilder
diff --git a/lib/hawat/blueprints/events/templates/events/dashboard.html b/lib/hawat/blueprints/events/templates/events/dashboard.html
index b283393a..3a4816fd 100644
--- a/lib/hawat/blueprints/events/templates/events/dashboard.html
+++ b/lib/hawat/blueprints/events/templates/events/dashboard.html
@@ -9,7 +9,7 @@
 
                     <!-- Search form - BEGIN ---------------------------------->
                     <div class="jumbotron" style="margin-top: 1em;">
-                        <h2>{{ vial_current_view.get_view_title() }}</h2>
+                        <h2>{{ hawat_current_view.get_view_title() }}</h2>
                         <hr>
                         <form method="GET" class="form" action="{{ url_for(request.endpoint) }}">
                             <div class="row">
diff --git a/lib/hawat/blueprints/events/templates/events/show.html b/lib/hawat/blueprints/events/templates/events/show.html
index 91dabd4f..274733f0 100644
--- a/lib/hawat/blueprints/events/templates/events/show.html
+++ b/lib/hawat/blueprints/events/templates/events/show.html
@@ -17,7 +17,7 @@
                         </li>
                     </ol>
                     <h2>
-                        {{ vial_current_view.get_view_title() }}
+                        {{ hawat_current_view.get_view_title() }}
                     </h2>
                     <hr>
                     <h3>
diff --git a/lib/hawat/blueprints/filters/__init__.py b/lib/hawat/blueprints/filters/__init__.py
index d17fbcde..bee78853 100644
--- a/lib/hawat/blueprints/filters/__init__.py
+++ b/lib/hawat/blueprints/filters/__init__.py
@@ -47,7 +47,7 @@ from mentat.idea.internal import Idea, IDEAFilterCompiler
 
 import hawat.const
 import hawat.db
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import RenderableView, ItemListView, ItemShowView, ItemCreateView, ItemCreateForView, ItemUpdateView, ItemDeleteView, ItemEnableView, ItemDisableView
 from hawat.view.mixin import HTMLMixin, SQLAlchemyMixin
 import hawat.events
diff --git a/lib/hawat/blueprints/filters/templates/filters/playground.html b/lib/hawat/blueprints/filters/templates/filters/playground.html
index 70c917ea..96f9453b 100644
--- a/lib/hawat/blueprints/filters/templates/filters/playground.html
+++ b/lib/hawat/blueprints/filters/templates/filters/playground.html
@@ -7,7 +7,7 @@
                     {{ macros_page.render_breadcrumbs(item) }}
 
                     <div class="jumbotron" style="margin-top: 1em;">
-                        <h2>{{ vial_current_view.get_view_title() }}</h2>
+                        <h2>{{ hawat_current_view.get_view_title() }}</h2>
                         <hr>
                         <form method="POST" class="form-horizontal" id="form-events-simple" action="{{ form_url }}">
                             {{ macros_form.render_form_item_default(form.filter, placeholder = _('Write your filtering rule here...')) }}
diff --git a/lib/hawat/blueprints/filters/templates/filters/show.html b/lib/hawat/blueprints/filters/templates/filters/show.html
index b93b1ed1..bbfade96 100644
--- a/lib/hawat/blueprints/filters/templates/filters/show.html
+++ b/lib/hawat/blueprints/filters/templates/filters/show.html
@@ -6,7 +6,7 @@
                 <div class="col-lg-12">
                     {{ macros_page.render_breadcrumbs(item) }}
 
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
                     <hr>
                     <h3>{{ item.name }}</h3>
                     <div class="pull-right">
diff --git a/lib/hawat/blueprints/geoip/__init__.py b/lib/hawat/blueprints/geoip/__init__.py
index 43f52f37..26ad6db7 100644
--- a/lib/hawat/blueprints/geoip/__init__.py
+++ b/lib/hawat/blueprints/geoip/__init__.py
@@ -57,7 +57,7 @@ from mentat.const import tr_
 import hawat.db
 import hawat.const
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import RenderableView
 from hawat.view.mixin import HTMLMixin, AJAXMixin, SnippetMixin
 from hawat.utils import URLParamsBuilder
diff --git a/lib/hawat/blueprints/geoip/templates/geoip/search.html b/lib/hawat/blueprints/geoip/templates/geoip/search.html
index 9fd4069a..85268def 100644
--- a/lib/hawat/blueprints/geoip/templates/geoip/search.html
+++ b/lib/hawat/blueprints/geoip/templates/geoip/search.html
@@ -7,7 +7,7 @@
                 <div class="col-lg-12">
 
                     <div class="jumbotron" style="margin-top: 1em;">
-                        <h2>{{ vial_current_view.get_view_title() }}</h2>
+                        <h2>{{ hawat_current_view.get_view_title() }}</h2>
                         <form method="GET" class="form-inline" action="{{ url_for('geoip.search') }}">
                             <div class="form-group{% if search_form.search.errors %}{{ ' has-error' }}{% endif %}">
                                 {{ search_form.search.label(class_='sr-only') }}
diff --git a/lib/hawat/blueprints/groups/__init__.py b/lib/hawat/blueprints/groups/__init__.py
index 7532bb5f..f4b6d487 100644
--- a/lib/hawat/blueprints/groups/__init__.py
+++ b/lib/hawat/blueprints/groups/__init__.py
@@ -42,7 +42,7 @@ from mentat.const import tr_
 import hawat.acl
 import hawat.menu
 from hawat.utils import URLParamsBuilder
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import ItemListView, ItemShowView, ItemCreateView, ItemUpdateView, ItemDeleteView, ItemEnableView, ItemDisableView, ItemObjectRelationView
 from hawat.view.mixin import HTMLMixin, SQLAlchemyMixin
 from hawat.blueprints.groups.forms import AdminCreateGroupForm, AdminUpdateGroupForm, UpdateGroupForm, GroupSearchForm
diff --git a/lib/hawat/blueprints/groups/templates/groups/show.html b/lib/hawat/blueprints/groups/templates/groups/show.html
index 84ba2992..67c390a8 100644
--- a/lib/hawat/blueprints/groups/templates/groups/show.html
+++ b/lib/hawat/blueprints/groups/templates/groups/show.html
@@ -6,7 +6,7 @@
                 <div class="col-lg-12">
                     {{ macros_page.render_breadcrumbs(item) }}
 
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
                     <hr>
                     <h3>{{ item.name }}{% if item.description %} <small>{{ item.description }}</small>{% endif %}</h3>
                     <div class="pull-right">
diff --git a/lib/hawat/blueprints/home/__init__.py b/lib/hawat/blueprints/home/__init__.py
index 1a6478c8..cc8a5e0f 100644
--- a/lib/hawat/blueprints/home/__init__.py
+++ b/lib/hawat/blueprints/home/__init__.py
@@ -29,7 +29,7 @@ __credits__ = "Pavel Kácha <pavel.kacha@cesnet.cz>, Andrea Kropáčová <andrea
 
 from flask_babel import lazy_gettext
 
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import SimpleView
 from hawat.view.mixin import HTMLMixin
 
diff --git a/lib/hawat/blueprints/home/templates/home/index.html b/lib/hawat/blueprints/home/templates/home/index.html
index 746cf4ec..ea99e714 100644
--- a/lib/hawat/blueprints/home/templates/home/index.html
+++ b/lib/hawat/blueprints/home/templates/home/index.html
@@ -1,13 +1,13 @@
 {% extends "_layout.html" %}
 
-{% block title %}{{ vial_current_view.get_view_title() }}{% endblock %}
+{% block title %}{{ hawat_current_view.get_view_title() }}{% endblock %}
 
 {% block content %}
 <div class="row">
     <div class="col-lg-12">
         <div class="jumbotron" style="margin-top: 1em;">
             <h1 class="text-center">
-                {{ vial_current_view.get_view_title() }}
+                {{ hawat_current_view.get_view_title() }}
             </h1>
             <hr>
             <br>
diff --git a/lib/hawat/blueprints/hosts/__init__.py b/lib/hawat/blueprints/hosts/__init__.py
index 24d02b2a..26998960 100644
--- a/lib/hawat/blueprints/hosts/__init__.py
+++ b/lib/hawat/blueprints/hosts/__init__.py
@@ -33,7 +33,7 @@ from mentat.const import tr_
 import hawat.events
 import hawat.const
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import BaseSearchView
 from hawat.view.mixin import HTMLMixin, AJAXMixin
 from hawat.utils import URLParamsBuilder
diff --git a/lib/hawat/blueprints/hosts/templates/hosts/search.html b/lib/hawat/blueprints/hosts/templates/hosts/search.html
index 3d6c6429..954ac5b3 100644
--- a/lib/hawat/blueprints/hosts/templates/hosts/search.html
+++ b/lib/hawat/blueprints/hosts/templates/hosts/search.html
@@ -9,7 +9,7 @@
 
                     <!-- Search form - BEGIN ---------------------------------->
                     <div class="jumbotron" style="margin-top: 1em;">
-                        <h2>{{ vial_current_view.get_view_title() }}</h2>
+                        <h2>{{ hawat_current_view.get_view_title() }}</h2>
                         <hr>
                         <form method="GET" class="form" action="{{ url_for(request.endpoint) }}">
                             <div class="row">
diff --git a/lib/hawat/blueprints/nerd/__init__.py b/lib/hawat/blueprints/nerd/__init__.py
index ad1e9f12..abaa9aa4 100644
--- a/lib/hawat/blueprints/nerd/__init__.py
+++ b/lib/hawat/blueprints/nerd/__init__.py
@@ -55,7 +55,7 @@ from mentat.const import tr_
 import hawat.db
 import hawat.const
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import RenderableView
 from hawat.view.mixin import HTMLMixin, AJAXMixin, SnippetMixin
 from hawat.utils import URLParamsBuilder
diff --git a/lib/hawat/blueprints/nerd/templates/nerd/search.html b/lib/hawat/blueprints/nerd/templates/nerd/search.html
index 1fa6e50a..6a953433 100644
--- a/lib/hawat/blueprints/nerd/templates/nerd/search.html
+++ b/lib/hawat/blueprints/nerd/templates/nerd/search.html
@@ -7,7 +7,7 @@
                 <div class="col-lg-12">
 
                     <div class="jumbotron" style="margin-top: 1em;">
-                        <h2>{{ vial_current_view.get_view_title() }}</h2>
+                        <h2>{{ hawat_current_view.get_view_title() }}</h2>
                         <form method="GET" class="form-inline" action="{{ url_for('nerd.search') }}">
                             <div class="form-group{% if search_form.search.errors %}{{ ' has-error' }}{% endif %}">
                                 {{ search_form.search.label(class_='sr-only') }}
diff --git a/lib/hawat/blueprints/networks/__init__.py b/lib/hawat/blueprints/networks/__init__.py
index a6540e01..a11b7673 100644
--- a/lib/hawat/blueprints/networks/__init__.py
+++ b/lib/hawat/blueprints/networks/__init__.py
@@ -34,7 +34,7 @@ from sqlalchemy import or_
 from mentat.datatype.sqldb import NetworkModel, GroupModel, ItemChangeLogModel
 
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import ItemListView, ItemShowView, ItemCreateView, ItemCreateForView, ItemUpdateView, ItemDeleteView
 from hawat.view.mixin import HTMLMixin, SQLAlchemyMixin
 from hawat.blueprints.networks.forms import BaseNetworkForm, AdminNetworkForm, NetworkSearchForm
diff --git a/lib/hawat/blueprints/networks/templates/networks/show.html b/lib/hawat/blueprints/networks/templates/networks/show.html
index 8422897a..dd97cafb 100644
--- a/lib/hawat/blueprints/networks/templates/networks/show.html
+++ b/lib/hawat/blueprints/networks/templates/networks/show.html
@@ -6,7 +6,7 @@
                 <div class="col-lg-12">
                     {{ macros_page.render_breadcrumbs(item) }}
 
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
                     <hr>
                     <h3>{{ item.netname }}</h3>
                     <div class="pull-right">
diff --git a/lib/hawat/blueprints/pdnsr/__init__.py b/lib/hawat/blueprints/pdnsr/__init__.py
index 4bc6fb9a..11f7baaf 100644
--- a/lib/hawat/blueprints/pdnsr/__init__.py
+++ b/lib/hawat/blueprints/pdnsr/__init__.py
@@ -55,7 +55,7 @@ from mentat.const import tr_
 import hawat.db
 import hawat.const
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import RenderableView
 from hawat.view.mixin import HTMLMixin, AJAXMixin, SnippetMixin
 from hawat.utils import URLParamsBuilder
diff --git a/lib/hawat/blueprints/pdnsr/templates/pdnsr/search.html b/lib/hawat/blueprints/pdnsr/templates/pdnsr/search.html
index c1d3c94c..36bb478d 100644
--- a/lib/hawat/blueprints/pdnsr/templates/pdnsr/search.html
+++ b/lib/hawat/blueprints/pdnsr/templates/pdnsr/search.html
@@ -7,7 +7,7 @@
                 <div class="col-lg-12">
 
                     <div class="jumbotron" style="margin-top: 1em;">
-                        <h2>{{ vial_current_view.get_view_title() }}</h2>
+                        <h2>{{ hawat_current_view.get_view_title() }}</h2>
                         <form method="GET" class="form-inline" action="{{ url_for('pdnsr.search') }}">
                             <div class="form-group{% if search_form.search.errors %}{{ ' has-error' }}{% endif %}">
                                 {{ search_form.search.label(class_='sr-only') }}
diff --git a/lib/hawat/blueprints/performance/__init__.py b/lib/hawat/blueprints/performance/__init__.py
index cb87e8b4..143f9509 100644
--- a/lib/hawat/blueprints/performance/__init__.py
+++ b/lib/hawat/blueprints/performance/__init__.py
@@ -25,7 +25,7 @@ from flask_babel import gettext, lazy_gettext
 import mentat.const
 import mentat.stats.rrd
 
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import SimpleView, FileNameView
 from hawat.view.mixin import HTMLMixin
 
diff --git a/lib/hawat/blueprints/performance/templates/performance/view.html b/lib/hawat/blueprints/performance/templates/performance/view.html
index 9135eec0..f243caa1 100644
--- a/lib/hawat/blueprints/performance/templates/performance/view.html
+++ b/lib/hawat/blueprints/performance/templates/performance/view.html
@@ -4,7 +4,7 @@
 
 <div class="row">
     <div class="col-lg-12">
-        <h2>{{ vial_current_view.get_view_title() }}</h2>
+        <h2>{{ hawat_current_view.get_view_title() }}</h2>
         <hr>
 
         <!-- Nav tabs -->
diff --git a/lib/hawat/blueprints/reports/__init__.py b/lib/hawat/blueprints/reports/__init__.py
index 22ad4c52..dc424987 100644
--- a/lib/hawat/blueprints/reports/__init__.py
+++ b/lib/hawat/blueprints/reports/__init__.py
@@ -41,7 +41,7 @@ import hawat.const
 
 import hawat.menu
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import RenderableView, FileIdView, BaseSearchView, ItemShowView, ItemDeleteView
 from hawat.view.mixin import HTMLMixin, AJAXMixin, SQLAlchemyMixin
 from hawat.utils import URLParamsBuilder
diff --git a/lib/hawat/blueprints/reports/templates/reports/dashboard.html b/lib/hawat/blueprints/reports/templates/reports/dashboard.html
index 935e1d0c..292a080f 100644
--- a/lib/hawat/blueprints/reports/templates/reports/dashboard.html
+++ b/lib/hawat/blueprints/reports/templates/reports/dashboard.html
@@ -9,7 +9,7 @@
 
                     <!-- Search form - BEGIN ---------------------------------->
                     <div class="jumbotron" style="margin-top: 1em;">
-                        <h2>{{ vial_current_view.get_view_title() }}</h2>
+                        <h2>{{ hawat_current_view.get_view_title() }}</h2>
                         <hr>
                         <form method="GET" class="form" action="{{ url_for(request.endpoint) }}">
                             <div class="row">
diff --git a/lib/hawat/blueprints/reports/templates/reports/show.html b/lib/hawat/blueprints/reports/templates/reports/show.html
index 2215cc44..9d3db855 100644
--- a/lib/hawat/blueprints/reports/templates/reports/show.html
+++ b/lib/hawat/blueprints/reports/templates/reports/show.html
@@ -12,7 +12,7 @@
                     </ol>
                     {%- endif %}
 
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
                     <hr>
                     <h3>
                         {{ item.label }}
diff --git a/lib/hawat/blueprints/settings_reporting/__init__.py b/lib/hawat/blueprints/settings_reporting/__init__.py
index 0afde339..e2ca10ef 100644
--- a/lib/hawat/blueprints/settings_reporting/__init__.py
+++ b/lib/hawat/blueprints/settings_reporting/__init__.py
@@ -31,7 +31,7 @@ import mentat.reports.utils
 from mentat.datatype.sqldb import SettingsReportingModel, ItemChangeLogModel
 
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import ItemShowView, ItemCreateView, ItemUpdateView
 from hawat.view.mixin import HTMLMixin, SQLAlchemyMixin
 from hawat.blueprints.settings_reporting.forms import CreateSettingsReportingForm,\
diff --git a/lib/hawat/blueprints/settings_reporting/templates/settings_reporting/creatupdate.html b/lib/hawat/blueprints/settings_reporting/templates/settings_reporting/creatupdate.html
index 87d80123..c0cc7c77 100644
--- a/lib/hawat/blueprints/settings_reporting/templates/settings_reporting/creatupdate.html
+++ b/lib/hawat/blueprints/settings_reporting/templates/settings_reporting/creatupdate.html
@@ -16,7 +16,7 @@
 
                         <form method="POST" action="{{ form_url }}">
                             <fieldset>
-                                <legend>{{ vial_current_view.get_view_title() }}</legend>
+                                <legend>{{ hawat_current_view.get_view_title() }}</legend>
     {%- if item_action == 'create' %}
 
                                 {{ macros_form.render_form_item_default(form.group) }}
diff --git a/lib/hawat/blueprints/settings_reporting/templates/settings_reporting/show.html b/lib/hawat/blueprints/settings_reporting/templates/settings_reporting/show.html
index 26beac6b..bb4e9dbc 100644
--- a/lib/hawat/blueprints/settings_reporting/templates/settings_reporting/show.html
+++ b/lib/hawat/blueprints/settings_reporting/templates/settings_reporting/show.html
@@ -6,7 +6,7 @@
                 <div class="col-lg-12">
                     {{ macros_page.render_breadcrumbs(item) }}
 
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
                     <hr>
                     <h3>{{ _('Reporting settings for group %(item)s', item = item.group.name) }}{% if item.group.description %} <small>{{ item.group.description }}</small>{% endif %}</h3>
                     <div class="pull-right">
diff --git a/lib/hawat/blueprints/skeleton/__init__.py b/lib/hawat/blueprints/skeleton/__init__.py
index 5f1b2f25..52d88113 100644
--- a/lib/hawat/blueprints/skeleton/__init__.py
+++ b/lib/hawat/blueprints/skeleton/__init__.py
@@ -20,7 +20,7 @@ __credits__ = "Pavel Kácha <pavel.kacha@cesnet.cz>, Andrea Kropáčová <andrea
 import flask_login
 from flask_babel import lazy_gettext
 
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import SimpleView
 from hawat.view.mixin import HTMLMixin
 
diff --git a/lib/hawat/blueprints/skeleton/templates/skeleton/search.html b/lib/hawat/blueprints/skeleton/templates/skeleton/search.html
index 9a9676ef..b38b7471 100644
--- a/lib/hawat/blueprints/skeleton/templates/skeleton/search.html
+++ b/lib/hawat/blueprints/skeleton/templates/skeleton/search.html
@@ -4,7 +4,7 @@
 
 <div class="row">
     <div class="col-lg-12">
-        <h2>{{ vial_current_view.get_view_title() }}</h2>
+        <h2>{{ hawat_current_view.get_view_title() }}</h2>
 
         <form class="form-inline" id="frm-whi" method="get" action="{{ url_for('whois.search') }}">
             <div class="form-group">
diff --git a/lib/hawat/blueprints/status/__init__.py b/lib/hawat/blueprints/status/__init__.py
index d7effc1d..606ed42a 100644
--- a/lib/hawat/blueprints/status/__init__.py
+++ b/lib/hawat/blueprints/status/__init__.py
@@ -38,7 +38,7 @@ from flask_babel import gettext, lazy_gettext
 import pyzenkit.jsonconf
 import mentat.system
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import SimpleView
 from hawat.view.mixin import HTMLMixin
 
diff --git a/lib/hawat/blueprints/status/templates/status/view.html b/lib/hawat/blueprints/status/templates/status/view.html
index b1cdce0f..9d885b74 100644
--- a/lib/hawat/blueprints/status/templates/status/view.html
+++ b/lib/hawat/blueprints/status/templates/status/view.html
@@ -8,7 +8,7 @@
                         <li><a href="{{ url_for('home.index') }}">{{ _('Home') }}</a></li>
                         <li class="active">{{ _('System status') }}</li>
                     </ol>
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
                     <hr>
 {%- if mentat_status and mentat_modules and mentat_cronjobs and mentat_runlogs %}
                     <p>
diff --git a/lib/hawat/blueprints/timeline/__init__.py b/lib/hawat/blueprints/timeline/__init__.py
index 76805df5..c05f99bc 100644
--- a/lib/hawat/blueprints/timeline/__init__.py
+++ b/lib/hawat/blueprints/timeline/__init__.py
@@ -34,7 +34,7 @@ from mentat.services.eventstorage import QTYPE_TIMELINE
 import hawat.events
 import hawat.const
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import BaseSearchView, CustomSearchView
 from hawat.view.mixin import HTMLMixin, AJAXMixin
 from hawat.utils import URLParamsBuilder
diff --git a/lib/hawat/blueprints/users/__init__.py b/lib/hawat/blueprints/users/__init__.py
index ba70c1aa..bdce2b17 100644
--- a/lib/hawat/blueprints/users/__init__.py
+++ b/lib/hawat/blueprints/users/__init__.py
@@ -38,7 +38,7 @@ from sqlalchemy import or_
 
 import hawat.const
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import ItemListView, ItemShowView, ItemCreateView, ItemUpdateView, ItemDeleteView, ItemEnableView, ItemDisableView, ItemObjectRelationView
 from hawat.view.mixin import HTMLMixin, SQLAlchemyMixin
 from hawat.blueprints.users.forms import CreateUserAccountForm, UpdateUserAccountForm, AdminUpdateUserAccountForm, UserSearchForm
diff --git a/lib/hawat/blueprints/users/templates/users/show.html b/lib/hawat/blueprints/users/templates/users/show.html
index d5a3d9bb..7a50b088 100644
--- a/lib/hawat/blueprints/users/templates/users/show.html
+++ b/lib/hawat/blueprints/users/templates/users/show.html
@@ -6,7 +6,7 @@
                 <div class="col-lg-12">
                     {{ macros_page.render_breadcrumbs(item) }}
 
-                    <h2>{{ vial_current_view.get_view_title() }}</h2>
+                    <h2>{{ hawat_current_view.get_view_title() }}</h2>
                     <hr>
                     <h3>{{ item.fullname }} ({{ item.login }})</h3>
                     <div class="pull-right">
diff --git a/lib/hawat/blueprints/whois/__init__.py b/lib/hawat/blueprints/whois/__init__.py
index 04b02720..7e9ae214 100644
--- a/lib/hawat/blueprints/whois/__init__.py
+++ b/lib/hawat/blueprints/whois/__init__.py
@@ -62,7 +62,7 @@ import hawat.const
 import hawat.db
 import hawat.const
 import hawat.acl
-from hawat.app import HawatBlueprint
+from hawat.base import HawatBlueprint
 from hawat.view import RenderableView
 from hawat.view.mixin import HTMLMixin, AJAXMixin, SnippetMixin
 from hawat.utils import URLParamsBuilder
diff --git a/lib/hawat/blueprints/whois/templates/whois/search.html b/lib/hawat/blueprints/whois/templates/whois/search.html
index 4b37a918..c743219b 100644
--- a/lib/hawat/blueprints/whois/templates/whois/search.html
+++ b/lib/hawat/blueprints/whois/templates/whois/search.html
@@ -6,7 +6,7 @@
                 <div class="col-lg-12">
 
                     <div class="jumbotron" style="margin-top: 1em;">
-                        <h2>{{ vial_current_view.get_view_title() }}</h2>
+                        <h2>{{ hawat_current_view.get_view_title() }}</h2>
                         <form method="GET" class="form-inline" action="{{ url_for('whois.search') }}">
                             <div class="form-group{% if search_form.search.errors %}{{ ' has-error' }}{% endif %}">
                                 {{ search_form.search.label(class_='sr-only') }}
diff --git a/lib/hawat/config.py b/lib/hawat/config.py
index ae0fae83..861b6263 100644
--- a/lib/hawat/config.py
+++ b/lib/hawat/config.py
@@ -56,8 +56,9 @@ import pyzenkit.utils
 import mentat.const
 from mentat.datatype.sqldb import UserModel, GroupModel, ItemChangeLogModel
 
+import hawat.const
 
-class Config(hawat.config.Config):  # pylint: disable=locally-disabled,too-few-public-methods
+class Config:  # pylint: disable=locally-disabled,too-few-public-methods
     """
     Base class for default configurations of Hawat application. You are free to
     extend and customize contents of this class to provide better default values
@@ -269,13 +270,13 @@ class Config(hawat.config.Config):  # pylint: disable=locally-disabled,too-few-p
     ICONS = hawat.const.ICONS
 
 
-class ProductionConfig(Config, hawat.config.ProductionConfig):  # pylint: disable=locally-disabled,too-few-public-methods
+class ProductionConfig(Config):  # pylint: disable=locally-disabled,too-few-public-methods
     """
     Class containing application configurations for *production* environment.
     """
 
 
-class DevelopmentConfig(Config, hawat.config.DevelopmentConfig):  # pylint: disable=locally-disabled,too-few-public-methods
+class DevelopmentConfig(Config):  # pylint: disable=locally-disabled,too-few-public-methods
     """
     Class containing application configurations for *development* environment.
     """
@@ -327,7 +328,7 @@ class DevelopmentConfig(Config, hawat.config.DevelopmentConfig):  # pylint: disa
     LOG_FILE_LEVEL = 'debug'
 
 
-class TestingConfig(Config, hawat.config.TestingConfig):  # pylint: disable=locally-disabled,too-few-public-methods
+class TestingConfig(Config):  # pylint: disable=locally-disabled,too-few-public-methods
     """
     Class containing *testing* Hawat applications` configurations.
     """
diff --git a/lib/hawat/templates/app-main.js b/lib/hawat/templates/app-main.js
index fc16a851..d63346b2 100644
--- a/lib/hawat/templates/app-main.js
+++ b/lib/hawat/templates/app-main.js
@@ -224,22 +224,22 @@ var Hawat = (function () {
         Hawat application configurations.
     */
     var _configs = {
-        'APPLICATION_ROOT': '{{ vial_current_app.config['APPLICATION_ROOT'] }}'
+        'APPLICATION_ROOT': '{{ hawat_current_app.config['APPLICATION_ROOT'] }}'
     };
 
     /**
         Hawat application icon set.
     */
-    var _icons = {{ vial_current_app.icons | tojson | safe }};
+    var _icons = {{ hawat_current_app.icons | tojson | safe }};
 
     /**
         Data structure containing registrations of context search action groups
         for particular object types.
     */
     var _csag = {
-{%- for csag_name in vial_current_app.csag.keys() | sort %}
+{%- for csag_name in hawat_current_app.csag.keys() | sort %}
         '{{ csag_name }}': [
-    {%- for csag in vial_current_app.csag[csag_name] %}
+    {%- for csag in hawat_current_app.csag[csag_name] %}
         {%- if 'view' in csag %}
             {
                 'title':    '{{ _(csag.title, name = '{name}') }}',
@@ -262,9 +262,9 @@ var Hawat = (function () {
         for particular object types.
     */
     var _oads = {
-{%- for oads_name in vial_current_app.oads.keys() | sort %}
+{%- for oads_name in hawat_current_app.oads.keys() | sort %}
         '{{ oads_name }}': [
-    {%- for oads in vial_current_app.oads[oads_name] %}
+    {%- for oads in hawat_current_app.oads[oads_name] %}
         {%- if 'view' in oads %}
             {
                 'endpoint': '{{ oads.view.get_view_endpoint() }}',
diff --git a/lib/hawat/templates/registration/email_admins.txt b/lib/hawat/templates/registration/email_admins.txt
index 4ec6751c..5c63ba52 100644
--- a/lib/hawat/templates/registration/email_admins.txt
+++ b/lib/hawat/templates/registration/email_admins.txt
@@ -1,6 +1,6 @@
 {{ _('Dear administrator,') | wordwrap }}
 
-{{ _('a new account "%(item_id)s" was just registered in %(app_name)s. Please review the following request and activate or delete the account:', item_id = account.login, app_name = vial_appname) | wordwrap }}
+{{ _('a new account "%(item_id)s" was just registered in %(app_name)s. Please review the following request and activate or delete the account:', item_id = account.login, app_name = hawat_appname) | wordwrap }}
 
     {{ '{:16s}'.format(_('Login:')) }} {{ account.login }}
     {{ '{:16s}'.format(_('Full name:')) }} {{ account.fullname }}
@@ -24,4 +24,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/templates/registration/email_managers.txt b/lib/hawat/templates/registration/email_managers.txt
index c3b79bb7..2f8ae69b 100644
--- a/lib/hawat/templates/registration/email_managers.txt
+++ b/lib/hawat/templates/registration/email_managers.txt
@@ -1,6 +1,6 @@
 {{ _('Dear group manager,') | wordwrap }}
 
-{{ _('a new account "%(item_id)s" was just registered in %(app_name)s and user requested membership in your group "%(group_id)s". Please review the following information and approve or reject the request:', item_id = account.login, app_name = vial_appname, group_id = group.name) | wordwrap }}
+{{ _('a new account "%(item_id)s" was just registered in %(app_name)s and user requested membership in your group "%(group_id)s". Please review the following information and approve or reject the request:', item_id = account.login, app_name = hawat_appname, group_id = group.name) | wordwrap }}
 
     {{ '{:16s}'.format(_('Login:')) }} {{ account.login }}
     {{ '{:16s}'.format(_('Full name:')) }} {{ account.fullname }}
@@ -17,4 +17,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/templates/registration/email_user.txt b/lib/hawat/templates/registration/email_user.txt
index fd0a4f90..0eaccda2 100644
--- a/lib/hawat/templates/registration/email_user.txt
+++ b/lib/hawat/templates/registration/email_user.txt
@@ -1,6 +1,6 @@
 {{ _('Dear user,') | wordwrap }}
 
-{{ _('this email is a confirmation, that you have successfully registered your new user account "%(item_id)s" in %(app_name)s.', item_id = account.login, app_name = vial_appname) | wordwrap }}
+{{ _('this email is a confirmation, that you have successfully registered your new user account "%(item_id)s" in %(app_name)s.', item_id = account.login, app_name = hawat_appname) | wordwrap }}
 
 {{ _('During the registration process you have provided following information:') | wordwrap }}
 
@@ -28,4 +28,4 @@
 
 {{ _('Have a nice day') | wordwrap }}
 
--- {{ vial_appname }}
+-- {{ hawat_appname }}
diff --git a/lib/hawat/test/__init__.py b/lib/hawat/test/__init__.py
index bb036ef4..0bbf8c91 100644
--- a/lib/hawat/test/__init__.py
+++ b/lib/hawat/test/__init__.py
@@ -15,9 +15,9 @@ import unittest
 import pprint
 import logging
 import flask_mail
-import vial
-import vial.app
-import vial.db
+import hawat
+import hawat.app
+import hawat.db
 
 
 class do_as_user_decorator:  # pylint: disable=locally-disabled,invalid-name,too-few-public-methods
@@ -56,9 +56,9 @@ def app_context_wrapper_decorator(func):
     return wrapped_f
 
 
-class VialTestCase(unittest.TestCase):
+class HawatTestCase(unittest.TestCase):
     """
-    Class for testing :py:class:`vial.app.Vial` application.
+    Class for testing :py:class:`hawat.app.Hawat` application.
     """
 
     logger = logging.getLogger()
@@ -108,8 +108,8 @@ class VialTestCase(unittest.TestCase):
         Perform database setup.
         """
         with self.app.app_context():
-            vial.db.db_get().drop_all()
-            vial.db.db_get().create_all()
+            hawat.db.db_get().drop_all()
+            hawat.db.db_get().create_all()
             self.setup_fixtures_db()
 
     def get_fixtures_db(self, app):
@@ -121,8 +121,8 @@ class VialTestCase(unittest.TestCase):
         """
         fixture_list = self.get_fixtures_db(self.app)
         for dbobject in fixture_list:
-            vial.db.db_session().add(dbobject)
-            vial.db.db_session().commit()
+            hawat.db.db_session().add(dbobject)
+            hawat.db.db_session().commit()
         self.fixtures_db.extend(fixture_list)
 
     #--------------------------------------------------------------------------
@@ -145,7 +145,7 @@ class VialTestCase(unittest.TestCase):
 
     def teardown_db(self):
         with self.app.app_context():
-            vial.db.db_get().drop_all()
+            hawat.db.db_get().drop_all()
 
     #--------------------------------------------------------------------------
 
@@ -243,15 +243,15 @@ class VialTestCase(unittest.TestCase):
         Get user object according to given user name from database.
         """
         user_model = self.user_model()
-        return vial.db.db_session().query(user_model).filter(user_model.login == user_name).one_or_none()
+        return hawat.db.db_session().query(user_model).filter(user_model.login == user_name).one_or_none()
 
     @app_context_wrapper_decorator
     def user_save(self, user_object, **kwargs):  # pylint: disable=locally-disabled,unused-argument
         """
         Update given user object within database.
         """
-        vial.db.db_session().add(user_object)
-        vial.db.db_session().commit()
+        hawat.db.db_session().add(user_object)
+        hawat.db.db_session().commit()
 
     @app_context_wrapper_decorator
     def user_id(self, user_name, **kwargs):  # pylint: disable=locally-disabled,unused-argument
@@ -284,15 +284,15 @@ class VialTestCase(unittest.TestCase):
         Get group object according to given group name within database.
         """
         group_model = self.group_model()
-        return vial.db.db_session().query(group_model).filter(group_model.name == group_name).one_or_none()
+        return hawat.db.db_session().query(group_model).filter(group_model.name == group_name).one_or_none()
 
     @app_context_wrapper_decorator
     def group_save(self, group_object, **kwargs):  # pylint: disable=locally-disabled,unused-argument
         """
         Update given group object within database.
         """
-        vial.db.db_session().add(group_object)
-        vial.db.db_session().commit()
+        hawat.db.db_session().add(group_object)
+        hawat.db.db_session().commit()
 
     @app_context_wrapper_decorator
     def group_id(self, group_name, **kwargs):  # pylint: disable=locally-disabled,unused-argument
@@ -370,9 +370,9 @@ class VialTestCase(unittest.TestCase):
                     checklist[attr_name]
                 )
 
-class ItemCreateVialTestCase(VialTestCase):
+class ItemCreateHawatTestCase(HawatTestCase):
     """
-    Class for testing :py:class:`vial.app.Vial` application item creation views.
+    Class for testing :py:class:`hawat.app.Hawat` application item creation views.
     """
     maxDiff = None
 
@@ -444,9 +444,9 @@ class ItemCreateVialTestCase(VialTestCase):
         return response
 
 
-class RegistrationVialTestCase(VialTestCase):
+class RegistrationHawatTestCase(HawatTestCase):
     """
-    Class for testing :py:class:`vial.app.Vial` application registration views.
+    Class for testing :py:class:`hawat.app.Hawat` application registration views.
     """
     maxDiff = None
 
diff --git a/lib/hawat/test/test_app.py b/lib/hawat/test/test_app.py
index ada407db..4c8e2320 100644
--- a/lib/hawat/test/test_app.py
+++ b/lib/hawat/test/test_app.py
@@ -19,16 +19,16 @@ import unittest
 from mentat.datatype.sqldb import UserModel, GroupModel
 
 import hawat.const
-import vial.test
-import vial.db
-from vial.test import VialTestCase
+import hawat.test
+import hawat.db
+from hawat.test import HawatTestCase
 from hawat.test.runner import TestRunnerMixin
 
 
 #logging.disable(logging.CRITICAL+1000)
 
 
-class AppTestCase(TestRunnerMixin, VialTestCase):
+class AppTestCase(TestRunnerMixin, HawatTestCase):
     """
     Class for testing :py:class:`hawat.base.HawatApp` application.
     """
@@ -38,7 +38,7 @@ class AppTestCase(TestRunnerMixin, VialTestCase):
         Test the test environment.
         """
         with self.app.app_context():
-            result_users = vial.db.db_session().query(UserModel).order_by(UserModel.login).all()
+            result_users = hawat.db.db_session().query(UserModel).order_by(UserModel.login).all()
             self.assertEqual(
                 len(result_users),
                 4
@@ -47,7 +47,7 @@ class AppTestCase(TestRunnerMixin, VialTestCase):
                 list(map(lambda x: x.login, result_users)),
                 ['admin', 'developer', 'maintainer', 'user']
             )
-            result_groups = vial.db.db_session().query(GroupModel).order_by(GroupModel.name).all()
+            result_groups = hawat.db.db_session().query(GroupModel).order_by(GroupModel.name).all()
             self.assertEqual(
                 len(result_groups),
                 2
@@ -91,7 +91,7 @@ class AppTestCase(TestRunnerMixin, VialTestCase):
         response = self.logout()
         self.assertEqual(response.status_code, 200)
 
-    @vial.test.do_as_user_decorator(hawat.const.ROLE_USER)
+    @hawat.test.do_as_user_decorator(hawat.const.ROLE_USER)
     def test_modules_mgmt_user(self):
         """
         Basic tests of various pluggable modules.
@@ -101,7 +101,7 @@ class AppTestCase(TestRunnerMixin, VialTestCase):
             response = self.client.get(mod, follow_redirects=True)
             self.assertEqual(response.status_code, 403)
 
-    @vial.test.do_as_user_decorator(hawat.const.ROLE_DEVELOPER)
+    @hawat.test.do_as_user_decorator(hawat.const.ROLE_DEVELOPER)
     def test_modules_mgmt_developer(self):
         """
         Basic tests of various pluggable modules.
@@ -111,7 +111,7 @@ class AppTestCase(TestRunnerMixin, VialTestCase):
             response = self.client.get(mod, follow_redirects=True)
             self.assertEqual(response.status_code, 403)
 
-    @vial.test.do_as_user_decorator(hawat.const.ROLE_MAINTAINER)
+    @hawat.test.do_as_user_decorator(hawat.const.ROLE_MAINTAINER)
     def test_modules_mgmt_maintainer(self):
         """
         Basic tests of various pluggable modules.
@@ -121,7 +121,7 @@ class AppTestCase(TestRunnerMixin, VialTestCase):
             response = self.client.get(mod, follow_redirects=True)
             self.assertEqual(response.status_code, 200)
 
-    @vial.test.do_as_user_decorator(hawat.const.ROLE_ADMIN)
+    @hawat.test.do_as_user_decorator(hawat.const.ROLE_ADMIN)
     def test_modules_mgmt_admin(self):
         """
         Basic tests of various pluggable modules.
diff --git a/lib/hawat/translations/cs/LC_MESSAGES/messages.po b/lib/hawat/translations/cs/LC_MESSAGES/messages.po
index cba0886f..e43c6856 100644
--- a/lib/hawat/translations/cs/LC_MESSAGES/messages.po
+++ b/lib/hawat/translations/cs/LC_MESSAGES/messages.po
@@ -38,11 +38,11 @@ msgstr "Dashboardy"
 msgid "More"
 msgstr "Více"
 
-#: ../hawat/config.py:159 ../vial/config.py:145
+#: ../hawat/config.py:159 ../hawat/config.py:145
 msgid "Administration"
 msgstr "Administrace"
 
-#: ../hawat/config.py:169 ../vial/config.py:155
+#: ../hawat/config.py:169 ../hawat/config.py:155
 msgid "Development"
 msgstr "Vývoj"
 
@@ -65,28 +65,28 @@ msgstr "Vývoj"
 #: ../hawat/templates/registration/email_admins.txt:5
 #: ../hawat/templates/registration/email_managers.txt:5
 #: ../hawat/templates/registration/email_user.txt:7
-#: ../vial/blueprints/auth_dev/forms.py:71
-#: ../vial/blueprints/auth_pwd/forms.py:35
-#: ../vial/blueprints/auth_pwd/forms.py:62
-#: ../vial/blueprints/users/forms.py:137 ../vial/blueprints/users/forms.py:158
+#: ../hawat/blueprints/auth_dev/forms.py:71
+#: ../hawat/blueprints/auth_pwd/forms.py:35
+#: ../hawat/blueprints/auth_pwd/forms.py:62
+#: ../hawat/blueprints/users/forms.py:137 ../hawat/blueprints/users/forms.py:158
 msgid "Login:"
 msgstr "Login:"
 
 #: ../hawat/blueprints/auth_dev/forms.py:43
 #: ../hawat/blueprints/auth_env/forms.py:35
 #: ../hawat/blueprints/auth_pwd/forms.py:41
-#: ../vial/blueprints/auth_dev/forms.py:80
-#: ../vial/blueprints/auth_env/forms.py:28
-#: ../vial/blueprints/auth_pwd/forms.py:71
+#: ../hawat/blueprints/auth_dev/forms.py:80
+#: ../hawat/blueprints/auth_env/forms.py:28
+#: ../hawat/blueprints/auth_pwd/forms.py:71
 msgid "Requested group memberships:"
 msgstr "Požadovaná členství ve skupinách:"
 
 #: ../hawat/blueprints/auth_dev/forms.py:47
 #: ../hawat/blueprints/auth_env/forms.py:39
 #: ../hawat/blueprints/auth_pwd/forms.py:45
-#: ../vial/blueprints/auth_dev/forms.py:84
-#: ../vial/blueprints/auth_env/forms.py:32
-#: ../vial/blueprints/auth_pwd/forms.py:75
+#: ../hawat/blueprints/auth_dev/forms.py:84
+#: ../hawat/blueprints/auth_env/forms.py:32
+#: ../hawat/blueprints/auth_pwd/forms.py:75
 msgid "Justification:"
 msgstr "Odůvodnění:"
 
@@ -125,7 +125,7 @@ msgstr ""
 #: ../hawat/templates/registration/email_admins.txt:6
 #: ../hawat/templates/registration/email_managers.txt:6
 #: ../hawat/templates/registration/email_user.txt:8
-#: ../vial/blueprints/users/forms.py:29
+#: ../hawat/blueprints/users/forms.py:29
 msgid "Full name:"
 msgstr "Celé jméno:"
 
@@ -143,7 +143,7 @@ msgstr "Celé jméno:"
 #: ../hawat/templates/registration/email_admins.txt:7
 #: ../hawat/templates/registration/email_managers.txt:7
 #: ../hawat/templates/registration/email_user.txt:9
-#: ../vial/blueprints/users/forms.py:36
+#: ../hawat/blueprints/users/forms.py:36
 msgid "Email:"
 msgstr "Email:"
 
@@ -299,18 +299,18 @@ msgid ""
 msgstr "Po úspěšné aktivaci se budete moci přihlásit a začít systém používat:"
 
 #: ../hawat/blueprints/auth_env/__init__.py:126
-#: ../vial/blueprints/auth_env/__init__.py:174
+#: ../hawat/blueprints/auth_env/__init__.py:174
 msgid "Unable to retrieve account login from your authentication provider."
 msgstr "Nelze získat uživatelské jméno od Vašeho poskytovatele identity."
 
 #: ../hawat/blueprints/auth_pwd/forms.py:52
-#: ../vial/blueprints/auth_pwd/forms.py:43
-#: ../vial/blueprints/auth_pwd/forms.py:82
+#: ../hawat/blueprints/auth_pwd/forms.py:43
+#: ../hawat/blueprints/auth_pwd/forms.py:82
 msgid "Password:"
 msgstr "Heslo:"
 
 #: ../hawat/blueprints/auth_pwd/forms.py:59
-#: ../vial/blueprints/auth_pwd/forms.py:89
+#: ../hawat/blueprints/auth_pwd/forms.py:89
 msgid "Repeat Password:"
 msgstr "Zopakujte heslo:"
 
@@ -365,7 +365,7 @@ msgstr "Zastavení hledání <strong>%(item_id)s</strong> bylo přerušeno."
 
 #: ../hawat/blueprints/dbstatus/__init__.py:455
 #: ../hawat/blueprints/users/__init__.py:107
-#: ../vial/blueprints/users/__init__.py:1185
+#: ../hawat/blueprints/users/__init__.py:1185
 msgid "Object management"
 msgstr "Správa objektů"
 
@@ -383,32 +383,32 @@ msgstr "Zobrazit detaily uživatelského účtu &quot;%(item)s&quot;"
 #: ../hawat/blueprints/dbstatus/__init__.py:633
 #: ../hawat/blueprints/groups/__init__.py:66
 #: ../hawat/blueprints/reports/__init__.py:237
-#: ../vial/blueprints/changelogs/__init__.py:87
-#: ../vial/blueprints/groups/__init__.py:261
-#: ../vial/blueprints/users/__init__.py:258
+#: ../hawat/blueprints/changelogs/__init__.py:87
+#: ../hawat/blueprints/groups/__init__.py:261
+#: ../hawat/blueprints/users/__init__.py:258
 msgid "More actions"
 msgstr "Více akcí"
 
 #: ../hawat/blueprints/dbstatus/__init__.py:558
-#: ../vial/blueprints/users/__init__.py:478
+#: ../hawat/blueprints/users/__init__.py:478
 #, python-format
 msgid "Update details of user account &quot;%(item)s&quot;"
 msgstr "Aktualizovat detaily uživatelského účtu &quot;%(item)s&quot;"
 
 #: ../hawat/blueprints/dbstatus/__init__.py:565
-#: ../vial/blueprints/users/__init__.py:901
+#: ../hawat/blueprints/users/__init__.py:901
 #, python-format
 msgid "Disable user account &quot;%(item)s&quot;"
 msgstr "Deaktivovat uživatelský účet &quot;%(item)s&quot;"
 
 #: ../hawat/blueprints/dbstatus/__init__.py:572
-#: ../vial/blueprints/users/__init__.py:824
+#: ../hawat/blueprints/users/__init__.py:824
 #, python-format
 msgid "Enable user account &quot;%(item)s&quot;"
 msgstr "Aktivovat uživatelský účet &quot;%(item)s&quot;"
 
 #: ../hawat/blueprints/dbstatus/__init__.py:579
-#: ../vial/blueprints/users/__init__.py:952
+#: ../hawat/blueprints/users/__init__.py:952
 #, python-format
 msgid "Delete user account &quot;%(item)s&quot;"
 msgstr "Smazat uživatelský účet &quot;%(item)s&quot;"
@@ -425,32 +425,32 @@ msgstr "Smazat uživatelský účet &quot;%(item)s&quot;"
 #: ../hawat/blueprints/networks/templates/networks/show.html:51
 #: ../hawat/blueprints/reports/templates/reports/search.html:62
 #: ../hawat/blueprints/reports/templates/reports/show.html:50
-#: ../vial/blueprints/groups/__init__.py:185
-#: ../vial/blueprints/groups/__init__.py:189
+#: ../hawat/blueprints/groups/__init__.py:185
+#: ../hawat/blueprints/groups/__init__.py:189
 #, python-format
 msgid "View details of group &quot;%(item)s&quot;"
 msgstr "Zobrazit detaily skupiny &quot;%(item)s&quot;"
 
 #: ../hawat/blueprints/dbstatus/__init__.py:602
-#: ../vial/blueprints/groups/__init__.py:403
+#: ../hawat/blueprints/groups/__init__.py:403
 #, python-format
 msgid "Update details of group &quot;%(item)s&quot;"
 msgstr "Aktualizovat detaily skupiny &quot;%(item)s&quot;"
 
 #: ../hawat/blueprints/dbstatus/__init__.py:606
-#: ../vial/blueprints/groups/__init__.py:782
+#: ../hawat/blueprints/groups/__init__.py:782
 #, python-format
 msgid "Disable group &quot;%(item)s&quot;"
 msgstr "Deaktivovat skupinu &quot;%(item)s&quot;"
 
 #: ../hawat/blueprints/dbstatus/__init__.py:614
-#: ../vial/blueprints/groups/__init__.py:735
+#: ../hawat/blueprints/groups/__init__.py:735
 #, python-format
 msgid "Enable group &quot;%(item)s&quot;"
 msgstr "Aktivovat group &quot;%(item)s&quot;"
 
 #: ../hawat/blueprints/dbstatus/__init__.py:620
-#: ../vial/blueprints/groups/__init__.py:830
+#: ../hawat/blueprints/groups/__init__.py:830
 #, python-format
 msgid "Delete group &quot;%(item)s&quot;"
 msgstr "Smazat skupinu &quot;%(item)s&quot;"
@@ -814,7 +814,7 @@ msgstr ""
 #: ../hawat/blueprints/reports/templates/reports/show.html:9
 #: ../hawat/blueprints/settings_reporting/templates/settings_reporting/creatupdate.html:8
 #: ../hawat/blueprints/status/templates/status/view.html:8
-#: ../vial/blueprints/home/__init__.py:53
+#: ../hawat/blueprints/home/__init__.py:53
 msgid "Home"
 msgstr "Domů"
 
@@ -1093,7 +1093,7 @@ msgstr "Hledat adresu <strong>%(name)s</strong> ve službě DNS"
 #: ../hawat/blueprints/whois/__init__.py:202
 #: ../hawat/blueprints/whois/forms.py:59
 #: ../hawat/blueprints/whois/templates/whois/spt_label_abuse.html:10
-#: ../vial/forms.py:631 ../vial/view/__init__.py:772
+#: ../hawat/forms.py:631 ../hawat/view/__init__.py:772
 msgid "Search"
 msgstr "Hledat"
 
@@ -1179,8 +1179,8 @@ msgstr "Události"
 msgid "Show event"
 msgstr "Zobrazit událost"
 
-#: ../hawat/blueprints/events/__init__.py:180 ../vial/view/__init__.py:1263
-#: ../vial/view/__init__.py:1282
+#: ../hawat/blueprints/events/__init__.py:180 ../hawat/view/__init__.py:1263
+#: ../hawat/view/__init__.py:1282
 msgid "Show"
 msgstr "Zobrazit"
 
@@ -1668,7 +1668,7 @@ msgstr "Negovat volbu třídy:"
 #: ../hawat/blueprints/groups/forms.py:99
 #: ../hawat/blueprints/networks/forms.py:76
 #: ../hawat/blueprints/timeline/forms.py:244
-#: ../vial/blueprints/groups/forms.py:41
+#: ../hawat/blueprints/groups/forms.py:41
 msgid "Description:"
 msgstr "Popis:"
 
@@ -1742,7 +1742,7 @@ msgstr "Negovat volbu inspekční chyby:"
 #: ../hawat/blueprints/events/forms.py:301
 #: ../hawat/blueprints/filters/forms.py:274
 #: ../hawat/blueprints/networks/forms.py:138
-#: ../hawat/blueprints/pdnsr/forms.py:39 ../vial/blueprints/groups/forms.py:232
+#: ../hawat/blueprints/pdnsr/forms.py:39 ../hawat/blueprints/groups/forms.py:232
 msgid "Sort by:"
 msgstr "Řadit dle:"
 
@@ -1773,16 +1773,16 @@ msgstr "dle času uložení vzestupně"
 #: ../hawat/blueprints/events/forms.py:350
 #: ../hawat/blueprints/reports/forms.py:105
 #: ../hawat/blueprints/reports/forms.py:144
-#: ../vial/blueprints/changelogs/forms.py:86
-#: ../vial/blueprints/changelogs/forms.py:124
+#: ../hawat/blueprints/changelogs/forms.py:86
+#: ../hawat/blueprints/changelogs/forms.py:124
 msgid "From:"
 msgstr "Od:"
 
 #: ../hawat/blueprints/events/forms.py:358
 #: ../hawat/blueprints/reports/forms.py:112
 #: ../hawat/blueprints/reports/forms.py:151
-#: ../vial/blueprints/changelogs/forms.py:93
-#: ../vial/blueprints/changelogs/forms.py:131
+#: ../hawat/blueprints/changelogs/forms.py:93
+#: ../hawat/blueprints/changelogs/forms.py:131
 msgid "To:"
 msgstr "Do:"
 
@@ -2399,8 +2399,8 @@ msgstr "Chyba parsování JSONu: \"%(error)s\"."
 #: ../hawat/blueprints/groups/forms.py:189
 #: ../hawat/blueprints/groups/forms.py:209
 #: ../hawat/blueprints/groups/templates/groups/creatupdate.html:11
-#: ../vial/blueprints/groups/forms.py:131
-#: ../vial/blueprints/groups/forms.py:151
+#: ../hawat/blueprints/groups/forms.py:131
+#: ../hawat/blueprints/groups/forms.py:151
 msgid "Name:"
 msgstr "Název:"
 
@@ -2426,7 +2426,7 @@ msgstr "Filtr:"
 #: ../hawat/blueprints/filters/forms.py:121
 #: ../hawat/blueprints/filters/forms.py:129
 #: ../hawat/blueprints/users/forms.py:97 ../hawat/blueprints/users/forms.py:106
-#: ../vial/blueprints/users/forms.py:48 ../vial/blueprints/users/forms.py:57
+#: ../hawat/blueprints/users/forms.py:48 ../hawat/blueprints/users/forms.py:57
 msgid "<< no preference >>"
 msgstr "<< bez preference >>"
 
@@ -2445,9 +2445,9 @@ msgstr "Platné do:"
 #: ../hawat/blueprints/filters/forms.py:153
 #: ../hawat/blueprints/filters/forms.py:254
 #: ../hawat/blueprints/groups/forms.py:152
-#: ../hawat/blueprints/users/forms.py:139 ../vial/blueprints/groups/forms.py:94
-#: ../vial/blueprints/groups/forms.py:196 ../vial/blueprints/users/forms.py:90
-#: ../vial/blueprints/users/forms.py:207
+#: ../hawat/blueprints/users/forms.py:139 ../hawat/blueprints/groups/forms.py:94
+#: ../hawat/blueprints/groups/forms.py:196 ../hawat/blueprints/users/forms.py:90
+#: ../hawat/blueprints/users/forms.py:207
 msgid "State:"
 msgstr "Stav:"
 
@@ -2457,9 +2457,9 @@ msgstr "Stav:"
 #: ../hawat/blueprints/groups/forms.py:157
 #: ../hawat/blueprints/settings_reporting/forms.py:121
 #: ../hawat/blueprints/settings_reporting/forms.py:134
-#: ../hawat/blueprints/users/forms.py:144 ../vial/blueprints/groups/forms.py:61
-#: ../vial/blueprints/groups/forms.py:99 ../vial/blueprints/groups/forms.py:202
-#: ../vial/blueprints/users/forms.py:95 ../vial/blueprints/users/forms.py:213
+#: ../hawat/blueprints/users/forms.py:144 ../hawat/blueprints/groups/forms.py:61
+#: ../hawat/blueprints/groups/forms.py:99 ../hawat/blueprints/groups/forms.py:202
+#: ../hawat/blueprints/users/forms.py:95 ../hawat/blueprints/users/forms.py:213
 msgid "Enabled"
 msgstr "Aktivní"
 
@@ -2469,10 +2469,10 @@ msgstr "Aktivní"
 #: ../hawat/blueprints/groups/forms.py:158
 #: ../hawat/blueprints/settings_reporting/forms.py:122
 #: ../hawat/blueprints/settings_reporting/forms.py:135
-#: ../hawat/blueprints/users/forms.py:145 ../vial/blueprints/groups/forms.py:62
-#: ../vial/blueprints/groups/forms.py:100
-#: ../vial/blueprints/groups/forms.py:203 ../vial/blueprints/users/forms.py:96
-#: ../vial/blueprints/users/forms.py:214
+#: ../hawat/blueprints/users/forms.py:145 ../hawat/blueprints/groups/forms.py:62
+#: ../hawat/blueprints/groups/forms.py:100
+#: ../hawat/blueprints/groups/forms.py:203 ../hawat/blueprints/users/forms.py:96
+#: ../hawat/blueprints/users/forms.py:214
 msgid "Disabled"
 msgstr "Neaktivní"
 
@@ -2480,8 +2480,8 @@ msgstr "Neaktivní"
 #: ../hawat/blueprints/groups/forms.py:134
 #: ../hawat/blueprints/networks/forms.py:79
 #: ../hawat/blueprints/settings_reporting/forms.py:157
-#: ../hawat/blueprints/users/forms.py:111 ../vial/blueprints/groups/forms.py:76
-#: ../vial/blueprints/users/forms.py:62
+#: ../hawat/blueprints/users/forms.py:111 ../hawat/blueprints/groups/forms.py:76
+#: ../hawat/blueprints/users/forms.py:62
 msgid "Submit"
 msgstr "Odeslat"
 
@@ -2494,10 +2494,10 @@ msgstr "Náhled"
 #: ../hawat/blueprints/networks/forms.py:82
 #: ../hawat/blueprints/settings_reporting/forms.py:160
 #: ../hawat/blueprints/users/forms.py:114
-#: ../vial/blueprints/auth_dev/forms.py:42
-#: ../vial/blueprints/auth_pwd/forms.py:53
-#: ../vial/blueprints/groups/forms.py:79 ../vial/blueprints/users/forms.py:65
-#: ../vial/forms.py:602
+#: ../hawat/blueprints/auth_dev/forms.py:42
+#: ../hawat/blueprints/auth_pwd/forms.py:53
+#: ../hawat/blueprints/groups/forms.py:79 ../hawat/blueprints/users/forms.py:65
+#: ../hawat/forms.py:602
 msgid "Cancel"
 msgstr "Zrušit"
 
@@ -2539,13 +2539,13 @@ msgstr ""
 
 #: ../hawat/blueprints/filters/forms.py:226
 #: ../hawat/blueprints/networks/forms.py:110
-#: ../vial/blueprints/groups/forms.py:181 ../vial/blueprints/users/forms.py:192
+#: ../hawat/blueprints/groups/forms.py:181 ../hawat/blueprints/users/forms.py:192
 msgid "Creation time from:"
 msgstr ""
 
 #: ../hawat/blueprints/filters/forms.py:230
 #: ../hawat/blueprints/networks/forms.py:114
-#: ../vial/blueprints/groups/forms.py:185 ../vial/blueprints/users/forms.py:196
+#: ../hawat/blueprints/groups/forms.py:185 ../hawat/blueprints/users/forms.py:196
 msgid ""
 "Lower time boundary for item creation time. Timestamp is expected to be "
 "in the format <code>YYYY-MM-DD hh:mm:ss</code> and in the timezone "
@@ -2554,13 +2554,13 @@ msgstr ""
 
 #: ../hawat/blueprints/filters/forms.py:233
 #: ../hawat/blueprints/networks/forms.py:117
-#: ../vial/blueprints/groups/forms.py:188 ../vial/blueprints/users/forms.py:199
+#: ../hawat/blueprints/groups/forms.py:188 ../hawat/blueprints/users/forms.py:199
 msgid "Creation time to:"
 msgstr ""
 
 #: ../hawat/blueprints/filters/forms.py:237
 #: ../hawat/blueprints/networks/forms.py:121
-#: ../vial/blueprints/groups/forms.py:192 ../vial/blueprints/users/forms.py:203
+#: ../hawat/blueprints/groups/forms.py:192 ../hawat/blueprints/users/forms.py:203
 msgid ""
 "Upper time boundary for item creation time. Timestamp is expected to be "
 "in the format <code>YYYY-MM-DD hh:mm:ss</code> and in the timezone "
@@ -2570,10 +2570,10 @@ msgstr ""
 #: ../hawat/blueprints/filters/forms.py:246
 #: ../hawat/blueprints/filters/forms.py:259
 #: ../hawat/blueprints/networks/forms.py:167
-#: ../vial/blueprints/changelogs/forms.py:75
-#: ../vial/blueprints/groups/forms.py:201
-#: ../vial/blueprints/groups/forms.py:259 ../vial/blueprints/users/forms.py:212
-#: ../vial/blueprints/users/forms.py:274
+#: ../hawat/blueprints/changelogs/forms.py:75
+#: ../hawat/blueprints/groups/forms.py:201
+#: ../hawat/blueprints/groups/forms.py:259 ../hawat/blueprints/users/forms.py:212
+#: ../hawat/blueprints/users/forms.py:274
 msgid "Nothing selected"
 msgstr "Nic nevybráno"
 
@@ -2591,13 +2591,13 @@ msgstr ""
 
 #: ../hawat/blueprints/filters/forms.py:279
 #: ../hawat/blueprints/networks/forms.py:143
-#: ../vial/blueprints/groups/forms.py:237 ../vial/blueprints/users/forms.py:246
+#: ../hawat/blueprints/groups/forms.py:237 ../hawat/blueprints/users/forms.py:246
 msgid "by creation time descending"
 msgstr ""
 
 #: ../hawat/blueprints/filters/forms.py:280
 #: ../hawat/blueprints/networks/forms.py:144
-#: ../vial/blueprints/groups/forms.py:238 ../vial/blueprints/users/forms.py:247
+#: ../hawat/blueprints/groups/forms.py:238 ../hawat/blueprints/users/forms.py:247
 msgid "by creation time ascending"
 msgstr ""
 
@@ -2746,7 +2746,7 @@ msgstr "Stromová struktura filtru"
 #: ../hawat/blueprints/networks/templates/networks/show.html:33
 #: ../hawat/blueprints/settings_reporting/templates/settings_reporting/show.html:33
 #: ../hawat/blueprints/users/templates/users/show.html:42
-#: ../vial/blueprints/changelogs/__init__.py:39
+#: ../hawat/blueprints/changelogs/__init__.py:39
 msgid "Changelogs"
 msgstr "Záznamy změn"
 
@@ -2925,7 +2925,7 @@ msgid "City resolving"
 msgstr "Hledání v databázi měst"
 
 #: ../hawat/blueprints/groups/__init__.py:234
-#: ../vial/blueprints/groups/__init__.py:891
+#: ../hawat/blueprints/groups/__init__.py:891
 msgid "My groups"
 msgstr "Moje skupiny"
 
@@ -2939,17 +2939,17 @@ msgstr "Zobrazit detaily abuse skupiny <strong>%(name)s</strong>"
 msgid "Group with this name already exists."
 msgstr "Skupina s tímto jménem již existuje."
 
-#: ../hawat/blueprints/groups/forms.py:70 ../vial/blueprints/groups/forms.py:26
+#: ../hawat/blueprints/groups/forms.py:70 ../hawat/blueprints/groups/forms.py:26
 msgid "You must not select a group as its own parent! Naughty, naughty you!"
 msgstr "Nelze zvolit stejnou skupinu jako rodiče sama sebe! Zvrhlé, velmi zvrhlé!"
 
 #: ../hawat/blueprints/groups/forms.py:103
-#: ../vial/blueprints/groups/forms.py:45
+#: ../hawat/blueprints/groups/forms.py:45
 msgid "Additional and more extensive group description."
 msgstr "Další a více obsáhlý popis skupiny."
 
 #: ../hawat/blueprints/groups/forms.py:111
-#: ../vial/blueprints/groups/forms.py:53
+#: ../hawat/blueprints/groups/forms.py:53
 msgid ""
 "Origin of the group record, whether it was added manually, or via some "
 "automated mechanism from data from some third party system."
@@ -2958,30 +2958,30 @@ msgstr ""
 "automatizovaného nástroje z dat služby třetí strany."
 
 #: ../hawat/blueprints/groups/forms.py:114
-#: ../vial/blueprints/groups/forms.py:56
+#: ../hawat/blueprints/groups/forms.py:56
 msgid "Self management:"
 msgstr "Samospráva:"
 
 #: ../hawat/blueprints/groups/forms.py:127
-#: ../vial/blueprints/groups/forms.py:69
+#: ../hawat/blueprints/groups/forms.py:69
 msgid "Members:"
 msgstr "Členové:"
 
 #: ../hawat/blueprints/groups/forms.py:130
 #: ../hawat/blueprints/groups/forms.py:168
 #: ../hawat/blueprints/groups/forms.py:179
-#: ../vial/blueprints/groups/forms.py:72 ../vial/blueprints/groups/forms.py:110
-#: ../vial/blueprints/groups/forms.py:121
+#: ../hawat/blueprints/groups/forms.py:72 ../hawat/blueprints/groups/forms.py:110
+#: ../hawat/blueprints/groups/forms.py:121
 msgid "<< no selection >>"
 msgstr "<< bez volby >>"
 
 #: ../hawat/blueprints/groups/forms.py:131
-#: ../vial/blueprints/groups/forms.py:73
+#: ../hawat/blueprints/groups/forms.py:73
 msgid "List of group members."
 msgstr "Seznam členů skupiny."
 
 #: ../hawat/blueprints/groups/forms.py:162
-#: ../vial/blueprints/groups/forms.py:104
+#: ../hawat/blueprints/groups/forms.py:104
 msgid ""
 "Boolean flag whether the group is enabled or disabled. Disabled groups "
 "are hidden to the most of the system features."
@@ -2990,12 +2990,12 @@ msgstr ""
 "skryty pro velkou část funkcí systému."
 
 #: ../hawat/blueprints/groups/forms.py:165
-#: ../vial/blueprints/groups/forms.py:107
+#: ../hawat/blueprints/groups/forms.py:107
 msgid "Managers:"
 msgstr "Správci:"
 
 #: ../hawat/blueprints/groups/forms.py:169
-#: ../vial/blueprints/groups/forms.py:111
+#: ../hawat/blueprints/groups/forms.py:111
 msgid ""
 "List of users acting as group managers. These users may change various "
 "group settings."
@@ -3004,12 +3004,12 @@ msgstr ""
 "četná nastavení skupiny."
 
 #: ../hawat/blueprints/groups/forms.py:172
-#: ../vial/blueprints/groups/forms.py:114
+#: ../hawat/blueprints/groups/forms.py:114
 msgid "Parent group:"
 msgstr "Nadřazená skupina:"
 
 #: ../hawat/blueprints/groups/forms.py:180
-#: ../vial/blueprints/groups/forms.py:122
+#: ../hawat/blueprints/groups/forms.py:122
 msgid ""
 "Parent group for this group. This feature enables the posibility to "
 "create structured group hierarchy."
@@ -3019,8 +3019,8 @@ msgstr ""
 
 #: ../hawat/blueprints/groups/forms.py:195
 #: ../hawat/blueprints/groups/forms.py:215
-#: ../vial/blueprints/groups/forms.py:137
-#: ../vial/blueprints/groups/forms.py:157
+#: ../hawat/blueprints/groups/forms.py:137
+#: ../hawat/blueprints/groups/forms.py:157
 msgid "System-wide unique name for the group."
 msgstr "Jméno skupiny unikátní v rámci celého systému."
 
@@ -3148,12 +3148,12 @@ msgid "This group does not have any changelog records at the moment."
 msgstr "Tato skupina nemá v tuto chvíli žádné záznamy změn."
 
 #: ../hawat/blueprints/home/__init__.py:57
-#: ../vial/blueprints/home/__init__.py:49
+#: ../hawat/blueprints/home/__init__.py:49
 msgid "Welcome!"
 msgstr "Vítejte!"
 
 #: ../hawat/blueprints/home/__init__.py:72
-#: ../vial/blueprints/home/__init__.py:64
+#: ../hawat/blueprints/home/__init__.py:64
 msgid "Home page"
 msgstr ""
 
@@ -3489,7 +3489,7 @@ msgid ""
 msgstr ""
 
 #: ../hawat/blueprints/networks/forms.py:130
-#: ../vial/blueprints/groups/forms.py:211
+#: ../hawat/blueprints/groups/forms.py:211
 msgid "Record source:"
 msgstr ""
 
@@ -3579,7 +3579,7 @@ msgstr "podle času posledního záznamu sestupně"
 msgid "by last seen time ascending"
 msgstr "podle času posledního záznamu vzestupně"
 
-#: ../hawat/blueprints/pdnsr/forms.py:57 ../vial/forms.py:613
+#: ../hawat/blueprints/pdnsr/forms.py:57 ../hawat/forms.py:613
 msgid "Pager limit:"
 msgstr "Limit stránkovače:"
 
@@ -4446,8 +4446,8 @@ msgid "Timezone:"
 msgstr "Časová zóna:"
 
 #: ../hawat/blueprints/settings_reporting/templates/settings_reporting/creatupdate.html:9
-#: ../vial/blueprints/groups/__init__.py:57
-#: ../vial/blueprints/groups/__init__.py:871
+#: ../hawat/blueprints/groups/__init__.py:57
+#: ../hawat/blueprints/groups/__init__.py:871
 msgid "Group management"
 msgstr "Správa skupin"
 
@@ -4728,23 +4728,23 @@ msgstr "Uživatelský účet s tímto přihlašovacím jménem již existuje."
 msgid "Home organization:"
 msgstr "Domovská organizace:"
 
-#: ../hawat/blueprints/users/forms.py:93 ../vial/blueprints/users/forms.py:44
+#: ../hawat/blueprints/users/forms.py:93 ../hawat/blueprints/users/forms.py:44
 msgid "Prefered locale:"
 msgstr "Preferovaná lokalizace:"
 
-#: ../hawat/blueprints/users/forms.py:102 ../vial/blueprints/users/forms.py:53
+#: ../hawat/blueprints/users/forms.py:102 ../hawat/blueprints/users/forms.py:53
 msgid "Prefered timezone:"
 msgstr "Preferovaná časová zóna:"
 
-#: ../hawat/blueprints/users/forms.py:151 ../vial/blueprints/users/forms.py:102
+#: ../hawat/blueprints/users/forms.py:151 ../hawat/blueprints/users/forms.py:102
 msgid "Roles:"
 msgstr "Role:"
 
-#: ../hawat/blueprints/users/forms.py:157 ../vial/blueprints/users/forms.py:108
+#: ../hawat/blueprints/users/forms.py:157 ../hawat/blueprints/users/forms.py:108
 msgid "Group memberships:"
 msgstr "Členství ve skupinách:"
 
-#: ../hawat/blueprints/users/forms.py:161 ../vial/blueprints/users/forms.py:112
+#: ../hawat/blueprints/users/forms.py:161 ../hawat/blueprints/users/forms.py:112
 msgid "Group managements:"
 msgstr "Správa skupin:"
 
@@ -4759,10 +4759,10 @@ msgstr ""
 
 #: ../hawat/blueprints/users/templates/users/list.html:39
 #: ../hawat/blueprints/users/templates/users/show.html:61
-#: ../vial/blueprints/auth/__init__.py:48
-#: ../vial/blueprints/auth_dev/forms.py:39
-#: ../vial/blueprints/auth_pwd/forms.py:50 ../vial/view/__init__.py:557
-#: ../vial/view/__init__.py:561
+#: ../hawat/blueprints/auth/__init__.py:48
+#: ../hawat/blueprints/auth_dev/forms.py:39
+#: ../hawat/blueprints/auth_pwd/forms.py:50 ../hawat/view/__init__.py:557
+#: ../hawat/view/__init__.py:561
 msgid "Login"
 msgstr "Přihlášení"
 
@@ -4999,125 +4999,125 @@ msgstr "Čas v zóně:"
 msgid "Period:"
 msgstr "Perioda:"
 
-#: ../vial/app.py:693
+#: ../hawat/app.py:693
 msgid "Please log in to access this page."
 msgstr "Pro přístup k této stránce se prosím přihlaste."
 
-#: ../vial/app.py:719
+#: ../hawat/app.py:719
 msgid "You have been successfully logged out."
 msgstr "Odhlášení proběhlo úspěšně."
 
-#: ../vial/app.py:876
+#: ../hawat/app.py:876
 #, python-format
 msgid "Locale was succesfully changed to <strong>%(lcln)s (%(lclc)s)</strong>."
 msgstr "Lokalizace byla úspěšně změněna na <strong>%(lcln)s (%(lclc)s)</strong>."
 
-#: ../vial/errors.py:36
+#: ../hawat/errors.py:36
 msgid "Unknown error"
 msgstr "Neznámá chyba"
 
-#: ../vial/forms.py:139
+#: ../hawat/forms.py:139
 #, python-format
 msgid "The \"%(val)s\" value does not look like valid login name."
 msgstr "Hodnota \"%(val)s\" nevypadá jako validní uživatelské jméno."
 
-#: ../vial/forms.py:152
+#: ../hawat/forms.py:152
 #, python-format
 msgid "The \"%(val)s\" value does not look like valid email address."
 msgstr "Hodnota \"%(val)s\" nevypadá jako validní emailová adresa."
 
-#: ../vial/forms.py:166
+#: ../hawat/forms.py:166
 #, python-format
 msgid "Please use different login, the \"%(val)s\" is already taken."
 msgstr "Prosím použijte jiný login, \"%(val)s\" již existuje."
 
-#: ../vial/forms.py:180
+#: ../hawat/forms.py:180
 #, python-format
 msgid "Please use different group name, the \"%(val)s\" is already taken."
 msgstr ""
 
-#: ../vial/forms.py:194
+#: ../hawat/forms.py:194
 #, python-format
 msgid "The \"%(val)s\" value does not look like valid email adress."
 msgstr "Hodnota \"%(val)s\" nevypadá jako validní emailová adresa."
 
-#: ../vial/forms.py:213
+#: ../hawat/forms.py:213
 #, python-format
 msgid "The \"%(val)s\" value does not look like valid IPv4/IPv6 address."
 msgstr "Hodnota \"%(val)s\" nevypadá jako validní IPv4/IPv6 adresa."
 
-#: ../vial/forms.py:232
+#: ../hawat/forms.py:232
 #, python-format
 msgid "The \"%(val)s\" value does not look like valid IPv4 address."
 msgstr "Hodnota \"%(val)s\" nevypadá jako validní IPv4 adresa."
 
-#: ../vial/forms.py:251
+#: ../hawat/forms.py:251
 #, python-format
 msgid "The \"%(val)s\" value does not look like valid IPv6 address."
 msgstr "Hodnota \"%(val)s\" nevypadá jako validní IPv6 adresa."
 
-#: ../vial/forms.py:269 ../vial/forms.py:284
+#: ../hawat/forms.py:269 ../hawat/forms.py:284
 #, python-format
 msgid ""
 "The \"%(val)s\" value does not look like valid IPv4/IPv6 "
 "address/range/network."
 msgstr "Hodnota \"%(val)s\" nevypadá jako validní IPv4/IPv6 adresa/rozsah/síť."
 
-#: ../vial/forms.py:298 ../vial/forms.py:305
+#: ../hawat/forms.py:298 ../hawat/forms.py:305
 #, python-format
 msgid "The \"%(val)s\" value does not look like valid port number."
 msgstr "Hodnota \"%(val)s\" nevypadá jako validní číslo portu."
 
-#: ../vial/forms.py:319 ../vial/forms.py:326
+#: ../hawat/forms.py:319 ../hawat/forms.py:326
 #, python-format
 msgid "The \"%(val)s\" value does not look like valid positive integer."
 msgstr "Hodnota \"%(val)s\" nevypadá jako validní kladné celé číslo."
 
-#: ../vial/forms.py:430
+#: ../hawat/forms.py:430
 msgid "Not a valid datetime value"
 msgstr "Neplatná hodnota časové značky"
 
-#: ../vial/forms.py:519
+#: ../hawat/forms.py:519
 msgid "Value did not match any of datetime formats."
 msgstr "Hodnota neodpovídá žádnému formátu pro časové známky."
 
-#: ../vial/forms.py:532 ../vial/forms.py:551
+#: ../hawat/forms.py:532 ../hawat/forms.py:551
 msgid "Invalid Choice: could not coerce"
 msgstr "Neplatná volba: nelze transformovat"
 
-#: ../vial/forms.py:539 ../vial/forms.py:560
+#: ../hawat/forms.py:539 ../hawat/forms.py:560
 msgid "Not a valid choice"
 msgstr "Neplatná volba"
 
-#: ../vial/forms.py:599
+#: ../hawat/forms.py:599
 msgid "Confirm"
 msgstr "Potvrdit"
 
-#: ../vial/forms.py:622
+#: ../hawat/forms.py:622
 msgid "Page number:"
 msgstr "Číslo stránky:"
 
-#: ../vial/blueprints/auth/__init__.py:44
+#: ../hawat/blueprints/auth/__init__.py:44
 msgid "User login"
 msgstr "Přihlášení uživatele"
 
-#: ../vial/blueprints/auth/__init__.py:85 ../vial/view/__init__.py:1913
+#: ../hawat/blueprints/auth/__init__.py:85 ../hawat/view/__init__.py:1913
 msgid "User account registration"
 msgstr "Registrace uživatelského účtu."
 
-#: ../vial/blueprints/auth/__init__.py:89 ../vial/view/__init__.py:1909
+#: ../hawat/blueprints/auth/__init__.py:89 ../hawat/view/__init__.py:1909
 msgid "Register"
 msgstr "Registrace"
 
-#: ../vial/blueprints/auth/__init__.py:108
+#: ../hawat/blueprints/auth/__init__.py:108
 msgid "Authentication directional service"
 msgstr "Autentizační směrovací služba"
 
-#: ../vial/blueprints/auth_api/__init__.py:87
+#: ../hawat/blueprints/auth_api/__init__.py:87
 msgid "Generate API key"
 msgstr "Generovat API klíč"
 
-#: ../vial/blueprints/auth_api/__init__.py:116
+#: ../hawat/blueprints/auth_api/__init__.py:116
 #, python-format
 msgid ""
 "API key for user account <strong>%(item_id)s</strong> was successfully "
@@ -5126,243 +5126,243 @@ msgstr ""
 "API klíč pro uživatele <strong>%(item_id)s</strong> byl úspěšně "
 "vygenerován."
 
-#: ../vial/blueprints/auth_api/__init__.py:123
+#: ../hawat/blueprints/auth_api/__init__.py:123
 #, python-format
 msgid "Unable to generate API key for user account <strong>%(item_id)s</strong>."
 msgstr "Nelze vygenerovat API klíč pro uživatele <strong>%(item_id)s</strong>."
 
-#: ../vial/blueprints/auth_api/__init__.py:130
+#: ../hawat/blueprints/auth_api/__init__.py:130
 #, python-format
 msgid "Canceled generating API key for user account <strong>%(item_id)s</strong>."
 msgstr ""
 "Generování API klíče pro uživatele <strong>%(item_id)s</strong> bylo "
 "zrušeno."
 
-#: ../vial/blueprints/auth_api/__init__.py:160
+#: ../hawat/blueprints/auth_api/__init__.py:160
 msgid "Delete API key"
 msgstr "Smazat API klíč"
 
-#: ../vial/blueprints/auth_api/__init__.py:189
+#: ../hawat/blueprints/auth_api/__init__.py:189
 #, python-format
 msgid ""
 "API key for user account <strong>%(item_id)s</strong> was successfully "
 "deleted."
 msgstr "API klíč pro uživatele <strong>%(item_id)s</strong> byl úspěšně smazán."
 
-#: ../vial/blueprints/auth_api/__init__.py:196
+#: ../hawat/blueprints/auth_api/__init__.py:196
 #, python-format
 msgid "Unable to delete API key for user account <strong>%(item_id)s</strong>."
 msgstr "Nelze smazat API klíč pro uživatele <strong>%(item_id)s</strong>."
 
-#: ../vial/blueprints/auth_api/__init__.py:203
+#: ../hawat/blueprints/auth_api/__init__.py:203
 #, python-format
 msgid "Canceled deleting API key for user account <strong>%(item_id)s</strong>."
 msgstr "Smazání API klíče pro uživatele <strong>%(item_id)s</strong> bylo zrušeno."
 
-#: ../vial/blueprints/auth_api/__init__.py:219
+#: ../hawat/blueprints/auth_api/__init__.py:219
 msgid "API key authentication service"
 msgstr "Autentizační služba API klíčů"
 
-#: ../vial/blueprints/auth_dev/__init__.py:63
+#: ../hawat/blueprints/auth_dev/__init__.py:63
 msgid "Developer login"
 msgstr "Přihlášení vývojáře"
 
-#: ../vial/blueprints/auth_dev/__init__.py:67
+#: ../hawat/blueprints/auth_dev/__init__.py:67
 msgid "Login (dev)"
 msgstr "Login (dev)"
 
-#: ../vial/blueprints/auth_dev/__init__.py:95
+#: ../hawat/blueprints/auth_dev/__init__.py:95
 msgid "Register (dev)"
 msgstr "Registrace (dev)"
 
-#: ../vial/blueprints/auth_dev/__init__.py:99
+#: ../hawat/blueprints/auth_dev/__init__.py:99
 msgid "User account registration (dev)"
 msgstr "Registrace uživatelského účtu (dev)"
 
-#: ../vial/blueprints/auth_dev/__init__.py:135
+#: ../hawat/blueprints/auth_dev/__init__.py:135
 msgid "Developer authentication service"
 msgstr "Autentizační služba pro vývojáře"
 
-#: ../vial/blueprints/auth_dev/forms.py:32
+#: ../hawat/blueprints/auth_dev/forms.py:32
 msgid "User account:"
 msgstr "Uživatelský účet:"
 
-#: ../vial/blueprints/auth_env/__init__.py:116
+#: ../hawat/blueprints/auth_env/__init__.py:116
 msgid "Environment login"
 msgstr "Přihlášení"
 
-#: ../vial/blueprints/auth_env/__init__.py:120
+#: ../hawat/blueprints/auth_env/__init__.py:120
 msgid "Login (env)"
 msgstr "Přihlášení"
 
-#: ../vial/blueprints/auth_env/__init__.py:134
+#: ../hawat/blueprints/auth_env/__init__.py:134
 msgid "User login was not received, unable to perform login process."
 msgstr "Uživatelský login nebyl obdržen, nelze dokončit přihlašovací proces."
 
-#: ../vial/blueprints/auth_env/__init__.py:149
+#: ../hawat/blueprints/auth_env/__init__.py:149
 msgid "Register (env)"
 msgstr "Registrace (env)"
 
-#: ../vial/blueprints/auth_env/__init__.py:153
+#: ../hawat/blueprints/auth_env/__init__.py:153
 msgid "User account registration (env)"
 msgstr "Registrace uživatelského účtu (env)"
 
-#: ../vial/blueprints/auth_env/__init__.py:262
+#: ../hawat/blueprints/auth_env/__init__.py:262
 msgid "Environment authentication service"
 msgstr "Autentizační služba prostředí"
 
-#: ../vial/blueprints/auth_pwd/__init__.py:48
+#: ../hawat/blueprints/auth_pwd/__init__.py:48
 msgid "Password login"
 msgstr "Přihlášení heslem"
 
-#: ../vial/blueprints/auth_pwd/__init__.py:52
+#: ../hawat/blueprints/auth_pwd/__init__.py:52
 msgid "Login (pwd)"
 msgstr "Login (heslo)"
 
-#: ../vial/blueprints/auth_pwd/__init__.py:85
+#: ../hawat/blueprints/auth_pwd/__init__.py:85
 msgid "Register (pwd)"
 msgstr "Registrace (pwd)"
 
-#: ../vial/blueprints/auth_pwd/__init__.py:89
+#: ../hawat/blueprints/auth_pwd/__init__.py:89
 msgid "User account registration (pwd)"
 msgstr "Registrace uživatelského účtu (pwd)"
 
-#: ../vial/blueprints/auth_pwd/__init__.py:125
+#: ../hawat/blueprints/auth_pwd/__init__.py:125
 msgid "Password authentication service"
 msgstr "Autentizační služba heslem"
 
-#: ../vial/blueprints/changelogs/__init__.py:43
+#: ../hawat/blueprints/changelogs/__init__.py:43
 msgid "Search item changelogs"
 msgstr "Prohledat záznamy změn položek"
 
-#: ../vial/blueprints/changelogs/__init__.py:93
+#: ../hawat/blueprints/changelogs/__init__.py:93
 msgid "Other changes by the same author"
 msgstr "Další změny se stejným autorem"
 
-#: ../vial/blueprints/changelogs/__init__.py:102
+#: ../hawat/blueprints/changelogs/__init__.py:102
 msgid "Other changes of the same item"
 msgstr "Další změny stejné položky"
 
-#: ../vial/blueprints/changelogs/__init__.py:111
+#: ../hawat/blueprints/changelogs/__init__.py:111
 msgid "Other changes of the same item by the same author"
 msgstr "Další změny stejné položky se stejným autorem"
 
-#: ../vial/blueprints/changelogs/__init__.py:131
+#: ../hawat/blueprints/changelogs/__init__.py:131
 msgid "Show item changelog record"
 msgstr "Zobrazit záznam změn položky"
 
-#: ../vial/blueprints/changelogs/__init__.py:137
+#: ../hawat/blueprints/changelogs/__init__.py:137
 #, python-format
 msgid "View details of item changelog record &quot;%(item)s&quot;"
 msgstr "Zobrazit detaily záznamu změn položky &quot;%(item)s&quot;"
 
-#: ../vial/blueprints/changelogs/__init__.py:142
+#: ../hawat/blueprints/changelogs/__init__.py:142
 msgid "Show item changelog record details"
 msgstr "Zobrazit detaily záznamu změn položky"
 
-#: ../vial/blueprints/changelogs/__init__.py:179
+#: ../hawat/blueprints/changelogs/__init__.py:179
 msgid "Item changelog record management"
 msgstr ""
 
-#: ../vial/blueprints/changelogs/forms.py:59
+#: ../hawat/blueprints/changelogs/forms.py:59
 msgid "Authors:"
 msgstr "Autoři:"
 
-#: ../vial/blueprints/changelogs/forms.py:64
+#: ../hawat/blueprints/changelogs/forms.py:64
 msgid "Operations:"
 msgstr "Operace:"
 
-#: ../vial/blueprints/changelogs/forms.py:71
+#: ../hawat/blueprints/changelogs/forms.py:71
 msgid "Item model:"
 msgstr "Model položky:"
 
-#: ../vial/blueprints/changelogs/forms.py:80
+#: ../hawat/blueprints/changelogs/forms.py:80
 msgid "Model ID:"
 msgstr "Identifikátor modelu:"
 
-#: ../vial/blueprints/changelogs/forms.py:137
+#: ../hawat/blueprints/changelogs/forms.py:137
 msgid "Calculate"
 msgstr "Spočítat"
 
-#: ../vial/blueprints/design_bs3/__init__.py:54
+#: ../hawat/blueprints/design_bs3/__init__.py:54
 msgid "Application design and style template"
 msgstr ""
 
-#: ../vial/blueprints/devtools/__init__.py:45
+#: ../hawat/blueprints/devtools/__init__.py:45
 msgid "System configuration"
 msgstr "Systémová konfigurace"
 
-#: ../vial/blueprints/devtools/__init__.py:49
+#: ../hawat/blueprints/devtools/__init__.py:49
 msgid "View system configuration"
 msgstr "Zobrazení systémové konfigurace"
 
-#: ../vial/blueprints/devtools/__init__.py:60
+#: ../hawat/blueprints/devtools/__init__.py:60
 msgid "Development tools"
 msgstr ""
 
-#: ../vial/blueprints/groups/__init__.py:194
+#: ../hawat/blueprints/groups/__init__.py:194
 msgid "Show group details"
 msgstr "Zobrazit detaily skupiny"
 
-#: ../vial/blueprints/groups/__init__.py:352
+#: ../hawat/blueprints/groups/__init__.py:352
 msgid "Create group"
 msgstr "Vytvořit skupinu"
 
-#: ../vial/blueprints/groups/__init__.py:356
+#: ../hawat/blueprints/groups/__init__.py:356
 msgid "Create new group"
 msgstr "Vytvořit novou skupinu"
 
-#: ../vial/blueprints/groups/__init__.py:370
+#: ../hawat/blueprints/groups/__init__.py:370
 #, python-format
 msgid "Group <strong>%(item_id)s</strong> was successfully created."
 msgstr "Skupina <strong>%(item_id)s</strong> byla úspěšně vytvořena."
 
-#: ../vial/blueprints/groups/__init__.py:375
+#: ../hawat/blueprints/groups/__init__.py:375
 msgid "Unable to create new group."
 msgstr "Nelze vytvořit skupinu."
 
-#: ../vial/blueprints/groups/__init__.py:379
+#: ../hawat/blueprints/groups/__init__.py:379
 msgid "Canceled creating new group."
 msgstr "Vytvoření nové skupiny bylo zrušeno."
 
-#: ../vial/blueprints/groups/__init__.py:397 ../vial/view/__init__.py:2068
-#: ../vial/view/__init__.py:2073 ../vial/view/__init__.py:2184
+#: ../hawat/blueprints/groups/__init__.py:397 ../hawat/view/__init__.py:2068
+#: ../hawat/view/__init__.py:2073 ../hawat/view/__init__.py:2184
 msgid "Update"
 msgstr "Upravit"
 
-#: ../vial/blueprints/groups/__init__.py:408
+#: ../hawat/blueprints/groups/__init__.py:408
 msgid "Update group details"
 msgstr "Aktualizovat detaily skupiny"
 
-#: ../vial/blueprints/groups/__init__.py:429
+#: ../hawat/blueprints/groups/__init__.py:429
 #, python-format
 msgid "Group <strong>%(item_id)s</strong> was successfully updated."
 msgstr "Skupina <strong>%(item_id)s</strong> byla úspěšně aktualizována."
 
-#: ../vial/blueprints/groups/__init__.py:436
+#: ../hawat/blueprints/groups/__init__.py:436
 #, python-format
 msgid "Unable to update group <strong>%(item_id)s</strong>."
 msgstr "Nelze aktualizovat skupinu <strong>%(item_id)s</strong>."
 
-#: ../vial/blueprints/groups/__init__.py:443
+#: ../hawat/blueprints/groups/__init__.py:443
 #, python-format
 msgid "Canceled updating group <strong>%(item_id)s</strong>."
 msgstr "Aktualizace skupiny <strong>%(item_id)s</strong> byla zrušena."
 
-#: ../vial/blueprints/groups/__init__.py:470
+#: ../hawat/blueprints/groups/__init__.py:470
 msgid "Add group member"
 msgstr "Přidat člena skupiny"
 
-#: ../vial/blueprints/groups/__init__.py:481
-#: ../vial/blueprints/users/__init__.py:569
+#: ../hawat/blueprints/groups/__init__.py:481
+#: ../hawat/blueprints/users/__init__.py:569
 #, python-format
 msgid "Add user &quot;%(user_id)s&quot; to group &quot;%(group_id)s&quot;"
 msgstr ""
 "Přidat uživatele &quot;%(user_id)s&quot; do skupiny "
 "&quot;%(group_id)s&quot;"
 
-#: ../vial/blueprints/groups/__init__.py:529
-#: ../vial/blueprints/users/__init__.py:617
+#: ../hawat/blueprints/groups/__init__.py:529
+#: ../hawat/blueprints/users/__init__.py:617
 #, python-format
 msgid ""
 "User <strong>%(user_id)s</strong> was successfully added as a member to "
@@ -5371,8 +5371,8 @@ msgstr ""
 "Uživatel <strong>%(user_id)s</strong> byl úspěšně přidán jako člen do "
 "skupiny <strong>%(group_id)s</strong>."
 
-#: ../vial/blueprints/groups/__init__.py:537
-#: ../vial/blueprints/users/__init__.py:625
+#: ../hawat/blueprints/groups/__init__.py:537
+#: ../hawat/blueprints/users/__init__.py:625
 #, python-format
 msgid ""
 "Unable to add user <strong>%(user_id)s</strong> as a member to group "
@@ -5381,8 +5381,8 @@ msgstr ""
 "Nelze přidat uživatele <strong>%(user_id)s</strong> jako člena do skupiny"
 " <strong>%(group_id)s</strong>."
 
-#: ../vial/blueprints/groups/__init__.py:545
-#: ../vial/blueprints/users/__init__.py:633
+#: ../hawat/blueprints/groups/__init__.py:545
+#: ../hawat/blueprints/users/__init__.py:633
 #, python-format
 msgid ""
 "Canceled adding user <strong>%(user_id)s</strong> as a member to group "
@@ -5391,12 +5391,12 @@ msgstr ""
 "Přidání uživatele <strong>%(user_id)s</strong> jako člena do skupiny "
 "<strong>%(group_id)s</strong> bylo zrušeno."
 
-#: ../vial/blueprints/groups/__init__.py:563
+#: ../hawat/blueprints/groups/__init__.py:563
 msgid "Reject group member"
 msgstr "Odmítnout člena skupiny"
 
-#: ../vial/blueprints/groups/__init__.py:574
-#: ../vial/blueprints/users/__init__.py:662
+#: ../hawat/blueprints/groups/__init__.py:574
+#: ../hawat/blueprints/users/__init__.py:662
 #, python-format
 msgid ""
 "Reject user`s &quot;%(user_id)s&quot; membership request for group "
@@ -5405,8 +5405,8 @@ msgstr ""
 "Odmítnout žádost uživatele &quot;%(user_id)s&quot; o členství ve skupině "
 "&quot;%(group_id)s&quot;"
 
-#: ../vial/blueprints/groups/__init__.py:614
-#: ../vial/blueprints/users/__init__.py:700
+#: ../hawat/blueprints/groups/__init__.py:614
+#: ../hawat/blueprints/users/__init__.py:700
 #, python-format
 msgid ""
 "User`s <strong>%(user_id)s</strong> membership request for group "
@@ -5415,8 +5415,8 @@ msgstr ""
 "Žádost uživatele <strong>%(user_id)s</strong> o členství ve skupině "
 "<strong>%(group_id)s</strong> byla úspěšně zamítnuta."
 
-#: ../vial/blueprints/groups/__init__.py:622
-#: ../vial/blueprints/users/__init__.py:708
+#: ../hawat/blueprints/groups/__init__.py:622
+#: ../hawat/blueprints/users/__init__.py:708
 #, python-format
 msgid ""
 "Unable to reject user`s <strong>%(user_id)s</strong> membership request "
@@ -5425,8 +5425,8 @@ msgstr ""
 "Nelze odmítnout žádost uživatele <strong>%(user_id)s</strong> o členství "
 "ve skupinÄ› <strong>%(group_id)s</strong>."
 
-#: ../vial/blueprints/groups/__init__.py:630
-#: ../vial/blueprints/users/__init__.py:716
+#: ../hawat/blueprints/groups/__init__.py:630
+#: ../hawat/blueprints/users/__init__.py:716
 #, python-format
 msgid ""
 "Canceled rejecting user`s <strong>%(user_id)s</strong> membership request"
@@ -5435,20 +5435,20 @@ msgstr ""
 "Odmítnutí žádosti uživatele <strong>%(user_id)s</strong> o členství ve "
 "skupině <strong>%(group_id)s</strong> bylo zrušeno."
 
-#: ../vial/blueprints/groups/__init__.py:648
+#: ../hawat/blueprints/groups/__init__.py:648
 msgid "Remove group member"
 msgstr "Odebrat člena skupiny"
 
-#: ../vial/blueprints/groups/__init__.py:659
-#: ../vial/blueprints/users/__init__.py:745
+#: ../hawat/blueprints/groups/__init__.py:659
+#: ../hawat/blueprints/users/__init__.py:745
 #, python-format
 msgid "Remove user &quot;%(user_id)s&quot; from group &quot;%(group_id)s&quot;"
 msgstr ""
 "Odebrat uživatele &quot;%(user_id)s&quot; ze skupiny group "
 "&quot;%(group_id)s&quot;"
 
-#: ../vial/blueprints/groups/__init__.py:701
-#: ../vial/blueprints/users/__init__.py:786
+#: ../hawat/blueprints/groups/__init__.py:701
+#: ../hawat/blueprints/users/__init__.py:786
 #, python-format
 msgid ""
 "User <strong>%(user_id)s</strong> was successfully removed as a member "
@@ -5457,8 +5457,8 @@ msgstr ""
 "Uživatel <strong>%(user_id)s</strong> byl úspěšně odebrán jako člen ze "
 "skupiny <strong>%(group_id)s</strong>."
 
-#: ../vial/blueprints/groups/__init__.py:709
-#: ../vial/blueprints/users/__init__.py:794
+#: ../hawat/blueprints/groups/__init__.py:709
+#: ../hawat/blueprints/users/__init__.py:794
 #, python-format
 msgid ""
 "Unable to remove user <strong>%(user_id)s</strong> as a member from group"
@@ -5467,8 +5467,8 @@ msgstr ""
 "Nelze odebrat uživatele <strong>%(user_id)s</strong> jako člena ze "
 "skupiny <strong>%(group_id)s</strong>."
 
-#: ../vial/blueprints/groups/__init__.py:717
-#: ../vial/blueprints/users/__init__.py:802
+#: ../hawat/blueprints/groups/__init__.py:717
+#: ../hawat/blueprints/users/__init__.py:802
 #, python-format
 msgid ""
 "Canceled removing user <strong>%(user_id)s</strong> as a member from "
@@ -5477,380 +5477,380 @@ msgstr ""
 "Odebrání uživatele <strong>%(user_id)s</strong> jako člena ze skupiny "
 "<strong>%(group_id)s</strong> bylo zrušeno."
 
-#: ../vial/blueprints/groups/__init__.py:741
+#: ../hawat/blueprints/groups/__init__.py:741
 msgid "Add group manager"
 msgstr ""
 
-#: ../vial/blueprints/groups/__init__.py:752
-#: ../vial/blueprints/users/__init__.py:841
+#: ../hawat/blueprints/groups/__init__.py:752
+#: ../hawat/blueprints/users/__init__.py:841
 #, python-format
 msgid ""
 "Add user &quot;%(user_id)s&quot; to group &quot;%(group_id)s&quot; as "
 "manager"
 msgstr ""
 
-#: ../vial/blueprints/groups/__init__.py:796
-#: ../vial/blueprints/users/__init__.py:885
+#: ../hawat/blueprints/groups/__init__.py:796
+#: ../hawat/blueprints/users/__init__.py:885
 #, python-format
 msgid ""
 "User <strong>%(user_id)s</strong> was successfully added as a manager to "
 "group <strong>%(group_id)s</strong>."
 msgstr ""
 
-#: ../vial/blueprints/groups/__init__.py:804
-#: ../vial/blueprints/users/__init__.py:893
+#: ../hawat/blueprints/groups/__init__.py:804
+#: ../hawat/blueprints/users/__init__.py:893
 #, python-format
 msgid ""
 "Unable to add user <strong>%(user_id)s</strong> as a manager to group "
 "<strong>%(group_id)s</strong>."
 msgstr ""
 
-#: ../vial/blueprints/groups/__init__.py:812
-#: ../vial/blueprints/users/__init__.py:901
+#: ../hawat/blueprints/groups/__init__.py:812
+#: ../hawat/blueprints/users/__init__.py:901
 #, python-format
 msgid ""
 "Canceled adding user <strong>%(user_id)s</strong> as a manager to group "
 "<strong>%(group_id)s</strong>."
 msgstr ""
 
-#: ../vial/blueprints/groups/__init__.py:830
+#: ../hawat/blueprints/groups/__init__.py:830
 msgid "Remove group manager"
 msgstr ""
 
-#: ../vial/blueprints/groups/__init__.py:841
-#: ../vial/blueprints/users/__init__.py:930
+#: ../hawat/blueprints/groups/__init__.py:841
+#: ../hawat/blueprints/users/__init__.py:930
 #, python-format
 msgid ""
 "Remove user &quot;%(user_id)s&quot; from group &quot;%(group_id)s&quot; "
 "as manager"
 msgstr ""
 
-#: ../vial/blueprints/groups/__init__.py:882
-#: ../vial/blueprints/users/__init__.py:971
+#: ../hawat/blueprints/groups/__init__.py:882
+#: ../hawat/blueprints/users/__init__.py:971
 #, python-format
 msgid ""
 "User <strong>%(user_id)s</strong> was successfully removed as a manager "
 "from group <strong>%(group_id)s</strong>."
 msgstr ""
 
-#: ../vial/blueprints/groups/__init__.py:890
-#: ../vial/blueprints/users/__init__.py:979
+#: ../hawat/blueprints/groups/__init__.py:890
+#: ../hawat/blueprints/users/__init__.py:979
 #, python-format
 msgid ""
 "Unable to remove user <strong>%(user_id)s</strong> as a manager from "
 "group <strong>%(group_id)s</strong>."
 msgstr ""
 
-#: ../vial/blueprints/groups/__init__.py:898
-#: ../vial/blueprints/users/__init__.py:987
+#: ../hawat/blueprints/groups/__init__.py:898
+#: ../hawat/blueprints/users/__init__.py:987
 #, python-format
 msgid ""
 "Canceled removing user <strong>%(user_id)s</strong> as a manager from "
 "group <strong>%(group_id)s</strong>."
 msgstr ""
 
-#: ../vial/blueprints/groups/__init__.py:931
+#: ../hawat/blueprints/groups/__init__.py:931
 #, python-format
 msgid "Group <strong>%(item_id)s</strong> was successfully enabled."
 msgstr "Skupina <strong>%(item_id)s</strong> byla úspěšně aktivována."
 
-#: ../vial/blueprints/groups/__init__.py:757
+#: ../hawat/blueprints/groups/__init__.py:757
 #, python-format
 msgid "Unable to enable group <strong>%(item_id)s</strong>."
 msgstr "Nelze aktivovat skupinu <strong>%(item_id)s</strong>."
 
-#: ../vial/blueprints/groups/__init__.py:764
+#: ../hawat/blueprints/groups/__init__.py:764
 #, python-format
 msgid "Canceled enabling group <strong>%(item_id)s</strong>."
 msgstr "Aktivace skupiny <strong>%(item_id)s</strong> byla zrušena."
 
-#: ../vial/blueprints/groups/__init__.py:797
+#: ../hawat/blueprints/groups/__init__.py:797
 #, python-format
 msgid "Group <strong>%(item_id)s</strong> was successfully disabled."
 msgstr "Skupina <strong>%(item_id)s</strong> byla úspěšně deaktivována."
 
-#: ../vial/blueprints/groups/__init__.py:804
+#: ../hawat/blueprints/groups/__init__.py:804
 #, python-format
 msgid "Unable to disable group <strong>%(item_id)s</strong>."
 msgstr "Nelze deaktivovat skupinu <strong>%(item_id)s</strong>."
 
-#: ../vial/blueprints/groups/__init__.py:811
+#: ../hawat/blueprints/groups/__init__.py:811
 #, python-format
 msgid "Canceled disabling group <strong>%(item_id)s</strong>."
 msgstr "Deaktivace skupiny <strong>%(item_id)s</strong> byla zrušena."
 
-#: ../vial/blueprints/groups/__init__.py:845
+#: ../hawat/blueprints/groups/__init__.py:845
 #, python-format
 msgid ""
 "Group <strong>%(item_id)s</strong> was successfully and permanently "
 "deleted."
 msgstr "Skupina <strong>%(item_id)s</strong> byla úspěšně a trvale smazána."
 
-#: ../vial/blueprints/groups/__init__.py:852
+#: ../hawat/blueprints/groups/__init__.py:852
 #, python-format
 msgid "Unable to delete group <strong>%(item_id)s</strong>."
 msgstr "Nelze smazat skupinu <strong>%(item_id)s</strong>."
 
-#: ../vial/blueprints/groups/__init__.py:859
+#: ../hawat/blueprints/groups/__init__.py:859
 #, python-format
 msgid "Canceled deleting group <strong>%(item_id)s</strong>."
 msgstr "Mazání skupiny <strong>%(item_id)s</strong> bylo zrušeno."
 
-#: ../vial/blueprints/groups/forms.py:173
+#: ../hawat/blueprints/groups/forms.py:173
 msgid "Name, description:"
 msgstr ""
 
-#: ../vial/blueprints/groups/forms.py:178
+#: ../hawat/blueprints/groups/forms.py:178
 msgid ""
 "Group`s full name or description. Search is performed even in the middle "
 "of the strings."
 msgstr ""
 
-#: ../vial/blueprints/groups/forms.py:208
+#: ../hawat/blueprints/groups/forms.py:208
 msgid "Search for groups with particular state."
 msgstr ""
 
-#: ../vial/blueprints/groups/forms.py:216
+#: ../hawat/blueprints/groups/forms.py:216
 msgid "Search for groups coming from particular sources/feeds."
 msgstr ""
 
-#: ../vial/blueprints/groups/forms.py:219
+#: ../hawat/blueprints/groups/forms.py:219
 msgid "Group members:"
 msgstr ""
 
-#: ../vial/blueprints/groups/forms.py:222
+#: ../hawat/blueprints/groups/forms.py:222
 msgid "Search for groups with particular members."
 msgstr ""
 
-#: ../vial/blueprints/groups/forms.py:225
+#: ../hawat/blueprints/groups/forms.py:225
 msgid "Group managers:"
 msgstr ""
 
-#: ../vial/blueprints/groups/forms.py:228
+#: ../hawat/blueprints/groups/forms.py:228
 msgid "Search for groups with particular managers."
 msgstr ""
 
-#: ../vial/blueprints/groups/forms.py:239 ../vial/blueprints/users/forms.py:250
+#: ../hawat/blueprints/groups/forms.py:239 ../hawat/blueprints/users/forms.py:250
 msgid "by name descending"
 msgstr ""
 
-#: ../vial/blueprints/groups/forms.py:240 ../vial/blueprints/users/forms.py:251
+#: ../hawat/blueprints/groups/forms.py:240 ../hawat/blueprints/users/forms.py:251
 msgid "by name ascending"
 msgstr ""
 
-#: ../vial/blueprints/users/__init__.py:56
+#: ../hawat/blueprints/users/__init__.py:56
 msgid "User management"
 msgstr "Správa uživatelů"
 
-#: ../vial/blueprints/users/__init__.py:194
+#: ../hawat/blueprints/users/__init__.py:194
 #, python-format
 msgid "Show details of user account &quot;%(item)s&quot;"
 msgstr "Zobrazit detaily uživatelského účtu &quot;%(item)s&quot;"
 
-#: ../vial/blueprints/users/__init__.py:199
+#: ../hawat/blueprints/users/__init__.py:199
 msgid "Show user account details"
 msgstr "Zobrazit detaily uživatelského účtu"
 
-#: ../vial/blueprints/users/__init__.py:343
+#: ../hawat/blueprints/users/__init__.py:343
 msgid "My account"
 msgstr "Můj účet"
 
-#: ../vial/blueprints/users/__init__.py:351
+#: ../hawat/blueprints/users/__init__.py:351
 msgid "My user account"
 msgstr "Můj uživatelský účet"
 
-#: ../vial/blueprints/users/__init__.py:417
+#: ../hawat/blueprints/users/__init__.py:417
 msgid "Create new user account"
 msgstr "Vytvořit nový uživatelský účet"
 
-#: ../vial/blueprints/users/__init__.py:431
+#: ../hawat/blueprints/users/__init__.py:431
 #, python-format
 msgid "User account <strong>%(item_id)s</strong> was successfully created."
 msgstr "Uživatelský účet <strong>%(item_id)s</strong> byl úspěšně vytvořen."
 
-#: ../vial/blueprints/users/__init__.py:446
+#: ../hawat/blueprints/users/__init__.py:446
 msgid "Unable to create new user account."
 msgstr "Nelze vytvořit nový uživatelský účet."
 
-#: ../vial/blueprints/users/__init__.py:450
+#: ../hawat/blueprints/users/__init__.py:450
 msgid "Canceled creating new user account."
 msgstr "Vytváření nového uživatelského účtu bylo zrušeno."
 
-#: ../vial/blueprints/users/__init__.py:482
+#: ../hawat/blueprints/users/__init__.py:482
 msgid "Update user account details"
 msgstr "Aktualizovat detaily uživatelského účtu"
 
-#: ../vial/blueprints/users/__init__.py:510
+#: ../hawat/blueprints/users/__init__.py:510
 #, python-format
 msgid "User account <strong>%(item_id)s</strong> was successfully updated."
 msgstr "Uživatelský účet <strong>%(item_id)s</strong> byl úspěšně aktualizován."
 
-#: ../vial/blueprints/users/__init__.py:517
+#: ../hawat/blueprints/users/__init__.py:517
 #, python-format
 msgid "Unable to update user account <strong>%(item_id)s</strong>."
 msgstr "Nelze aktualizovat uživatelský účet <strong>%(item_id)s</strong>."
 
-#: ../vial/blueprints/users/__init__.py:524
+#: ../hawat/blueprints/users/__init__.py:524
 #, python-format
 msgid "Canceled updating user account <strong>%(item_id)s</strong>."
 msgstr "Aktualizace uživatelského účtu <strong>%(item_id)s</strong> byla zrušena."
 
-#: ../vial/blueprints/users/__init__.py:568
+#: ../hawat/blueprints/users/__init__.py:568
 msgid "Add group membership"
 msgstr "Přidat členství"
 
-#: ../vial/blueprints/users/__init__.py:661
+#: ../hawat/blueprints/users/__init__.py:661
 msgid "Reject group membership"
 msgstr "Odmítnout členství"
 
-#: ../vial/blueprints/users/__init__.py:744
+#: ../hawat/blueprints/users/__init__.py:744
 msgid "Remove group membership"
 msgstr "Odebrat členství"
 
-#: ../vial/blueprints/users/__init__.py:830
+#: ../hawat/blueprints/users/__init__.py:830
 msgid "Add group management"
 msgstr ""
 
-#: ../vial/blueprints/users/__init__.py:919
+#: ../hawat/blueprints/users/__init__.py:919
 msgid "Remove group management"
 msgstr ""
 
-#: ../vial/blueprints/users/__init__.py:1024
+#: ../hawat/blueprints/users/__init__.py:1024
 #, python-format
 msgid "User account <strong>%(item_id)s</strong> was successfully enabled."
 msgstr "Uživatelský účet <strong>%(item_id)s</strong> byl úspěšně aktivován."
 
-#: ../vial/blueprints/users/__init__.py:1031
+#: ../hawat/blueprints/users/__init__.py:1031
 #, python-format
 msgid "Unable to enable user account <strong>%(item_id)s</strong>."
 msgstr "Nelze aktivovat uživatelský účet <strong>%(item_id)s</strong>."
 
-#: ../vial/blueprints/users/__init__.py:1038
+#: ../hawat/blueprints/users/__init__.py:1038
 #, python-format
 msgid "Canceled enabling user account <strong>%(item_id)s</strong>."
 msgstr "Aktivace uživatelského účtu <strong>%(item_id)s</strong> byla přerušena."
 
-#: ../vial/blueprints/users/__init__.py:1050
+#: ../hawat/blueprints/users/__init__.py:1050
 #, python-format
 msgid "[%(app_name)s] Account activation - %(item_id)s"
 msgstr ""
 
-#: ../vial/blueprints/users/__init__.py:1101
+#: ../hawat/blueprints/users/__init__.py:1101
 #, python-format
 msgid "User account <strong>%(item_id)s</strong> was successfully disabled."
 msgstr "Uživatelský účet <strong>%(item_id)s</strong> byl úspěšně deaktivován."
 
-#: ../vial/blueprints/users/__init__.py:1108
+#: ../hawat/blueprints/users/__init__.py:1108
 #, python-format
 msgid "Unable to disable user account <strong>%(item_id)s</strong>."
 msgstr "Nelze deaktivovat uživatelský účet <strong>%(item_id)s</strong>."
 
-#: ../vial/blueprints/users/__init__.py:1115
+#: ../hawat/blueprints/users/__init__.py:1115
 #, python-format
 msgid "Canceled disabling user account <strong>%(item_id)s</strong>."
 msgstr "Deaktivace uživatelského účtu <strong>%(item_id)s</strong> byla přerušena."
 
-#: ../vial/blueprints/users/__init__.py:1152
+#: ../hawat/blueprints/users/__init__.py:1152
 #, python-format
 msgid ""
 "User account <strong>%(item_id)s</strong> was successfully and "
 "permanently deleted."
 msgstr "Uživatelský účet <strong>%(item_id)s</strong> byl úspěšně a trvale smazán."
 
-#: ../vial/blueprints/users/__init__.py:1159
+#: ../hawat/blueprints/users/__init__.py:1159
 #, python-format
 msgid "Unable to delete user account <strong>%(item_id)s</strong>."
 msgstr "Nelze smazat uživatelský účet <strong>%(item_id)s</strong>."
 
-#: ../vial/blueprints/users/__init__.py:1166
+#: ../hawat/blueprints/users/__init__.py:1166
 #, python-format
 msgid "Canceled deleting user account <strong>%(item_id)s</strong>."
 msgstr "Mazání uživatelského účtu <strong>%(item_id)s</strong> bylo zrušeno."
 
-#: ../vial/blueprints/users/__init__.py:1178
+#: ../hawat/blueprints/users/__init__.py:1178
 msgid "User account management"
 msgstr "Správa uživatelských účtů"
 
-#: ../vial/blueprints/users/forms.py:184
+#: ../hawat/blueprints/users/forms.py:184
 msgid "Login, name, email:"
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:189
+#: ../hawat/blueprints/users/forms.py:189
 msgid ""
 "User`s login, full name or email address. Search is performed even in the"
 " middle of the strings, so for example you may lookup by domain."
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:217
+#: ../hawat/blueprints/users/forms.py:217
 msgid "Search for users with particular account state."
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:220
+#: ../hawat/blueprints/users/forms.py:220
 msgid "Role:"
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:225
+#: ../hawat/blueprints/users/forms.py:225
 msgid "Search for users with particular role, or without any assigned roles."
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:228
+#: ../hawat/blueprints/users/forms.py:228
 msgid "Group membership:"
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:231
+#: ../hawat/blueprints/users/forms.py:231
 msgid "Search for users with membership with particular group."
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:234
+#: ../hawat/blueprints/users/forms.py:234
 msgid "Group management:"
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:237
+#: ../hawat/blueprints/users/forms.py:237
 msgid "Search for users with management rights to particular group."
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:241
+#: ../hawat/blueprints/users/forms.py:241
 msgid "Sort result by:"
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:248
+#: ../hawat/blueprints/users/forms.py:248
 msgid "by login descending"
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:249
+#: ../hawat/blueprints/users/forms.py:249
 msgid "by login ascending"
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:252
+#: ../hawat/blueprints/users/forms.py:252
 msgid "by email descending"
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:253
+#: ../hawat/blueprints/users/forms.py:253
 msgid "by email ascending"
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:254
+#: ../hawat/blueprints/users/forms.py:254
 msgid "by login time descending"
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:255
+#: ../hawat/blueprints/users/forms.py:255
 msgid "by login time ascending"
 msgstr ""
 
-#: ../vial/blueprints/users/forms.py:275
+#: ../hawat/blueprints/users/forms.py:275
 msgid "Without any roles"
 msgstr ""
 
-#: ../vial/view/__init__.py:624 ../vial/view/__init__.py:645
+#: ../hawat/view/__init__.py:624 ../hawat/view/__init__.py:645
 msgid "You have entered wrong login credentials."
 msgstr "Byly zadány neplatné přihlašovací údaje."
 
-#: ../vial/view/__init__.py:633
+#: ../hawat/view/__init__.py:633
 #, python-format
 msgid "Unable to perform login as <strong>%(user)s</strong>."
 msgstr ""
 
-#: ../vial/view/__init__.py:655
+#: ../hawat/view/__init__.py:655
 #, python-format
 msgid ""
 "Your user account <strong>%(login)s (%(name)s)</strong> is currently "
@@ -5859,99 +5859,99 @@ msgstr ""
 "Váš uživatelský účet <strong>%(login)s (%(name)s)</strong> je v tuto "
 "chvíli deaktivován, jako tento uživatele se nemůžete bohužel přihlásit."
 
-#: ../vial/view/__init__.py:663
+#: ../hawat/view/__init__.py:663
 msgid "You have used wrong login credentials."
 msgstr "Použili jste neplatné přihlašovací údaje."
 
-#: ../vial/view/__init__.py:685
+#: ../hawat/view/__init__.py:685
 #, python-format
 msgid "You have been successfully logged in as <strong>%(user)s</strong>."
 msgstr "Přihlášení bylo úspěšné pod uživatelským účtem <strong>%(user)s</strong>."
 
-#: ../vial/view/__init__.py:732
+#: ../hawat/view/__init__.py:732
 msgid "Search for last hour"
 msgstr "Hledat za poslední hodinu"
 
-#: ../vial/view/__init__.py:733
+#: ../hawat/view/__init__.py:733
 msgid "Search for last 2 hours"
 msgstr "Hledat za poslední 2 hodiny"
 
-#: ../vial/view/__init__.py:734
+#: ../hawat/view/__init__.py:734
 msgid "Search for last 3 hours"
 msgstr "Hledat za poslední 3 hodiny"
 
-#: ../vial/view/__init__.py:735
+#: ../hawat/view/__init__.py:735
 msgid "Search for last 4 hours"
 msgstr "Hledat za poslední 4 hodiny"
 
-#: ../vial/view/__init__.py:736
+#: ../hawat/view/__init__.py:736
 msgid "Search for last 6 hours"
 msgstr "Hledat za poslední 6 hodin"
 
-#: ../vial/view/__init__.py:737
+#: ../hawat/view/__init__.py:737
 msgid "Search for last 12 hours"
 msgstr "Hledat za poslední 12 hodin"
 
-#: ../vial/view/__init__.py:738
+#: ../hawat/view/__init__.py:738
 msgid "Search for last day"
 msgstr "Hledat za poslední den"
 
-#: ../vial/view/__init__.py:739
+#: ../hawat/view/__init__.py:739
 msgid "Search for last 2 days"
 msgstr "Hledat za poslední 2 dny"
 
-#: ../vial/view/__init__.py:740
+#: ../hawat/view/__init__.py:740
 msgid "Search for last 3 days"
 msgstr "Hledat za poslední 3 dny"
 
-#: ../vial/view/__init__.py:741
+#: ../hawat/view/__init__.py:741
 msgid "Search for last week"
 msgstr "Hledat za poslední týden"
 
-#: ../vial/view/__init__.py:742
+#: ../hawat/view/__init__.py:742
 msgid "Search for last 2 weeks"
 msgstr "Hledat za poslední 2 týdny"
 
-#: ../vial/view/__init__.py:743
+#: ../hawat/view/__init__.py:743
 msgid "Search for last 4 weeks"
 msgstr "Hledat za poslední 4 týdny"
 
-#: ../vial/view/__init__.py:744
+#: ../hawat/view/__init__.py:744
 msgid "Search for last 12 weeks"
 msgstr "Hledat za posledních 12 týdnů"
 
-#: ../vial/view/__init__.py:746
+#: ../hawat/view/__init__.py:746
 msgid "Search for today"
 msgstr "Hledat za dnešek"
 
-#: ../vial/view/__init__.py:747
+#: ../hawat/view/__init__.py:747
 msgid "Search for this week"
 msgstr "Hledat za tento týden"
 
-#: ../vial/view/__init__.py:748
+#: ../hawat/view/__init__.py:748
 msgid "Search for this month"
 msgstr "Hledat za tento měsíc"
 
-#: ../vial/view/__init__.py:749
+#: ../hawat/view/__init__.py:749
 msgid "Search for this year"
 msgstr "Hledat za tento rok"
 
-#: ../vial/view/__init__.py:956 ../vial/view/__init__.py:1077
+#: ../hawat/view/__init__.py:956 ../hawat/view/__init__.py:1077
 #, python-format
 msgid "Invalid address value <strong>%(address)s</strong> in search form."
 msgstr "Neplatná hodnota pro IP adresu <strong>%(address)s</strong> ve formuláři."
 
-#: ../vial/view/__init__.py:1546 ../vial/view/__init__.py:1556
-#: ../vial/view/__init__.py:1681 ../vial/view/__init__.py:1877
+#: ../hawat/view/__init__.py:1546 ../hawat/view/__init__.py:1556
+#: ../hawat/view/__init__.py:1681 ../hawat/view/__init__.py:1877
 msgid "Create"
 msgstr "Vytvořit"
 
-#: ../vial/view/__init__.py:1581 ../vial/view/__init__.py:1782
+#: ../hawat/view/__init__.py:1581 ../hawat/view/__init__.py:1782
 #, python-format
 msgid "Item \"%(item)s\" already exists"
 msgstr "Položka \"%(item)s\" již existuje"
 
-#: ../vial/view/__init__.py:1921
+#: ../hawat/view/__init__.py:1921
 #, python-format
 msgid ""
 "User account <strong>%(login)s (%(name)s)</strong> was successfully "
@@ -5960,43 +5960,43 @@ msgstr ""
 "Uživatelský účet <strong>%(login)s (%(name)s)</strong> byl úspěšně "
 "zaregistrován."
 
-#: ../vial/view/__init__.py:1929
+#: ../hawat/view/__init__.py:1929
 msgid "Unable to register new user account."
 msgstr "Nelze zaregistrovat nový uživatelský účet."
 
-#: ../vial/view/__init__.py:1933
+#: ../hawat/view/__init__.py:1933
 msgid "Account registration canceled."
 msgstr "Registrace uživatelského účtu byla zrušena"
 
-#: ../vial/view/__init__.py:1937
+#: ../hawat/view/__init__.py:1937
 #, python-format
 msgid "Please use different login, the \"%(item)s\" is already taken."
 msgstr "Prosím použijte jiný login, \"%(item)s\" již existuje."
 
-#: ../vial/view/__init__.py:1953 ../vial/view/__init__.py:2001
-#: ../vial/view/__init__.py:2033
+#: ../hawat/view/__init__.py:1953 ../hawat/view/__init__.py:2001
+#: ../hawat/view/__init__.py:2033
 #, python-format
 msgid "[%(app_name)s] Account registration - %(item_id)s"
 msgstr "[%(app_name)s] Registrace uživatelského účtu - %(item_id)s"
 
-#: ../vial/view/__init__.py:2174 ../vial/view/__init__.py:2373
-#: ../vial/view/__init__.py:2576
+#: ../hawat/view/__init__.py:2174 ../hawat/view/__init__.py:2373
+#: ../hawat/view/__init__.py:2576
 msgid "No changes detected, no update needed."
 msgstr "Nebyly zjištěny žádné změny, aktualizace není nutná."
 
-#: ../vial/view/__init__.py:2231 ../vial/view/__init__.py:2236
+#: ../hawat/view/__init__.py:2231 ../hawat/view/__init__.py:2236
 msgid "Delete"
 msgstr "Smazat"
 
-#: ../vial/view/__init__.py:2429 ../vial/view/__init__.py:2434
+#: ../hawat/view/__init__.py:2429 ../hawat/view/__init__.py:2434
 msgid "Disable"
 msgstr "Deaktivovat"
 
-#: ../vial/view/__init__.py:2465 ../vial/view/__init__.py:2470
+#: ../hawat/view/__init__.py:2465 ../hawat/view/__init__.py:2470
 msgid "Enable"
 msgstr "Aktivovat"
 
-#: ../vial/view/mixin.py:259
+#: ../hawat/view/mixin.py:259
 #, python-format
 msgid "Invalid value %(val)s for snippet rendering parameter."
 msgstr "Neplatná hodnota %(val)s parametru pre renderování snippetů."
diff --git a/lib/hawat/view/__init__.py b/lib/hawat/view/__init__.py
index 2ff3ef71..e626d3b0 100644
--- a/lib/hawat/view/__init__.py
+++ b/lib/hawat/view/__init__.py
@@ -706,7 +706,7 @@ class BaseLoginView(SimpleView):
         return self.generate_response()
 
 
-class BaseSearchView(RenderableView, hawatUtils):
+class BaseSearchView(RenderableView, HawatUtils):
     """
     Base class for search views.
     """
diff --git a/vagrantenv/system/login-banner.sh b/vagrantenv/system/login-banner.sh
index 5fa379a6..63f14571 100755
--- a/vagrantenv/system/login-banner.sh
+++ b/vagrantenv/system/login-banner.sh
@@ -25,7 +25,7 @@ echo "      Use command alias 've' to activate project's virtual environment."
 echo ""
 echo "    Launching:"
 echo "      mentat-controller.py --command start    # Mentat backend system"
-echo "      make run-webui-dev                      # Flask's web interface (5000)"
+echo "      make run-webui-vagrant                  # Flask's web interface (5000)"
 echo ""
 echo "    Documentation:"
 echo "      https://alchemist.cesnet.cz/mentat/doc/development/html/_doclib/development.html#development-with-vagrant"
-- 
GitLab