From b66a61addb6c8e66cb26fcf74b532d68891267e4 Mon Sep 17 00:00:00 2001
From: Marvin Borner
Date: Wed, 23 May 2018 22:23:28 +0200
Subject: Refactored code, many fixes and improvements in chat backend+frontend

---
 .../templates/modals/confirm-clear-cache.html.twig |  28 +++---
 .../modals/confirm-delete-group.html.twig          |  27 +++---
 .../templates/modals/confirm-delete-role.html.twig |  27 +++---
 .../templates/modals/confirm-delete-user.html.twig |  27 +++---
 .../admin/templates/modals/group.html.twig         |   2 +-
 .../modals/role-manage-permissions.html.twig       |  88 +++++++++---------
 .../admin/templates/modals/role.html.twig          |   2 +-
 .../templates/modals/user-manage-roles.html.twig   |  85 ++++++++---------
 .../templates/modals/user-set-password.html.twig   | 101 +++++++++++----------
 .../admin/templates/modals/user.html.twig          |   2 +-
 10 files changed, 205 insertions(+), 184 deletions(-)

(limited to 'main/app/sprinkles/admin/templates/modals')

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 e5457d3..bf3ccca 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,17 +1,21 @@
 {% extends "modals/modal.html.twig" %}
 
-{% block modal_title %}{{translate("CACHE.CLEAR")}}{% endblock %}
+{% 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>
+    <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 7889a1e..e53bf6e 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,17 +1,20 @@
 {% extends "modals/modal.html.twig" %}
 
-{% block modal_title %}{{translate("GROUP.DELETE")}}{% endblock %}
+{% 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>
+    <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 618039b..ae528f9 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,17 +1,20 @@
 {% extends "modals/modal.html.twig" %}
 
-{% block modal_title %}{{translate("ROLE.DELETE")}}{% endblock %}
+{% 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>
+    <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 ce86301..17fe859 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,17 +1,20 @@
 {% extends "modals/modal.html.twig" %}
 
-{% block modal_title %}{{translate("USER.DELETE")}}{% endblock %}
+{% 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>
+    <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 be2d98c..a716b4f 100644
--- a/main/app/sprinkles/admin/templates/modals/group.html.twig
+++ b/main/app/sprinkles/admin/templates/modals/group.html.twig
@@ -1,6 +1,6 @@
 {% extends "modals/modal.html.twig" %}
 
-{% block modal_title %}{{translate('GROUP')}}{% endblock %}
+{% block modal_title %}{{ translate('GROUP') }}{% endblock %}
 
 {% block modal_body %}
     {% include "forms/group.html.twig" %}
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 3914d2e..f8b7ef5 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,52 +1,54 @@
 {% extends "modals/modal.html.twig" %}
 
-{% block modal_title %}{{translate("PERMISSION.MANAGE")}}{% endblock %}
+{% 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>
+    <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>
-    <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 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>
-        <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>
+        <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>
-    </div>
-</form>
+    </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 %}
+    {# 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>
@@ -87,8 +89,8 @@
 </script>
 {% endverbatim %}
 
-<!-- Include validation rules -->
-<script>
-    {% include "pages/partials/page.js.twig" %}
-</script>
+    <!-- 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 6346461..6ae924e 100644
--- a/main/app/sprinkles/admin/templates/modals/role.html.twig
+++ b/main/app/sprinkles/admin/templates/modals/role.html.twig
@@ -1,6 +1,6 @@
 {% extends "modals/modal.html.twig" %}
 
-{% block modal_title %}{{translate('ROLE')}}{% endblock %}
+{% block modal_title %}{{ translate('ROLE') }}{% endblock %}
 
 {% block modal_body %}
     {% include "forms/role.html.twig" %}
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 b41c60b..3c0fe18 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,49 +1,50 @@
 {% extends "modals/modal.html.twig" %}
 
-{% block modal_title %}{{translate("ROLE.MANAGE")}}{% endblock %}
+{% 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>
+    <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>
-    <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 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>
-        <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>
+        <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>
-    </div>
-</form>
+    </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 %}
+    {# 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>
@@ -70,8 +71,8 @@
 </script>
 {% endverbatim %}
 
-<!-- Include validation rules -->
-<script>
-    {% include "pages/partials/page.js.twig" %}
-</script>
+    <!-- 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 922d4e2..9b2c017 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,62 +1,67 @@
 {% extends "modals/modal.html.twig" %}
 
-{% block modal_title %}{{translate("USER.ADMIN.CHANGE_PASSWORD")}}{% endblock %}
+{% 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>
+    <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="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 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="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 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>
-                    <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 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>
-    </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>
+        <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>
-    </div>
-</form>
-<!-- Include validation rules -->
-<script>
-    {% include "pages/partials/page.js.twig" %}
-</script>
+    </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 892fe4f..850844d 100644
--- a/main/app/sprinkles/admin/templates/modals/user.html.twig
+++ b/main/app/sprinkles/admin/templates/modals/user.html.twig
@@ -1,6 +1,6 @@
 {% extends "modals/modal.html.twig" %}
 
-{% block modal_title %}{{translate('USER')}}{% endblock %}
+{% block modal_title %}{{ translate('USER') }}{% endblock %}
 
 {% block modal_body %}
     {% include "forms/user.html.twig" %}
-- 
cgit v1.2.3