]> git.agnieray.net Git - galette.git/blobdiff - galette/templates/default/pages/mailing_form.html.twig
Fix scrolling in emailing preview's modal
[galette.git] / galette / templates / default / pages / mailing_form.html.twig
index 786039bce1a3d90cc415d1fb99170478bc502b03..364b237541d432f0e9eeadd54d86c2479c485e89 100644 (file)
@@ -1,24 +1,26 @@
 {% extends 'page.html.twig' %}
 
 {% block content %}
-{% if preferences.pref_mail_method == constant('Galette\\Core\\Mailing::METHOD_DISABLED') and constant('GALETTE_MODE') != 'DEMO' %}
-        <div id="errorbox" class="ui red message">
-            <h1>{{ _T("- ERROR -") }}</h1>
-            <p>{{ _T("Email sent is disabled in the preferences. Ask galette admin") }}</p>
+{% if preferences.pref_mail_method == constant('Galette\\Core\\Mailing::METHOD_DISABLED') and not callstatic('\\Galette\\Core\\Galette', 'isDemo') %}
+        <div id="errorbox" class="ui negative icon message">
+            <i class="ban icon" aria-hidden="true"></i>
+            <div class="content">
+                <p>{{ _T("Email sent is disabled in the preferences. Ask galette admin") }}</p>
+            </div>
         </div>
 {% elseif mailing_saved is not defined %}
         <form action="{{ url_for('doMailing') }}" id="listform" method="post" enctype="multipart/form-data" class="ui form">
             <div class="ui basic fitted segment">
                 <div class="ui styled fluid accordion row">
                     <div class="active title">
-                        <i class="jsonly displaynone icon dropdown"></i>
+                        <i class="jsonly displaynone icon dropdown" aria-hidden="true"></i>
                         {{ _T("Mailing information") }}
                     </div>
                     <div class="active content field">
                         <div class="three fields">
                             <div class="field">
                                 <label for="sender">{{ _T("Sender") }}</label>
-                                <select name="sender" id="sender" class="ui dropdown nochosen">
+                                <select name="sender" id="sender" class="ui dropdown">
                                     <option value="{{ constant('Galette\\Core\\GaletteMail::SENDER_PREFS') }}">{{ _T("from preferences") }}</option>
                                 {% if not login.isSuperAdmin() %}
                                     <option value="{{ constant('Galette\\Core\\GaletteMail::SENDER_CURRENT') }}">{{ _T("current logged in user") }}</option>
@@ -52,7 +54,7 @@
                                     href="{{ path }}"
                                     class="jsonly disabled ui labeled icon button"
                                 >
-                                    <i class="blue users icon"></i>
+                                    <i class="blue users icon" aria-hidden="true"></i>
                                     {{ text }}
                                 </a>
                                 <noscript>
@@ -63,7 +65,7 @@
                             <div class="field">
                             {% if attachments|length > 0 %}
                                 <div class="ui tiny header">
-                                    <i class="paperclip icon"></i>
+                                    <i class="paperclip icon" aria-hidden="true"></i>
                                     <div class="content">{{ _T("Existing attachments:") }}</div>
                                 </div>
                                 <div id="existing_attachments" class="ui middle aligned divided selection list">
@@ -74,7 +76,7 @@
                                                 href="?remove_attachment={{ attachment.getFileName() }}"
                                                 class="rm_attachement delete"
                                             >
-                                                <i class="ui trash alt red icon tooltip"></i>
+                                                <i class="ui trash alt red icon tooltip" aria-hidden="true"></i>
                                                 <span class="ui special popup">{{ _T("Remove attachment") }}</span>
                                             </a>
                                             {{ attachment.getFileName() }}
@@ -84,7 +86,7 @@
                                 </div>
                             {% else %}
                                 <div class="ui tiny header">
-                                    <i class="paperclip icon"></i>
+                                    <i class="paperclip icon" aria-hidden="true"></i>
                                     <div class="content">{{ _T("Attachments") }}</div>
                                 </div>
                             {% endif %}
                                     <div class="ui corner labeled input">
                                         <input type="file" name="attachment[]" id="attachment" multiple="multiple"/>
                                         <div class="ui corner label">
