puphpet/puphpet

View on GitHub
src/PuphpetBundle/Resources/views/mariadb.html.twig

Summary

Maintainability
Test Coverage
{% set selectedVersion = (mariadb.settings.version is defined and mariadb.settings.version)
    ? mariadb.settings.version
    : false %}
{% set versions = selectedVersion
    ? merge_unique([selectedVersion], mariadb.available.versions)
    : mariadb.available.versions %}

<input type="hidden" name="mariadb[install]" value="0" />

<div class="container-fluid cm-container-white section-title">
    <div class="checkbox checkbox-lg no-padding">
        <input type="checkbox" id="mariadb-install"
               name="mariadb[install]" value="1"
               {% if mariadb.install %}checked{% endif %}
               data-toggle="checkbox-collapse" data-target="#mariadb-container"
               data-enforce-group-single="mysql" />
        <label for="mariadb-install">Install MariaDB</label>

        <p>
            If you install MariaDB, you cannot install MySQL
        </p>
    </div>
</div>

<div id="mariadb-container"
     class="container-fluid collapse {% if mariadb.install %}in{% endif %}">
    <div class="panel panel-default">
        <div class="panel-body">
            <div class="form-group col-xs-12 col-sm-6">
                <label for="mariadb-settings-version">
                    Version
                </label>
                <select id="mariadb-settings-version"
                        name="mariadb[settings][version]"
                        class="form-control select-tag">
                {% for version in versions %}
                    <option value="{{ version }}"
                        {% if version == selectedVersion %}selected{% endif %}>{{ version }}</option>
                {% endfor %}
                </select>
            </div>

            <div class="form-group col-xs-12 col-sm-6">
                <label for="mariadb-settings-root_password">
                    Root Password
                </label>
                <input type="text" id="mariadb-settings-root_password"
                       name="mariadb[settings][root_password]"
                       placeholder="123" class="form-control"
                       value="{{ mariadb.settings.root_password }}" />
                <div class="help-block">
                    Assign a password to the root user.
                    <strong>Database will only be installed
                    when a password is entered here.</strong>
                </div>
            </div>

            <div class="clearfix"></div>

            <div class="help-block col-xs-12">
                <p>The preferred way to connect to your database is using a dedicated
                    application like
                    <a href="http://www.sequelpro.com/" target="_blank">Sequel Pro (OS X)</a>,
                    <a href="http://www.heidisql.com/" target="_blank">HeidiSQL (Windows)</a>, and
                    <a href="http://dev.mariadb.com/downloads/tools/workbench/"
                       target="_blank">MySQL Workbench (Cross Platform)</a>.</p>
                <p>Connect using SSH tunnel, username <code>vagrant</code> and SSH key generated at
                    <code>puphpet/files/dot/ssh/id_rsa</code>. This key is generated <strong>after</strong>
                    your initial <code>$ vagrant up</code>!</p>
            </div>

            <div class="clearfix"></div>
        </div>
    </div>

    <div class="clearfix"></div>

    <div class="panel panel-primary">
        <div class="panel-heading">Users</div>
        <div class="panel-body">
            <ul class="nav nav-tabs nested-tabs sortable">
                <li class="add">
                    <a href="{{ path('puphpet.mariadb.add_user') }}"
                       data-toggle="add-block">
                        <i class="fa fa-plus"></i> Add</a>
                </li>
                {% for index, user in mariadb.users %}
                    {% set blockId = "mariadb-users-#{index}" %}
                    {% set blockName = "mariadb[users][#{index}]" %}
                    <li class="{{ loop.first ? 'active' }}">
                        <a href="#" data-target="#{{ blockId }}"
                           data-toggle="tab">{{ index }}</a>
                        <div class="btn-group">
                            <button type="button" class="btn btn-default"
                                    data-toggle="delete-block"
                                    data-target="#{{ blockId }}">
                                <i class="fa fa-close"></i></button>
                        </div>
                        <input type="hidden" name="{{ blockName }}" value="1" />
                    </li>
                {% endfor %}
            </ul>

            <div class="tab-content">
                <div class="empty-tabs">
                    <i class="fa fa-share fa-rotate-270" aria-hidden="true"></i>
                    Click to add a user
                </div>
                {% for index, user in mariadb.users %}
                    {% include 'PuphpetBundle:mariadb:user.html.twig' with {
                        'user': user,
                        'uniqid': index,
                        'active': loop.first ? true : false,
                    } %}
                {% endfor %}
            </div>
        </div>
    </div>

    <div class="clearfix"></div>

    <div class="panel panel-primary">
        <div class="panel-heading">Databases</div>
        <div class="panel-body">
            <ul class="nav nav-tabs nested-tabs sortable">
                <li class="add">
                    <a href="{{ path('puphpet.mariadb.add_database') }}"
                       data-toggle="add-block">
                        <i class="fa fa-plus"></i> Add</a>
                </li>
                {% for index, database in mariadb.databases %}
                    {% set blockId = "mariadb-databases-#{index}" %}
                    {% set blockName = "mariadb[databases][#{index}]" %}
                    <li class="{{ loop.first ? 'active' }}">
                        <a href="#" data-target="#{{ blockId }}"
                           data-toggle="tab">{{ index }}</a>
                        <div class="btn-group">
                            <button type="button" class="btn btn-default"
                                    data-toggle="delete-block"
                                    data-target="#{{ blockId }}">
                                <i class="fa fa-close"></i></button>
                        </div>
                        <input type="hidden" name="{{ blockName }}" value="1" />
                    </li>
                {% endfor %}
            </ul>

            <div class="tab-content">
                <div class="empty-tabs">
                    <i class="fa fa-share fa-rotate-270" aria-hidden="true"></i>
                    Click to add a database
                </div>
                {% for index, database in mariadb.databases %}
                    {% include 'PuphpetBundle:mariadb:database.html.twig' with {
                        'database': database,
                        'uniqid': index,
                        'active': loop.first ? true : false,
                    } %}
                {% endfor %}
            </div>
        </div>
    </div>

    <div class="clearfix"></div>

    <div class="panel panel-primary">
        <div class="panel-heading">Grants</div>
        <div class="panel-body">
            <ul class="nav nav-tabs nested-tabs sortable">
                <li class="add">
                    <a href="{{ path('puphpet.mariadb.add_grant') }}"
                       data-toggle="add-block">
                        <i class="fa fa-plus"></i> Add</a>
                </li>
                {% for index, grant in mariadb.grants %}
                    {% set blockId = "mariadb-grants-#{index}" %}
                    {% set blockName = "mariadb[grants][#{index}]" %}
                    <li class="{{ loop.first ? 'active' }}">
                        <a href="#" data-target="#{{ blockId }}"
                           data-toggle="tab">{{ index }}</a>
                        <div class="btn-group">
                            <button type="button" class="btn btn-default"
                                    data-toggle="delete-block"
                                    data-target="#{{ blockId }}">
                                <i class="fa fa-close"></i></button>
                        </div>
                        <input type="hidden" name="{{ blockName }}" value="1" />
                    </li>
                {% endfor %}
            </ul>

            <div class="tab-content">
                <div class="empty-tabs">
                    <i class="fa fa-share fa-rotate-270" aria-hidden="true"></i>
                    Click to add a grant
                </div>
                {% for index, grant in mariadb.grants %}
                    {% include 'PuphpetBundle:mariadb:grant.html.twig' with {
                        'available_privileges': mariadb.available.privileges,
                        'grant': grant,
                        'uniqid': index,
                        'active': loop.first ? true : false,
                    } %}
                {% endfor %}
            </div>
        </div>
    </div>

    <div class="clearfix"></div>
</div>

<div class="container-fluid cm-container-white section-footer">
    <a href="#nodejs" data-toggle="tab" class="btn btn-primary btn-lg pull-left">
        <i class="fa fa-arrow-left" aria-hidden="true"></i>
        Node.JS
    </a>

    <a href="#mysql" data-toggle="tab" class="btn btn-primary btn-lg pull-right">
        MySQL
        <i class="fa fa-arrow-right" aria-hidden="true"></i>
    </a>
</div>