Initial commit: CloudOps infrastructure platform
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
{#
|
||||
Variables
|
||||
- tmpl
|
||||
- security
|
||||
- form
|
||||
- formThemes
|
||||
- formConfigs
|
||||
- isWritable
|
||||
#}
|
||||
{% if formThemes is not empty and formThemes is iterable %}
|
||||
{% form_theme form with formThemes %}
|
||||
{% elseif formThemes is not empty and formThemes is string %}
|
||||
{% form_theme form formThemes %}
|
||||
{% endif %}
|
||||
|
||||
{% set isIndex = 'index' == tmpl ? true : false %}
|
||||
{% set tmpl = 'list' %}
|
||||
{% extends isIndex ? '@MauticCore/Default/content.html.twig' : '@MauticCore/Default/raw_output.html.twig' %}
|
||||
|
||||
{% block mauticContent %}config{% endblock %}
|
||||
|
||||
{% block headerTitle %}{{ 'mautic.config.header.index'|trans }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<!-- start: box layout -->
|
||||
<div class="container">
|
||||
<!-- step container -->
|
||||
<div class="row">
|
||||
<div class="col-md-3 height-auto">
|
||||
<div class="">
|
||||
{% if not isWritable %}
|
||||
<div class="alert alert-danger">{{ 'mautic.config.notwritable'|trans }}</div>
|
||||
{% endif %}
|
||||
<!-- Nav tabs -->
|
||||
<ul class="list-group list-group-tabs" role="tablist">
|
||||
{% for key in form.children|keys|filter(v => formConfigs[v] is defined and form[v].children|length > 0) %}
|
||||
<li role="presentation" class="list-group-item {% if loop.first %}in active{% endif %}">
|
||||
{% set containsErrors = formContainsErrors(form[key]) %}
|
||||
<a href="#{{ key }}" aria-controls="{{ key }}" role="tab" data-toggle="tab" class="list-group-item-text steps {% if formContainsErrors(form[key]) %}text-danger{% endif %}">
|
||||
{{ ('mautic.config.tab.' ~ key)|trans }}
|
||||
{% if formContainsErrors(form[key]) %}
|
||||
<i class="ri-alert-line"></i>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- container -->
|
||||
<div class="col-md-9 height-auto">
|
||||
{{ form_start(form) }}
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content">
|
||||
{% for key in form.children|keys|filter(v => formConfigs[v] is defined) %}
|
||||
{% if form[key].children|length > 0 %}
|
||||
<div role="tabpanel" class="tab-pane fade {% if loop.first %}in active{% endif %} bdr-w-0" id="{{ key }}">
|
||||
<div>
|
||||
<div class="row pa-md bdr-b">
|
||||
<h4 class="fw-sb">{{ ('mautic.config.tab.' ~ key)|trans }}</h4>
|
||||
</div>
|
||||
{{ form_widget(form[key], {'formConfig': formConfigs[key]}) }}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
{% do form[key].setRendered() %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,27 @@
|
||||
{%- set hasErrors = form.vars.errors|length %}
|
||||
{%- set feedbackClass = hasErrors > 0 ? 'has-error' : '' %}
|
||||
{%- set field = form.vars.name %}
|
||||
{%- set hide = fieldValue is not defined or (fieldValue is defined and fieldValue is empty) ? 'hide' : '' %}
|
||||
{%- set filename = inputAlphanum(form.vars.label|trans, true, '_') %}
|
||||
{%- set downloadUrl = path('mautic_config_action', {'objectAction': 'download', 'objectId': field, 'filename': filename}) %}
|
||||
{%- set removeUrl = path('mautic_config_action', {'objectAction': 'remove', 'objectId': field}) %}
|
||||
<div class="row">
|
||||
<div class="form-group col-xs-12 {{ feedbackClass }}">
|
||||
{{ form_label(form, form.vars.label) }}
|
||||
<span class="small pull-right {{ hide }}">
|
||||
<a
|
||||
data-toggle="confirmation"
|
||||
href="{{ removeUrl }}"
|
||||
data-message="{{ 'mautic.config.remove_file_contents'|trans|e }}"
|
||||
data-confirm-text="{{ 'mautic.core.remove'|trans|e }}"
|
||||
data-confirm-callback="removeConfigValue"
|
||||
data-cancel-text="{{ 'mautic.core.form.cancel'|trans|e }}">
|
||||
{{ 'mautic.core.remove'|trans }}
|
||||
</a>
|
||||
<span> | </span>
|
||||
<a href="{{ downloadUrl }}">{{ 'mautic.core.download'|trans }}</a>
|
||||
</span>
|
||||
{{ form_widget(form) }}
|
||||
{{ form_errors(form) }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,58 @@
|
||||
{% block dsn_row %}
|
||||
<div class="config-dsn-container">
|
||||
{% if form.test_button is defined %}
|
||||
<div class="help-block">
|
||||
<span class="ri-loader-3-line ri-spin hide pull-left"></span>
|
||||
<div class="status-msg"></div>
|
||||
<div class="alert alert-warning save-config-msg hide">{{ 'mautic.config.dsn.save_to_test'|trans }}</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
{{ form_row(form.scheme) }}
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
{{ form_row(form.host, { 'attr': {'preaddon_text': '://'} }) }}
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
{{ form_row(form.port, { 'attr': {'preaddon_text': ':'} }) }}
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
{{ form_row(form.path, { 'attr': {'preaddon_text': '/'} }) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
{{ form_row(form.user) }}
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
{{ form_row(form.password, { 'attr': {'preaddon_text': ':'} }) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="config-dsn-test-container">
|
||||
<div class="form-group">
|
||||
{% if form.test_button is defined %}
|
||||
{{ form_widget(form.test_button) }}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-control-static ml-10">
|
||||
<span class="text-muted">{{ 'mautic.config.dsn.using_current_dsn'|trans }}:</span>
|
||||
{% include '@MauticCore/Components/code-snippet.html.twig' with {
|
||||
variant: 'inline',
|
||||
innerText: form.vars.currentDsn|default('n/a'),
|
||||
} %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="col-xs-12">
|
||||
{{ form_row(form.options) }}
|
||||
</div>
|
||||
</div>
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,142 @@
|
||||
{% extends '@MauticCore/Default/content.html.twig' %}
|
||||
|
||||
{% block mauticContent %}sysinfo{% endblock %}
|
||||
|
||||
{% block headerTitle %}{{ 'mautic.sysinfo.header.index'|trans }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<!-- start: box layout -->
|
||||
<div class="box-layout">
|
||||
<!-- step container -->
|
||||
<div class="col-md-3 height-auto">
|
||||
<div class="pr-lg pl-lg pt-md pb-md">
|
||||
<!-- Nav tabs -->
|
||||
<ul class="list-group list-group-tabs" role="tablist">
|
||||
<li role="presentation" class="list-group-item in active">
|
||||
<a href="#phpinfo" aria-controls="phpinfo" role="tab" data-toggle="tab" class="list-group-item-heading">
|
||||
{{ 'mautic.sysinfo.tab.phpinfo'|trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li role="presentation" class="list-group-item">
|
||||
<a href="#recommendations" aria-controls="phpinfo" role="tab" data-toggle="tab" class="list-group-item-heading">
|
||||
{{ 'mautic.sysinfo.tab.recommendations'|trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li role="presentation" class="list-group-item">
|
||||
<a href="#folders" aria-controls="folders" role="tab" data-toggle="tab" class="list-group-item-heading">
|
||||
{{ 'mautic.sysinfo.tab.folders'|trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li role="presentation" class="list-group-item">
|
||||
<a href="#log" aria-controls="log" role="tab" data-toggle="tab" class="list-group-item-heading">
|
||||
{{ 'mautic.sysinfo.tab.log'|trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li role="presentation" class="list-group-item">
|
||||
<a href="#dbinfo" aria-controls="dbinfo" role="tab" data-toggle="tab" class="list-group-item-heading">
|
||||
{{ 'mautic.sysinfo.tab.dbinfo'|trans }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- container -->
|
||||
<div class="col-md-9 height-auto bdr-l">
|
||||
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content">
|
||||
<div role="tabpanel" class="tab-pane fade in active bdr-w-0" id="phpinfo">
|
||||
<div class="pt-md pr-md pl-md pb-md">
|
||||
{{ phpInfo|raw }}
|
||||
</div>
|
||||
</div>
|
||||
<div role="tabpanel" class="tab-pane fade bdr-w-0" id="recommendations">
|
||||
<div class="pt-md pr-md pl-md pb-md">
|
||||
{% if recommendations is empty and requirements is empty %}
|
||||
<div class="alert alert-info">
|
||||
{{ 'mautic.sysinfo.no.recommendations'|trans }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% for requirement in requirements %}
|
||||
<div class="alert alert-danger">
|
||||
{{ requirement|raw }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% for recommendation in recommendations %}
|
||||
<div class="alert alert-warning">
|
||||
{{ recommendation|raw }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div role="tabpanel" class="tab-pane fade bdr-w-0" id="folders">
|
||||
<div class="pt-md pr-md pl-md pb-md">
|
||||
<h2 class="pb-md">{{ 'mautic.sysinfo.folders.title'|trans }}</h2>
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ 'mautic.sysinfo.folder.path'|trans }}</th>
|
||||
<th>{{ 'mautic.sysinfo.is.writable'|trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% for folder, isWritable in folders %}
|
||||
<tr class="{% if isWritable %}bg-success{% else %}bg-danger{% endif %}">
|
||||
<td>{{ folder }}</td>
|
||||
<td>
|
||||
{% if isWritable %}
|
||||
{{ 'mautic.sysinfo.writable'|trans }}
|
||||
{% else %}
|
||||
{{ 'mautic.sysinfo.unwritable'|trans }}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div role="tabpanel" class="tab-pane fade bdr-w-0" id="log">
|
||||
<div class="pt-md pr-md pl-md pb-md">
|
||||
<h2 class="pb-md">{{ 'mautic.sysinfo.log.title'|trans }}</h2>
|
||||
{% if log is defined and log is not empty %}
|
||||
<pre>{{ log }}</pre>
|
||||
{% else %}
|
||||
<div class="alert alert-info" role="alert">
|
||||
{{ 'mautic.sysinfo.log.missing'|trans }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div role="tabpanel" class="tab-pane fade bdr-w-0" id="dbinfo">
|
||||
<div class="pt-md pr-md pl-md pb-md">
|
||||
<h2 class="pb-md">{{ 'mautic.sysinfo.dbinfo.title'|trans }}</h2>
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ 'mautic.sysinfo.dbinfo.property'|trans }}</th>
|
||||
<th>{{ 'mautic.sysinfo.dbinfo.value'|trans }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{ 'mautic.sysinfo.dbinfo.version'|trans }}</td>
|
||||
<td id="dbinfo-version">{{ dbInfo.version }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ 'mautic.sysinfo.dbinfo.driver'|trans }}</td>
|
||||
<td id="dbinfo-driver">{{ dbInfo.driver }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ 'mautic.sysinfo.dbinfo.platform'|trans }}</td>
|
||||
<td id="dbinfo-platform">{{ dbInfo.platform }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user