Commit 230a06ae authored by Rafael Monnerat's avatar Rafael Monnerat :ghost:
Browse files

Added method to collect information about externals connections.

This is usefull to assert if the erp5 configuration is appropriated for
the environment.
parent ccd851c0
master allow_login_change allow_login_change_wip arnau arnau-RD-Components-CacheTool arnau-RD-Components-Products-import-compat arnau-RD-Components-astroid_cache_per_component_reset arnau-RD-Components-erp5_crm arnau-RD-Components-erp5_trade-TODO-Interactor arnau-TM-Components-Migrate-PortalTransforms arnau-TM-Components-ModuleSecurityInfo arnau-TM-Components-PortalTransforms arnau-TM-FEC-output arnau-TM-isBuildable-with-multiple-BusinessLinks arnau-TM-jabber-client-desktop-notifications arnau-TM-newContent-temp_object arnau-TM-runUnitTest-clear-previous-execution-catalog arnau-TM-wkhtmltopdf arnau-WIP arnau-kns arnau-kns-without-property-mapping arnau-merge arnau-poc arnau-real-time-inventory-accounting auto_extend_select_list autoflake backup_erp5_workflow bk_erp5ish_actions_tool bk_sqlcatalog boc-interaction-drop bt5_config cache callable-jupyter-storage catalog_filter catalog_fulltext catalog_fulltext_old cedric cedriclen cedriclen-eos certificate_authority cherry-pick-4a8e045d cleanJSByJSLint clean_up_upgrader cleanup_acquisition_base_category cmf_upgrade_versions credential_update_action datetimefield deferred_listbox delivery_item_barcode douglas_forum dream_distributor dsn-phase3 enhance_scalability_testing eos-dev erp5-component erp5-forum erp5-imt erp5-messenger erp5-preference erp5-release erp5-slapos-upgrade erp5-util-testing erp5-vifib erp5-vifib-cleanup erp5_calendar erp5_catalog erp5_catalog_final erp5_corporate_identity erp5_free_subscription erp5_hal_json_style_fix_restricted_access_with_traverse erp5_payslip_migration erp5_workflow erp5testnode_max_timeout feat/ERP5JS_google_login feat/accept-multiple-portal-types-as-external-login feat/coding_style_form_naming feat/configurator_bt_categories feat/dms_implicit_predecessor_successor_fields feat/erp5_ide feat/inventory_api_group_by_time_interval_list feat/no_update_button feat/olapy feat/python_language_support feat/stock_browser_navigation feat/validated_currency feature/renderjs-ui-no-header fix/advance_ecommerce_coding_crimes fix/base_call_dialog_method_log fix/configurator_workflow_cleanups fix/login_validate_check_consistency fix/support-request-app-empty fix/test_result_after_mep fix/workflow_method_security for_testrunner_1 for_testrunner_2 for_testrunner_3 for_testrunner_4 gabriel gadget-json-value hotfix/rjs-formfields-padding improve_default_caching_policy_manager initsite interaction-drop isDeletable ivan jerome-bt-reference-doc jerome_graph_editor_renderjs jerome_user_preference_time_zone jio jm/form-action-guard js-ui kns lazy_simulation_causality lignan lingnan listbox_url macros_fix mame-test-stock-indexation master-erp5-test-result-scalability master-erp5-test-result-scalability-rebase master-test-fix-additionalbt5path mic_wind monitoring-graph mrp new-render-presentation no_longer_simulated_state officejs officejs_slideshow_editor pere portal_callables portal_solver_process_security_configuration presentation publish_recursiveReindexObject rebased_mrp refactor/base_edit reindex_calendar_after_change_calendar_exception reveal_editor reveal_editor_bak revert-38554dbe scalability-master scalability-master2 scalability-master2-rebase scalability-roque scalability-roque-2 scalability-run-command shop-box shop-box-rebase streaming_fix streaming_fix-0 syncml taskdistribution-xmlrpc-binary test_page testnode_software_link timezones tristan tristan-merge tristan-performance trustable-x-forwarded-for ttrm valentin_translation_fix view-aggregated-amounts vivekpab_renderjs_interfaces wenjie wenjie_branch wsgi wsgi-gevent wsgi_backport_setbody_lock wsgi_medusa_stream_fix yryr yryr-components-cp yryr-inventory-cache yryr-test yryr-with-components yusei 0.4.59.1 0.4.59 test-ui test-rjsacc test-rjs renderjs-test erp5.util-0.4.68 erp5.util-0.4.67 erp5.util-0.4.66 erp5.util-0.4.65 erp5.util-0.4.64 erp5.util-0.4.63 erp5.util-0.4.62 erp5.util-0.4.61 erp5.util-0.4.60 erp5.util-0.4.59.1 erp5.util-0.4.59 erp5.util-0.4.58 erp5.util-0.4.57 erp5.util-0.4.56 erp5.util-0.4.55 erp5.util-0.4.54 erp5.util-0.4.53 erp5.util-0.4.52 erp5.util-0.4.49 erp5.util-0.4.46 erp5.util-0.4.44 erp5.util-0.4.43 erp5.util-0.4.41 erp5.util-0.4.40 erp5.util-0.4.37 erp5.util-0.4.1 erp5.util-0.4 erp5.util-0.3 erp5.util-0.2 erp5.util-0.1
No related merge requests found
......@@ -357,6 +357,55 @@ class IntrospectionTool(LogMixin, BaseTool):
return get_system_version_dict()
security.declareProtected(Permissions.ManagePortal,
'_getExternalConnectionDict')
def _getExternalConnectionDict(self):
""" Return a dictionary with all connections from ERP5 to an External
Service, this may include MySQL, Memcached, Kumofs, Ldap or any other.
The standard format is:
{'relative_url/method_or_property_id' : method_value_output,}.
"""
connection_dict = {}
portal = self.getPortalObject()
def collect_information_by_method(document, method_id):
method_object = getattr(document, method_id, None)
key = "%s/%s" % (document.getRelativeUrl(), method_id)
connection_dict[key] = method_object()
portal = self.getPortalObject()
# Collect information from portal memcached
for plugin in portal.portal_memcached.objectValues():
collect_information_by_method(plugin, "getUrlString")
system_preference = \
portal.portal_preferences.getActiveSystemPreference()
if system_preference is not None:
# Conversion Server information
collect_information_by_method(system_preference,
'getPreferredOoodocServerAddress')
collect_information_by_method(system_preference,
'getPreferredOoodocServerPortNumber')
def collect_information_by_property(document, property_id):
key = "%s/%s" % (document.getId(), property_id)
connection_dict[key] = str(getattr(document, property_id, None))
# Collect information related to Mail Server.
collect_information_by_property(self.MailHost,'smtp_host')
collect_information_by_property(self.MailHost,'smtp_port')
# Collect information related to Databases. ie.: MySQL, LDap?
for conn in self.objectValues(["CMFActivity Database Connection",
"Z MySQL Database Connection",
"Z MySQL Deferred Database Connection"]):
collect_information_by_property(conn,'connection_string')
return connection_dict
security.declareProtected(Permissions.ManagePortal,
'_getBusinessTemplateRevisionDict')
def _getBusinessTemplateRevisionDict(self):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment