hawat package
This package contains the web user interface for the Mentat system.
Architecture
Hawat is implemented on top of the Flask microframework and attempts to use many of its advanced features for application extendability, modularity and configurability. The Flask documentation is a great place to start if you want to write your own custom Hawat plugins or somehow extend or customize the default features or behavior.
Hawat was designed with a focus on application modularity. Only very small part of the application is mandatory and _core_, virtually everything is a pluggable module that can be dynamically enabled or disabled in configuration. Following is a list of key application features:
Prerequisites and dependencies
Hawat is implemented on top of the Flask microframework and with the use of following Python3 key libraries:
The application frontend is built on top of following key libraries:
bootstrap-select
Todo
- Secure redirect back after login:
- Flask security considerations:
- Internationalization
- Flask principal tweaks:
https://flask-login.readthedocs.io/en/latest/#flask_login.login_required
https://github.com/mattupstate/flask-principal/blob/master/flask_principal.py
https://github.com/jetpackdata/flask-login-principal/blob/master/app/mod_auth/views.py
https://github.com/saltycrane/flask-principal-example/blob/master/main.py
https://github.com/mickey06/Flask-principal-example/blob/master/FPrincipals.py
- Flask tutorial considerations:
Subpackages
- hawat.blueprints package
- Subpackages
- hawat.blueprints.auth package
- hawat.blueprints.auth_api package
- hawat.blueprints.auth_dev package
- hawat.blueprints.auth_env package
- hawat.blueprints.auth_pwd package
- hawat.blueprints.changelogs package
- hawat.blueprints.dbstatus package
- hawat.blueprints.design_bs3 package
- hawat.blueprints.detectors package
- hawat.blueprints.devtools package
- hawat.blueprints.dnsr package
- hawat.blueprints.events package
- hawat.blueprints.filters package
- hawat.blueprints.geoip package
- hawat.blueprints.groups package
- hawat.blueprints.home package
- hawat.blueprints.hosts package
- hawat.blueprints.nerd package
- hawat.blueprints.networks package
- hawat.blueprints.pdnsr package
- hawat.blueprints.performance package
- hawat.blueprints.reports package
- hawat.blueprints.settings_reporting package
- hawat.blueprints.skeleton package
- hawat.blueprints.status package
- hawat.blueprints.timeline package
- hawat.blueprints.users package
- hawat.blueprints.whois package
- Subpackages
- hawat.test package
HawatTestCase
HawatTestCase.assertGetURL()
HawatTestCase.assertMailbox()
HawatTestCase.assertPostURL()
HawatTestCase.get_fixtures_db()
HawatTestCase.group_enabled()
HawatTestCase.group_get()
HawatTestCase.group_id()
HawatTestCase.group_model()
HawatTestCase.group_save()
HawatTestCase.log_clear()
HawatTestCase.log_get()
HawatTestCase.logger
HawatTestCase.login_dev()
HawatTestCase.login_env()
HawatTestCase.login_pwd()
HawatTestCase.logout()
HawatTestCase.mailbox_clear()
HawatTestCase.mailbox_monitoring()
HawatTestCase.on_email_sent()
HawatTestCase.setUp()
HawatTestCase.setup_app()
HawatTestCase.setup_db()
HawatTestCase.setup_fixtures_db()
HawatTestCase.setup_logging()
HawatTestCase.tearDown()
HawatTestCase.teardown_db()
HawatTestCase.teardown_logging()
HawatTestCase.user_enabled()
HawatTestCase.user_get()
HawatTestCase.user_id()
HawatTestCase.user_model()
HawatTestCase.user_save()
ItemCreateHawatTestCase
RegistrationHawatTestCase
app_context_wrapper_decorator()
do_as_user_decorator
- Submodules
- hawat.view package
BaseLoginView
BaseLoginView.authenticate_user()
BaseLoginView.dbmodel
BaseLoginView.dbsession
BaseLoginView.dispatch_request()
BaseLoginView.fetch()
BaseLoginView.get_menu_title()
BaseLoginView.get_user_login()
BaseLoginView.get_view_icon()
BaseLoginView.get_view_name()
BaseLoginView.get_view_title()
BaseLoginView.is_sign_in
BaseRegisterView
BaseRegisterView.do_after_action()
BaseRegisterView.do_before_action()
BaseRegisterView.get_menu_title()
BaseRegisterView.get_message_cancel()
BaseRegisterView.get_message_duplicate()
BaseRegisterView.get_message_failure()
BaseRegisterView.get_message_success()
BaseRegisterView.get_view_icon()
BaseRegisterView.get_view_name()
BaseRegisterView.get_view_template()
BaseRegisterView.get_view_title()
BaseRegisterView.inform_admins()
BaseRegisterView.inform_managers()
BaseRegisterView.inform_user()
BaseRegisterView.is_sign_up
BaseRegisterView.methods
BaseSearchView
BaseSearchView.dispatch_request()
BaseSearchView.do_after_search()
BaseSearchView.do_before_search()
BaseSearchView.get_action_menu()
BaseSearchView.get_breadcrumbs_menu()
BaseSearchView.get_context_action_menu()
BaseSearchView.get_query_parameters()
BaseSearchView.get_quicksearch_by_time()
BaseSearchView.get_search_form()
BaseSearchView.get_view_icon()
BaseSearchView.get_view_name()
BaseSearchView.search()
BaseView
BaseView.authentication
BaseView.authorization
BaseView.can_access_endpoint()
BaseView.get_endpoint_class()
BaseView.get_menu_legend()
BaseView.get_menu_title()
BaseView.get_model()
BaseView.get_resource()
BaseView.get_view_endpoint()
BaseView.get_view_endpoint_name()
BaseView.get_view_icon()
BaseView.get_view_name()
BaseView.get_view_title()
BaseView.get_view_url()
BaseView.has_endpoint()
BaseView.logger
BaseView.module_name
BaseView.module_ref
BaseView.url_params_unsupported
CustomSearchView
DecoratedView
FileIdView
FileNameView
ItemActionView
ItemActionView.authorize_item_action()
ItemActionView.changelog_log()
ItemActionView.check_action_cancel()
ItemActionView.dbchlogmodel
ItemActionView.dbmodel
ItemActionView.dbsession
ItemActionView.do_after_action()
ItemActionView.do_before_action()
ItemActionView.fetch()
ItemActionView.get_affected_items()
ItemActionView.get_message_cancel()
ItemActionView.get_message_failure()
ItemActionView.get_message_success()
ItemActionView.get_url_next()
ItemActionView.get_view_icon()
ItemActionView.get_view_template()
ItemActionView.get_view_url()
ItemActionView.handle_error()
ItemChangeView
ItemCreateForView
ItemCreateForView.add_parent_to_item()
ItemCreateForView.dbmodel_par
ItemCreateForView.dbquery_par
ItemCreateForView.dispatch_request()
ItemCreateForView.get_breadcrumbs_menu()
ItemCreateForView.get_item()
ItemCreateForView.get_item_form()
ItemCreateForView.get_message_duplicate()
ItemCreateForView.get_view_icon()
ItemCreateForView.get_view_name()
ItemCreateForView.get_view_template()
ItemCreateForView.get_view_url()
ItemCreateView
ItemCreateView.dispatch_request()
ItemCreateView.get_breadcrumbs_menu()
ItemCreateView.get_item()
ItemCreateView.get_item_form()
ItemCreateView.get_menu_title()
ItemCreateView.get_message_duplicate()
ItemCreateView.get_view_name()
ItemCreateView.get_view_template()
ItemCreateView.get_view_title()
ItemCreateView.get_view_url()
ItemDeleteView
ItemDisableView
ItemEnableView
ItemListView
ItemObjectRelationView
ItemShowView
ItemShowView.authorize_item_action()
ItemShowView.dispatch_request()
ItemShowView.fetch()
ItemShowView.get_action_menu()
ItemShowView.get_breadcrumbs_menu()
ItemShowView.get_menu_title()
ItemShowView.get_view_icon()
ItemShowView.get_view_name()
ItemShowView.get_view_title()
ItemShowView.get_view_url()
ItemUpdateView
RenderableView
SimpleView
- Submodules
Submodules
- hawat.acl module
- hawat.app module
- hawat.base module
HawatApp
HawatApp.add_url_rule()
HawatApp.can_access_endpoint()
HawatApp.get_csag()
HawatApp.get_endpoint_class()
HawatApp.get_endpoints()
HawatApp.get_model()
HawatApp.get_modules()
HawatApp.get_oads()
HawatApp.get_resource()
HawatApp.has_endpoint()
HawatApp.icons
HawatApp.log_exception()
HawatApp.log_exception_with_label()
HawatApp.mconfig
HawatApp.register_blueprint()
HawatApp.register_blueprints()
HawatApp.send_infomail()
HawatApp.set_csag()
HawatApp.set_csag_url()
HawatApp.set_infomailer()
HawatApp.set_oads()
HawatApp.set_resource()
HawatApp.setup_app()
HawatBlueprint
HawatException
PsycopgMixin
- hawat.command module
- hawat.config module
CONFIG_MAP
Config
Config.APPLICATION_ID
Config.APPLICATION_NAME
Config.BABEL_DEFAULT_LOCALE
Config.BABEL_DEFAULT_TIMEZONE
Config.BABEL_DETECT_LOCALE
Config.DEBUG
Config.DISABLED_ENDPOINTS
Config.DISABLE_MAIL_LOGGING
Config.EMAIL_ADMINS
Config.ENABLED_BLUEPRINTS
Config.ENDPOINT_HOME
Config.ENDPOINT_LOGIN
Config.ENDPOINT_LOGIN_REDIRECT
Config.ENDPOINT_LOGOUT_REDIRECT
Config.HAWAT_CHART_TIMELINE_MAXSTEPS
Config.HAWAT_LIMIT_AODS
Config.HAWAT_REPORT_FEEDBACK_MAILS
Config.HAWAT_SEARCH_QUERY_QUOTA
Config.ICONS
Config.LOGIN_MSGCAT
Config.LOG_DEFAULT_LEVEL
Config.LOG_EMAIL_LEVEL
Config.LOG_FILE_LEVEL
Config.MAIL_DEFAULT_SENDER
Config.MAIL_PASSWORD
Config.MAIL_PORT
Config.MAIL_SERVER
Config.MAIL_SUBJECT_PREFIX
Config.MAIL_USERNAME
Config.MENU_MAIN_SKELETON
Config.MIGRATE_DIRECTORY
Config.MODELS
Config.ROLES
Config.SECRET_KEY
Config.SESSION_COOKIE_SECURE
Config.SQLALCHEMY_SETUP_ARGS
Config.SQLALCHEMY_TRACK_MODIFICATIONS
Config.SUPPORTED_LOCALES
Config.TESTING
Config.WTF_CSRF_ENABLED
DevelopmentConfig
ProductionConfig
TestingConfig
get_app_root_relative_config()
get_default_config_file()
- hawat.const module
ACTION_ITEM_CREATE
ACTION_ITEM_CREATEFOR
ACTION_ITEM_DELETE
ACTION_ITEM_DISABLE
ACTION_ITEM_ENABLE
ACTION_ITEM_UPDATE
ACTION_USER_LOGIN
ACTION_USER_LOGOUT
ACTION_USER_REGISTER
CFGKEY_ENABLED_BLUEPRINTS
CFGKEY_MENTAT_CACHE_DIR
CFGKEY_MENTAT_CORE
CFGKEY_MENU_MAIN_SKELETON
CFGKEY_MODELS
CRE_COUNTRY_CODE
CRE_EMAIL
CRE_GROUP_NAME
CRE_LANG_CODE
CRE_LOGIN
DEFAULT_LOCALE
DEFAULT_PAGER_LIMIT
DEFAULT_RESULT_TIMEDELTA
DEFAULT_TIMEZONE
FLASH_FAILURE
FLASH_INFO
FLASH_SUCCESS
FLASH_WARNING
FORM_ACTION_CANCEL
FORM_ACTION_SUBMIT
ICONS
ICON_NAME_MISSING_ICON
MODEL_DETECTOR
MODEL_GROUP
MODEL_ITEM_CHANGELOG
MODEL_USER
NO_ROLE
PAGER_LIMIT_CHOICES
RESOURCE_BABEL
RESOURCE_LOGIN_MANAGER
RESOURCE_MIGRATE
RESOURCE_PRINCIPAL
ROLES
ROLE_ADMIN
ROLE_DEVELOPER
ROLE_MAINTAINER
ROLE_USER
TIME_WINDOWS
tr_()
- hawat.db module
- hawat.errors module
- hawat.events module
db_cursor()
db_get()
db_init()
db_settings()
get_event_categories()
get_event_classes()
get_event_detector_types()
get_event_detectors()
get_event_enums()
get_event_form_choices()
get_event_inspection_errs()
get_event_protocols()
get_event_severities()
get_event_source_types()
get_event_target_types()
- hawat.forms module
BaseItemForm
BaseSearchForm
CommaListField
DateTimeLocalField
ItemActionConfirmForm
RadioFieldWithNone
SelectFieldWithNone
SmartDateTimeField
check_email()
check_email_list()
check_group_name()
check_int_list()
check_ip4_record()
check_ip6_record()
check_ip_record()
check_login()
check_network_record()
check_network_record_list()
check_null_character()
check_port_list()
check_unique_group()
check_unique_login()
default_dt()
default_dt_with_delta()
get_available_group_sources()
get_available_groups()
get_available_users()
get_redirect_target()
str_to_bool()
str_to_bool_with_none()
str_to_int_with_none()
- hawat.intl module
- hawat.jsglue module
- hawat.log module
- hawat.mailer module
- hawat.menu module
- hawat.utils module