-                                            <i class="circular inverted primary icon info tooltip" data-html="{{ _T("Select files to add as attachments.<br/>Multiple file selection using 'ctrl' or 'shift' keys are only available on compatible browsers.") }}"></i>
+                                            <i class="circular inverted primary icon info tooltip" data-html="{{ _T("Select files to add as attachments.<br/>Multiple file selection using 'ctrl' or 'shift' keys are only available on compatible browsers.") }}" aria-hidden="true"></i>
                                         </div>
                                     </div>
                                     <label for="attachment" class="ui button">
-                                        <i class="blue upload icon"></i>
+                                        <i class="blue upload icon" aria-hidden="true"></i>
                                         {{ _T("Add attachment") }}
                                     </label>
                                 </div>
             <div class="ui basic fitted segment">
                 <div class="ui styled fluid accordion row">
                     <div class="active title">
-                        <i class="jsonly displaynone icon dropdown"></i>
+                        <i class="jsonly displaynone icon dropdown" aria-hidden="true"></i>
                         {{ _T("Write your mailing") }}
                     </div>
                     <div class="active content field">
                         <i class="save green icon" aria-hidden="true"></i>
                         {{ _T("Save") }}
                     </button>
-                    <button type="submit" name="mailing_confirm" class="ui labeled icon button {% if constant('GALETTE_MODE') == 'DEMO' %} disabled" disabled="disabled{% endif %}">
+                    <button type="submit" name="mailing_confirm" class="ui labeled icon button {% if callstatic('\\Galette\\Core\\Galette', 'isDemo') %} disabled" disabled="disabled{% endif %}">
                         <i class="rocket red icon" aria-hidden="true"></i>
                         {{ _T("Send") }}
                     </button>
             <div class="ui basic fitted segment">
                 <div class="ui styled fluid accordion row">
                     <div class="active title">
-                        <i class="jsonly hidden icon dropdown"></i>
+                        <i class="jsonly hidden icon dropdown" aria-hidden="true"></i>
                         {{ _T("Preview your mailing") }}
                     </div>
                     <div class="active content field">
             <div class="ui basic center aligned segment">
                 <div class="ui wrapped wrapping spaced buttons">
                     <button type="submit" name="mailing_reset" class="ui labeled icon button">
-                        <i class="backward icon"></i>
+                        <i class="backward icon" aria-hidden="true"></i>
                         {{ _T("Modifiy mailing") }}
                     </button>
-                    <button type="submit" name="mailing_confirm"{% if constant('GALETTE_MODE') == 'DEMO' %} class="ui labeled icon button disabled" disabled="disabled"{% else %} class="ui labeled icon button"{% endif %}>
+                    <button type="submit" name="mailing_confirm"{% if callstatic('\\Galette\\Core\\Galette', 'isDemo') %} class="ui labeled icon button disabled" disabled="disabled"{% else %} class="ui labeled icon button"{% endif %}>
                         <i class="rocket icon" aria-hidden="true"></i>
                         {{ _T("Send") }}
                     </button>
 {% endblock %}
 
 {% block javascripts %}
