diff options
author | Marvin Borner | 2018-06-08 20:03:25 +0200 |
---|---|---|
committer | Marvin Borner | 2018-06-08 20:03:25 +0200 |
commit | 92b7dd3335a6572debeacfb5faa82c63a5e67888 (patch) | |
tree | 7ebbca22595d542ec5e2912a24a0400ac8f6b113 /main/app/sprinkles/admin/templates | |
parent | 22a1bb27f94ea33042b0bdd35bef1a5cfa96cc0d (diff) |
Some minor fixes
Diffstat (limited to 'main/app/sprinkles/admin/templates')
34 files changed, 2340 insertions, 2340 deletions
diff --git a/main/app/sprinkles/admin/templates/forms/group.html.twig b/main/app/sprinkles/admin/templates/forms/group.html.twig index fade5ab..18d0bb5 100644 --- a/main/app/sprinkles/admin/templates/forms/group.html.twig +++ b/main/app/sprinkles/admin/templates/forms/group.html.twig @@ -1,80 +1,80 @@ -<form class="js-form" method="{{ form.method | default('POST') }}" action="{{ site.uri.public }}/{{ form.action }}"> - {% include "forms/csrf.html.twig" %} - <div class="js-form-alerts"> - </div> - <div class="row"> - {% block group_form %} - {% if 'name' not in form.fields.hidden %} - <div class="col-sm-12"> - <div class="form-group"> - <label>{{ translate("GROUP.NAME") }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-edit fa-fw"></i></span> - <input type="text" class="form-control" name="name" autocomplete="off" - value="{{ group.name }}" placeholder="{{ translate("GROUP.NAME_EXPLAIN") }}" - {% if 'name' in form.fields.disabled %}disabled{% endif %}> - </div> - </div> - </div> - {% endif %} - {% if 'slug' not in form.fields.hidden %} - <div class="col-sm-12"> - <div class="form-group"> - <label>{{ translate("SLUG") }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-tag fa-fw"></i></span> - <input type="text" class="form-control" name="slug" autocomplete="off" - value="{{ group.slug }}" placeholder="{{ translate("SLUG") }}" - {% if 'slug' in form.fields.disabled %}disabled{% endif %} readonly> - {% if 'slug' not in form.fields.disabled %} - <span class="input-group-btn" data-toggle="buttons"> - <label class="btn btn-primary"> - <input type="checkbox" id="form-group-slug-override" - autocomplete="off"> {{ translate("OVERRIDE") }} - </label> - </span> - {% endif %} - </div> - </div> - </div> - {% endif %} - {% if 'icon' not in fields.hidden %} - <div class="col-sm-12"> - <div class="form-group"> - <label>{{ translate("GROUP.ICON") }}</label> - <div class="input-group"> - <span class="input-group-addon icon-preview"><i class="{{ group.icon }} fa-fw"></i></span> - <input type="text" class="form-control" name="icon" autocomplete="off" - value="{{ group.icon }}" placeholder="{{ translate("GROUP.ICON_EXPLAIN") }}" - {% if 'icon' in form.fields.disabled %}disabled{% endif %}> - </div> - </div> - </div> - {% endif %} - {% if 'description' not in fields.hidden %} - <div class="col-sm-12"> - <div class="form-group"> - <label for="input_description">{{ translate("DESCRIPTION") }}</label> - <textarea id="input_description" class="form-control" type="text" name="description" - {% if 'description' in form.fields.disabled %}disabled{% endif %} - rows=6>{{ group.description }}</textarea> - </div> - </div> - {% endif %} - {% endblock %} - </div> - <br> - <div class="row"> - <div class="col-xs-6 col-sm-4"> - <button type="submit" class="btn btn-block btn-lg btn-success">{{ form.submit_text }}</button> - </div> - <div class="col-xs-4 col-sm-3 pull-right"> - <button type="button" class="btn btn-block btn-lg btn-link" - data-dismiss="modal">{{ translate("CANCEL") }}</button> - </div> - </div> -</form> -<!-- Include validation rules --> -<script> - {% include "pages/partials/page.js.twig" %} -</script> +<form class="js-form" method="{{ form.method | default('POST') }}" action="{{ site.uri.public }}/{{ form.action }}">
+ {% include "forms/csrf.html.twig" %}
+ <div class="js-form-alerts">
+ </div>
+ <div class="row">
+ {% block group_form %}
+ {% if 'name' not in form.fields.hidden %}
+ <div class="col-sm-12">
+ <div class="form-group">
+ <label>{{ translate("GROUP.NAME") }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-edit fa-fw"></i></span>
+ <input type="text" class="form-control" name="name" autocomplete="off"
+ value="{{ group.name }}" placeholder="{{ translate("GROUP.NAME_EXPLAIN") }}"
+ {% if 'name' in form.fields.disabled %}disabled{% endif %}>
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% if 'slug' not in form.fields.hidden %}
+ <div class="col-sm-12">
+ <div class="form-group">
+ <label>{{ translate("SLUG") }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-tag fa-fw"></i></span>
+ <input type="text" class="form-control" name="slug" autocomplete="off"
+ value="{{ group.slug }}" placeholder="{{ translate("SLUG") }}"
+ {% if 'slug' in form.fields.disabled %}disabled{% endif %} readonly>
+ {% if 'slug' not in form.fields.disabled %}
+ <span class="input-group-btn" data-toggle="buttons">
+ <label class="btn btn-primary">
+ <input type="checkbox" id="form-group-slug-override"
+ autocomplete="off"> {{ translate("OVERRIDE") }}
+ </label>
+ </span>
+ {% endif %}
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% if 'icon' not in fields.hidden %}
+ <div class="col-sm-12">
+ <div class="form-group">
+ <label>{{ translate("GROUP.ICON") }}</label>
+ <div class="input-group">
+ <span class="input-group-addon icon-preview"><i class="{{ group.icon }} fa-fw"></i></span>
+ <input type="text" class="form-control" name="icon" autocomplete="off"
+ value="{{ group.icon }}" placeholder="{{ translate("GROUP.ICON_EXPLAIN") }}"
+ {% if 'icon' in form.fields.disabled %}disabled{% endif %}>
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% if 'description' not in fields.hidden %}
+ <div class="col-sm-12">
+ <div class="form-group">
+ <label for="input_description">{{ translate("DESCRIPTION") }}</label>
+ <textarea id="input_description" class="form-control" type="text" name="description"
+ {% if 'description' in form.fields.disabled %}disabled{% endif %}
+ rows=6>{{ group.description }}</textarea>
+ </div>
+ </div>
+ {% endif %}
+ {% endblock %}
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-xs-6 col-sm-4">
+ <button type="submit" class="btn btn-block btn-lg btn-success">{{ form.submit_text }}</button>
+ </div>
+ <div class="col-xs-4 col-sm-3 pull-right">
+ <button type="button" class="btn btn-block btn-lg btn-link"
+ data-dismiss="modal">{{ translate("CANCEL") }}</button>
+ </div>
+ </div>
+</form>
+<!-- Include validation rules -->
+<script>
+ {% include "pages/partials/page.js.twig" %}
+</script>
diff --git a/main/app/sprinkles/admin/templates/forms/role.html.twig b/main/app/sprinkles/admin/templates/forms/role.html.twig index 7759783..f68dcd8 100644 --- a/main/app/sprinkles/admin/templates/forms/role.html.twig +++ b/main/app/sprinkles/admin/templates/forms/role.html.twig @@ -1,65 +1,65 @@ -<form class="js-form" method="{{ form.method | default('POST') }}" action="{{ site.uri.public }}/{{ form.action }}"> - {% include "forms/csrf.html.twig" %} - <div class="js-form-alerts"> - </div> - <div class="row"> - {% if 'name' not in form.fields.hidden %} - <div class="col-sm-12"> - <div class="form-group"> - <label>{{ translate("ROLE.NAME") }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-edit fa-fw"></i></span> - <input type="text" class="form-control" name="name" autocomplete="off" value="{{ role.name }}" - placeholder="{{ translate("ROLE.NAME_EXPLAIN") }}" - {% if 'name' in form.fields.disabled %}disabled{% endif %}> - </div> - </div> - </div> - {% endif %} - {% if 'slug' not in form.fields.hidden %} - <div class="col-sm-12"> - <div class="form-group"> - <label>{{ translate("SLUG") }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-tag fa-fw"></i></span> - <input type="text" class="form-control" name="slug" autocomplete="off" value="{{ role.slug }}" - placeholder="{{ translate("SLUG") }}" - {% if 'slug' in form.fields.disabled %}disabled{% endif %} readonly> - {% if 'slug' not in form.fields.disabled %} - <span class="input-group-btn" data-toggle="buttons"> - <label class="btn btn-primary"> - <input type="checkbox" id="form-role-slug-override" - autocomplete="off"> {{ translate("OVERRIDE") }} - </label> - </span> - {% endif %} - </div> - </div> - </div> - {% endif %} - {% if 'description' not in fields.hidden %} - <div class="col-sm-12"> - <div class="form-group"> - <label for="input_description">{{ translate("DESCRIPTION") }}</label> - <textarea id="input_description" class="form-control" type="text" name="description" - {% if 'description' in form.fields.disabled %}disabled{% endif %} - rows=6>{{ role.description }}</textarea> - </div> - </div> - {% endif %} - </div> - <br> - <div class="row"> - <div class="col-xs-8 col-sm-4"> - <button type="submit" class="btn btn-block btn-lg btn-success">{{ form.submit_text }}</button> - </div> - <div class="col-xs-4 col-sm-4 pull-right"> - <button type="button" class="btn btn-block btn-lg btn-link" - data-dismiss="modal">{{ translate("CANCEL") }}</button> - </div> - </div> -</form> -<!-- Include validation rules --> -<script> - {% include "pages/partials/page.js.twig" %} -</script> +<form class="js-form" method="{{ form.method | default('POST') }}" action="{{ site.uri.public }}/{{ form.action }}">
+ {% include "forms/csrf.html.twig" %}
+ <div class="js-form-alerts">
+ </div>
+ <div class="row">
+ {% if 'name' not in form.fields.hidden %}
+ <div class="col-sm-12">
+ <div class="form-group">
+ <label>{{ translate("ROLE.NAME") }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-edit fa-fw"></i></span>
+ <input type="text" class="form-control" name="name" autocomplete="off" value="{{ role.name }}"
+ placeholder="{{ translate("ROLE.NAME_EXPLAIN") }}"
+ {% if 'name' in form.fields.disabled %}disabled{% endif %}>
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% if 'slug' not in form.fields.hidden %}
+ <div class="col-sm-12">
+ <div class="form-group">
+ <label>{{ translate("SLUG") }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-tag fa-fw"></i></span>
+ <input type="text" class="form-control" name="slug" autocomplete="off" value="{{ role.slug }}"
+ placeholder="{{ translate("SLUG") }}"
+ {% if 'slug' in form.fields.disabled %}disabled{% endif %} readonly>
+ {% if 'slug' not in form.fields.disabled %}
+ <span class="input-group-btn" data-toggle="buttons">
+ <label class="btn btn-primary">
+ <input type="checkbox" id="form-role-slug-override"
+ autocomplete="off"> {{ translate("OVERRIDE") }}
+ </label>
+ </span>
+ {% endif %}
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% if 'description' not in fields.hidden %}
+ <div class="col-sm-12">
+ <div class="form-group">
+ <label for="input_description">{{ translate("DESCRIPTION") }}</label>
+ <textarea id="input_description" class="form-control" type="text" name="description"
+ {% if 'description' in form.fields.disabled %}disabled{% endif %}
+ rows=6>{{ role.description }}</textarea>
+ </div>
+ </div>
+ {% endif %}
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-xs-8 col-sm-4">
+ <button type="submit" class="btn btn-block btn-lg btn-success">{{ form.submit_text }}</button>
+ </div>
+ <div class="col-xs-4 col-sm-4 pull-right">
+ <button type="button" class="btn btn-block btn-lg btn-link"
+ data-dismiss="modal">{{ translate("CANCEL") }}</button>
+ </div>
+ </div>
+</form>
+<!-- Include validation rules -->
+<script>
+ {% include "pages/partials/page.js.twig" %}
+</script>
diff --git a/main/app/sprinkles/admin/templates/forms/user.html.twig b/main/app/sprinkles/admin/templates/forms/user.html.twig index e42cc6d..32228f0 100644 --- a/main/app/sprinkles/admin/templates/forms/user.html.twig +++ b/main/app/sprinkles/admin/templates/forms/user.html.twig @@ -1,142 +1,142 @@ -<form class="js-form" method="{{ form.method | default('POST') }}" action="{{ site.uri.public }}/{{ form.action }}"> - {% include "forms/csrf.html.twig" %} - <div class="js-form-alerts"> - </div> - <div class="row"> - {% block user_form %} - {% if 'user_name' not in form.fields.hidden %} - <div class="col-sm-6"> - <div class="form-group"> - <label>{{ translate('USERNAME') }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-edit fa-fw"></i></span> - <input type="text" class="form-control" name="user_name" autocomplete="off" - value="{{ user.user_name }}" placeholder="{{ translate('USERNAME') }}" - {% if 'user_name' in form.fields.disabled %}disabled{% endif %}> - </div> - </div> - </div> - {% endif %} - {% if 'group' not in form.fields.hidden %} - <div class="col-sm-6"> - <div class="form-group"> - <label for="input-group">{{ translate('GROUP') }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-users fa-fw"></i></span> - {% if 'group' in form.fields.disabled %} - <input type="text" class="form-control" name="theme" value="{{ user.group.name }}" - disabled> - {% else %} - <select id="input-group" class="form-control js-select2" name="group_id"> - {% for group in groups %} - <option value="{{ group.id }}" - {% if (group.id == user.group_id) %}selected{% endif %}>{{ group.name }}</option> - {% endfor %} - </select> - {% endif %} - </div> - </div> - </div> - {% endif %} - {% if 'name' not in form.fields.hidden %} - <div class="col-sm-6"> - <div class="form-group"> - <label>{{ translate('FIRST_NAME') }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-edit fa-fw"></i></span> - <input type="text" class="form-control" name="first_name" autocomplete="off" - value="{{ user.first_name }}" placeholder="{{ translate('FIRST_NAME') }}" - {% if 'name' in form.fields.disabled %}disabled{% endif %}> - </div> - </div> - </div> - <div class="col-sm-6"> - <div class="form-group"> - <label>{{ translate('LAST_NAME') }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-edit fa-fw"></i></span> - <input type="text" class="form-control" name="last_name" autocomplete="off" - value="{{ user.last_name }}" placeholder="{{ translate('LAST_NAME') }}" - {% if 'name' in form.fields.disabled %}disabled{% endif %}> - </div> - </div> - </div> - {% endif %} - {% if 'email' not in form.fields.hidden %} - <div class="col-sm-6"> - <div class="form-group"> - <label>{{ translate('EMAIL') }}</label> - <div class="input-group js-copy-container"> - <span class="input-group-addon"><i class="fa fa-envelope fa-fw"></i></span> - <input type="text" class="form-control js-copy-target" name="email" autocomplete="off" - value="{{ user.email }}" placeholder="{{ translate('EMAIL') }}" - {% if 'email' in form.fields.disabled %}disabled{% endif %}> - {% if 'email' in form.fields.disabled %} - <span class="input-group-btn"> - <button class="btn btn-default uf-copy-trigger js-copy-trigger" type="button"><i - class="fa fa-clipboard"></i></button> - </span> - {% endif %} - </div> - </div> - </div> - {% endif %} - {% if 'theme' not in form.fields.hidden %} - <div class="col-sm-6"> - <div class="form-group"> - <label for="input-theme">{{ translate('THEME') }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-puzzle-piece fa-fw"></i></span> - {% if 'theme' in form.fields.disabled %} - <input type="text" class="form-control" name="theme" value="{{ themes[user.theme] }}" - disabled> - {% else %} - <select id="input-theme" class="form-control js-select2" name="theme"> - {% for option, label in theme %} - <option value="{{ option }}" - {% if (option == user.theme) %}selected{% endif %}>{{ label }}</option> - {% endfor %} - </select> - {% endif %} - </div> - </div> - </div> - {% endif %} - {% if 'locale' not in form.fields.hidden %} - <div class="col-sm-6"> - <div class="form-group"> - <label for="input-locale">{{ translate('LOCALE') }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-language fa-fw"></i></span> - {% if 'locale' in form.fields.disabled %} - <input type="text" class="form-control" name="theme" value="{{ locales[user.locale] }}" - disabled> - {% else %} - <select id="input-locale" class="form-control js-select2" name="locale"> - {% for option, label in locales %} - <option value="{{ option }}" - {% if (option == user.locale) %}selected{% endif %}>{{ label }}</option> - {% endfor %} - </select> - {% endif %} - </div> - </div> - </div> - {% endif %} - {% endblock %} - </div> - <br> - <div class="row"> - <div class="col-xs-8 col-sm-4"> - <button type="submit" class="btn btn-block btn-lg btn-success">{{ form.submit_text }}</button> - </div> - <div class="col-xs-4 col-sm-3 pull-right"> - <button type="button" class="btn btn-block btn-lg btn-link" - data-dismiss="modal">{{ translate('CANCEL') }}</button> - </div> - </div> -</form> -<!-- Include validation rules --> -<script> - {% include "pages/partials/page.js.twig" %} -</script> +<form class="js-form" method="{{ form.method | default('POST') }}" action="{{ site.uri.public }}/{{ form.action }}">
+ {% include "forms/csrf.html.twig" %}
+ <div class="js-form-alerts">
+ </div>
+ <div class="row">
+ {% block user_form %}
+ {% if 'user_name' not in form.fields.hidden %}
+ <div class="col-sm-6">
+ <div class="form-group">
+ <label>{{ translate('USERNAME') }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-edit fa-fw"></i></span>
+ <input type="text" class="form-control" name="user_name" autocomplete="off"
+ value="{{ user.user_name }}" placeholder="{{ translate('USERNAME') }}"
+ {% if 'user_name' in form.fields.disabled %}disabled{% endif %}>
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% if 'group' not in form.fields.hidden %}
+ <div class="col-sm-6">
+ <div class="form-group">
+ <label for="input-group">{{ translate('GROUP') }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-users fa-fw"></i></span>
+ {% if 'group' in form.fields.disabled %}
+ <input type="text" class="form-control" name="theme" value="{{ user.group.name }}"
+ disabled>
+ {% else %}
+ <select id="input-group" class="form-control js-select2" name="group_id">
+ {% for group in groups %}
+ <option value="{{ group.id }}"
+ {% if (group.id == user.group_id) %}selected{% endif %}>{{ group.name }}</option>
+ {% endfor %}
+ </select>
+ {% endif %}
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% if 'name' not in form.fields.hidden %}
+ <div class="col-sm-6">
+ <div class="form-group">
+ <label>{{ translate('FIRST_NAME') }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-edit fa-fw"></i></span>
+ <input type="text" class="form-control" name="first_name" autocomplete="off"
+ value="{{ user.first_name }}" placeholder="{{ translate('FIRST_NAME') }}"
+ {% if 'name' in form.fields.disabled %}disabled{% endif %}>
+ </div>
+ </div>
+ </div>
+ <div class="col-sm-6">
+ <div class="form-group">
+ <label>{{ translate('LAST_NAME') }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-edit fa-fw"></i></span>
+ <input type="text" class="form-control" name="last_name" autocomplete="off"
+ value="{{ user.last_name }}" placeholder="{{ translate('LAST_NAME') }}"
+ {% if 'name' in form.fields.disabled %}disabled{% endif %}>
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% if 'email' not in form.fields.hidden %}
+ <div class="col-sm-6">
+ <div class="form-group">
+ <label>{{ translate('EMAIL') }}</label>
+ <div class="input-group js-copy-container">
+ <span class="input-group-addon"><i class="fa fa-envelope fa-fw"></i></span>
+ <input type="text" class="form-control js-copy-target" name="email" autocomplete="off"
+ value="{{ user.email }}" placeholder="{{ translate('EMAIL') }}"
+ {% if 'email' in form.fields.disabled %}disabled{% endif %}>
+ {% if 'email' in form.fields.disabled %}
+ <span class="input-group-btn">
+ <button class="btn btn-default uf-copy-trigger js-copy-trigger" type="button"><i
+ class="fa fa-clipboard"></i></button>
+ </span>
+ {% endif %}
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% if 'theme' not in form.fields.hidden %}
+ <div class="col-sm-6">
+ <div class="form-group">
+ <label for="input-theme">{{ translate('THEME') }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-puzzle-piece fa-fw"></i></span>
+ {% if 'theme' in form.fields.disabled %}
+ <input type="text" class="form-control" name="theme" value="{{ themes[user.theme] }}"
+ disabled>
+ {% else %}
+ <select id="input-theme" class="form-control js-select2" name="theme">
+ {% for option, label in theme %}
+ <option value="{{ option }}"
+ {% if (option == user.theme) %}selected{% endif %}>{{ label }}</option>
+ {% endfor %}
+ </select>
+ {% endif %}
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% if 'locale' not in form.fields.hidden %}
+ <div class="col-sm-6">
+ <div class="form-group">
+ <label for="input-locale">{{ translate('LOCALE') }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-language fa-fw"></i></span>
+ {% if 'locale' in form.fields.disabled %}
+ <input type="text" class="form-control" name="theme" value="{{ locales[user.locale] }}"
+ disabled>
+ {% else %}
+ <select id="input-locale" class="form-control js-select2" name="locale">
+ {% for option, label in locales %}
+ <option value="{{ option }}"
+ {% if (option == user.locale) %}selected{% endif %}>{{ label }}</option>
+ {% endfor %}
+ </select>
+ {% endif %}
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% endblock %}
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-xs-8 col-sm-4">
+ <button type="submit" class="btn btn-block btn-lg btn-success">{{ form.submit_text }}</button>
+ </div>
+ <div class="col-xs-4 col-sm-3 pull-right">
+ <button type="button" class="btn btn-block btn-lg btn-link"
+ data-dismiss="modal">{{ translate('CANCEL') }}</button>
+ </div>
+ </div>
+</form>
+<!-- Include validation rules -->
+<script>
+ {% include "pages/partials/page.js.twig" %}
+</script>
diff --git a/main/app/sprinkles/admin/templates/mail/password-create.html.twig b/main/app/sprinkles/admin/templates/mail/password-create.html.twig index f3a36d8..3a25c4f 100644 --- a/main/app/sprinkles/admin/templates/mail/password-create.html.twig +++ b/main/app/sprinkles/admin/templates/mail/password-create.html.twig @@ -1,23 +1,23 @@ -{% block subject %} - {{ site.title }} - please set a password for your new account -{% endblock %} - -{% block body %} - <p> - Dear {{ user.first_name }}, - </p> - <p> - Someone has created an account for you with {{ site.title }} ({{ site.uri.public }}). Your username is - <b>{{ user.user_name }}</b>. - </p> - <p> - To access your account, you must first create a password by visiting: <a - href="{{ site.uri.public }}/account/set-password/confirm?token={{ token }}">{{ site.uri.public }} - /account/set-password/confirm?token={{ token }}</a>. This link has been generated especially for you, and - will expire in {{ create_password_expiration }}. Do not share it with anyone! - </p> - <p> - With regards,<br> - The {{ site.title }} Team - </p> +{% block subject %}
+ {{ site.title }} - please set a password for your new account
+{% endblock %}
+
+{% block body %}
+ <p>
+ Dear {{ user.first_name }},
+ </p>
+ <p>
+ Someone has created an account for you with {{ site.title }} ({{ site.uri.public }}). Your username is
+ <b>{{ user.user_name }}</b>.
+ </p>
+ <p>
+ To access your account, you must first create a password by visiting: <a
+ href="{{ site.uri.public }}/account/set-password/confirm?token={{ token }}">{{ site.uri.public }}
+ /account/set-password/confirm?token={{ token }}</a>. This link has been generated especially for you, and
+ will expire in {{ create_password_expiration }}. Do not share it with anyone!
+ </p>
+ <p>
+ With regards,<br>
+ The {{ site.title }} Team
+ </p>
{% endblock %}
\ No newline at end of file diff --git a/main/app/sprinkles/admin/templates/modals/confirm-clear-cache.html.twig b/main/app/sprinkles/admin/templates/modals/confirm-clear-cache.html.twig index bf3ccca..4da4508 100644 --- a/main/app/sprinkles/admin/templates/modals/confirm-clear-cache.html.twig +++ b/main/app/sprinkles/admin/templates/modals/confirm-clear-cache.html.twig @@ -1,21 +1,21 @@ -{% extends "modals/modal.html.twig" %} - -{% block modal_title %}{{ translate("CACHE.CLEAR") }}{% endblock %} - -{% block modal_body %} - <form class="js-form" method="post" action="{{ site.uri.public }}/{{ form.action }}"> - {% include "forms/csrf.html.twig" %} - <div class="js-form-alerts"> - </div> - <h4>{{ translate("CACHE.CLEAR_CONFIRM") }}<br> - <small>{{ translate("DELETE_CANNOT_UNDONE") }}</small> - </h4> - <br> - <div class="btn-group-action"> - <button type="submit" - class="btn btn-danger btn-lg btn-block">{{ translate("CACHE.CLEAR_CONFIRM_YES") }}</button> - <button type="button" class="btn btn-default btn-lg btn-block" - data-dismiss="modal">{{ translate("CANCEL") }}</button> - </div> - </form> -{% endblock %} +{% extends "modals/modal.html.twig" %}
+
+{% block modal_title %}{{ translate("CACHE.CLEAR") }}{% endblock %}
+
+{% block modal_body %}
+ <form class="js-form" method="post" action="{{ site.uri.public }}/{{ form.action }}">
+ {% include "forms/csrf.html.twig" %}
+ <div class="js-form-alerts">
+ </div>
+ <h4>{{ translate("CACHE.CLEAR_CONFIRM") }}<br>
+ <small>{{ translate("DELETE_CANNOT_UNDONE") }}</small>
+ </h4>
+ <br>
+ <div class="btn-group-action">
+ <button type="submit"
+ class="btn btn-danger btn-lg btn-block">{{ translate("CACHE.CLEAR_CONFIRM_YES") }}</button>
+ <button type="button" class="btn btn-default btn-lg btn-block"
+ data-dismiss="modal">{{ translate("CANCEL") }}</button>
+ </div>
+ </form>
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/modals/confirm-delete-group.html.twig b/main/app/sprinkles/admin/templates/modals/confirm-delete-group.html.twig index e53bf6e..6be951c 100644 --- a/main/app/sprinkles/admin/templates/modals/confirm-delete-group.html.twig +++ b/main/app/sprinkles/admin/templates/modals/confirm-delete-group.html.twig @@ -1,20 +1,20 @@ -{% extends "modals/modal.html.twig" %} - -{% block modal_title %}{{ translate("GROUP.DELETE") }}{% endblock %} - -{% block modal_body %} - <form class="js-form" method="delete" action="{{ site.uri.public }}/{{ form.action }}"> - {% include "forms/csrf.html.twig" %} - <div class="js-form-alerts"> - </div> - <h4>{{ translate("GROUP.DELETE_CONFIRM", {name: group.name}) }}<br> - <small>{{ translate("DELETE_CANNOT_UNDONE") }}</small> - </h4> - <br> - <div class="btn-group-action"> - <button type="submit" class="btn btn-danger btn-lg btn-block">{{ translate("GROUP.DELETE_YES") }}</button> - <button type="button" class="btn btn-default btn-lg btn-block" - data-dismiss="modal">{{ translate("CANCEL") }}</button> - </div> - </form> -{% endblock %} +{% extends "modals/modal.html.twig" %}
+
+{% block modal_title %}{{ translate("GROUP.DELETE") }}{% endblock %}
+
+{% block modal_body %}
+ <form class="js-form" method="delete" action="{{ site.uri.public }}/{{ form.action }}">
+ {% include "forms/csrf.html.twig" %}
+ <div class="js-form-alerts">
+ </div>
+ <h4>{{ translate("GROUP.DELETE_CONFIRM", {name: group.name}) }}<br>
+ <small>{{ translate("DELETE_CANNOT_UNDONE") }}</small>
+ </h4>
+ <br>
+ <div class="btn-group-action">
+ <button type="submit" class="btn btn-danger btn-lg btn-block">{{ translate("GROUP.DELETE_YES") }}</button>
+ <button type="button" class="btn btn-default btn-lg btn-block"
+ data-dismiss="modal">{{ translate("CANCEL") }}</button>
+ </div>
+ </form>
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/modals/confirm-delete-role.html.twig b/main/app/sprinkles/admin/templates/modals/confirm-delete-role.html.twig index ae528f9..0da0910 100644 --- a/main/app/sprinkles/admin/templates/modals/confirm-delete-role.html.twig +++ b/main/app/sprinkles/admin/templates/modals/confirm-delete-role.html.twig @@ -1,20 +1,20 @@ -{% extends "modals/modal.html.twig" %} - -{% block modal_title %}{{ translate("ROLE.DELETE") }}{% endblock %} - -{% block modal_body %} - <form class="js-form" method="delete" action="{{ site.uri.public }}/{{ form.action }}"> - {% include "forms/csrf.html.twig" %} - <div class="js-form-alerts"> - </div> - <h4>{{ translate("ROLE.DELETE_CONFIRM", {name: role.name}) }}<br> - <small>{{ translate("DELETE_CANNOT_UNDONE") }}</small> - </h4> - <br> - <div class="btn-group-action"> - <button type="submit" class="btn btn-danger btn-lg btn-block">{{ translate("ROLE.DELETE_YES") }}</button> - <button type="button" class="btn btn-default btn-lg btn-block" - data-dismiss="modal">{{ translate("CANCEL") }}</button> - </div> - </form> -{% endblock %} +{% extends "modals/modal.html.twig" %}
+
+{% block modal_title %}{{ translate("ROLE.DELETE") }}{% endblock %}
+
+{% block modal_body %}
+ <form class="js-form" method="delete" action="{{ site.uri.public }}/{{ form.action }}">
+ {% include "forms/csrf.html.twig" %}
+ <div class="js-form-alerts">
+ </div>
+ <h4>{{ translate("ROLE.DELETE_CONFIRM", {name: role.name}) }}<br>
+ <small>{{ translate("DELETE_CANNOT_UNDONE") }}</small>
+ </h4>
+ <br>
+ <div class="btn-group-action">
+ <button type="submit" class="btn btn-danger btn-lg btn-block">{{ translate("ROLE.DELETE_YES") }}</button>
+ <button type="button" class="btn btn-default btn-lg btn-block"
+ data-dismiss="modal">{{ translate("CANCEL") }}</button>
+ </div>
+ </form>
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/modals/confirm-delete-user.html.twig b/main/app/sprinkles/admin/templates/modals/confirm-delete-user.html.twig index 17fe859..7dd18ad 100644 --- a/main/app/sprinkles/admin/templates/modals/confirm-delete-user.html.twig +++ b/main/app/sprinkles/admin/templates/modals/confirm-delete-user.html.twig @@ -1,20 +1,20 @@ -{% extends "modals/modal.html.twig" %} - -{% block modal_title %}{{ translate("USER.DELETE") }}{% endblock %} - -{% block modal_body %} - <form class="js-form" method="delete" action="{{ site.uri.public }}/{{ form.action }}"> - {% include "forms/csrf.html.twig" %} - <div class="js-form-alerts"> - </div> - <h4>{{ translate("USER.DELETE_CONFIRM", {name: user.user_name}) }}<br> - <small>{{ translate("DELETE_CANNOT_UNDONE") }}</small> - </h4> - <br> - <div class="btn-group-action"> - <button type="submit" class="btn btn-danger btn-lg btn-block">{{ translate("USER.DELETE_YES") }}</button> - <button type="button" class="btn btn-default btn-lg btn-block" - data-dismiss="modal">{{ translate("CANCEL") }}</button> - </div> - </form> -{% endblock %} +{% extends "modals/modal.html.twig" %}
+
+{% block modal_title %}{{ translate("USER.DELETE") }}{% endblock %}
+
+{% block modal_body %}
+ <form class="js-form" method="delete" action="{{ site.uri.public }}/{{ form.action }}">
+ {% include "forms/csrf.html.twig" %}
+ <div class="js-form-alerts">
+ </div>
+ <h4>{{ translate("USER.DELETE_CONFIRM", {name: user.user_name}) }}<br>
+ <small>{{ translate("DELETE_CANNOT_UNDONE") }}</small>
+ </h4>
+ <br>
+ <div class="btn-group-action">
+ <button type="submit" class="btn btn-danger btn-lg btn-block">{{ translate("USER.DELETE_YES") }}</button>
+ <button type="button" class="btn btn-default btn-lg btn-block"
+ data-dismiss="modal">{{ translate("CANCEL") }}</button>
+ </div>
+ </form>
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/modals/group.html.twig b/main/app/sprinkles/admin/templates/modals/group.html.twig index a716b4f..0c55bc3 100644 --- a/main/app/sprinkles/admin/templates/modals/group.html.twig +++ b/main/app/sprinkles/admin/templates/modals/group.html.twig @@ -1,7 +1,7 @@ -{% extends "modals/modal.html.twig" %} - -{% block modal_title %}{{ translate('GROUP') }}{% endblock %} - -{% block modal_body %} - {% include "forms/group.html.twig" %} -{% endblock %} +{% extends "modals/modal.html.twig" %}
+
+{% block modal_title %}{{ translate('GROUP') }}{% endblock %}
+
+{% block modal_body %}
+ {% include "forms/group.html.twig" %}
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/modals/role-manage-permissions.html.twig b/main/app/sprinkles/admin/templates/modals/role-manage-permissions.html.twig index f8b7ef5..8189aaa 100644 --- a/main/app/sprinkles/admin/templates/modals/role-manage-permissions.html.twig +++ b/main/app/sprinkles/admin/templates/modals/role-manage-permissions.html.twig @@ -1,96 +1,96 @@ -{% extends "modals/modal.html.twig" %} - -{% block modal_title %}{{ translate("PERMISSION.MANAGE") }}{% endblock %} - -{% block modal_size %}modal-lg{% endblock %} - -{% block modal_body %} - <form class="js-form" method="PUT" action="{{ site.uri.public }}/api/roles/r/{{ role.slug }}/permissions"> - {% include "forms/csrf.html.twig" %} - <div class="js-form-alerts"> - </div> - <div class="js-form-permissions"> - <table class="table table-striped"> - <thead> - <tr> - <th>{{ translate("NAME") }}</th> - <th>{{ translate("DESCRIPTION") }}</th> - <th>{{ translate("PERMISSION.HOOK_CONDITION") }}</th> - <th>{{ translate("REMOVE") }}</th> - </tr> - </thead> - <tbody> - </tbody> - </table> - <div class="padding-bottom"> - <label>{{ translate("PERMISSION.ASSIGN_NEW") }}:</label> - <select class="form-control js-select-new" type="text"> - <option></option> - </select> - </div> - </div> - <br> - <div class="row"> - <div class="col-xs-12 col-sm-6"> - <button type="submit" - class="btn btn-block btn-lg btn-success">{{ translate("PERMISSION.UPDATE") }}</button> - </div> - <div class="col-xs-12 col-sm-3 pull-right"> - <button type="button" class="btn btn-block btn-lg btn-link" - data-dismiss="modal">{{ translate('CANCEL') }}</button> - </div> - </div> - </form> - - {# This contains a series of <script> blocks, each of which is a client-side Handlebars template. - # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag, - # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates. - # - # These templates require handlebars-helpers.js, moment.js - #} - {% verbatim %} -<script id="role-permissions-select-option" type="text/x-handlebars-template"> - <div> - <strong> - {{name}} - </strong> - <br> - {{description}} - <div> - <code>{{this.slug}}</code> - </div> - <div> - ↳ <code>{{conditions}}</code> - </div> - </div> -</script> - -<script id="role-permissions-row" type="text/x-handlebars-template"> - <tr class="uf-collection-row"> - <td> - {{name}} - <input type="hidden" name="value[{{ rownum }}][permission_id]" value="{{id}}"> - </td> - <td> - {{description}} - </td> - <td class="uf-collection-col-wrap"> - <div> - <code>{{this.slug}}</code> - </div> - <div> - ↳ <code>{{conditions}}</code> - </div> - </td> - <td> - <button type="button" class="btn btn-link btn-trash js-delete-row pull-right" title="Delete"> <i class="fa fa-trash"></i> </button> - </td> - </tr> -</script> -{% endverbatim %} - - <!-- Include validation rules --> - <script> - {% include "pages/partials/page.js.twig" %} - </script> -{% endblock %} +{% extends "modals/modal.html.twig" %}
+
+{% block modal_title %}{{ translate("PERMISSION.MANAGE") }}{% endblock %}
+
+{% block modal_size %}modal-lg{% endblock %}
+
+{% block modal_body %}
+ <form class="js-form" method="PUT" action="{{ site.uri.public }}/api/roles/r/{{ role.slug }}/permissions">
+ {% include "forms/csrf.html.twig" %}
+ <div class="js-form-alerts">
+ </div>
+ <div class="js-form-permissions">
+ <table class="table table-striped">
+ <thead>
+ <tr>
+ <th>{{ translate("NAME") }}</th>
+ <th>{{ translate("DESCRIPTION") }}</th>
+ <th>{{ translate("PERMISSION.HOOK_CONDITION") }}</th>
+ <th>{{ translate("REMOVE") }}</th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+ <div class="padding-bottom">
+ <label>{{ translate("PERMISSION.ASSIGN_NEW") }}:</label>
+ <select class="form-control js-select-new" type="text">
+ <option></option>
+ </select>
+ </div>
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-xs-12 col-sm-6">
+ <button type="submit"
+ class="btn btn-block btn-lg btn-success">{{ translate("PERMISSION.UPDATE") }}</button>
+ </div>
+ <div class="col-xs-12 col-sm-3 pull-right">
+ <button type="button" class="btn btn-block btn-lg btn-link"
+ data-dismiss="modal">{{ translate('CANCEL') }}</button>
+ </div>
+ </div>
+ </form>
+
+ {# This contains a series of <script> blocks, each of which is a client-side Handlebars template.
+ # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag,
+ # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates.
+ #
+ # These templates require handlebars-helpers.js, moment.js
+ #}
+ {% verbatim %}
+<script id="role-permissions-select-option" type="text/x-handlebars-template">
+ <div>
+ <strong>
+ {{name}}
+ </strong>
+ <br>
+ {{description}}
+ <div>
+ <code>{{this.slug}}</code>
+ </div>
+ <div>
+ ↳ <code>{{conditions}}</code>
+ </div>
+ </div>
+</script>
+
+<script id="role-permissions-row" type="text/x-handlebars-template">
+ <tr class="uf-collection-row">
+ <td>
+ {{name}}
+ <input type="hidden" name="value[{{ rownum }}][permission_id]" value="{{id}}">
+ </td>
+ <td>
+ {{description}}
+ </td>
+ <td class="uf-collection-col-wrap">
+ <div>
+ <code>{{this.slug}}</code>
+ </div>
+ <div>
+ ↳ <code>{{conditions}}</code>
+ </div>
+ </td>
+ <td>
+ <button type="button" class="btn btn-link btn-trash js-delete-row pull-right" title="Delete"> <i class="fa fa-trash"></i> </button>
+ </td>
+ </tr>
+</script>
+{% endverbatim %}
+
+ <!-- Include validation rules -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+ </script>
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/modals/role.html.twig b/main/app/sprinkles/admin/templates/modals/role.html.twig index 6ae924e..b0c6c93 100644 --- a/main/app/sprinkles/admin/templates/modals/role.html.twig +++ b/main/app/sprinkles/admin/templates/modals/role.html.twig @@ -1,7 +1,7 @@ -{% extends "modals/modal.html.twig" %} - -{% block modal_title %}{{ translate('ROLE') }}{% endblock %} - -{% block modal_body %} - {% include "forms/role.html.twig" %} -{% endblock %} +{% extends "modals/modal.html.twig" %}
+
+{% block modal_title %}{{ translate('ROLE') }}{% endblock %}
+
+{% block modal_body %}
+ {% include "forms/role.html.twig" %}
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/modals/user-manage-roles.html.twig b/main/app/sprinkles/admin/templates/modals/user-manage-roles.html.twig index 3c0fe18..e3c4811 100644 --- a/main/app/sprinkles/admin/templates/modals/user-manage-roles.html.twig +++ b/main/app/sprinkles/admin/templates/modals/user-manage-roles.html.twig @@ -1,78 +1,78 @@ -{% extends "modals/modal.html.twig" %} - -{% block modal_title %}{{ translate("ROLE.MANAGE") }}{% endblock %} - -{% block modal_body %} - <form class="js-form" method="PUT" action="{{ site.uri.public }}/api/users/u/{{ user.user_name }}/roles"> - {% include "forms/csrf.html.twig" %} - <div class="js-form-alerts"> - </div> - <div class="js-form-roles"> - <table class="table table-striped"> - <thead> - <tr> - <th>{{ translate("NAME") }}</th> - <th>{{ translate("DESCRIPTION") }}</th> - <th>{{ translate("REMOVE") }}</th> - </tr> - </thead> - <tbody> - </tbody> - </table> - <div class="padding-bottom"> - <label>{{ translate("ROLE.ASSIGN_NEW") }}:</label> - <select class="form-control js-select-new" type="text"> - <option></option> - </select> - </div> - </div> - <br> - <div class="row"> - <div class="col-xs-8 col-sm-4"> - <button type="submit" class="btn btn-block btn-lg btn-success">{{ translate("UPDATE") }}</button> - </div> - <div class="col-xs-4 col-sm-3 pull-right"> - <button type="button" class="btn btn-block btn-lg btn-link" - data-dismiss="modal">{{ translate('CANCEL') }}</button> - </div> - </div> - </form> - - {# This contains a series of <script> blocks, each of which is a client-side Handlebars template. - # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag, - # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates. - # - # These templates require handlebars-helpers.js, moment.js - #} - {% verbatim %} -<script id="user-roles-select-option" type="text/x-handlebars-template"> - <div> - <strong> - {{name}} - </strong> - <br> - {{description}} - </div> -</script> - -<script id="user-roles-row" type="text/x-handlebars-template"> - <tr class="uf-collection-row"> - <td> - {{name}} - <input type="hidden" name="value[{{ rownum }}][role_id]" value="{{id}}"> - </td> - <td> - {{description}} - </td> - <td> - <button type="button" class="btn btn-link btn-trash js-delete-row pull-right" title="Delete"> <i class="fa fa-trash"></i> </button> - </td> - </tr> -</script> -{% endverbatim %} - - <!-- Include validation rules --> - <script> - {% include "pages/partials/page.js.twig" %} - </script> -{% endblock %} +{% extends "modals/modal.html.twig" %}
+
+{% block modal_title %}{{ translate("ROLE.MANAGE") }}{% endblock %}
+
+{% block modal_body %}
+ <form class="js-form" method="PUT" action="{{ site.uri.public }}/api/users/u/{{ user.user_name }}/roles">
+ {% include "forms/csrf.html.twig" %}
+ <div class="js-form-alerts">
+ </div>
+ <div class="js-form-roles">
+ <table class="table table-striped">
+ <thead>
+ <tr>
+ <th>{{ translate("NAME") }}</th>
+ <th>{{ translate("DESCRIPTION") }}</th>
+ <th>{{ translate("REMOVE") }}</th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+ <div class="padding-bottom">
+ <label>{{ translate("ROLE.ASSIGN_NEW") }}:</label>
+ <select class="form-control js-select-new" type="text">
+ <option></option>
+ </select>
+ </div>
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-xs-8 col-sm-4">
+ <button type="submit" class="btn btn-block btn-lg btn-success">{{ translate("UPDATE") }}</button>
+ </div>
+ <div class="col-xs-4 col-sm-3 pull-right">
+ <button type="button" class="btn btn-block btn-lg btn-link"
+ data-dismiss="modal">{{ translate('CANCEL') }}</button>
+ </div>
+ </div>
+ </form>
+
+ {# This contains a series of <script> blocks, each of which is a client-side Handlebars template.
+ # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag,
+ # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates.
+ #
+ # These templates require handlebars-helpers.js, moment.js
+ #}
+ {% verbatim %}
+<script id="user-roles-select-option" type="text/x-handlebars-template">
+ <div>
+ <strong>
+ {{name}}
+ </strong>
+ <br>
+ {{description}}
+ </div>
+</script>
+
+<script id="user-roles-row" type="text/x-handlebars-template">
+ <tr class="uf-collection-row">
+ <td>
+ {{name}}
+ <input type="hidden" name="value[{{ rownum }}][role_id]" value="{{id}}">
+ </td>
+ <td>
+ {{description}}
+ </td>
+ <td>
+ <button type="button" class="btn btn-link btn-trash js-delete-row pull-right" title="Delete"> <i class="fa fa-trash"></i> </button>
+ </td>
+ </tr>
+</script>
+{% endverbatim %}
+
+ <!-- Include validation rules -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+ </script>
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/modals/user-set-password.html.twig b/main/app/sprinkles/admin/templates/modals/user-set-password.html.twig index 9b2c017..efd2d6b 100644 --- a/main/app/sprinkles/admin/templates/modals/user-set-password.html.twig +++ b/main/app/sprinkles/admin/templates/modals/user-set-password.html.twig @@ -1,67 +1,67 @@ -{% extends "modals/modal.html.twig" %} - -{% block modal_title %}{{ translate("USER.ADMIN.CHANGE_PASSWORD") }}{% endblock %} - -{% block modal_body %} - <form class="js-form" method="PUT" action="{{ site.uri.public }}/api/users/u/{{ user.user_name }}"> - {% include "forms/csrf.html.twig" %} - <!-- Prevent browsers from trying to autofill the password field. See http://stackoverflow.com/a/23234498/2970321 --> - <input type="text" style="display:none"> - <input type="password" style="display:none"> - <div class="js-form-alerts"> - </div> - <div class="row"> - <div class="col-sm-12"> - <div class="radio"> - <label for="change_password_mode_link"> - <input type="radio" name="change_password_mode" id="change_password_mode_link" value="link" - checked> - {{ translate("USER.ADMIN.SEND_PASSWORD_LINK") }} - </label> - </div> - </div> - <div class="col-sm-12"> - <div class="radio"> - <label for="change_password_mode_manual"> - <input type="radio" name="change_password_mode" id="change_password_mode_manual" value="manual"> - {{ translate("USER.ADMIN.SET_PASSWORD") }}: - </label> - </div> - <div class="row controls-password"> - <div class="col-sm-11 col-sm-offset-1"> - <div class="form-group"> - <label>{{ translate('PASSWORD') }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-key"></i></span> - <input type="password" class="form-control" name="value" autocomplete="off" value="" - placeholder="{{ translate("PASSWORD.BETWEEN", {min: 12, max: 50}) }}"> - </div> - </div> - <div class="form-group"> - <label>{{ translate('PASSWORD.CONFIRM') }}</label> - <div class="input-group"> - <span class="input-group-addon"><i class="fa fa-key"></i></span> - <input type="password" class="form-control" name="passwordc" autocomplete="off" value="" - placeholder="{{ translate('PASSWORD.CONFIRM') }}"> - </div> - </div> - </div> - </div> - </div> - </div> - <br> - <div class="row"> - <div class="col-xs-8 col-sm-4"> - <button type="submit" class="btn btn-block btn-lg btn-success">{{ translate('SUBMIT') }}</button> - </div> - <div class="col-xs-4 col-sm-3 pull-right"> - <button type="button" class="btn btn-block btn-lg btn-link" - data-dismiss="modal">{{ translate('CANCEL') }}</button> - </div> - </div> - </form> - <!-- Include validation rules --> - <script> - {% include "pages/partials/page.js.twig" %} - </script> -{% endblock %} +{% extends "modals/modal.html.twig" %}
+
+{% block modal_title %}{{ translate("USER.ADMIN.CHANGE_PASSWORD") }}{% endblock %}
+
+{% block modal_body %}
+ <form class="js-form" method="PUT" action="{{ site.uri.public }}/api/users/u/{{ user.user_name }}">
+ {% include "forms/csrf.html.twig" %}
+ <!-- Prevent browsers from trying to autofill the password field. See http://stackoverflow.com/a/23234498/2970321 -->
+ <input type="text" style="display:none">
+ <input type="password" style="display:none">
+ <div class="js-form-alerts">
+ </div>
+ <div class="row">
+ <div class="col-sm-12">
+ <div class="radio">
+ <label for="change_password_mode_link">
+ <input type="radio" name="change_password_mode" id="change_password_mode_link" value="link"
+ checked>
+ {{ translate("USER.ADMIN.SEND_PASSWORD_LINK") }}
+ </label>
+ </div>
+ </div>
+ <div class="col-sm-12">
+ <div class="radio">
+ <label for="change_password_mode_manual">
+ <input type="radio" name="change_password_mode" id="change_password_mode_manual" value="manual">
+ {{ translate("USER.ADMIN.SET_PASSWORD") }}:
+ </label>
+ </div>
+ <div class="row controls-password">
+ <div class="col-sm-11 col-sm-offset-1">
+ <div class="form-group">
+ <label>{{ translate('PASSWORD') }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-key"></i></span>
+ <input type="password" class="form-control" name="value" autocomplete="off" value=""
+ placeholder="{{ translate("PASSWORD.BETWEEN", {min: 12, max: 50}) }}">
+ </div>
+ </div>
+ <div class="form-group">
+ <label>{{ translate('PASSWORD.CONFIRM') }}</label>
+ <div class="input-group">
+ <span class="input-group-addon"><i class="fa fa-key"></i></span>
+ <input type="password" class="form-control" name="passwordc" autocomplete="off" value=""
+ placeholder="{{ translate('PASSWORD.CONFIRM') }}">
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-xs-8 col-sm-4">
+ <button type="submit" class="btn btn-block btn-lg btn-success">{{ translate('SUBMIT') }}</button>
+ </div>
+ <div class="col-xs-4 col-sm-3 pull-right">
+ <button type="button" class="btn btn-block btn-lg btn-link"
+ data-dismiss="modal">{{ translate('CANCEL') }}</button>
+ </div>
+ </div>
+ </form>
+ <!-- Include validation rules -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+ </script>
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/modals/user.html.twig b/main/app/sprinkles/admin/templates/modals/user.html.twig index 850844d..b1bf6fc 100644 --- a/main/app/sprinkles/admin/templates/modals/user.html.twig +++ b/main/app/sprinkles/admin/templates/modals/user.html.twig @@ -1,7 +1,7 @@ -{% extends "modals/modal.html.twig" %} - -{% block modal_title %}{{ translate('USER') }}{% endblock %} - -{% block modal_body %} - {% include "forms/user.html.twig" %} -{% endblock %} +{% extends "modals/modal.html.twig" %}
+
+{% block modal_title %}{{ translate('USER') }}{% endblock %}
+
+{% block modal_body %}
+ {% include "forms/user.html.twig" %}
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/navigation/sidebar-menu.html.twig b/main/app/sprinkles/admin/templates/navigation/sidebar-menu.html.twig index 446f260..b2965e0 100644 --- a/main/app/sprinkles/admin/templates/navigation/sidebar-menu.html.twig +++ b/main/app/sprinkles/admin/templates/navigation/sidebar-menu.html.twig @@ -1,53 +1,53 @@ -{% block navigation %} - {% if checkAccess('uri_dashboard') %} - <li> - <a href="{{ site.uri.public }}/dashboard"><i class="fa fa-dashboard fa-fw"></i> - <span>{{ translate("DASHBOARD") }}</span> - </a> - </li> - {% endif %} - {% if checkAccess('uri_users') %} - <li> - <a href="{{ site.uri.public }}/users"><i class="fa fa-user fa-fw"></i> - <span>{{ translate("USER", 2) }}</span> - </a> - </li> - {% elseif checkAccess('uri_group', { - 'group': current_user.group - }) %} - <li> - <a href="{{ site.uri.public }}/groups/g/{{ current_user.group.slug }}"><i - class="{{ current_user.group.icon }} fa-fw"></i> - <span>{{ translate("GROUP.MANAGE") }}</span> - </a> - </li> - {% endif %} - {% if checkAccess('uri_activities') %} - <li> - <a href="{{ site.uri.public }}/activities"><i class="fa fa-tasks fa-fw"></i> - <span>{{ translate("ACTIVITY", 2) }}</span> - </a> - </li> - {% endif %} - {% if checkAccess('uri_roles') %} - <li> - <a href="{{ site.uri.public }}/roles"><i class="fa fa-drivers-license fa-fw"></i> - <span>{{ translate("ROLE", 2) }}</span> - </a> - </li> - {% endif %} - {% if checkAccess('uri_permissions') %} - <li> - <a href="{{ site.uri.public }}/permissions"><i class="fa fa-key fa-fw"></i> - <span>{{ translate("PERMISSION", 2) }}</span> - </a> - </li> - {% endif %} - {% if checkAccess('uri_groups') %} - <li> - <a href="{{ site.uri.public }}/groups"><i class="fa fa-users fa-fw"></i> - <span>{{ translate("GROUP", 2) }}</span> - </a> - </li> - {% endif %} +{% block navigation %}
+ {% if checkAccess('uri_dashboard') %}
+ <li>
+ <a href="{{ site.uri.public }}/dashboard"><i class="fa fa-dashboard fa-fw"></i>
+ <span>{{ translate("DASHBOARD") }}</span>
+ </a>
+ </li>
+ {% endif %}
+ {% if checkAccess('uri_users') %}
+ <li>
+ <a href="{{ site.uri.public }}/users"><i class="fa fa-user fa-fw"></i>
+ <span>{{ translate("USER", 2) }}</span>
+ </a>
+ </li>
+ {% elseif checkAccess('uri_group', {
+ 'group': current_user.group
+ }) %}
+ <li>
+ <a href="{{ site.uri.public }}/groups/g/{{ current_user.group.slug }}"><i
+ class="{{ current_user.group.icon }} fa-fw"></i>
+ <span>{{ translate("GROUP.MANAGE") }}</span>
+ </a>
+ </li>
+ {% endif %}
+ {% if checkAccess('uri_activities') %}
+ <li>
+ <a href="{{ site.uri.public }}/activities"><i class="fa fa-tasks fa-fw"></i>
+ <span>{{ translate("ACTIVITY", 2) }}</span>
+ </a>
+ </li>
+ {% endif %}
+ {% if checkAccess('uri_roles') %}
+ <li>
+ <a href="{{ site.uri.public }}/roles"><i class="fa fa-drivers-license fa-fw"></i>
+ <span>{{ translate("ROLE", 2) }}</span>
+ </a>
+ </li>
+ {% endif %}
+ {% if checkAccess('uri_permissions') %}
+ <li>
+ <a href="{{ site.uri.public }}/permissions"><i class="fa fa-key fa-fw"></i>
+ <span>{{ translate("PERMISSION", 2) }}</span>
+ </a>
+ </li>
+ {% endif %}
+ {% if checkAccess('uri_groups') %}
+ <li>
+ <a href="{{ site.uri.public }}/groups"><i class="fa fa-users fa-fw"></i>
+ <span>{{ translate("GROUP", 2) }}</span>
+ </a>
+ </li>
+ {% endif %}
{% endblock %}
\ No newline at end of file diff --git a/main/app/sprinkles/admin/templates/navigation/sidebar-user.html.twig b/main/app/sprinkles/admin/templates/navigation/sidebar-user.html.twig index 4b1881c..541fe99 100644 --- a/main/app/sprinkles/admin/templates/navigation/sidebar-user.html.twig +++ b/main/app/sprinkles/admin/templates/navigation/sidebar-user.html.twig @@ -1,10 +1,10 @@ -<!-- Sidebar user panel --> -<div class="user-panel"> - <div class="pull-left image"> - <img src="{{ current_user.avatar }}" class="img-circle" alt="User Image"> - </div> - <div class="pull-left info"> - <p>{{ current_user.first_name }} {{ current_user.last_name }}</p> - <i class="{{ current_user.group.icon }}"></i> {{ current_user.group.name }} - </div> +<!-- Sidebar user panel -->
+<div class="user-panel">
+ <div class="pull-left image">
+ <img src="{{ current_user.avatar }}" class="img-circle" alt="User Image">
+ </div>
+ <div class="pull-left info">
+ <p>{{ current_user.first_name }} {{ current_user.last_name }}</p>
+ <i class="{{ current_user.group.icon }}"></i> {{ current_user.group.name }}
+ </div>
</div>
\ No newline at end of file diff --git a/main/app/sprinkles/admin/templates/navigation/sidebar.html.twig b/main/app/sprinkles/admin/templates/navigation/sidebar.html.twig index 59f87b0..f5465a0 100644 --- a/main/app/sprinkles/admin/templates/navigation/sidebar.html.twig +++ b/main/app/sprinkles/admin/templates/navigation/sidebar.html.twig @@ -1,10 +1,10 @@ -{% block sidebar_user %} - {% include 'navigation/sidebar-user.html.twig' %} -{% endblock %} - -{% block sidebar_menu %} - <ul class="sidebar-menu"> - <li class="header" style="text-transform: uppercase">{{ translate('NAVIGATION') }}</li> - {% include 'navigation/sidebar-menu.html.twig' %} - </ul> +{% block sidebar_user %}
+ {% include 'navigation/sidebar-user.html.twig' %}
+{% endblock %}
+
+{% block sidebar_menu %}
+ <ul class="sidebar-menu">
+ <li class="header" style="text-transform: uppercase">{{ translate('NAVIGATION') }}</li>
+ {% include 'navigation/sidebar-menu.html.twig' %}
+ </ul>
{% endblock %}
\ No newline at end of file diff --git a/main/app/sprinkles/admin/templates/navigation/user-card.html.twig b/main/app/sprinkles/admin/templates/navigation/user-card.html.twig index 8b40cd3..a844ce1 100644 --- a/main/app/sprinkles/admin/templates/navigation/user-card.html.twig +++ b/main/app/sprinkles/admin/templates/navigation/user-card.html.twig @@ -1,9 +1,9 @@ -{% extends "@account/navigation/user-card.html.twig" %} - -{% block userCard_menu %} - {% if checkAccess('uri_dashboard') %} - <a href="{{ site.uri.public }}/dashboard" - class="btn btn-default btn-flat btn-block">{{ translate("DASHBOARD") }}</a> - {% endif %} - {{ parent() }} +{% extends "@account/navigation/user-card.html.twig" %}
+
+{% block userCard_menu %}
+ {% if checkAccess('uri_dashboard') %}
+ <a href="{{ site.uri.public }}/dashboard"
+ class="btn btn-default btn-flat btn-block">{{ translate("DASHBOARD") }}</a>
+ {% endif %}
+ {{ parent() }}
{% endblock %}
\ No newline at end of file diff --git a/main/app/sprinkles/admin/templates/pages/abstract/dashboard.html.twig b/main/app/sprinkles/admin/templates/pages/abstract/dashboard.html.twig index 0d2e0ef..b24c621 100644 --- a/main/app/sprinkles/admin/templates/pages/abstract/dashboard.html.twig +++ b/main/app/sprinkles/admin/templates/pages/abstract/dashboard.html.twig @@ -1,90 +1,90 @@ -{% extends "pages/abstract/base.html.twig" %} - -{% block stylesheets_page_group %} - <!-- Page-group-specific CSS asset bundle --> - {{ assets.css('css/admin') | raw }} -{% endblock %} - -{% block body_attributes %} - {% if current_user.isMaster() %} - class="hold-transition skin-red sidebar-mini" - {% else %} - class="hold-transition skin-{{ site.AdminLTE.skin }} sidebar-mini" - {% endif %} -{% endblock %} - -{% block content %} - {# This needs to be here (early in the body) to make sure the animation doesn't fire #} - <script> - (function () { - if (Boolean(sessionStorage.getItem('sidebar-toggle-collapsed'))) { - var body = document.getElementsByTagName('body')[0]; - body.className = body.className + ' sidebar-collapse'; - } - })(); - </script> - - <div class="wrapper"> - - <header class="main-header"> - <!-- Logo --> - {% block navbar_logo %} - <a href="{{ site.uri.public }}" class="logo"> - <i class="fa fa-home"></i> - {{ site.title }} - </a> - {% endblock %} - <!-- Header Navbar: style can be found in header.less --> - <nav class="navbar navbar-static-top"> - <!-- Sidebar toggle button--> - <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button"> - <span class="sr-only">Toggle navigation</span> - </a> - <!-- Main nav buttons --> - {% include "navigation/navbar.html.twig" %} - </nav> - </header> - <!-- Left side column. contains the logo and sidebar --> - <aside class="main-sidebar"> - <!-- sidebar: style can be found in sidebar.less --> - <section class="sidebar"> - {% include 'navigation/sidebar.html.twig' %} - </section> - <!-- /.sidebar --> - </aside> - - <!-- Content Wrapper. Contains page content --> - <div class="content-wrapper"> - <!-- Content Header (Page header) --> - {% block content_header %} - <section class="content-header"> - <h1>{% block header_title %}{{ block('page_title') }}{% endblock %}</h1> - {% if block('page_description') is not empty %} - <h1> - <small>{% block header_description %}{{ block('page_description') }}{% endblock %}</small> - </h1>{% endif %} - {% block breadcrumb %} - {% include 'navigation/breadcrumb.html.twig' with {page_title: block('page_title')} %} - {% endblock %} - <div id="alerts-page"></div> - </section> - {% endblock %} - <section class="content"> - {% block body_matter %}{% endblock %} - </section> - </div> - <!-- /.content-wrapper --> - - <!-- Footer --> - {% block footer %} - {% include "pages/partials/footer.html.twig" %} - {% endblock %} - - </div> - <!-- ./wrapper --> - -{% endblock %} - -{% block scripts_page_group %} - {{ assets.js('js/admin') | raw }} +{% extends "pages/abstract/base.html.twig" %}
+
+{% block stylesheets_page_group %}
+ <!-- Page-group-specific CSS asset bundle -->
+ {{ assets.css('css/admin') | raw }}
+{% endblock %}
+
+{% block body_attributes %}
+ {% if current_user.isMaster() %}
+ class="hold-transition skin-red sidebar-mini"
+ {% else %}
+ class="hold-transition skin-{{ site.AdminLTE.skin }} sidebar-mini"
+ {% endif %}
+{% endblock %}
+
+{% block content %}
+ {# This needs to be here (early in the body) to make sure the animation doesn't fire #}
+ <script>
+ (function () {
+ if (Boolean(sessionStorage.getItem('sidebar-toggle-collapsed'))) {
+ var body = document.getElementsByTagName('body')[0];
+ body.className = body.className + ' sidebar-collapse';
+ }
+ })();
+ </script>
+
+ <div class="wrapper">
+
+ <header class="main-header">
+ <!-- Logo -->
+ {% block navbar_logo %}
+ <a href="{{ site.uri.public }}" class="logo">
+ <i class="fa fa-home"></i>
+ {{ site.title }}
+ </a>
+ {% endblock %}
+ <!-- Header Navbar: style can be found in header.less -->
+ <nav class="navbar navbar-static-top">
+ <!-- Sidebar toggle button-->
+ <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
+ <span class="sr-only">Toggle navigation</span>
+ </a>
+ <!-- Main nav buttons -->
+ {% include "navigation/navbar.html.twig" %}
+ </nav>
+ </header>
+ <!-- Left side column. contains the logo and sidebar -->
+ <aside class="main-sidebar">
+ <!-- sidebar: style can be found in sidebar.less -->
+ <section class="sidebar">
+ {% include 'navigation/sidebar.html.twig' %}
+ </section>
+ <!-- /.sidebar -->
+ </aside>
+
+ <!-- Content Wrapper. Contains page content -->
+ <div class="content-wrapper">
+ <!-- Content Header (Page header) -->
+ {% block content_header %}
+ <section class="content-header">
+ <h1>{% block header_title %}{{ block('page_title') }}{% endblock %}</h1>
+ {% if block('page_description') is not empty %}
+ <h1>
+ <small>{% block header_description %}{{ block('page_description') }}{% endblock %}</small>
+ </h1>{% endif %}
+ {% block breadcrumb %}
+ {% include 'navigation/breadcrumb.html.twig' with {page_title: block('page_title')} %}
+ {% endblock %}
+ <div id="alerts-page"></div>
+ </section>
+ {% endblock %}
+ <section class="content">
+ {% block body_matter %}{% endblock %}
+ </section>
+ </div>
+ <!-- /.content-wrapper -->
+
+ <!-- Footer -->
+ {% block footer %}
+ {% include "pages/partials/footer.html.twig" %}
+ {% endblock %}
+
+ </div>
+ <!-- ./wrapper -->
+
+{% endblock %}
+
+{% block scripts_page_group %}
+ {{ assets.js('js/admin') | raw }}
{% endblock %}
\ No newline at end of file diff --git a/main/app/sprinkles/admin/templates/pages/activities.html.twig b/main/app/sprinkles/admin/templates/pages/activities.html.twig index 7927601..c6bd007 100644 --- a/main/app/sprinkles/admin/templates/pages/activities.html.twig +++ b/main/app/sprinkles/admin/templates/pages/activities.html.twig @@ -1,45 +1,45 @@ -{% extends "pages/abstract/dashboard.html.twig" %} - -{% block stylesheets_page %} - <!-- Page-specific CSS asset bundle --> - {{ assets.css('css/form-widgets') | raw }} -{% endblock %} - -{# Overrides blocks in head of base template #} -{% block page_title %}{{ translate("ACTIVITY", 2) }}{% endblock %} - -{% block page_description %}{{ translate("ACTIVITY.PAGE") }}.{% endblock %} - -{% block body_matter %} - <div class="row"> - <div class="col-md-12"> - <div id="widget-activities" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title"><i class="fa fa-tasks fa-fw"></i> {{ translate('ACTIVITY', 2) }}</h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/activities.html.twig" with { - "table" : { - "id" : "table-activities", - "columns" : ["user"] - } - } %} - </div> - </div> - </div> - </div> -{% endblock %} -{% block scripts_page %} - <!-- Include validation rules --> - <script> - {% include "pages/partials/page.js.twig" %} - </script> - - <!-- Include form widgets JS --> - {{ assets.js('js/form-widgets') | raw }} - - <!-- Include page-specific JS --> - {{ assets.js('js/pages/activities') | raw }} - -{% endblock %} +{% extends "pages/abstract/dashboard.html.twig" %}
+
+{% block stylesheets_page %}
+ <!-- Page-specific CSS asset bundle -->
+ {{ assets.css('css/form-widgets') | raw }}
+{% endblock %}
+
+{# Overrides blocks in head of base template #}
+{% block page_title %}{{ translate("ACTIVITY", 2) }}{% endblock %}
+
+{% block page_description %}{{ translate("ACTIVITY.PAGE") }}.{% endblock %}
+
+{% block body_matter %}
+ <div class="row">
+ <div class="col-md-12">
+ <div id="widget-activities" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title"><i class="fa fa-tasks fa-fw"></i> {{ translate('ACTIVITY', 2) }}</h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/activities.html.twig" with {
+ "table" : {
+ "id" : "table-activities",
+ "columns" : ["user"]
+ }
+ } %}
+ </div>
+ </div>
+ </div>
+ </div>
+{% endblock %}
+{% block scripts_page %}
+ <!-- Include validation rules -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+ </script>
+
+ <!-- Include form widgets JS -->
+ {{ assets.js('js/form-widgets') | raw }}
+
+ <!-- Include page-specific JS -->
+ {{ assets.js('js/pages/activities') | raw }}
+
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/pages/dashboard.html.twig b/main/app/sprinkles/admin/templates/pages/dashboard.html.twig index 461e13d..30ef280 100644 --- a/main/app/sprinkles/admin/templates/pages/dashboard.html.twig +++ b/main/app/sprinkles/admin/templates/pages/dashboard.html.twig @@ -1,284 +1,284 @@ -{% extends "pages/abstract/dashboard.html.twig" %} - -{# Overrides blocks in head of base template #} -{% block page_title %}{{ translate("DASHBOARD") }}{% endblock %} -{% block page_description %}{% endblock %} - -{% block body_matter %} - <!-- Info boxes --> - {% if checkAccess('uri_users') %} - <div class="row"> - <div class="col-md-4 col-sm-6 col-xs-12"> - <a href="{{ site.uri.public }}/users"> - <div class="info-box"> - <span class="info-box-icon bg-aqua"><i class="fa fa-user fa-fw"></i></span> - <div class="info-box-content"> - <span class="info-box-text">{{ translate("USER", 2) }}</span> - <span class="info-box-number">{{ counter.users }}</span> - </div> - <!-- /.info-box-content --> - </div> - <!-- /.info-box --> - </a> - </div> - <!-- /.col --> - - <div class="col-md-4 col-sm-6 col-xs-12"> - <a href="{{ site.uri.public }}/roles"> - <div class="info-box"> - <span class="info-box-icon bg-red"><i class="fa fa-drivers-license"></i></span> - <div class="info-box-content"> - <span class="info-box-text">{{ translate("ROLE", 2) }}</span> - <span class="info-box-number">{{ counter.roles }}</span> - </div> - <!-- /.info-box-content --> - </div> - <!-- /.info-box --> - </a> - </div> - <!-- /.col --> - - <div class="col-md-4 col-sm-6 col-xs-12"> - <a href="{{ site.uri.public }}/groups"> - <div class="info-box"> - <span class="info-box-icon bg-green"><i class="fa fa-users"></i></span> - <div class="info-box-content"> - <span class="info-box-text">{{ translate("GROUP", 2) }}</span> - <span class="info-box-number">{{ counter.groups }}</span> - </div> - <!-- /.info-box-content --> - </div> - <!-- /.info-box --> - </a> - </div> - <!-- /.col --> - </div> - <!-- /.row --> - - {% elseif checkAccess('uri_group', { - 'group': current_user.group - }) %} - <div class="row"> - <div class="col-sm-6 col-xs-12"> - <div class="info-box"> - <span class="info-box-icon bg-aqua"><i class="{{ current_user.group.icon }}"></i></span> - <div class="info-box-content"> - <h1>{{ current_user.group.name }}</h1> - </div> - <!-- /.info-box-content --> - </div> - <!-- /.info-box --> - </div> - <!-- /.col --> - <div class="col-sm-6 col-xs-12"> - <div class="info-box"> - <span class="info-box-icon bg-aqua"><i class="fa fa-user fa-fw"></i></span> - <div class="info-box-content"> - <span class="info-box-text">{{ translate("USER", 2) }}</span> - <span class="info-box-number">{{ current_user.group.users.count }}</span> - </div> - <!-- /.info-box-content --> - </div> - <!-- /.info-box --> - </div> - <!-- /.col --> - </div> - <!-- /.row --> - {% endif %} - - <!-- Main panels --> - <div class="row"> - {% if checkAccess('uri_users') or checkAccess('view_system_info') %} - <div class="col-md-6 col-sm-12 col-xs-12"> - {% if checkAccess('uri_users') %} - <div class="row"> - <div class="col-sm-12"> - <!-- USERS LIST --> - <div class="box box-info"> - <div class="box-header with-border"> - <h3 class="box-title">{{ translate("USER.LATEST") }}</h3> - </div> - <!-- /.box-header --> - <div class="box-body no-padding"> - <ul class="users-list clearfix"> - {% for user in users %} - <li> - <img src="{{ user.avatar }}" alt="User Image"> - <a class="users-list-name" - href="{{ site.uri.public }}/users/u/{{ user.user_name }}">{{ user.first_name }} {{ user.last_name }}</a> - <span class="users-list-date">{{ user.registered }}</span> - </li> - {% endfor %} - </ul> - <!-- /.users-list --> - </div> - <!-- /.box-body --> - <div class="box-footer text-center"> - <a href="{{ site.uri.public }}/users" - class="uppercase">{{ translate("USER.VIEW_ALL") }}</a> - </div> - <!-- /.box-footer --> - </div> - <!--/.box --> - </div> - <!-- /.col --> - </div> - <!-- /.row --> - {% endif %} - - {% if checkAccess('view_system_info') %} - <div class="row"> - <div class="col-sm-12"> - <div class="box box-primary"> - <div class="box-header with-border"> - <h3 class="box-title">{{ translate("SYSTEM_INFO") }}</h3> - </div> - <!-- /.box-header --> - <div class="box-body"> - <dl class="dl-horizontal"> - <dt>{{ translate("SYSTEM_INFO.UF_VERSION") }}</dt> - <dd>{{ info.version.UF }}</dd> - - <dt>{{ translate("SYSTEM_INFO.PHP_VERSION") }}</dt> - <dd>{{ info.version.php }}</dd> - - <dt>{{ translate("SYSTEM_INFO.SERVER") }}</dt> - <dd>{{ info.environment.SERVER_SOFTWARE }}</dd> - - <dt>{{ translate("SYSTEM_INFO.DB_VERSION") }}</dt> - <dd>{{ info.version.database.type }} {{ info.version.database.version }}</dd> - - <dt>{{ translate("SYSTEM_INFO.DB_NAME") }}</dt> - <dd>{{ info.database.name }}</dd> - - <dt>{{ translate("SYSTEM_INFO.DIRECTORY") }}</dt> - <dd>{{ info.path.project }}</dd> - - <dt>{{ translate("SYSTEM_INFO.URL") }}</dt> - <dd>{{ site.uri.public }}</dd> - - <dt>{{ translate("SYSTEM_INFO.SPRINKLES") }}</dt> - <dd> - <ul class="list-unstyled"> - {% for sprinkle in sprinkles %} - <li> - {{ sprinkle }} - </li> - {% endfor %} - </ul> - </dd> - </dl> - </div> - <!-- /.box-body --> - <div class="box-footer text-center"> - <a href="javascript:void(0)" - class="js-clear-cache uppercase">{{ translate("CACHE.CLEAR") }}</a> - </div> - <!-- /.box-footer --> - </div> - <!--/.box --> - </div> - <!-- /.col --> - </div> - <!-- /.row --> - {% endif %} - </div> - <!-- /.col --> - {% endif %} - - {% if checkAccess('uri_activities') %} - <div class="col-md-6 col-sm-12 col-xs-12"> - <div id="widget-activities" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title"><i class="fa fa-tasks fa-fw"></i> {{ translate('ACTIVITY', 2) }}</h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/activities.html.twig" with { - "table" : { - "id" : "table-activities", - "columns" : ["user"] - } - } %} - </div> - </div> - </div> - {% elseif checkAccess('view_group_field', { - 'group': current_user.group, - 'property': 'users' - }) %} - <div class="col-md-6 col-sm-12 col-xs-12"> - <div id="widget-group-users" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title"><i class="fa fa-fw fa-user"></i> {{ translate('USER', 2) }}</h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/users.html.twig" with { - "table" : { - "id" : "table-group-users" - } - } %} - </div> - <div class="box-footer"> - <button type="button" class="btn btn-success js-user-create"> - <i class="fa fa-plus-square"></i> {{ translate("USER.CREATE") }} - </button> - </div> - </div> - </div> - {% else %} - <div class="col-sm-4 col-sm-offset-4 col-xs-12"> - <div class="box box-widget widget-user"> - <!-- Add the bg color to the header using any of the bg-* classes --> - <div class="widget-user-header bg-black-active"> - <h3 class="widget-user-username"> - {{ translate("WELCOME", { - 'first_name': current_user.first_name - }) }} - </h3> - </div> - <div class="widget-user-image"> - <img class="img-circle" src="{{ assets.url('assets://userfrosting/images/cupcake.png') }}" - alt="User Avatar"> - </div> - <div class="box-footer"> - <h4> - {{ translate("WELCOME_TO", { - 'title': site.title - }) }} - </h4> - <p> - {{ translate("NO_FEATURES_YET") }} - </p> - </div> - </div> - <!-- /.widget-user --> - - - </div> - <!-- /.row --> - {% endif %} - </div> - <!-- /.row --> -{% endblock %} - -{% block scripts_page %} - <!-- Include page variables --> - <script> - {% include "pages/partials/page.js.twig" %} - - // Add user name - page = $.extend( - true, // deep extend - { - "group_slug": "{{ current_user.group.slug }}" - }, - page - ); - </script> - - <!-- Include page-specific JS --> - {{ assets.js('js/pages/dashboard') | raw }} - +{% extends "pages/abstract/dashboard.html.twig" %}
+
+{# Overrides blocks in head of base template #}
+{% block page_title %}{{ translate("DASHBOARD") }}{% endblock %}
+{% block page_description %}{% endblock %}
+
+{% block body_matter %}
+ <!-- Info boxes -->
+ {% if checkAccess('uri_users') %}
+ <div class="row">
+ <div class="col-md-4 col-sm-6 col-xs-12">
+ <a href="{{ site.uri.public }}/users">
+ <div class="info-box">
+ <span class="info-box-icon bg-aqua"><i class="fa fa-user fa-fw"></i></span>
+ <div class="info-box-content">
+ <span class="info-box-text">{{ translate("USER", 2) }}</span>
+ <span class="info-box-number">{{ counter.users }}</span>
+ </div>
+ <!-- /.info-box-content -->
+ </div>
+ <!-- /.info-box -->
+ </a>
+ </div>
+ <!-- /.col -->
+
+ <div class="col-md-4 col-sm-6 col-xs-12">
+ <a href="{{ site.uri.public }}/roles">
+ <div class="info-box">
+ <span class="info-box-icon bg-red"><i class="fa fa-drivers-license"></i></span>
+ <div class="info-box-content">
+ <span class="info-box-text">{{ translate("ROLE", 2) }}</span>
+ <span class="info-box-number">{{ counter.roles }}</span>
+ </div>
+ <!-- /.info-box-content -->
+ </div>
+ <!-- /.info-box -->
+ </a>
+ </div>
+ <!-- /.col -->
+
+ <div class="col-md-4 col-sm-6 col-xs-12">
+ <a href="{{ site.uri.public }}/groups">
+ <div class="info-box">
+ <span class="info-box-icon bg-green"><i class="fa fa-users"></i></span>
+ <div class="info-box-content">
+ <span class="info-box-text">{{ translate("GROUP", 2) }}</span>
+ <span class="info-box-number">{{ counter.groups }}</span>
+ </div>
+ <!-- /.info-box-content -->
+ </div>
+ <!-- /.info-box -->
+ </a>
+ </div>
+ <!-- /.col -->
+ </div>
+ <!-- /.row -->
+
+ {% elseif checkAccess('uri_group', {
+ 'group': current_user.group
+ }) %}
+ <div class="row">
+ <div class="col-sm-6 col-xs-12">
+ <div class="info-box">
+ <span class="info-box-icon bg-aqua"><i class="{{ current_user.group.icon }}"></i></span>
+ <div class="info-box-content">
+ <h1>{{ current_user.group.name }}</h1>
+ </div>
+ <!-- /.info-box-content -->
+ </div>
+ <!-- /.info-box -->
+ </div>
+ <!-- /.col -->
+ <div class="col-sm-6 col-xs-12">
+ <div class="info-box">
+ <span class="info-box-icon bg-aqua"><i class="fa fa-user fa-fw"></i></span>
+ <div class="info-box-content">
+ <span class="info-box-text">{{ translate("USER", 2) }}</span>
+ <span class="info-box-number">{{ current_user.group.users.count }}</span>
+ </div>
+ <!-- /.info-box-content -->
+ </div>
+ <!-- /.info-box -->
+ </div>
+ <!-- /.col -->
+ </div>
+ <!-- /.row -->
+ {% endif %}
+
+ <!-- Main panels -->
+ <div class="row">
+ {% if checkAccess('uri_users') or checkAccess('view_system_info') %}
+ <div class="col-md-6 col-sm-12 col-xs-12">
+ {% if checkAccess('uri_users') %}
+ <div class="row">
+ <div class="col-sm-12">
+ <!-- USERS LIST -->
+ <div class="box box-info">
+ <div class="box-header with-border">
+ <h3 class="box-title">{{ translate("USER.LATEST") }}</h3>
+ </div>
+ <!-- /.box-header -->
+ <div class="box-body no-padding">
+ <ul class="users-list clearfix">
+ {% for user in users %}
+ <li>
+ <img src="{{ user.avatar }}" alt="User Image">
+ <a class="users-list-name"
+ href="{{ site.uri.public }}/users/u/{{ user.user_name }}">{{ user.first_name }} {{ user.last_name }}</a>
+ <span class="users-list-date">{{ user.registered }}</span>
+ </li>
+ {% endfor %}
+ </ul>
+ <!-- /.users-list -->
+ </div>
+ <!-- /.box-body -->
+ <div class="box-footer text-center">
+ <a href="{{ site.uri.public }}/users"
+ class="uppercase">{{ translate("USER.VIEW_ALL") }}</a>
+ </div>
+ <!-- /.box-footer -->
+ </div>
+ <!--/.box -->
+ </div>
+ <!-- /.col -->
+ </div>
+ <!-- /.row -->
+ {% endif %}
+
+ {% if checkAccess('view_system_info') %}
+ <div class="row">
+ <div class="col-sm-12">
+ <div class="box box-primary">
+ <div class="box-header with-border">
+ <h3 class="box-title">{{ translate("SYSTEM_INFO") }}</h3>
+ </div>
+ <!-- /.box-header -->
+ <div class="box-body">
+ <dl class="dl-horizontal">
+ <dt>{{ translate("SYSTEM_INFO.UF_VERSION") }}</dt>
+ <dd>{{ info.version.UF }}</dd>
+
+ <dt>{{ translate("SYSTEM_INFO.PHP_VERSION") }}</dt>
+ <dd>{{ info.version.php }}</dd>
+
+ <dt>{{ translate("SYSTEM_INFO.SERVER") }}</dt>
+ <dd>{{ info.environment.SERVER_SOFTWARE }}</dd>
+
+ <dt>{{ translate("SYSTEM_INFO.DB_VERSION") }}</dt>
+ <dd>{{ info.version.database.type }} {{ info.version.database.version }}</dd>
+
+ <dt>{{ translate("SYSTEM_INFO.DB_NAME") }}</dt>
+ <dd>{{ info.database.name }}</dd>
+
+ <dt>{{ translate("SYSTEM_INFO.DIRECTORY") }}</dt>
+ <dd>{{ info.path.project }}</dd>
+
+ <dt>{{ translate("SYSTEM_INFO.URL") }}</dt>
+ <dd>{{ site.uri.public }}</dd>
+
+ <dt>{{ translate("SYSTEM_INFO.SPRINKLES") }}</dt>
+ <dd>
+ <ul class="list-unstyled">
+ {% for sprinkle in sprinkles %}
+ <li>
+ {{ sprinkle }}
+ </li>
+ {% endfor %}
+ </ul>
+ </dd>
+ </dl>
+ </div>
+ <!-- /.box-body -->
+ <div class="box-footer text-center">
+ <a href="javascript:void(0)"
+ class="js-clear-cache uppercase">{{ translate("CACHE.CLEAR") }}</a>
+ </div>
+ <!-- /.box-footer -->
+ </div>
+ <!--/.box -->
+ </div>
+ <!-- /.col -->
+ </div>
+ <!-- /.row -->
+ {% endif %}
+ </div>
+ <!-- /.col -->
+ {% endif %}
+
+ {% if checkAccess('uri_activities') %}
+ <div class="col-md-6 col-sm-12 col-xs-12">
+ <div id="widget-activities" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title"><i class="fa fa-tasks fa-fw"></i> {{ translate('ACTIVITY', 2) }}</h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/activities.html.twig" with {
+ "table" : {
+ "id" : "table-activities",
+ "columns" : ["user"]
+ }
+ } %}
+ </div>
+ </div>
+ </div>
+ {% elseif checkAccess('view_group_field', {
+ 'group': current_user.group,
+ 'property': 'users'
+ }) %}
+ <div class="col-md-6 col-sm-12 col-xs-12">
+ <div id="widget-group-users" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title"><i class="fa fa-fw fa-user"></i> {{ translate('USER', 2) }}</h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/users.html.twig" with {
+ "table" : {
+ "id" : "table-group-users"
+ }
+ } %}
+ </div>
+ <div class="box-footer">
+ <button type="button" class="btn btn-success js-user-create">
+ <i class="fa fa-plus-square"></i> {{ translate("USER.CREATE") }}
+ </button>
+ </div>
+ </div>
+ </div>
+ {% else %}
+ <div class="col-sm-4 col-sm-offset-4 col-xs-12">
+ <div class="box box-widget widget-user">
+ <!-- Add the bg color to the header using any of the bg-* classes -->
+ <div class="widget-user-header bg-black-active">
+ <h3 class="widget-user-username">
+ {{ translate("WELCOME", {
+ 'first_name': current_user.first_name
+ }) }}
+ </h3>
+ </div>
+ <div class="widget-user-image">
+ <img class="img-circle" src="{{ assets.url('assets://userfrosting/images/cupcake.png') }}"
+ alt="User Avatar">
+ </div>
+ <div class="box-footer">
+ <h4>
+ {{ translate("WELCOME_TO", {
+ 'title': site.title
+ }) }}
+ </h4>
+ <p>
+ {{ translate("NO_FEATURES_YET") }}
+ </p>
+ </div>
+ </div>
+ <!-- /.widget-user -->
+
+
+ </div>
+ <!-- /.row -->
+ {% endif %}
+ </div>
+ <!-- /.row -->
+{% endblock %}
+
+{% block scripts_page %}
+ <!-- Include page variables -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+
+ // Add user name
+ page = $.extend(
+ true, // deep extend
+ {
+ "group_slug": "{{ current_user.group.slug }}"
+ },
+ page
+ );
+ </script>
+
+ <!-- Include page-specific JS -->
+ {{ assets.js('js/pages/dashboard') | raw }}
+
{% endblock %}
\ No newline at end of file diff --git a/main/app/sprinkles/admin/templates/pages/group.html.twig b/main/app/sprinkles/admin/templates/pages/group.html.twig index bab5b13..204f66e 100644 --- a/main/app/sprinkles/admin/templates/pages/group.html.twig +++ b/main/app/sprinkles/admin/templates/pages/group.html.twig @@ -1,107 +1,107 @@ -{% extends "pages/abstract/dashboard.html.twig" %} - -{% block stylesheets_page %} - <!-- Page-specific CSS asset bundle --> - {{ assets.css('css/form-widgets') | raw }} -{% endblock %} - -{# Overrides blocks in head of base template #} -{% block page_title %}{{ translate("GROUP", 2) }} | {{ group.name }}{% endblock %} - -{% block page_description %}{{ translate("GROUP.INFO_PAGE", {name: group.name}) }}{% endblock %} - -{% block body_matter %} - <div class="row"> - <div class="col-lg-4"> - <div id="view-group" class="box box-primary"> - <div class="box-header with-border"> - <h3 class="box-title">{{ translate('GROUP.SUMMARY') }}</h3> - {% if 'tools' not in tools.hidden %} - <div class="box-tools pull-right"> - <div class="btn-group"> - <button type="button" class="btn btn-sm dropdown-toggle" data-toggle="dropdown" - aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-gear"></i> - <span class="caret"></span> - </button> - <ul class="dropdown-menu box-tool-menu"> - {% block tools %} - <li> - <a href="#" class="js-group-edit" data-slug="{{ group.slug }}"> - <i class="fa fa-edit fa-fw"></i> {{ translate('EDIT') }} - </a> - </li> - {% if 'delete' not in tools.hidden %} - <li> - <a href="#" class="js-group-delete" data-slug="{{ group.slug }}"> - <i class="fa fa-trash-o fa-fw"></i> {{ translate('DELETE') }} - </a> - </li> - {% endif %} - {% endblock %} - </ul> - </div> - </div> - {% endif %} - </div> - <div class="box-body box-profile"> - <div class="text-center"> - <i class="{{ group.icon }} fa-5x"></i> - </div> - - <h3 class="profile-username text-center">{{ group.name }}</h3> - - {% if 'description' not in fields.hidden %} - <p class="text-muted"> - {{ group.description }} - </p> - {% endif %} - {% if 'users' not in fields.hidden %} - <hr> - <strong><i class="fa fa-users margin-r-5"></i> {{ translate('USER', 2) }}</strong> - <p class="badge bg-blue box-profile-property"> - {{ group.users.count }} - </p> - {% endif %} - {% block group_profile %}{% endblock %} - </div> - </div> - </div> - <div class="col-lg-8"> - <div id="widget-group-users" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title"><i class="fa fa-fw fa-user"></i> {{ translate('USER', 2) }}</h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/users.html.twig" with { - "table" : { - "id" : "table-group-users" - } - } %} - </div> - </div> - </div> - </div> -{% endblock %} -{% block scripts_page %} - <!-- Include page variables --> - <script> - {% include "pages/partials/page.js.twig" %} - - // Add user name - page = $.extend( - true, // deep extend - { - "group_slug": "{{ group.slug }}" - }, - page - ); - </script> - - <!-- Include form widgets JS --> - {{ assets.js('js/form-widgets') | raw }} - - <!-- Include page-specific JS --> - {{ assets.js('js/pages/group') | raw }} -{% endblock %} +{% extends "pages/abstract/dashboard.html.twig" %}
+
+{% block stylesheets_page %}
+ <!-- Page-specific CSS asset bundle -->
+ {{ assets.css('css/form-widgets') | raw }}
+{% endblock %}
+
+{# Overrides blocks in head of base template #}
+{% block page_title %}{{ translate("GROUP", 2) }} | {{ group.name }}{% endblock %}
+
+{% block page_description %}{{ translate("GROUP.INFO_PAGE", {name: group.name}) }}{% endblock %}
+
+{% block body_matter %}
+ <div class="row">
+ <div class="col-lg-4">
+ <div id="view-group" class="box box-primary">
+ <div class="box-header with-border">
+ <h3 class="box-title">{{ translate('GROUP.SUMMARY') }}</h3>
+ {% if 'tools' not in tools.hidden %}
+ <div class="box-tools pull-right">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm dropdown-toggle" data-toggle="dropdown"
+ aria-haspopup="true" aria-expanded="false">
+ <i class="fa fa-gear"></i>
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu box-tool-menu">
+ {% block tools %}
+ <li>
+ <a href="#" class="js-group-edit" data-slug="{{ group.slug }}">
+ <i class="fa fa-edit fa-fw"></i> {{ translate('EDIT') }}
+ </a>
+ </li>
+ {% if 'delete' not in tools.hidden %}
+ <li>
+ <a href="#" class="js-group-delete" data-slug="{{ group.slug }}">
+ <i class="fa fa-trash-o fa-fw"></i> {{ translate('DELETE') }}
+ </a>
+ </li>
+ {% endif %}
+ {% endblock %}
+ </ul>
+ </div>
+ </div>
+ {% endif %}
+ </div>
+ <div class="box-body box-profile">
+ <div class="text-center">
+ <i class="{{ group.icon }} fa-5x"></i>
+ </div>
+
+ <h3 class="profile-username text-center">{{ group.name }}</h3>
+
+ {% if 'description' not in fields.hidden %}
+ <p class="text-muted">
+ {{ group.description }}
+ </p>
+ {% endif %}
+ {% if 'users' not in fields.hidden %}
+ <hr>
+ <strong><i class="fa fa-users margin-r-5"></i> {{ translate('USER', 2) }}</strong>
+ <p class="badge bg-blue box-profile-property">
+ {{ group.users.count }}
+ </p>
+ {% endif %}
+ {% block group_profile %}{% endblock %}
+ </div>
+ </div>
+ </div>
+ <div class="col-lg-8">
+ <div id="widget-group-users" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title"><i class="fa fa-fw fa-user"></i> {{ translate('USER', 2) }}</h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/users.html.twig" with {
+ "table" : {
+ "id" : "table-group-users"
+ }
+ } %}
+ </div>
+ </div>
+ </div>
+ </div>
+{% endblock %}
+{% block scripts_page %}
+ <!-- Include page variables -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+
+ // Add user name
+ page = $.extend(
+ true, // deep extend
+ {
+ "group_slug": "{{ group.slug }}"
+ },
+ page
+ );
+ </script>
+
+ <!-- Include form widgets JS -->
+ {{ assets.js('js/form-widgets') | raw }}
+
+ <!-- Include page-specific JS -->
+ {{ assets.js('js/pages/group') | raw }}
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/pages/groups.html.twig b/main/app/sprinkles/admin/templates/pages/groups.html.twig index 43b0618..014c678 100644 --- a/main/app/sprinkles/admin/templates/pages/groups.html.twig +++ b/main/app/sprinkles/admin/templates/pages/groups.html.twig @@ -1,51 +1,51 @@ -{% extends "pages/abstract/dashboard.html.twig" %} - -{% block stylesheets_page %} - <!-- Page-specific CSS asset bundle --> - {{ assets.css('css/form-widgets') | raw }} -{% endblock %} - -{# Overrides blocks in head of base template #} -{% block page_title %}{{ translate("GROUP", 2) }}{% endblock %} - -{% block page_description %}{{ translate("GROUP.PAGE_DESCRIPTION") }}{% endblock %} - -{% block body_matter %} - <div class="row"> - <div class="col-md-12"> - <div id="widget-groups" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title"><i class="fa fa-fw fa-users"></i> {{ translate('GROUP', 2) }}</h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/groups.html.twig" with { - "table" : { - "id" : "table-groups" - } - } %} - </div> - {% if checkAccess('create_group') %} - <div class="box-footer"> - <button type="button" class="btn btn-success js-group-create"> - <i class="fa fa-plus-square"></i> {{ translate("GROUP.CREATE") }} - </button> - </div> - {% endif %} - </div> - </div> - </div> -{% endblock %} -{% block scripts_page %} - <!-- Include validation rules --> - <script> - {% include "pages/partials/page.js.twig" %} - </script> - - <!-- Include form widgets JS --> - {{ assets.js('js/form-widgets') | raw }} - - <!-- Include page-specific JS --> - {{ assets.js('js/pages/groups') | raw }} - -{% endblock %} +{% extends "pages/abstract/dashboard.html.twig" %}
+
+{% block stylesheets_page %}
+ <!-- Page-specific CSS asset bundle -->
+ {{ assets.css('css/form-widgets') | raw }}
+{% endblock %}
+
+{# Overrides blocks in head of base template #}
+{% block page_title %}{{ translate("GROUP", 2) }}{% endblock %}
+
+{% block page_description %}{{ translate("GROUP.PAGE_DESCRIPTION") }}{% endblock %}
+
+{% block body_matter %}
+ <div class="row">
+ <div class="col-md-12">
+ <div id="widget-groups" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title"><i class="fa fa-fw fa-users"></i> {{ translate('GROUP', 2) }}</h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/groups.html.twig" with {
+ "table" : {
+ "id" : "table-groups"
+ }
+ } %}
+ </div>
+ {% if checkAccess('create_group') %}
+ <div class="box-footer">
+ <button type="button" class="btn btn-success js-group-create">
+ <i class="fa fa-plus-square"></i> {{ translate("GROUP.CREATE") }}
+ </button>
+ </div>
+ {% endif %}
+ </div>
+ </div>
+ </div>
+{% endblock %}
+{% block scripts_page %}
+ <!-- Include validation rules -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+ </script>
+
+ <!-- Include form widgets JS -->
+ {{ assets.js('js/form-widgets') | raw }}
+
+ <!-- Include page-specific JS -->
+ {{ assets.js('js/pages/groups') | raw }}
+
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/pages/permission.html.twig b/main/app/sprinkles/admin/templates/pages/permission.html.twig index 004131e..2b1ae3e 100644 --- a/main/app/sprinkles/admin/templates/pages/permission.html.twig +++ b/main/app/sprinkles/admin/templates/pages/permission.html.twig @@ -1,91 +1,91 @@ -{% extends "pages/abstract/dashboard.html.twig" %} - -{% block stylesheets_page %} - <!-- Page-group-specific CSS asset bundle --> - {{ assets.css('css/form-widgets') | raw }} -{% endblock %} - -{# Overrides blocks in head of base template #} -{% block page_title %}{{ translate("PERMISSION", 2) }} | {{ permission.name }}{% endblock %} - -{% block page_description %}{{ translate("PERMISSION.INFO_PAGE", {name: permission.name}) }}{% endblock %} - -{% block body_matter %} - <div class="row"> - <div class="col-lg-4"> - <div id="view-permission" class="box box-primary"> - <div class="box-header with-border"> - <h3 class="box-title">{{ translate("PERMISSION.SUMMARY") }}</h3> - </div> - <div class="box-body box-profile"> - <div class="text-center"> - <i class="fa fa-key fa-5x"></i> - </div> - - <h3 class="profile-username text-center">{{ permission.name }}</h3> - - <p class="text-muted"> - {{ permission.description }} - </p> - <hr> - <strong>{{ translate("PERMISSION.ID") }}: </strong> - <span class="js-copy-container"> - <span class="js-copy-target" style="margin: 0 5px;">{{ permission.id }}</span> - <i class="fa fa-copy text-blue uf-copy-trigger js-copy-trigger"></i> - </span> - <hr> - <strong>{{ translate("SLUG_CONDITION") }}</strong> - <br> - <br> - <p> - <code>{{ permission.slug }}</code> - </p> - <p> - ↳ - <code>{{ permission.conditions }}</code> - </p> - </div> - <div class="box-footer"> - {{ translate("PERMISSION.NOTE_READ_ONLY") }} - </div> - </div> - </div> - <div class="col-lg-8"> - <div id="widget-permission-users" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title"><i class="fa fa-fw fa-key"></i> {{ translate("USER.WITH_PERMISSION") }}</h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/users.html.twig" with { - "table" : { - "id" : "table-permission-users", - "columns" : ["via_roles"] - } - } %} - </div> - </div> - </div> - </div> -{% endblock %} -{% block scripts_page %} - <!-- Include page variables --> - <script> - {% include "pages/partials/page.js.twig" %} - - // Add user name - page = $.extend( - true, // deep extend - { - "permission_id": "{{ permission.id }}" - }, - page - ); - </script> - - <!-- Include form widgets JS --> - {{ assets.js('js/form-widgets') | raw }} - - <!-- Include page-specific JS --> - {{ assets.js('js/pages/permission') | raw }} -{% endblock %} +{% extends "pages/abstract/dashboard.html.twig" %}
+
+{% block stylesheets_page %}
+ <!-- Page-group-specific CSS asset bundle -->
+ {{ assets.css('css/form-widgets') | raw }}
+{% endblock %}
+
+{# Overrides blocks in head of base template #}
+{% block page_title %}{{ translate("PERMISSION", 2) }} | {{ permission.name }}{% endblock %}
+
+{% block page_description %}{{ translate("PERMISSION.INFO_PAGE", {name: permission.name}) }}{% endblock %}
+
+{% block body_matter %}
+ <div class="row">
+ <div class="col-lg-4">
+ <div id="view-permission" class="box box-primary">
+ <div class="box-header with-border">
+ <h3 class="box-title">{{ translate("PERMISSION.SUMMARY") }}</h3>
+ </div>
+ <div class="box-body box-profile">
+ <div class="text-center">
+ <i class="fa fa-key fa-5x"></i>
+ </div>
+
+ <h3 class="profile-username text-center">{{ permission.name }}</h3>
+
+ <p class="text-muted">
+ {{ permission.description }}
+ </p>
+ <hr>
+ <strong>{{ translate("PERMISSION.ID") }}: </strong>
+ <span class="js-copy-container">
+ <span class="js-copy-target" style="margin: 0 5px;">{{ permission.id }}</span>
+ <i class="fa fa-copy text-blue uf-copy-trigger js-copy-trigger"></i>
+ </span>
+ <hr>
+ <strong>{{ translate("SLUG_CONDITION") }}</strong>
+ <br>
+ <br>
+ <p>
+ <code>{{ permission.slug }}</code>
+ </p>
+ <p>
+ ↳
+ <code>{{ permission.conditions }}</code>
+ </p>
+ </div>
+ <div class="box-footer">
+ {{ translate("PERMISSION.NOTE_READ_ONLY") }}
+ </div>
+ </div>
+ </div>
+ <div class="col-lg-8">
+ <div id="widget-permission-users" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title"><i class="fa fa-fw fa-key"></i> {{ translate("USER.WITH_PERMISSION") }}</h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/users.html.twig" with {
+ "table" : {
+ "id" : "table-permission-users",
+ "columns" : ["via_roles"]
+ }
+ } %}
+ </div>
+ </div>
+ </div>
+ </div>
+{% endblock %}
+{% block scripts_page %}
+ <!-- Include page variables -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+
+ // Add user name
+ page = $.extend(
+ true, // deep extend
+ {
+ "permission_id": "{{ permission.id }}"
+ },
+ page
+ );
+ </script>
+
+ <!-- Include form widgets JS -->
+ {{ assets.js('js/form-widgets') | raw }}
+
+ <!-- Include page-specific JS -->
+ {{ assets.js('js/pages/permission') | raw }}
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/pages/permissions.html.twig b/main/app/sprinkles/admin/templates/pages/permissions.html.twig index 5cf95da..099aa39 100644 --- a/main/app/sprinkles/admin/templates/pages/permissions.html.twig +++ b/main/app/sprinkles/admin/templates/pages/permissions.html.twig @@ -1,45 +1,45 @@ -{% extends "pages/abstract/dashboard.html.twig" %} - -{% block stylesheets_page %} - <!-- Page-specific CSS asset bundle --> - {{ assets.css('css/form-widgets') | raw }} -{% endblock %} - -{# Overrides blocks in head of base template #} -{% block page_title %}{{ translate("PERMISSION", 2) }}{% endblock %} - -{% block page_description %}{{ translate("PERMISSION.PAGE_DESCRIPTION") }}{% endblock %} - -{% block body_matter %} - <div class="row"> - <div class="col-md-12"> - <div id="widget-permissions" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title pull-left"><i class="fa fa-key fa-fw"></i> {{ translate('PERMISSION', 2) }} - </h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/permissions.html.twig" with { - "table" : { - "id" : "table-permissions" - } - } %} - </div> - </div> - </div> - </div> -{% endblock %} -{% block scripts_page %} - <!-- Include validation rules --> - <script> - {% include "pages/partials/page.js.twig" %} - </script> - - <!-- Include form widgets JS --> - {{ assets.js('js/form-widgets') | raw }} - - <!-- Include page-specific JS --> - {{ assets.js('js/pages/permissions') | raw }} - -{% endblock %} +{% extends "pages/abstract/dashboard.html.twig" %}
+
+{% block stylesheets_page %}
+ <!-- Page-specific CSS asset bundle -->
+ {{ assets.css('css/form-widgets') | raw }}
+{% endblock %}
+
+{# Overrides blocks in head of base template #}
+{% block page_title %}{{ translate("PERMISSION", 2) }}{% endblock %}
+
+{% block page_description %}{{ translate("PERMISSION.PAGE_DESCRIPTION") }}{% endblock %}
+
+{% block body_matter %}
+ <div class="row">
+ <div class="col-md-12">
+ <div id="widget-permissions" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title pull-left"><i class="fa fa-key fa-fw"></i> {{ translate('PERMISSION', 2) }}
+ </h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/permissions.html.twig" with {
+ "table" : {
+ "id" : "table-permissions"
+ }
+ } %}
+ </div>
+ </div>
+ </div>
+ </div>
+{% endblock %}
+{% block scripts_page %}
+ <!-- Include validation rules -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+ </script>
+
+ <!-- Include form widgets JS -->
+ {{ assets.js('js/form-widgets') | raw }}
+
+ <!-- Include page-specific JS -->
+ {{ assets.js('js/pages/permissions') | raw }}
+
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/pages/role.html.twig b/main/app/sprinkles/admin/templates/pages/role.html.twig index 1892d32..31a9f8a 100644 --- a/main/app/sprinkles/admin/templates/pages/role.html.twig +++ b/main/app/sprinkles/admin/templates/pages/role.html.twig @@ -1,129 +1,129 @@ -{% extends "pages/abstract/dashboard.html.twig" %} - -{% block stylesheets_page %} - <!-- Page-group-specific CSS asset bundle --> - {{ assets.css('css/form-widgets') | raw }} -{% endblock %} - -{# Overrides blocks in head of base template #} -{% block page_title %}{{ translate("ROLE", 2) }} | {{ role.name }}{% endblock %} - -{% block page_description %}{{ translate("ROLE.INFO_PAGE", {name: role.name}) }}{% endblock %} - -{% block body_matter %} - <div class="row"> - <div class="col-lg-4"> - <div id="view-role" class="box box-primary"> - <div class="box-header with-border"> - <h3 class="box-title">{{ translate('ROLE.SUMMARY') }}</h3> - {% if 'tools' not in tools.hidden %} - <div class="box-tools pull-right"> - <div class="btn-group"> - <button type="button" class="btn btn-sm dropdown-toggle" data-toggle="dropdown" - aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-gear"></i> - <span class="caret"></span> - </button> - <ul class="dropdown-menu box-tool-menu"> - {% block tools %} - <li> - <a href="#" class="js-role-edit" data-slug="{{ role.slug }}"> - <i class="fa fa-edit fa-fw"></i> {{ translate('EDIT') }} - </a> - </li> - {% if 'permissions' not in tools.hidden %} - <li> - <a href="#" class="js-role-permissions" data-slug="{{ role.slug }}"> - <i class="fa fa-key"></i> {{ translate("PERMISSION.MANAGE") }} - </a> - </li> - {% endif %} - {% if 'delete' not in tools.hidden %} - <li> - <a href="#" class="js-role-delete" data-slug="{{ role.slug }}"> - <i class="fa fa-trash-o fa-fw"></i> {{ translate('DELETE') }} - </a> - </li> - {% endif %} - {% endblock %} - </ul> - </div> - </div> - {% endif %} - </div> - <div class="box-body box-profile"> - <div class="text-center"> - <i class="fa fa-drivers-license fa-5x"></i> - </div> - - <h3 class="profile-username text-center">{{ role.name }}</h3> - - {% if 'description' not in fields.hidden %} - <p class="text-muted"> - {{ role.description }} - </p> - {% endif %} - {% if 'users' not in fields.hidden %} - <hr> - <strong><i class="fa fa-users margin-r-5"></i> {{ translate('USER', 2) }}</strong> - <p class="badge bg-blue box-profile-property"> - {{ role.users.count }} - </p> - {% endif %} - </div> - </div> - </div> - <div class="col-lg-8"> - <div id="widget-role-permissions" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title"><i class="fa fa-fw fa-key"></i> {{ translate('PERMISSION', 2) }}</h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/permissions.html.twig" with { - "table" : { - "id" : "table-role-permissions" - } - } %} - </div> - </div> - </div> - <div class="col-lg-12"> - <div id="widget-role-users" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title"><i class="fa fa-fw fa-key"></i> {{ translate('USER', 2) }}</h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/users.html.twig" with { - "table" : { - "id" : "table-role-users", - "columns" : ["last_activity"] - } - } %} - </div> - </div> - </div> - </div> -{% endblock %} -{% block scripts_page %} - <!-- Include page variables --> - <script> - {% include "pages/partials/page.js.twig" %} - - // Add user name - page = $.extend( - true, // deep extend - { - "role_slug": "{{ role.slug }}" - }, - page - ); - </script> - - <!-- Include form widgets JS --> - {{ assets.js('js/form-widgets') | raw }} - - <!-- Include page-specific JS --> - {{ assets.js('js/pages/role') | raw }} -{% endblock %} +{% extends "pages/abstract/dashboard.html.twig" %}
+
+{% block stylesheets_page %}
+ <!-- Page-group-specific CSS asset bundle -->
+ {{ assets.css('css/form-widgets') | raw }}
+{% endblock %}
+
+{# Overrides blocks in head of base template #}
+{% block page_title %}{{ translate("ROLE", 2) }} | {{ role.name }}{% endblock %}
+
+{% block page_description %}{{ translate("ROLE.INFO_PAGE", {name: role.name}) }}{% endblock %}
+
+{% block body_matter %}
+ <div class="row">
+ <div class="col-lg-4">
+ <div id="view-role" class="box box-primary">
+ <div class="box-header with-border">
+ <h3 class="box-title">{{ translate('ROLE.SUMMARY') }}</h3>
+ {% if 'tools' not in tools.hidden %}
+ <div class="box-tools pull-right">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm dropdown-toggle" data-toggle="dropdown"
+ aria-haspopup="true" aria-expanded="false">
+ <i class="fa fa-gear"></i>
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu box-tool-menu">
+ {% block tools %}
+ <li>
+ <a href="#" class="js-role-edit" data-slug="{{ role.slug }}">
+ <i class="fa fa-edit fa-fw"></i> {{ translate('EDIT') }}
+ </a>
+ </li>
+ {% if 'permissions' not in tools.hidden %}
+ <li>
+ <a href="#" class="js-role-permissions" data-slug="{{ role.slug }}">
+ <i class="fa fa-key"></i> {{ translate("PERMISSION.MANAGE") }}
+ </a>
+ </li>
+ {% endif %}
+ {% if 'delete' not in tools.hidden %}
+ <li>
+ <a href="#" class="js-role-delete" data-slug="{{ role.slug }}">
+ <i class="fa fa-trash-o fa-fw"></i> {{ translate('DELETE') }}
+ </a>
+ </li>
+ {% endif %}
+ {% endblock %}
+ </ul>
+ </div>
+ </div>
+ {% endif %}
+ </div>
+ <div class="box-body box-profile">
+ <div class="text-center">
+ <i class="fa fa-drivers-license fa-5x"></i>
+ </div>
+
+ <h3 class="profile-username text-center">{{ role.name }}</h3>
+
+ {% if 'description' not in fields.hidden %}
+ <p class="text-muted">
+ {{ role.description }}
+ </p>
+ {% endif %}
+ {% if 'users' not in fields.hidden %}
+ <hr>
+ <strong><i class="fa fa-users margin-r-5"></i> {{ translate('USER', 2) }}</strong>
+ <p class="badge bg-blue box-profile-property">
+ {{ role.users.count }}
+ </p>
+ {% endif %}
+ </div>
+ </div>
+ </div>
+ <div class="col-lg-8">
+ <div id="widget-role-permissions" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title"><i class="fa fa-fw fa-key"></i> {{ translate('PERMISSION', 2) }}</h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/permissions.html.twig" with {
+ "table" : {
+ "id" : "table-role-permissions"
+ }
+ } %}
+ </div>
+ </div>
+ </div>
+ <div class="col-lg-12">
+ <div id="widget-role-users" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title"><i class="fa fa-fw fa-key"></i> {{ translate('USER', 2) }}</h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/users.html.twig" with {
+ "table" : {
+ "id" : "table-role-users",
+ "columns" : ["last_activity"]
+ }
+ } %}
+ </div>
+ </div>
+ </div>
+ </div>
+{% endblock %}
+{% block scripts_page %}
+ <!-- Include page variables -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+
+ // Add user name
+ page = $.extend(
+ true, // deep extend
+ {
+ "role_slug": "{{ role.slug }}"
+ },
+ page
+ );
+ </script>
+
+ <!-- Include form widgets JS -->
+ {{ assets.js('js/form-widgets') | raw }}
+
+ <!-- Include page-specific JS -->
+ {{ assets.js('js/pages/role') | raw }}
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/pages/roles.html.twig b/main/app/sprinkles/admin/templates/pages/roles.html.twig index 2677f87..a535a11 100644 --- a/main/app/sprinkles/admin/templates/pages/roles.html.twig +++ b/main/app/sprinkles/admin/templates/pages/roles.html.twig @@ -1,49 +1,49 @@ -{% extends "pages/abstract/dashboard.html.twig" %} - -{% block stylesheets_page %} - <!-- Page-specific CSS asset bundle --> - {{ assets.css('css/form-widgets') | raw }} -{% endblock %} - -{# Overrides blocks in head of base template #} -{% block page_title %}{{ translate("ROLE", 2) }}{% endblock %} - -{% block page_description %}{{ translate("ROLE.PAGE_DESCRIPTION") }}{% endblock %} - -{% block body_matter %} - <div class="row"> - <div class="col-md-12"> - <div id="widget-roles" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title"><i class="fa fa-fw fa-drivers-license"></i> {{ translate('ROLE', 2) }}</h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="panel-body"> - {% include "tables/roles.html.twig" with { - "table" : { - "id" : "table-roles" - } - } %} - </div> - <div class="box-footer"> - <button type="button" class="btn btn-success js-role-create"> - <i class="fa fa-plus-square"></i> {{ translate("ROLE.CREATE") }} - </button> - </div> - </div> - </div> - </div> -{% endblock %} -{% block scripts_page %} - <!-- Include validation rules --> - <script> - {% include "pages/partials/page.js.twig" %} - </script> - - <!-- Include form widgets JS --> - {{ assets.js('js/form-widgets') | raw }} - - <!-- Include page-specific JS --> - {{ assets.js('js/pages/roles') | raw }} - -{% endblock %} +{% extends "pages/abstract/dashboard.html.twig" %}
+
+{% block stylesheets_page %}
+ <!-- Page-specific CSS asset bundle -->
+ {{ assets.css('css/form-widgets') | raw }}
+{% endblock %}
+
+{# Overrides blocks in head of base template #}
+{% block page_title %}{{ translate("ROLE", 2) }}{% endblock %}
+
+{% block page_description %}{{ translate("ROLE.PAGE_DESCRIPTION") }}{% endblock %}
+
+{% block body_matter %}
+ <div class="row">
+ <div class="col-md-12">
+ <div id="widget-roles" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title"><i class="fa fa-fw fa-drivers-license"></i> {{ translate('ROLE', 2) }}</h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="panel-body">
+ {% include "tables/roles.html.twig" with {
+ "table" : {
+ "id" : "table-roles"
+ }
+ } %}
+ </div>
+ <div class="box-footer">
+ <button type="button" class="btn btn-success js-role-create">
+ <i class="fa fa-plus-square"></i> {{ translate("ROLE.CREATE") }}
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+{% endblock %}
+{% block scripts_page %}
+ <!-- Include validation rules -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+ </script>
+
+ <!-- Include form widgets JS -->
+ {{ assets.js('js/form-widgets') | raw }}
+
+ <!-- Include page-specific JS -->
+ {{ assets.js('js/pages/roles') | raw }}
+
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/pages/user.html.twig b/main/app/sprinkles/admin/templates/pages/user.html.twig index 47228fd..37675d7 100644 --- a/main/app/sprinkles/admin/templates/pages/user.html.twig +++ b/main/app/sprinkles/admin/templates/pages/user.html.twig @@ -1,208 +1,208 @@ -{% extends "pages/abstract/dashboard.html.twig" %} - -{% block stylesheets_page %} - <!-- Page-specific CSS asset bundle --> - {{ assets.css('css/form-widgets') | raw }} -{% endblock %} - -{# Overrides blocks in head of base template #} -{% block page_title %}{{ translate("USER", 2) }} | {{ user.full_name }}{% endblock %} - -{% block page_description %}{{ translate("USER.INFO_PAGE", {name: user.user_name}) }}{% endblock %} - -{% block body_matter %} - {% block group_box %} - {% endblock %} - <div class="row"> - <div class="col-lg-4"> - <div id="view-user"> - {% block user_box %} - <div class="box box-primary"> - <div class="box-header with-border"> - <h3 class="box-title">{{ translate('USER.SUMMARY') }}</h3> - {% if 'tools' not in tools.hidden %} - <div class="box-tools pull-right"> - <div class="btn-group"> - <button type="button" class="btn btn-sm dropdown-toggle" data-toggle="dropdown" - aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-gear"></i> - <span class="caret"></span> - </button> - <ul class="dropdown-menu box-tool-menu"> - {% block tools %} - <li> - <a href="#" class="js-user-edit" - data-user_name="{{ user.user_name }}"> - <i class="fa fa-edit fa-fw"></i> {{ translate('EDIT') }} - </a> - </li> - {% if 'password' not in tools.hidden %} - <li> - <a href="#" class="js-user-password" - data-user_name="{{ user.user_name }}"> - <i class="fa fa-lock fa-fw"></i> {{ translate('PASSWORD') }} - </a> - </li> - {% endif %} - {% if 'roles' not in tools.hidden %} - <li> - <a href="#" class="js-user-roles" - data-user_name="{{ user.user_name }}"> - <i class="fa fa-drivers-license fa-fw"></i> {{ translate('ROLE', 2) }} - </a> - </li> - {% endif %} - {% if 'activate' not in tools.hidden and user.flag_verified == "0" %} - <li> - <a href="#" class="js-user-activate" - data-user_name="{{ user.user_name }}"> - <i class="fa fa-bolt fa-fw"></i> {{ translate('ACTIVATE') }} - </a> - </li> - {% endif %} - {% if 'enable' not in tools.hidden %} - {% if user.flag_enabled == "1" %} - <li> - <a href="#" class="js-user-disable" - data-user_name="{{ user.user_name }}"> - <i class="fa fa-minus-circle fa-fw"></i> {{ translate('DISABLE') }} - </a> - </li> - {% else %} - <li> - <a href="#" class="js-user-enable" - data-user_name="{{ user.user_name }}"> - <i class="fa fa-plus-circle fa-fw"></i> {{ translate('ENABLE') }} - </a> - </li> - {% endif %} - {% endif %} - {% if 'delete' not in tools.hidden %} - <li> - <a href="#" class="js-user-delete" - data-user_name="{{ user.user_name }}"> - <i class="fa fa-trash-o fa-fw"></i> {{ translate('DELETE') }} - </a> - </li> - {% endif %} - {% endblock %} - </ul> - </div> - </div> - {% endif %} - </div> - <div class="box-body box-profile"> - <img class="profile-user-img img-responsive img-circle" src="{{ user.avatar }}" - alt="{{ user.user_name }}"> - - <h3 class="profile-username text-center">{{ user.full_name }}</h3> - <div class="text-center"> - {% if user.flag_enabled == 0 %} - <i class="fa fa-fw fa-minus-circle fa-lg text-red" - title="{{ translate('DISABLED') }}"></i> - {% endif %} - {% if user.flag_verified == 0 %} - <i class="fa fa-fw fa-bolt fa-lg text-yellow" - title="{{ translate('UNACTIVATED') }}"></i> - {% endif %} - </div> - <h4 class="text-muted text-center">{{ user.user_name }}{% if 'group' not in fields.hidden %} • {{ user.group.name }}{% endif %}</h4> - - {% if 'email' not in fields.hidden %} - <hr> - <strong><i class="fa fa-envelope margin-r-5"></i> {{ translate("EMAIL") }}</strong> - <p class="text-muted box-profile-property js-copy-container"> - <i class="fa fa-copy uf-copy-trigger js-copy-trigger"></i> - <span class="js-copy-target">{{ user.email }}</span> - </p> - {% endif %} - - {% if 'locale' not in fields.hidden %} - <hr> - <strong><i class="fa fa-language margin-r-5"></i> {{ translate("LOCALE") }}</strong> - <p class="text-muted box-profile-property"> - {{ locales[user.locale] }} - </p> - {% endif %} - - {% block user_profile %}{% endblock %} - - {% if 'roles' not in fields.hidden %} - <hr> - <strong><i class="fa fa-drivers-license margin-r-5"></i> {{ translate("ROLE", 2) }} - </strong> - <p class="box-profile-property"> - {% for role in user.roles %} - <span class="label label-primary" - title="{{ role.description }}">{{ role.name }}</span> - {% endfor %} - </p> - {% endif %} - </div> - </div> - {% endblock %} - </div> - </div> - {% if 'activities' not in widgets.hidden %} - <div class="col-lg-8"> - {% block activity_box %} - <div id="widget-user-activities" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title"><i class="fa fa-fw fa-tasks"></i> {{ translate('ACTIVITY', 2) }}</h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/activities.html.twig" with { - "table" : { - "id" : "table-user-activities" - } - } %} - </div> - </div> - {% endblock %} - </div> - {% endif %} - </div> - {% if 'permissions' not in widgets.hidden %} - <div class="row"> - <div class="col-md-12"> - <div id="widget-permissions" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title pull-left"><i class="fa fa-key fa-fw"></i> {{ translate('PERMISSION', 2) }} - </h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/permissions.html.twig" with { - "table" : { - "id" : "table-permissions", - "columns" : ["via_roles"] - } - } %} - </div> - </div> - </div> - </div> - {% endif %} -{% endblock %} -{% block scripts_page %} - <!-- Include page variables --> - <script> - {% include "pages/partials/page.js.twig" %} - - // Add user name - page = $.extend( - true, // deep extend - { - "user_name": "{{ user.user_name }}" - }, - page - ); - </script> - - <!-- Include form widgets JS --> - {{ assets.js('js/form-widgets') | raw }} - - <!-- Include page-specific JS --> - {{ assets.js('js/pages/user') | raw }} -{% endblock %} +{% extends "pages/abstract/dashboard.html.twig" %}
+
+{% block stylesheets_page %}
+ <!-- Page-specific CSS asset bundle -->
+ {{ assets.css('css/form-widgets') | raw }}
+{% endblock %}
+
+{# Overrides blocks in head of base template #}
+{% block page_title %}{{ translate("USER", 2) }} | {{ user.full_name }}{% endblock %}
+
+{% block page_description %}{{ translate("USER.INFO_PAGE", {name: user.user_name}) }}{% endblock %}
+
+{% block body_matter %}
+ {% block group_box %}
+ {% endblock %}
+ <div class="row">
+ <div class="col-lg-4">
+ <div id="view-user">
+ {% block user_box %}
+ <div class="box box-primary">
+ <div class="box-header with-border">
+ <h3 class="box-title">{{ translate('USER.SUMMARY') }}</h3>
+ {% if 'tools' not in tools.hidden %}
+ <div class="box-tools pull-right">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm dropdown-toggle" data-toggle="dropdown"
+ aria-haspopup="true" aria-expanded="false">
+ <i class="fa fa-gear"></i>
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu box-tool-menu">
+ {% block tools %}
+ <li>
+ <a href="#" class="js-user-edit"
+ data-user_name="{{ user.user_name }}">
+ <i class="fa fa-edit fa-fw"></i> {{ translate('EDIT') }}
+ </a>
+ </li>
+ {% if 'password' not in tools.hidden %}
+ <li>
+ <a href="#" class="js-user-password"
+ data-user_name="{{ user.user_name }}">
+ <i class="fa fa-lock fa-fw"></i> {{ translate('PASSWORD') }}
+ </a>
+ </li>
+ {% endif %}
+ {% if 'roles' not in tools.hidden %}
+ <li>
+ <a href="#" class="js-user-roles"
+ data-user_name="{{ user.user_name }}">
+ <i class="fa fa-drivers-license fa-fw"></i> {{ translate('ROLE', 2) }}
+ </a>
+ </li>
+ {% endif %}
+ {% if 'activate' not in tools.hidden and user.flag_verified == "0" %}
+ <li>
+ <a href="#" class="js-user-activate"
+ data-user_name="{{ user.user_name }}">
+ <i class="fa fa-bolt fa-fw"></i> {{ translate('ACTIVATE') }}
+ </a>
+ </li>
+ {% endif %}
+ {% if 'enable' not in tools.hidden %}
+ {% if user.flag_enabled == "1" %}
+ <li>
+ <a href="#" class="js-user-disable"
+ data-user_name="{{ user.user_name }}">
+ <i class="fa fa-minus-circle fa-fw"></i> {{ translate('DISABLE') }}
+ </a>
+ </li>
+ {% else %}
+ <li>
+ <a href="#" class="js-user-enable"
+ data-user_name="{{ user.user_name }}">
+ <i class="fa fa-plus-circle fa-fw"></i> {{ translate('ENABLE') }}
+ </a>
+ </li>
+ {% endif %}
+ {% endif %}
+ {% if 'delete' not in tools.hidden %}
+ <li>
+ <a href="#" class="js-user-delete"
+ data-user_name="{{ user.user_name }}">
+ <i class="fa fa-trash-o fa-fw"></i> {{ translate('DELETE') }}
+ </a>
+ </li>
+ {% endif %}
+ {% endblock %}
+ </ul>
+ </div>
+ </div>
+ {% endif %}
+ </div>
+ <div class="box-body box-profile">
+ <img class="profile-user-img img-responsive img-circle" src="{{ user.avatar }}"
+ alt="{{ user.user_name }}">
+
+ <h3 class="profile-username text-center">{{ user.full_name }}</h3>
+ <div class="text-center">
+ {% if user.flag_enabled == 0 %}
+ <i class="fa fa-fw fa-minus-circle fa-lg text-red"
+ title="{{ translate('DISABLED') }}"></i>
+ {% endif %}
+ {% if user.flag_verified == 0 %}
+ <i class="fa fa-fw fa-bolt fa-lg text-yellow"
+ title="{{ translate('UNACTIVATED') }}"></i>
+ {% endif %}
+ </div>
+ <h4 class="text-muted text-center">{{ user.user_name }}{% if 'group' not in fields.hidden %} • {{ user.group.name }}{% endif %}</h4>
+
+ {% if 'email' not in fields.hidden %}
+ <hr>
+ <strong><i class="fa fa-envelope margin-r-5"></i> {{ translate("EMAIL") }}</strong>
+ <p class="text-muted box-profile-property js-copy-container">
+ <i class="fa fa-copy uf-copy-trigger js-copy-trigger"></i>
+ <span class="js-copy-target">{{ user.email }}</span>
+ </p>
+ {% endif %}
+
+ {% if 'locale' not in fields.hidden %}
+ <hr>
+ <strong><i class="fa fa-language margin-r-5"></i> {{ translate("LOCALE") }}</strong>
+ <p class="text-muted box-profile-property">
+ {{ locales[user.locale] }}
+ </p>
+ {% endif %}
+
+ {% block user_profile %}{% endblock %}
+
+ {% if 'roles' not in fields.hidden %}
+ <hr>
+ <strong><i class="fa fa-drivers-license margin-r-5"></i> {{ translate("ROLE", 2) }}
+ </strong>
+ <p class="box-profile-property">
+ {% for role in user.roles %}
+ <span class="label label-primary"
+ title="{{ role.description }}">{{ role.name }}</span>
+ {% endfor %}
+ </p>
+ {% endif %}
+ </div>
+ </div>
+ {% endblock %}
+ </div>
+ </div>
+ {% if 'activities' not in widgets.hidden %}
+ <div class="col-lg-8">
+ {% block activity_box %}
+ <div id="widget-user-activities" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title"><i class="fa fa-fw fa-tasks"></i> {{ translate('ACTIVITY', 2) }}</h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/activities.html.twig" with {
+ "table" : {
+ "id" : "table-user-activities"
+ }
+ } %}
+ </div>
+ </div>
+ {% endblock %}
+ </div>
+ {% endif %}
+ </div>
+ {% if 'permissions' not in widgets.hidden %}
+ <div class="row">
+ <div class="col-md-12">
+ <div id="widget-permissions" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title pull-left"><i class="fa fa-key fa-fw"></i> {{ translate('PERMISSION', 2) }}
+ </h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/permissions.html.twig" with {
+ "table" : {
+ "id" : "table-permissions",
+ "columns" : ["via_roles"]
+ }
+ } %}
+ </div>
+ </div>
+ </div>
+ </div>
+ {% endif %}
+{% endblock %}
+{% block scripts_page %}
+ <!-- Include page variables -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+
+ // Add user name
+ page = $.extend(
+ true, // deep extend
+ {
+ "user_name": "{{ user.user_name }}"
+ },
+ page
+ );
+ </script>
+
+ <!-- Include form widgets JS -->
+ {{ assets.js('js/form-widgets') | raw }}
+
+ <!-- Include page-specific JS -->
+ {{ assets.js('js/pages/user') | raw }}
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/pages/users.html.twig b/main/app/sprinkles/admin/templates/pages/users.html.twig index cbd86f4..5aacfc2 100644 --- a/main/app/sprinkles/admin/templates/pages/users.html.twig +++ b/main/app/sprinkles/admin/templates/pages/users.html.twig @@ -1,52 +1,52 @@ -{% extends "pages/abstract/dashboard.html.twig" %} - -{% block stylesheets_page %} - <!-- Page-specific CSS asset bundle --> - {{ assets.css('css/form-widgets') | raw }} -{% endblock %} - -{# Overrides blocks in head of base template #} -{% block page_title %}{{ translate("USER", 2) }}{% endblock %} - -{% block page_description %}{{ translate("USER.PAGE_DESCRIPTION") }}{% endblock %} - -{% block body_matter %} - <div class="row"> - <div class="col-md-12"> - <div id="widget-users" class="box box-primary"> - <div class="box-header"> - <h3 class="box-title pull-left"><i class="fa fa-fw fa-user"></i> {{ translate('USER', 2) }}</h3> - {% include "tables/table-tool-menu.html.twig" %} - </div> - <div class="box-body"> - {% include "tables/users.html.twig" with { - "table" : { - "id" : "table-users", - "columns" : ["last_activity"] - } - } %} - </div> - {% if checkAccess('create_user') %} - <div class="box-footer"> - <button type="button" class="btn btn-success js-user-create"> - <i class="fa fa-plus-square"></i> {{ translate("USER.CREATE") }} - </button> - </div> - {% endif %} - </div> - </div> - </div> -{% endblock %} -{% block scripts_page %} - <!-- Include validation rules --> - <script> - {% include "pages/partials/page.js.twig" %} - </script> - - <!-- Include form widgets JS --> - {{ assets.js('js/form-widgets') | raw }} - - <!-- Include page-specific JS --> - {{ assets.js('js/pages/users') | raw }} - -{% endblock %} +{% extends "pages/abstract/dashboard.html.twig" %}
+
+{% block stylesheets_page %}
+ <!-- Page-specific CSS asset bundle -->
+ {{ assets.css('css/form-widgets') | raw }}
+{% endblock %}
+
+{# Overrides blocks in head of base template #}
+{% block page_title %}{{ translate("USER", 2) }}{% endblock %}
+
+{% block page_description %}{{ translate("USER.PAGE_DESCRIPTION") }}{% endblock %}
+
+{% block body_matter %}
+ <div class="row">
+ <div class="col-md-12">
+ <div id="widget-users" class="box box-primary">
+ <div class="box-header">
+ <h3 class="box-title pull-left"><i class="fa fa-fw fa-user"></i> {{ translate('USER', 2) }}</h3>
+ {% include "tables/table-tool-menu.html.twig" %}
+ </div>
+ <div class="box-body">
+ {% include "tables/users.html.twig" with {
+ "table" : {
+ "id" : "table-users",
+ "columns" : ["last_activity"]
+ }
+ } %}
+ </div>
+ {% if checkAccess('create_user') %}
+ <div class="box-footer">
+ <button type="button" class="btn btn-success js-user-create">
+ <i class="fa fa-plus-square"></i> {{ translate("USER.CREATE") }}
+ </button>
+ </div>
+ {% endif %}
+ </div>
+ </div>
+ </div>
+{% endblock %}
+{% block scripts_page %}
+ <!-- Include validation rules -->
+ <script>
+ {% include "pages/partials/page.js.twig" %}
+ </script>
+
+ <!-- Include form widgets JS -->
+ {{ assets.js('js/form-widgets') | raw }}
+
+ <!-- Include page-specific JS -->
+ {{ assets.js('js/pages/users') | raw }}
+
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/tables/activities.html.twig b/main/app/sprinkles/admin/templates/tables/activities.html.twig index dce1d99..0da5601 100644 --- a/main/app/sprinkles/admin/templates/tables/activities.html.twig +++ b/main/app/sprinkles/admin/templates/tables/activities.html.twig @@ -1,80 +1,80 @@ -{# This partial template renders a table of user activities, to be populated with rows via an AJAX request. - # This extends a generic template for paginated tables. - # - # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used - # to render the table cells with the data from the AJAX request. -#} - -{% extends "tables/table-paginated.html.twig" %} - -{% block table %} - <table id="{{ table.id }}" class="tablesorter table table-bordered table-hover table-striped" - data-sortlist="[[0, 1]]"> - <thead> - <tr> - <th class="sorter-metanum" data-column-name="occurred_at" - data-column-template="#activity-table-column-occurred-at" - data-priority="1">{{ translate('ACTIVITY.TIME') }} <i class="fa fa-sort"></i></th> - {% if 'user' in table.columns %} - <th class="sorter-metatext" data-column-name="user" - data-column-template="#activity-table-column-user" data-priority="1">{{ translate('USER') }} <i - class="fa fa-sort"></i></th> - {% endif %} - <th class="sorter-metatext" data-column-name="description" - data-column-template="#activity-table-column-description" - data-priority="1">{{ translate("DESCRIPTION") }} <i class="fa fa-sort"></i></th> - </tr> - </thead> - <tbody> - </tbody> - </table> -{% endblock %} - -{% block table_cell_templates %} - {# This contains a series of <script> blocks, each of which is a client-side Handlebars template. - # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag, - # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates. - # - # These templates require handlebars-helpers.js, moment.js - #} - {% verbatim %} - <script id="activity-table-column-occurred-at" type="text/x-handlebars-template"> - {{#if row.occurred_at }} - <td data-num="{{dateFormat row.occurred_at format='x'}}"> - {{dateFormat row.occurred_at format="dddd"}}<br>{{dateFormat row.occurred_at format="MMM Do, YYYY h:mm a"}} - </td> - {{ else }} - <td data-num="0"> - <i>{% endverbatim %}{{ translate("UNKNOWN") }}{% verbatim %}</i> - </td> - {{/if }} - </script> - - <script id="activity-table-column-user" type="text/x-handlebars-template"> - <td data-text="{{row.user.last_name}}"> - {{#if row.user }} - <strong> - <a href="{{site.uri.public}}/users/u/{{row.user.user_name}}">{{row.user.first_name}} {{row.user.last_name}} ({{row.user.user_name}})</a> - </strong> - <div class="js-copy-container"> - <span class="js-copy-target">{{row.user.email}}</span> - <button class="btn btn-xs uf-copy-trigger js-copy-trigger"><i class="fa fa-copy"></i></button> - </div> - {{ else }} - <i>{% endverbatim %}{{ translate("USER.DELETED") }}{% verbatim %}</i> - {{/if }} - </td> - </script> - - <script id="activity-table-column-description" type="text/x-handlebars-template"> - <td> - <div> - {{row.ip_address}} - </div> - <div> - <i>{{row.description}}</i> - </div> - </td> - </script> - {% endverbatim %} -{% endblock %} +{# This partial template renders a table of user activities, to be populated with rows via an AJAX request.
+ # This extends a generic template for paginated tables.
+ #
+ # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used
+ # to render the table cells with the data from the AJAX request.
+#}
+
+{% extends "tables/table-paginated.html.twig" %}
+
+{% block table %}
+ <table id="{{ table.id }}" class="tablesorter table table-bordered table-hover table-striped"
+ data-sortlist="[[0, 1]]">
+ <thead>
+ <tr>
+ <th class="sorter-metanum" data-column-name="occurred_at"
+ data-column-template="#activity-table-column-occurred-at"
+ data-priority="1">{{ translate('ACTIVITY.TIME') }} <i class="fa fa-sort"></i></th>
+ {% if 'user' in table.columns %}
+ <th class="sorter-metatext" data-column-name="user"
+ data-column-template="#activity-table-column-user" data-priority="1">{{ translate('USER') }} <i
+ class="fa fa-sort"></i></th>
+ {% endif %}
+ <th class="sorter-metatext" data-column-name="description"
+ data-column-template="#activity-table-column-description"
+ data-priority="1">{{ translate("DESCRIPTION") }} <i class="fa fa-sort"></i></th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+{% endblock %}
+
+{% block table_cell_templates %}
+ {# This contains a series of <script> blocks, each of which is a client-side Handlebars template.
+ # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag,
+ # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates.
+ #
+ # These templates require handlebars-helpers.js, moment.js
+ #}
+ {% verbatim %}
+ <script id="activity-table-column-occurred-at" type="text/x-handlebars-template">
+ {{#if row.occurred_at }}
+ <td data-num="{{dateFormat row.occurred_at format='x'}}">
+ {{dateFormat row.occurred_at format="dddd"}}<br>{{dateFormat row.occurred_at format="MMM Do, YYYY h:mm a"}}
+ </td>
+ {{ else }}
+ <td data-num="0">
+ <i>{% endverbatim %}{{ translate("UNKNOWN") }}{% verbatim %}</i>
+ </td>
+ {{/if }}
+ </script>
+
+ <script id="activity-table-column-user" type="text/x-handlebars-template">
+ <td data-text="{{row.user.last_name}}">
+ {{#if row.user }}
+ <strong>
+ <a href="{{site.uri.public}}/users/u/{{row.user.user_name}}">{{row.user.first_name}} {{row.user.last_name}} ({{row.user.user_name}})</a>
+ </strong>
+ <div class="js-copy-container">
+ <span class="js-copy-target">{{row.user.email}}</span>
+ <button class="btn btn-xs uf-copy-trigger js-copy-trigger"><i class="fa fa-copy"></i></button>
+ </div>
+ {{ else }}
+ <i>{% endverbatim %}{{ translate("USER.DELETED") }}{% verbatim %}</i>
+ {{/if }}
+ </td>
+ </script>
+
+ <script id="activity-table-column-description" type="text/x-handlebars-template">
+ <td>
+ <div>
+ {{row.ip_address}}
+ </div>
+ <div>
+ <i>{{row.description}}</i>
+ </div>
+ </td>
+ </script>
+ {% endverbatim %}
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/tables/groups.html.twig b/main/app/sprinkles/admin/templates/tables/groups.html.twig index 8d14e98..e25d4c2 100644 --- a/main/app/sprinkles/admin/templates/tables/groups.html.twig +++ b/main/app/sprinkles/admin/templates/tables/groups.html.twig @@ -1,74 +1,74 @@ -{# This partial template renders a table of groups, to be populated with rows via an AJAX request. - # This extends a generic template for paginated tables. - # - # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used - # to render the table cells with the data from the AJAX request. -#} - -{% extends "tables/table-paginated.html.twig" %} - -{% block table %} - <table id="{{ table.id }}" class="tablesorter table table-bordered table-hover table-striped" - data-sortlist="{{ table.sortlist }}"> - <thead> - <tr> - <th class="sorter-metatext" data-column-name="name" data-column-template="#group-table-column-info" - data-priority="1">{{ translate('GROUP') }} <i class="fa fa-sort"></i></th> - <th class="sorter-metatext" data-column-name="description" - data-column-template="#group-table-column-description" - data-priority="2">{{ translate("DESCRIPTION") }} <i class="fa fa-sort"></i></th> - <th data-column-template="#group-table-column-actions" data-sorter="false" data-filter="false" - data-priority="1">{{ translate("ACTIONS") }}</th> - </tr> - </thead> - <tbody> - </tbody> - </table> -{% endblock %} - -{% block table_cell_templates %} - {# This contains a series of <script> blocks, each of which is a client-side Handlebars template. - # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag, - # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates. - # - # These templates require handlebars-helpers.js, moment.js - #} - {% verbatim %} - <script id="group-table-column-info" type="text/x-handlebars-template"> - <td data-text="{{row.name}}"> - <strong> - <i class="{{row.icon}} fa-fw"></i> <a href="{{site.uri.public}}/groups/g/{{row.slug}}">{{row.name}}</a> - </strong> - </td> - </script> - - <script id="group-table-column-description" type="text/x-handlebars-template"> - <td> - {{row.description}} - </td> - </script> - - <script id="group-table-column-actions" type="text/x-handlebars-template"> - <td> - <div class="btn-group"> - <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"> - {% endverbatim %}{{ translate("ACTIONS") }}{% verbatim %} - <span class="caret"></span> - </button> - <ul class="dropdown-menu dropdown-menu-right" role="menu"> - <li> - <a href="#" data-slug="{{row.slug}}" class="js-group-edit"> - <i class="fa fa-edit"></i> {% endverbatim %}{{ translate("GROUP.EDIT") }}{% verbatim %} - </a> - </li> - <li> - <a href="#" data-slug="{{row.slug}}" class="js-group-delete"> - <i class="fa fa-trash-o"></i> {% endverbatim %}{{ translate("GROUP.DELETE") }}{% verbatim %} - </a> - </li> - </ul> - </div> - </td> - </script> - {% endverbatim %} -{% endblock %} +{# This partial template renders a table of groups, to be populated with rows via an AJAX request.
+ # This extends a generic template for paginated tables.
+ #
+ # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used
+ # to render the table cells with the data from the AJAX request.
+#}
+
+{% extends "tables/table-paginated.html.twig" %}
+
+{% block table %}
+ <table id="{{ table.id }}" class="tablesorter table table-bordered table-hover table-striped"
+ data-sortlist="{{ table.sortlist }}">
+ <thead>
+ <tr>
+ <th class="sorter-metatext" data-column-name="name" data-column-template="#group-table-column-info"
+ data-priority="1">{{ translate('GROUP') }} <i class="fa fa-sort"></i></th>
+ <th class="sorter-metatext" data-column-name="description"
+ data-column-template="#group-table-column-description"
+ data-priority="2">{{ translate("DESCRIPTION") }} <i class="fa fa-sort"></i></th>
+ <th data-column-template="#group-table-column-actions" data-sorter="false" data-filter="false"
+ data-priority="1">{{ translate("ACTIONS") }}</th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+{% endblock %}
+
+{% block table_cell_templates %}
+ {# This contains a series of <script> blocks, each of which is a client-side Handlebars template.
+ # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag,
+ # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates.
+ #
+ # These templates require handlebars-helpers.js, moment.js
+ #}
+ {% verbatim %}
+ <script id="group-table-column-info" type="text/x-handlebars-template">
+ <td data-text="{{row.name}}">
+ <strong>
+ <i class="{{row.icon}} fa-fw"></i> <a href="{{site.uri.public}}/groups/g/{{row.slug}}">{{row.name}}</a>
+ </strong>
+ </td>
+ </script>
+
+ <script id="group-table-column-description" type="text/x-handlebars-template">
+ <td>
+ {{row.description}}
+ </td>
+ </script>
+
+ <script id="group-table-column-actions" type="text/x-handlebars-template">
+ <td>
+ <div class="btn-group">
+ <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
+ {% endverbatim %}{{ translate("ACTIONS") }}{% verbatim %}
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu dropdown-menu-right" role="menu">
+ <li>
+ <a href="#" data-slug="{{row.slug}}" class="js-group-edit">
+ <i class="fa fa-edit"></i> {% endverbatim %}{{ translate("GROUP.EDIT") }}{% verbatim %}
+ </a>
+ </li>
+ <li>
+ <a href="#" data-slug="{{row.slug}}" class="js-group-delete">
+ <i class="fa fa-trash-o"></i> {% endverbatim %}{{ translate("GROUP.DELETE") }}{% verbatim %}
+ </a>
+ </li>
+ </ul>
+ </div>
+ </td>
+ </script>
+ {% endverbatim %}
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/tables/permissions.html.twig b/main/app/sprinkles/admin/templates/tables/permissions.html.twig index 6ff13c6..48f3afa 100644 --- a/main/app/sprinkles/admin/templates/tables/permissions.html.twig +++ b/main/app/sprinkles/admin/templates/tables/permissions.html.twig @@ -1,71 +1,71 @@ -{# This partial template renders a table of permissions, to be populated with rows via an AJAX request. - # This extends a generic template for paginated tables. - # - # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used - # to render the table cells with the data from the AJAX request. -#} - -{% extends "tables/table-paginated.html.twig" %} - -{% block table %} - <table id="{{ table.id }}" class="tablesorter table table-bordered table-hover table-striped" - data-sortlist="{{ table.sortlist }}"> - <thead> - <tr> - <th class="sorter-metatext" data-column-name="name" data-column-template="#permission-table-column-name" - data-priority="1">{{ translate('PERMISSION') }} <i class="fa fa-sort"></i></th> - <th class="sorter-metatext" data-column-name="properties" - data-column-template="#permission-table-column-properties" - data-priority="1">{{ translate('SLUG_CONDITION') }} <i class="fa fa-sort"></i></th> - {% if 'via_roles' in table.columns %} - <th data-column-template="#permission-table-column-via-roles" data-sorter="false" - data-filter="false" data-priority="2">{{ translate('PERMISSION.VIA_ROLES') }}</th> - {% endif %} - </tr> - </thead> - <tbody> - </tbody> - </table> -{% endblock %} - -{% block table_cell_templates %} - {# This contains a series of <script> blocks, each of which is a client-side Handlebars template. - # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag, - # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates. - # - # These templates require handlebars-helpers.js, moment.js - #} - {% verbatim %} - <script id="permission-table-column-name" type="text/x-handlebars-template"> - <td data-text="{{row.name}}"> - <div> - <strong> - <a href="{{site.uri.public}}/permissions/p/{{row.id}}">{{row.name}}</a> - </strong> - </div> - </td> - </script> - - <script id="permission-table-column-properties" type="text/x-handlebars-template"> - <td> - <div> - <code>{{row.slug}}</code> - </div> - <div> - ↳ <code>{{row.conditions}}</code> - </div> - <div> - <i>{{row.description}}</i> - </div> - </td> - </script> - - <script id="permission-table-column-via-roles" type="text/x-handlebars-template"> - <td> - {{#each row.roles_via }} - <a href="{% endverbatim %}{# Handlebars can't access variables in the global scope, so we have to use Twig to insert the base url #}{{ site.uri.public }}{% verbatim %}/roles/r/{{this.slug}}" class="label label-primary" title="{{this.description}}">{{this.name}}</a> - {{/each}} - </td> - </script> - {% endverbatim %} -{% endblock %} +{# This partial template renders a table of permissions, to be populated with rows via an AJAX request.
+ # This extends a generic template for paginated tables.
+ #
+ # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used
+ # to render the table cells with the data from the AJAX request.
+#}
+
+{% extends "tables/table-paginated.html.twig" %}
+
+{% block table %}
+ <table id="{{ table.id }}" class="tablesorter table table-bordered table-hover table-striped"
+ data-sortlist="{{ table.sortlist }}">
+ <thead>
+ <tr>
+ <th class="sorter-metatext" data-column-name="name" data-column-template="#permission-table-column-name"
+ data-priority="1">{{ translate('PERMISSION') }} <i class="fa fa-sort"></i></th>
+ <th class="sorter-metatext" data-column-name="properties"
+ data-column-template="#permission-table-column-properties"
+ data-priority="1">{{ translate('SLUG_CONDITION') }} <i class="fa fa-sort"></i></th>
+ {% if 'via_roles' in table.columns %}
+ <th data-column-template="#permission-table-column-via-roles" data-sorter="false"
+ data-filter="false" data-priority="2">{{ translate('PERMISSION.VIA_ROLES') }}</th>
+ {% endif %}
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+{% endblock %}
+
+{% block table_cell_templates %}
+ {# This contains a series of <script> blocks, each of which is a client-side Handlebars template.
+ # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag,
+ # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates.
+ #
+ # These templates require handlebars-helpers.js, moment.js
+ #}
+ {% verbatim %}
+ <script id="permission-table-column-name" type="text/x-handlebars-template">
+ <td data-text="{{row.name}}">
+ <div>
+ <strong>
+ <a href="{{site.uri.public}}/permissions/p/{{row.id}}">{{row.name}}</a>
+ </strong>
+ </div>
+ </td>
+ </script>
+
+ <script id="permission-table-column-properties" type="text/x-handlebars-template">
+ <td>
+ <div>
+ <code>{{row.slug}}</code>
+ </div>
+ <div>
+ ↳ <code>{{row.conditions}}</code>
+ </div>
+ <div>
+ <i>{{row.description}}</i>
+ </div>
+ </td>
+ </script>
+
+ <script id="permission-table-column-via-roles" type="text/x-handlebars-template">
+ <td>
+ {{#each row.roles_via }}
+ <a href="{% endverbatim %}{# Handlebars can't access variables in the global scope, so we have to use Twig to insert the base url #}{{ site.uri.public }}{% verbatim %}/roles/r/{{this.slug}}" class="label label-primary" title="{{this.description}}">{{this.name}}</a>
+ {{/each}}
+ </td>
+ </script>
+ {% endverbatim %}
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/tables/roles.html.twig b/main/app/sprinkles/admin/templates/tables/roles.html.twig index f8e136b..088052e 100644 --- a/main/app/sprinkles/admin/templates/tables/roles.html.twig +++ b/main/app/sprinkles/admin/templates/tables/roles.html.twig @@ -1,79 +1,79 @@ -{# This partial template renders a table of roles, to be populated with rows via an AJAX request. - # This extends a generic template for paginated tables. - # - # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used - # to render the table cells with the data from the AJAX request. -#} - -{% extends "tables/table-paginated.html.twig" %} - -{% block table %} - <table id="{{ table.id }}" class="tablesorter table table-bordered table-hover table-striped" - data-sortlist="{{ table.sortlist }}"> - <thead> - <tr> - <th class="sorter-metatext" data-column-name="name" data-column-template="#role-table-column-info" - data-priority="1">{{ translate('ROLE') }} <i class="fa fa-sort"></i></th> - <th class="sorter-metatext" data-column-name="description" - data-column-template="#role-table-column-description" - data-priority="2">{{ translate('DESCRIPTION') }} <i class="fa fa-sort"></i></th> - <th data-column-template="#role-table-column-actions" data-sorter="false" data-filter="false" - data-priority="1">{{ translate('ACTIONS') }}</th> - </tr> - </thead> - <tbody> - </tbody> - </table> -{% endblock %} - -{% block table_cell_templates %} - {# This contains a series of <script> blocks, each of which is a client-side Handlebars template. - # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag, - # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates. - # - # These templates require handlebars-helpers.js, moment.js - #} - {% verbatim %} - <script id="role-table-column-info" type="text/x-handlebars-template"> - <td data-text="{{row.name}}"> - <strong> - <a href="{{site.uri.public}}/roles/r/{{row.slug}}">{{row.name}}</a> - </strong> - </td> - </script> - - <script id="role-table-column-description" type="text/x-handlebars-template"> - <td> - {{row.description}} - </td> - </script> - - <script id="role-table-column-actions" type="text/x-handlebars-template"> - <td> - <div class="btn-group"> - <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"> - {% endverbatim %}{{ translate("ACTIONS") }}{% verbatim %} - <span class="caret"></span> - </button> - <ul class="dropdown-menu dropdown-menu-right" role="menu"> - <li> - <a href="#" data-slug="{{row.slug}}" class="js-role-permissions"> - <i class="fa fa-key"></i> {% endverbatim %}{{ translate("PERMISSION.MANAGE") }}{% verbatim %} - </a> - </li> - <li> - <a href="#" data-slug="{{row.slug}}" class="js-role-edit"> - <i class="fa fa-edit"></i> {% endverbatim %}{{ translate("ROLE.EDIT") }}{% verbatim %} - </a> - </li> - <li> - <a href="#" data-slug="{{row.slug}}" class="js-role-delete"> - <i class="fa fa-trash-o"></i> {% endverbatim %}{{ translate("ROLE.DELETE") }}{% verbatim %} - </a> - </li> - </ul> - </div> - </td> - </script> - {% endverbatim %} -{% endblock %} +{# This partial template renders a table of roles, to be populated with rows via an AJAX request.
+ # This extends a generic template for paginated tables.
+ #
+ # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used
+ # to render the table cells with the data from the AJAX request.
+#}
+
+{% extends "tables/table-paginated.html.twig" %}
+
+{% block table %}
+ <table id="{{ table.id }}" class="tablesorter table table-bordered table-hover table-striped"
+ data-sortlist="{{ table.sortlist }}">
+ <thead>
+ <tr>
+ <th class="sorter-metatext" data-column-name="name" data-column-template="#role-table-column-info"
+ data-priority="1">{{ translate('ROLE') }} <i class="fa fa-sort"></i></th>
+ <th class="sorter-metatext" data-column-name="description"
+ data-column-template="#role-table-column-description"
+ data-priority="2">{{ translate('DESCRIPTION') }} <i class="fa fa-sort"></i></th>
+ <th data-column-template="#role-table-column-actions" data-sorter="false" data-filter="false"
+ data-priority="1">{{ translate('ACTIONS') }}</th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+{% endblock %}
+
+{% block table_cell_templates %}
+ {# This contains a series of <script> blocks, each of which is a client-side Handlebars template.
+ # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag,
+ # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates.
+ #
+ # These templates require handlebars-helpers.js, moment.js
+ #}
+ {% verbatim %}
+ <script id="role-table-column-info" type="text/x-handlebars-template">
+ <td data-text="{{row.name}}">
+ <strong>
+ <a href="{{site.uri.public}}/roles/r/{{row.slug}}">{{row.name}}</a>
+ </strong>
+ </td>
+ </script>
+
+ <script id="role-table-column-description" type="text/x-handlebars-template">
+ <td>
+ {{row.description}}
+ </td>
+ </script>
+
+ <script id="role-table-column-actions" type="text/x-handlebars-template">
+ <td>
+ <div class="btn-group">
+ <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
+ {% endverbatim %}{{ translate("ACTIONS") }}{% verbatim %}
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu dropdown-menu-right" role="menu">
+ <li>
+ <a href="#" data-slug="{{row.slug}}" class="js-role-permissions">
+ <i class="fa fa-key"></i> {% endverbatim %}{{ translate("PERMISSION.MANAGE") }}{% verbatim %}
+ </a>
+ </li>
+ <li>
+ <a href="#" data-slug="{{row.slug}}" class="js-role-edit">
+ <i class="fa fa-edit"></i> {% endverbatim %}{{ translate("ROLE.EDIT") }}{% verbatim %}
+ </a>
+ </li>
+ <li>
+ <a href="#" data-slug="{{row.slug}}" class="js-role-delete">
+ <i class="fa fa-trash-o"></i> {% endverbatim %}{{ translate("ROLE.DELETE") }}{% verbatim %}
+ </a>
+ </li>
+ </ul>
+ </div>
+ </td>
+ </script>
+ {% endverbatim %}
+{% endblock %}
diff --git a/main/app/sprinkles/admin/templates/tables/users.html.twig b/main/app/sprinkles/admin/templates/tables/users.html.twig index bd9fffe..aae91d0 100644 --- a/main/app/sprinkles/admin/templates/tables/users.html.twig +++ b/main/app/sprinkles/admin/templates/tables/users.html.twig @@ -1,157 +1,157 @@ -{# This partial template renders a table of users, to be populated with rows via an AJAX request. - # This extends a generic template for paginated tables. - # - # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used - # to render the table cells with the data from the AJAX request. -#} - -{% extends "tables/table-paginated.html.twig" %} - -{% block table %} - <table id="{{ table.id }}" class="tablesorter table table-bordered table-hover table-striped" - data-sortlist="{{ table.sortlist }}"> - <thead> - <tr> - <th class="sorter-metatext" data-column-name="name" data-column-template="#user-table-column-info" - data-priority="1">{{ translate('USER') }} <i class="fa fa-sort"></i></th> - {% if 'last_activity' in table.columns %} - <th class="sorter-metanum" data-column-name="last_activity" - data-column-template="#user-table-column-last-activity" - data-priority="3">{{ translate("ACTIVITY.LAST") }} <i class="fa fa-sort"></i></th> - {% endif %} - {% if 'via_roles' in table.columns %} - <th data-column-template="#user-table-column-via-roles" data-sorter="false" data-filter="false" - data-priority="1">{{ translate('PERMISSION.VIA_ROLES') }}</th> - {% endif %} - <th class="filter-select filter-metatext" data-column-name="status" - data-column-template="#user-table-column-status" data-priority="2">{{ translate("STATUS") }} <i - class="fa fa-sort"></i></th> - <th data-column-name="actions" data-column-template="#user-table-column-actions" data-sorter="false" - data-filter="false" data-priority="1">{{ translate("ACTIONS") }}</th> - </tr> - </thead> - <tbody> - </tbody> - </table> -{% endblock %} - -{% block table_cell_templates %} - {# This contains a series of <script> blocks, each of which is a client-side Handlebars template. - # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag, - # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates. - # - # These templates require handlebars-helpers.js, moment.js - #} - {% verbatim %} - <script id="user-table-column-info" type="text/x-handlebars-template"> - <td data-text="{{row.last_name}}"> - <strong> - <a href="{{site.uri.public}}/users/u/{{row.user_name}}">{{row.first_name}} {{row.last_name}} ({{row.user_name}})</a> - </strong> - <div class="js-copy-container"> - <span class="js-copy-target">{{row.email}}</span> - <button class="btn btn-xs uf-copy-trigger js-copy-trigger"><i class="fa fa-copy"></i></button> - </div> - </td> - </script> - - <script id="user-table-column-last-activity" type="text/x-handlebars-template"> - {{#if row.last_activity }} - <td data-num="{{dateFormat row.last_activity.occurred_at format='x'}}"> - {{dateFormat row.last_activity.occurred_at format="dddd"}}<br>{{dateFormat row.last_activity.occurred_at format="MMM Do, YYYY h:mm a"}} - <br> - <i>{{row.last_activity.description}}</i> - </td> - {{ else }} - <td data-num="0"> - <i>{% endverbatim %}{{ translate("UNKNOWN") }}{% verbatim %}</i> - </td> - {{/if }} - </script> - - <script id="user-table-column-status" type="text/x-handlebars-template"> - <td - {{#ifx row.flag_enabled '==' 0 }} - data-text="disabled" - {{ else }} - {{#ifx row.flag_verified '==' 0 }} - data-text="unactivated" - {{ else }} - data-text="active" - {{/ifx }} - {{/ifx }} - > - {{#ifx row.flag_enabled '==' 0 }} - <span class="text-muted"> - {% endverbatim %}{{ translate("DISABLED") }}{% verbatim %} - </span> - {{ else }} - {{#ifx row.flag_verified '==' 0 }} - <span class="text-yellow"> - {% endverbatim %}{{ translate("UNACTIVATED") }}{% verbatim %} - </span> - {{ else }} - <span> - {% endverbatim %}{{ translate("ACTIVE") }}{% verbatim %} - </span> - {{/ifx }} - {{/ifx }} - </td> - </script> - <script id="user-table-column-actions" type="text/x-handlebars-template"> - <td class="uf-table-fit-width"> - <div class="btn-group"> - <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">{% endverbatim %}{{ translate("ACTIONS") }}{% verbatim %}<span class="caret"></span></button> - <ul class="dropdown-menu dropdown-menu-right-responsive" role="menu"> - {{#ifx row.flag_verified '==' 0 }} - <li> - <a href="#" data-user_name="{{row.user_name}}" class="js-user-activate"> - <i class="fa fa-bolt"></i> {% endverbatim %}{{ translate("USER.ACTIVATE") }}{% verbatim %} - </a> - </li> - {{/ifx }} - <li> - <a href="#" data-user_name="{{row.user_name}}" class="js-user-edit"> - <i class="fa fa-edit"></i> {% endverbatim %}{{ translate("USER.EDIT") }}{% verbatim %} - </a> - </li> - <li> - <a href="#" data-user_name="{{row.user_name}}" class="js-user-roles"> - <i class="fa fa-drivers-license"></i> {% endverbatim %}{{ translate("ROLE.MANAGE") }}{% verbatim %} - </a> - </li> - <li> - <a href="#" data-user_name="{{row.user_name}}" class="js-user-password"> - <i class="fa fa-key"></i> {% endverbatim %}{{ translate("USER.ADMIN.CHANGE_PASSWORD") }}{% verbatim %} - </a> - </li> - <li> - {{#ifx row.flag_enabled '==' 1 }} - <a href="#" data-user_name="{{row.user_name}}" class="js-user-disable"> - <i class="fa fa-minus-circle"></i> {% endverbatim %}{{ translate("USER.DISABLE") }}{% verbatim %} - </a> - {{ else }} - <a href="#" data-user_name="{{row.user_name}}" class="js-user-enable"> - <i class="fa fa-plus-circle"></i> {% endverbatim %}{{ translate("USER.ENABLE") }}{% verbatim %} - </a> - {{/ifx }} - </li> - <li> - <a href="#" data-user_name="{{row.user_name}}" class="js-user-delete"> - <i class="fa fa-trash-o"></i> {% endverbatim %}{{ translate("USER.DELETE") }}{% verbatim %} - </a> - </li> - </ul> - </div> - </td> - </script> - - <script id="user-table-column-via-roles" type="text/x-handlebars-template"> - <td> - {{#each row.roles_via }} - <a href="{% endverbatim %}{# Handlebars can't access variables in the global scope, so we have to use Twig to insert the base url #}{{ site.uri.public }}{% verbatim %}/roles/r/{{this.slug}}" class="label label-primary" title="{{this.description}}">{{this.name}}</a> - {{/each}} - </td> - </script> - {% endverbatim %} -{% endblock %} +{# This partial template renders a table of users, to be populated with rows via an AJAX request.
+ # This extends a generic template for paginated tables.
+ #
+ # Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used
+ # to render the table cells with the data from the AJAX request.
+#}
+
+{% extends "tables/table-paginated.html.twig" %}
+
+{% block table %}
+ <table id="{{ table.id }}" class="tablesorter table table-bordered table-hover table-striped"
+ data-sortlist="{{ table.sortlist }}">
+ <thead>
+ <tr>
+ <th class="sorter-metatext" data-column-name="name" data-column-template="#user-table-column-info"
+ data-priority="1">{{ translate('USER') }} <i class="fa fa-sort"></i></th>
+ {% if 'last_activity' in table.columns %}
+ <th class="sorter-metanum" data-column-name="last_activity"
+ data-column-template="#user-table-column-last-activity"
+ data-priority="3">{{ translate("ACTIVITY.LAST") }} <i class="fa fa-sort"></i></th>
+ {% endif %}
+ {% if 'via_roles' in table.columns %}
+ <th data-column-template="#user-table-column-via-roles" data-sorter="false" data-filter="false"
+ data-priority="1">{{ translate('PERMISSION.VIA_ROLES') }}</th>
+ {% endif %}
+ <th class="filter-select filter-metatext" data-column-name="status"
+ data-column-template="#user-table-column-status" data-priority="2">{{ translate("STATUS") }} <i
+ class="fa fa-sort"></i></th>
+ <th data-column-name="actions" data-column-template="#user-table-column-actions" data-sorter="false"
+ data-filter="false" data-priority="1">{{ translate("ACTIONS") }}</th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+{% endblock %}
+
+{% block table_cell_templates %}
+ {# This contains a series of <script> blocks, each of which is a client-side Handlebars template.
+ # Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag,
+ # so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates.
+ #
+ # These templates require handlebars-helpers.js, moment.js
+ #}
+ {% verbatim %}
+ <script id="user-table-column-info" type="text/x-handlebars-template">
+ <td data-text="{{row.last_name}}">
+ <strong>
+ <a href="{{site.uri.public}}/users/u/{{row.user_name}}">{{row.first_name}} {{row.last_name}} ({{row.user_name}})</a>
+ </strong>
+ <div class="js-copy-container">
+ <span class="js-copy-target">{{row.email}}</span>
+ <button class="btn btn-xs uf-copy-trigger js-copy-trigger"><i class="fa fa-copy"></i></button>
+ </div>
+ </td>
+ </script>
+
+ <script id="user-table-column-last-activity" type="text/x-handlebars-template">
+ {{#if row.last_activity }}
+ <td data-num="{{dateFormat row.last_activity.occurred_at format='x'}}">
+ {{dateFormat row.last_activity.occurred_at format="dddd"}}<br>{{dateFormat row.last_activity.occurred_at format="MMM Do, YYYY h:mm a"}}
+ <br>
+ <i>{{row.last_activity.description}}</i>
+ </td>
+ {{ else }}
+ <td data-num="0">
+ <i>{% endverbatim %}{{ translate("UNKNOWN") }}{% verbatim %}</i>
+ </td>
+ {{/if }}
+ </script>
+
+ <script id="user-table-column-status" type="text/x-handlebars-template">
+ <td
+ {{#ifx row.flag_enabled '==' 0 }}
+ data-text="disabled"
+ {{ else }}
+ {{#ifx row.flag_verified '==' 0 }}
+ data-text="unactivated"
+ {{ else }}
+ data-text="active"
+ {{/ifx }}
+ {{/ifx }}
+ >
+ {{#ifx row.flag_enabled '==' 0 }}
+ <span class="text-muted">
+ {% endverbatim %}{{ translate("DISABLED") }}{% verbatim %}
+ </span>
+ {{ else }}
+ {{#ifx row.flag_verified '==' 0 }}
+ <span class="text-yellow">
+ {% endverbatim %}{{ translate("UNACTIVATED") }}{% verbatim %}
+ </span>
+ {{ else }}
+ <span>
+ {% endverbatim %}{{ translate("ACTIVE") }}{% verbatim %}
+ </span>
+ {{/ifx }}
+ {{/ifx }}
+ </td>
+ </script>
+ <script id="user-table-column-actions" type="text/x-handlebars-template">
+ <td class="uf-table-fit-width">
+ <div class="btn-group">
+ <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">{% endverbatim %}{{ translate("ACTIONS") }}{% verbatim %}<span class="caret"></span></button>
+ <ul class="dropdown-menu dropdown-menu-right-responsive" role="menu">
+ {{#ifx row.flag_verified '==' 0 }}
+ <li>
+ <a href="#" data-user_name="{{row.user_name}}" class="js-user-activate">
+ <i class="fa fa-bolt"></i> {% endverbatim %}{{ translate("USER.ACTIVATE") }}{% verbatim %}
+ </a>
+ </li>
+ {{/ifx }}
+ <li>
+ <a href="#" data-user_name="{{row.user_name}}" class="js-user-edit">
+ <i class="fa fa-edit"></i> {% endverbatim %}{{ translate("USER.EDIT") }}{% verbatim %}
+ </a>
+ </li>
+ <li>
+ <a href="#" data-user_name="{{row.user_name}}" class="js-user-roles">
+ <i class="fa fa-drivers-license"></i> {% endverbatim %}{{ translate("ROLE.MANAGE") }}{% verbatim %}
+ </a>
+ </li>
+ <li>
+ <a href="#" data-user_name="{{row.user_name}}" class="js-user-password">
+ <i class="fa fa-key"></i> {% endverbatim %}{{ translate("USER.ADMIN.CHANGE_PASSWORD") }}{% verbatim %}
+ </a>
+ </li>
+ <li>
+ {{#ifx row.flag_enabled '==' 1 }}
+ <a href="#" data-user_name="{{row.user_name}}" class="js-user-disable">
+ <i class="fa fa-minus-circle"></i> {% endverbatim %}{{ translate("USER.DISABLE") }}{% verbatim %}
+ </a>
+ {{ else }}
+ <a href="#" data-user_name="{{row.user_name}}" class="js-user-enable">
+ <i class="fa fa-plus-circle"></i> {% endverbatim %}{{ translate("USER.ENABLE") }}{% verbatim %}
+ </a>
+ {{/ifx }}
+ </li>
+ <li>
+ <a href="#" data-user_name="{{row.user_name}}" class="js-user-delete">
+ <i class="fa fa-trash-o"></i> {% endverbatim %}{{ translate("USER.DELETE") }}{% verbatim %}
+ </a>
+ </li>
+ </ul>
+ </div>
+ </td>
+ </script>
+
+ <script id="user-table-column-via-roles" type="text/x-handlebars-template">
+ <td>
+ {{#each row.roles_via }}
+ <a href="{% endverbatim %}{# Handlebars can't access variables in the global scope, so we have to use Twig to insert the base url #}{{ site.uri.public }}{% verbatim %}/roles/r/{{this.slug}}" class="label label-primary" title="{{this.description}}">{{this.name}}</a>
+ {{/each}}
+ </td>
+ </script>
+ {% endverbatim %}
+{% endblock %}
|