commerce_message_handler_area_add_message.inc in Commerce Message 7
File
includes/views/handlers/commerce_message_handler_area_add_message.inc
View source
<?php
class commerce_message_handler_area_add_message extends views_handler_area {
function option_definition() {
$options = parent::option_definition();
$options['valid_types'] = array(
'default' => array(),
);
return $options;
}
function options_form(&$form, &$form_state) {
parent::options_form($form, $form_state);
$options = array();
foreach (message_type_load() as $name => $message_type) {
$options[$name] = check_plain($message_type->description);
}
$form['valid_types'] = array(
'#type' => 'select',
'#title' => t('Valid types'),
'#options' => $options,
'#default_value' => $this->options['valid_types'],
'#multiple' => TRUE,
);
}
public function render($empty = FALSE) {
$order_argument = $this->view->argument['message_commerce_order_target_id'];
if (!isset($order_argument->value[0])) {
return;
}
$message = entity_create('message', array(
'type' => 'commerce_order_user_comment',
));
$message->message_commerce_order[LANGUAGE_NONE][0]['target_id'] = $order_argument->value[0];
$commerce_message_message_form = drupal_get_form('commerce_message_message_form', $message, $this->options['valid_types'], $this->view->current_display);
return drupal_render($commerce_message_message_form);
}
}