-{% if (preferences.pref_mail_method != constant('Galette\\Core\\Mailing::METHOD_DISABLED') or constant('GALETTE_MODE') != 'DEMO') and mailing_saved is not defined %}
+{% if (preferences.pref_mail_method != constant('Galette\\Core\\Mailing::METHOD_DISABLED') or not callstatic('\\Galette\\Core\\Galette', 'isDemo')) and mailing_saved is not defined %}
     {% if mailing.current_step != constant('Galette\\Core\\Mailing::STEP_SENT') %}
 <script type="text/javascript">
     $(function() {
                     _preview_dialog(res);
                 },
                 error: function() {
-                    alert("{{ _T("An error occurred displaying preview :(")|e("js") }}");
+                    {% include "elements/js/modal.js.twig" with {
+                        modal_title_twig: _T("An error occurred displaying preview :(")|e("js"),
+                        modal_without_content: true,
+                        modal_class: "mini",
+                        modal_deny_only: true,
+                        modal_cancel_text: _T("Close")|e("js"),
+                        modal_classname: "redalert",
+                    } %}
                 }
             });
             return false;
             {% include "elements/js/modal.js.twig" with {
                 modal_title_twig: _T("Mailing preview")|e("js"),
                 modal_content: "res",
-                modal_content_class: "scrolling",
+                modal_class: "scrolling",
                 modal_deny_only: true,
                 modal_cancel_text: _T("Close")|e("js")
             } %}
                     _members_dialog(res);
                 },
                 error: function() {
-                    alert("{{ _T("An error occurred displaying members interface :(")|e("js") }}");
+                    {% include "elements/js/modal.js.twig" with {
+                        modal_title_twig: _T("An error occurred displaying members interface :(")|e("js"),
+                        modal_without_content: true,
+                        modal_class: "mini",
+                        modal_deny_only: true,
+                        modal_cancel_text: _T("Close")|e("js"),
+                        modal_classname: "redalert",
+                    } %}
                 }
             });
             return false;
                         $('.members-selection').modal('hide');
                     },
                     error: function() {
-                        alert("{{ _T("An error occurred displaying members interface :(")|e("js") }}");
+                        {% include "elements/js/modal.js.twig" with {
+                            modal_title_twig: _T("An error occurred displaying members interface :(")|e("js"),
+                            modal_without_content: true,
+                            modal_class: "mini",
+                            modal_deny_only: true,
+                            modal_cancel_text: _T("Close")|e("js"),
+                            modal_classname: "redalert",
+                        } %}
                     }
                 });
             });
                     $('#selected_members ul').append(_none);
                 }
             });
-            $('.members-selection a.choice').click(function(e){
-                e.preventDefault();
-                var _mid = this.href.match(/.*\/(\d+)$/)[1];
-                var _mname = $(this).text();
+            $('#listing tbody tr').click(function(event){
+                event.preventDefault();
+                var _mlink = $(this).find('.username_row a');
+                var _mid = _mlink[0].href.match(/.*\/(\d+)$/)[1];
+                var _mname = _mlink.text();
                 $('#none_selected').remove()
                 if ( $('#member_' + _mid).length == 0 ) {
-                    var _li = '<li id="member_' + _mid + '" class="item"><i class="user minus icon"></i><span class="ui content">' + _mname + '</span></li>';
+                    var _li = '<li id="member_' + _mid + '" class="item"><i class="ui user minus icon" aria-hidden="true"></i><span class="ui content">' + _mname + '</span></li>';
                     $('#selected_members ul').append(_li);
                     $('#member_' + _mid).click(function(){
                         $(this).remove();
                     });
                 }
                 return false;
-            });
+            }).css('cursor', 'pointer').attr('title', '{{ _T("Click on a row to select a member")|e('js') }}');
 
             $('.members-selection .pagination a').click(function(){
                 var _members = new Array();
                         _members_ajax_mapper(res);
                     },
                     error: function() {
-                        alert("{{ _T("An error occurred displaying members interface :(")|e("js") }}");
+                        {% include "elements/js/modal.js.twig" with {
+                            modal_title_twig: _T("An error occurred displaying members interface :(")|e("js"),
+                            modal_without_content: true,
+                            modal_class: "mini",
+                            modal_deny_only: true,
+                            modal_cancel_text: _T("Close")|e("js"),
+                            modal_classname: "redalert",
+                        } %}
                     }
                 });
                 return false;
                 modal_approve_icon: "trash",
                 modal_approve_color: "red",
                 modal_cancel_text: _T("Cancel")|e("js"),
-                modal_classname: "modal: 'ui redalert modal',title: 'center aligned header',content: 'center aligned content',actions: 'center aligned actions'",
+                modal_classname: "redalert",
             } %}
         });