{# Renders a link which can be used to open send email dialog Parameters: email - TO email address entity - a target entity an email should be associated with parameters - additional parameters, array: [ 'aCss' - additional css class for 'a' tag ] #} {% macro sendEmailLink(email, entity, parameters) -%} {% if is_granted('oro_email_email_create') %} {% import '@OroUI/macros.html.twig' as UI %} {{- UI.clientLink({ 'dataUrl': path( 'oro_email_email_create', { to: email, entityClass: oro_class_name(entity, true), entityId: entity.id }), 'class': parameters.cssClass is defined ? parameters.cssClass : '', 'dir': 'ltr', 'iCss': parameters.iCss is defined ? parameters.iCss : '', 'aCss': parameters.aCss is defined ? parameters.aCss ~ ' no-hash' : 'no-hash', 'label': email, 'widget': { 'type': 'dialog', 'multiple': true, 'reload-grid-name': 'activity-email-grid', 'options': { 'alias': 'email-dialog', 'method': 'POST', 'dialogOptions' : { 'title' : 'oro.email.send_email'|trans, 'allowMaximize': true, 'allowMinimize': true, 'dblclick': 'maximize', 'maximizedHeightDecreaseBy': 'minimize-bar', 'width': 1000, 'minWidth': 'expanded' } } } }) -}} {% endif %} {% endmacro -%} {% macro replyAllButton(emailEntity, parameters = {}) -%} {% if is_granted('oro_email_email_create') %} {% import '@OroUI/macros.html.twig' as UI %} {%- set routeParameters = { id: emailEntity.id } -%} {%- if parameters.routeParameters is defined %} {%- set routeParameters = routeParameters|merge(parameters.routeParameters) -%} {% endif -%} {{- UI.clientButton({ 'dataUrl': path('oro_email_email_reply_all', routeParameters), 'aCss': parameters.aCss is defined ? parameters.aCss ~ ' no-hash' : 'no-hash', 'iCss': parameters.iCss is defined ? parameters.iCss ~ ' fa-reply-all' : 'fa-reply-all', 'label': 'oro.email.reply_all'|trans, 'widget': { 'type': 'dialog', 'multiple': false, 'refresh-widget-alias': 'activity-list-widget', 'reload-widget-alias': 'thread-view', 'options': { 'alias': 'reply-all-dialog', 'dialogOptions' : { 'title' : 'oro.email.reply_all'|trans, 'allowMaximize': true, 'allowMinimize': true, 'dblclick': 'maximize', 'maximizedHeightDecreaseBy': 'minimize-bar', 'width': 1000, 'minWidth': 'expanded' } } } }) -}} {% endif %} {% endmacro -%} {% macro replyButton(emailEntity, parameters = {}) -%} {% if is_granted('oro_email_email_create') %} {% import '@OroUI/macros.html.twig' as UI %} {%- set routeParameters = { id: emailEntity.id } -%} {%- if parameters.routeParameters is defined %} {%- set routeParameters = routeParameters|merge(parameters.routeParameters) -%} {% endif -%} {{- UI.clientButton({ 'dataUrl': path('oro_email_email_reply', routeParameters), 'aCss': parameters.aCss is defined ? parameters.aCss ~ ' no-hash' : 'no-hash', 'iCss': parameters.iCss is defined ? parameters.iCss ~ ' fa-reply' : 'fa-reply', 'label': 'oro.email.reply'|trans, 'widget': { 'type': 'dialog', 'multiple': false, 'refresh-widget-alias': 'activity-list-widget', 'reload-widget-alias': 'thread-view', 'options': { 'alias': 'reply-dialog', 'dialogOptions' : { 'title' : 'oro.email.reply'|trans, 'allowMaximize': true, 'allowMinimize': true, 'dblclick': 'maximize', 'maximizedHeightDecreaseBy': 'minimize-bar', 'width': 1000, 'minWidth': 'expanded' } } } }) -}} {% endif %} {% endmacro -%} {% macro forwardButton(emailEntity, parameters = {}) -%} {% if is_granted('oro_email_email_create') %} {% import '@OroUI/macros.html.twig' as UI %} {%- set routeParameters = { id: emailEntity.id } -%} {%- if parameters.routeParameters is defined %} {%- set routeParameters = routeParameters|merge(parameters.routeParameters) -%} {% endif -%} {{- UI.clientButton({ 'dataUrl': path('oro_email_email_forward', routeParameters), 'aCss': parameters.aCss is defined ? parameters.aCss ~ ' no-hash' : 'no-hash', 'iCss': parameters.iCss is defined ? parameters.iCss ~ ' fa-mail-forward' : 'fa-mail-forward', 'label': 'oro.email.forward'|trans, 'widget': { 'type': 'dialog', 'multiple': false, 'refresh-widget-alias': 'activity-list-widget', 'reload-widget-alias': 'thread-view', 'options': { 'alias': 'foward-dialog', 'dialogOptions' : { 'title' : 'oro.email.forward'|trans, 'allowMaximize': true, 'allowMinimize': true, 'dblclick': 'maximize', 'maximizedHeightDecreaseBy': 'minimize-bar', 'width': 1000, 'minWidth': 'expanded' } } } }) -}} {% endif %} {% endmacro -%} {% macro createEmailButton(parameters = {}) -%} {% if is_granted('oro_email_email_create') %} {% import '@OroUI/macros.html.twig' as UI %} {{ UI.clientButton({ 'dataUrl': path('oro_email_email_create', parameters), 'label': 'oro.email.menu.compose'|trans, 'iCss': 'fa-envelope', 'widget': { 'type': 'dialog', 'multiple': true, 'reload-grid-name': 'user-email-grid', 'options': { 'alias': 'email-dialog', 'method': 'POST', 'dialogOptions' : { 'title' : 'oro.email.send_email'|trans, 'allowMaximize': true, 'allowMinimize': true, 'dblclick': 'maximize', 'maximizedHeightDecreaseBy': 'minimize-bar', 'width': 1000, 'minWidth': 'expanded' } } } }) }} {% endif %} {% endmacro %} {% macro addMarkUnreadButton(emailEntity) -%} {% if is_granted('oro_email_email_user_edit', emailEntity) %} {% import '@OroUI/macros.html.twig' as UI %} {{ UI.clientButton({ 'dataUrl': path( 'oro_email_mark_seen', { id: emailEntity.id, status: 0 }), 'dataAttributes': { 'page-component-module': 'oroemail/js/app/components/mark-unread-button', 'page-component-options': { 'redirect': path('oro_email_user_emails'), }|json_encode, }, 'aCss': 'no-hash', 'iCss': 'fa-minus hide-text', 'dataId': emailEntity.id, 'label' : 'oro.email.menu.mark_unread.label'|trans }) }} {% endif %} {% endmacro %}