From a6005416138c82491c59770d2d8fca8ca801972e Mon Sep 17 00:00:00 2001 From: Jakob Torp Date: Mon, 18 Jun 2012 11:33:57 +0200 Subject: [PATCH] #1644320 by googletorp: Add order email to views data. --- modules/order/commerce_order.info | 1 + .../order/includes/views/commerce_order.views.inc | 19 +++++++++ .../handlers/commerce_order_handler_field_mail.inc | 43 ++++++++++++++++++++ 3 files changed, 63 insertions(+), 0 deletions(-) create mode 100644 modules/order/includes/views/handlers/commerce_order_handler_field_mail.inc diff --git a/modules/order/commerce_order.info b/modules/order/commerce_order.info index fdd3136..fcfdb6b 100644 --- a/modules/order/commerce_order.info +++ b/modules/order/commerce_order.info @@ -27,6 +27,7 @@ files[] = includes/views/handlers/commerce_order_handler_field_order_link.inc files[] = includes/views/handlers/commerce_order_handler_field_order_link_delete.inc files[] = includes/views/handlers/commerce_order_handler_field_order_link_edit.inc files[] = includes/views/handlers/commerce_order_handler_field_order_operations.inc +files[] = includes/views/handlers/commerce_order_handler_field_mail.inc files[] = includes/views/handlers/commerce_order_handler_filter_order_status.inc files[] = includes/views/handlers/commerce_order_handler_filter_order_state.inc files[] = includes/views/handlers/commerce_order_handler_filter_order_type.inc diff --git a/modules/order/includes/views/commerce_order.views.inc b/modules/order/includes/views/commerce_order.views.inc index 5e3f3a9..227030c 100644 --- a/modules/order/includes/views/commerce_order.views.inc +++ b/modules/order/includes/views/commerce_order.views.inc @@ -145,6 +145,25 @@ function commerce_order_views_data() { ), ); + // Expose the order mail. + $data['commerce_order']['mail'] = array( + 'title' => t('Order e-mail'), + 'help' => t('The e-mail of the owner owner.'), + 'field' => array( + 'handler' => 'commerce_order_handler_field_mail', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + ); + // Expose the created and changed timestamps. $data['commerce_order']['created'] = array( 'title' => t('Created date'), diff --git a/modules/order/includes/views/handlers/commerce_order_handler_field_mail.inc b/modules/order/includes/views/handlers/commerce_order_handler_field_mail.inc new file mode 100644 index 0000000..1f32a8b --- /dev/null +++ b/modules/order/includes/views/handlers/commerce_order_handler_field_mail.inc @@ -0,0 +1,43 @@ + FALSE); + + return $options; + } + + /** + * Provide the link to order option. + */ + function options_form(&$form, &$form_state) { + parent::options_form($form, $form_state); + + $form['render_as_link'] = array( + '#type' => 'checkbox', + '#title' => t('Render as link'), + '#description' => t('Display the e-mail as a mailto link.'), + '#default_value' => $this->options['render_as_link'], + ); + } + + function render($values) { + if (!empty($this->options['render_as_link'])) { + $value = $this->get_value($values); + $this->options['alter']['make_link'] = TRUE; + $this->options['alter']['path'] = "mailto:" . $this->sanitize_value($value); + } + return parent::render($values); + } +} -- 1.7.4.4