Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
By canardesign on
Hi !
I'm building a custom orders view for a Drupal 7 commerce web site, I need to allow users of a specific role to "validate" orders, i.e change the order status from 'Pending' to 'Processing' by clicking a link or checking a box. I tried to accomplish this with a custom module with no succes, now I'm trying to implement this with Rules link but no new field is available in my view. Any suggestion would be appreciated.
Here's the view :
$view = new view();
$view->name = 'restauorders';
$view->description = 'Display a list of orders for the store admin.';
$view->tag = 'commerce';
$view->base_table = 'commerce_order';
$view->human_name = 'RestauOrders';
$view->core = 0;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
/* Display: Defaults */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->display->display_options['title'] = 'Mes commandes';
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['use_more_text'] = 'plus';
$handler->display->display_options['access']['type'] = 'php';
$handler->display->display_options['access']['php_access'] = 'global $user;
$user_fields = user_load($user->uid);
$resto=$user_fields->field_restaurant_owned[\'und\'][0][\'target_id\'];
$urlResto=drupal_basename(request_uri());
return $resto==$urlResto;
';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['exposed_form']['options']['submit_button'] = 'Appliquer';
$handler->display->display_options['exposed_form']['options']['reset_button_label'] = 'Réinitialiser';
$handler->display->display_options['exposed_form']['options']['exposed_sorts_label'] = 'Trier par';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = 50;
$handler->display->display_options['pager']['options']['expose']['items_per_page_label'] = 'Éléments par page';
$handler->display->display_options['pager']['options']['expose']['items_per_page_options_all_label'] = '- Tout -';
$handler->display->display_options['pager']['options']['expose']['offset_label'] = 'Décalage';
$handler->display->display_options['pager']['options']['tags']['first'] = '« premier';
$handler->display->display_options['pager']['options']['tags']['previous'] = '‹ précédent';
$handler->display->display_options['pager']['options']['tags']['next'] = 'suivant ›';
$handler->display->display_options['pager']['options']['tags']['last'] = 'dernier »';
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
'order_number' => 'order_number',
'changed' => 'changed',
'commerce_customer_address' => 'commerce_customer_address',
'name' => 'name',
'commerce_order_total' => 'commerce_order_total',
'status' => 'status',
'operations' => 'operations',
'field_restaurant_order' => 'field_restaurant_order',
);
$handler->display->display_options['style_options']['default'] = 'changed';
$handler->display->display_options['style_options']['info'] = array(
'order_number' => array(
'sortable' => 1,
'default_sort_order' => 'desc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'changed' => array(
'sortable' => 1,
'default_sort_order' => 'desc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'commerce_customer_address' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'name' => array(
'sortable' => 1,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'commerce_order_total' => array(
'sortable' => 1,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'status' => array(
'sortable' => 1,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'operations' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_restaurant_order' => array(
'sortable' => 1,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
);
$handler->display->display_options['style_options']['empty_table'] = TRUE;
/* Entête: Global: PHP */
$handler->display->display_options['header']['php']['id'] = 'php';
$handler->display->display_options['header']['php']['table'] = 'views';
$handler->display->display_options['header']['php']['field'] = 'php';
$handler->display->display_options['header']['php']['php_output'] = '<?php
/*global $user;
$user_fields = user_load($user->uid);
$resto=$user_fields->field_restaurant_owned[\'und\'][0][\'target_id\'];
$urlResto=drupal_basename(request_uri());
echo \'resto du mec=\'.$resto.\'<br/>resto demande=\'.$urlResto;*/
?>
';
/* No results behavior: Commande Drupal Commerce: Texte de page vide */
$handler->display->display_options['empty']['empty_text']['id'] = 'empty_text';
$handler->display->display_options['empty']['empty_text']['table'] = 'commerce_order';
$handler->display->display_options['empty']['empty_text']['field'] = 'empty_text';
$handler->display->display_options['empty']['empty_text']['empty'] = TRUE;
/* Relationship: Commande Drupal Commerce: Propriétaire */
$handler->display->display_options['relationships']['uid']['id'] = 'uid';
$handler->display->display_options['relationships']['uid']['table'] = 'commerce_order';
$handler->display->display_options['relationships']['uid']['field'] = 'uid';
/* Relationship: Commande Drupal Commerce: Profil client référencé */
$handler->display->display_options['relationships']['commerce_customer_billing_profile_id']['id'] = 'commerce_customer_billing_profile_id';
$handler->display->display_options['relationships']['commerce_customer_billing_profile_id']['table'] = 'field_data_commerce_customer_billing';
$handler->display->display_options['relationships']['commerce_customer_billing_profile_id']['field'] = 'commerce_customer_billing_profile_id';
/* Relationship: Commande Drupal Commerce: Transaction de paiement */
$handler->display->display_options['relationships']['payment_transaction']['id'] = 'payment_transaction';
$handler->display->display_options['relationships']['payment_transaction']['table'] = 'commerce_order';
$handler->display->display_options['relationships']['payment_transaction']['field'] = 'payment_transaction';
/* Champ: Commande Drupal Commerce: Numéro de commande */
$handler->display->display_options['fields']['order_number']['id'] = 'order_number';
$handler->display->display_options['fields']['order_number']['table'] = 'commerce_order';
$handler->display->display_options['fields']['order_number']['field'] = 'order_number';
$handler->display->display_options['fields']['order_number']['label'] = 'Numéro';
/* Champ: Commerce Payment Transaction: Mode de paiement */
$handler->display->display_options['fields']['payment_method']['id'] = 'payment_method';
$handler->display->display_options['fields']['payment_method']['table'] = 'commerce_payment_transaction';
$handler->display->display_options['fields']['payment_method']['field'] = 'payment_method';
$handler->display->display_options['fields']['payment_method']['relationship'] = 'payment_transaction';
$handler->display->display_options['fields']['payment_method']['label'] = 'Paiement';
$handler->display->display_options['fields']['payment_method']['exclude'] = TRUE;
$handler->display->display_options['fields']['payment_method']['title'] = 'short_title';
/* Champ: Commande Drupal Commerce: Date de mise à jour */
$handler->display->display_options['fields']['changed']['id'] = 'changed';
$handler->display->display_options['fields']['changed']['table'] = 'commerce_order';
$handler->display->display_options['fields']['changed']['field'] = 'changed';
$handler->display->display_options['fields']['changed']['label'] = 'Date';
$handler->display->display_options['fields']['changed']['date_format'] = 'time ago';
$handler->display->display_options['fields']['changed']['second_date_format'] = 'long';
/* Champ: Profil client Commerce: Adresse */
$handler->display->display_options['fields']['commerce_customer_address']['id'] = 'commerce_customer_address';
$handler->display->display_options['fields']['commerce_customer_address']['table'] = 'field_data_commerce_customer_address';
$handler->display->display_options['fields']['commerce_customer_address']['field'] = 'commerce_customer_address';
$handler->display->display_options['fields']['commerce_customer_address']['relationship'] = 'commerce_customer_billing_profile_id';
$handler->display->display_options['fields']['commerce_customer_address']['label'] = 'Client';
$handler->display->display_options['fields']['commerce_customer_address']['alter']['text'] = '[commerce_customer_address-first_name] [commerce_customer_address-last_name]
[commerce_customer_address]
[commerce_customer_address-postal_code]
[commerce_customer_address-premise]';
$handler->display->display_options['fields']['commerce_customer_address']['empty'] = '-';
$handler->display->display_options['fields']['commerce_customer_address']['hide_alter_empty'] = FALSE;
$handler->display->display_options['fields']['commerce_customer_address']['click_sort_column'] = 'country';
$handler->display->display_options['fields']['commerce_customer_address']['settings'] = array(
'use_widget_handlers' => 0,
'format_handlers' => array(
'address' => 'address',
'name-oneline' => 'name-oneline',
),
);
/* Champ: Utilisateur: Nom */
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'users';
$handler->display->display_options['fields']['name']['field'] = 'name';
$handler->display->display_options['fields']['name']['relationship'] = 'uid';
$handler->display->display_options['fields']['name']['label'] = 'User';
$handler->display->display_options['fields']['name']['exclude'] = TRUE;
/* Champ: Commande Drupal Commerce: Line items */
$handler->display->display_options['fields']['commerce_line_items']['id'] = 'commerce_line_items';
$handler->display->display_options['fields']['commerce_line_items']['table'] = 'field_data_commerce_line_items';
$handler->display->display_options['fields']['commerce_line_items']['field'] = 'commerce_line_items';
$handler->display->display_options['fields']['commerce_line_items']['label'] = 'Contenu';
$handler->display->display_options['fields']['commerce_line_items']['settings'] = array(
'view' => 'commerce_line_item_table|default',
);
$handler->display->display_options['fields']['commerce_line_items']['delta_offset'] = '0';
/* Champ: Commande Drupal Commerce: RestaurantOrder */
$handler->display->display_options['fields']['field_restaurant_order']['id'] = 'field_restaurant_order';
$handler->display->display_options['fields']['field_restaurant_order']['table'] = 'field_data_field_restaurant_order';
$handler->display->display_options['fields']['field_restaurant_order']['field'] = 'field_restaurant_order';
$handler->display->display_options['fields']['field_restaurant_order']['label'] = 'Restaurant';
$handler->display->display_options['fields']['field_restaurant_order']['exclude'] = TRUE;
$handler->display->display_options['fields']['field_restaurant_order']['alter']['text'] = '[field_restaurant_order-target_id] ';
$handler->display->display_options['fields']['field_restaurant_order']['empty'] = 'n/a';
$handler->display->display_options['fields']['field_restaurant_order']['settings'] = array(
'link' => 0,
);
/* Champ: Commande Drupal Commerce: Order total */
$handler->display->display_options['fields']['commerce_order_total']['id'] = 'commerce_order_total';
$handler->display->display_options['fields']['commerce_order_total']['table'] = 'field_data_commerce_order_total';
$handler->display->display_options['fields']['commerce_order_total']['field'] = 'commerce_order_total';
$handler->display->display_options['fields']['commerce_order_total']['label'] = 'Total';
$handler->display->display_options['fields']['commerce_order_total']['alter']['alter_text'] = TRUE;
$handler->display->display_options['fields']['commerce_order_total']['alter']['text'] = '[commerce_order_total] <br/>[payment_method]';
$handler->display->display_options['fields']['commerce_order_total']['click_sort_column'] = 'amount';
$handler->display->display_options['fields']['commerce_order_total']['settings'] = array(
'calculation' => FALSE,
);
/* Champ: Commande Drupal Commerce: Statut de la commande */
$handler->display->display_options['fields']['status']['id'] = 'status';
$handler->display->display_options['fields']['status']['table'] = 'commerce_order';
$handler->display->display_options['fields']['status']['field'] = 'status';
$handler->display->display_options['fields']['status']['label'] = 'Statut';
/* Champ: Commande Drupal Commerce: Lien de modification */
$handler->display->display_options['fields']['edit_order']['id'] = 'edit_order';
$handler->display->display_options['fields']['edit_order']['table'] = 'commerce_order';
$handler->display->display_options['fields']['edit_order']['field'] = 'edit_order';
$handler->display->display_options['fields']['edit_order']['label'] = 'Actions';
$handler->display->display_options['fields']['edit_order']['exclude'] = TRUE;
/* Sort criterion: Commande Drupal Commerce: Date de création */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'commerce_order';
$handler->display->display_options['sorts']['created']['field'] = 'created';
$handler->display->display_options['sorts']['created']['order'] = 'DESC';
$handler->display->display_options['sorts']['created']['expose']['label'] = 'Date de création';
$handler->display->display_options['sorts']['created']['granularity'] = 'minute';
/* Contextual filter: Commande Drupal Commerce: RestaurantOrder (field_restaurant_order) */
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['id'] = 'field_restaurant_order_target_id';
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['table'] = 'field_data_field_restaurant_order';
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['field'] = 'field_restaurant_order_target_id';
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['default_action'] = 'access denied';
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['exception']['title'] = 'Tout';
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['title_enable'] = TRUE;
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['title'] = 'Commandes %1';
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['summary_options']['items_per_page'] = '25';
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['specify_validation'] = TRUE;
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['validate']['type'] = 'node';
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['validate_options']['types'] = array(
'restaurant' => 'restaurant',
);
$handler->display->display_options['arguments']['field_restaurant_order_target_id']['validate']['fail'] = 'access denied';
/* Filter criterion: Commande Drupal Commerce: État de la commande */
$handler->display->display_options['filters']['state']['id'] = 'state';
$handler->display->display_options['filters']['state']['table'] = 'commerce_order';
$handler->display->display_options['filters']['state']['field'] = 'state';
$handler->display->display_options['filters']['state']['operator'] = 'not in';
$handler->display->display_options['filters']['state']['value'] = array(
'cart' => 'cart',
'checkout' => 'checkout',
);
$handler->display->display_options['filters']['state']['group'] = 1;
$handler->display->display_options['filters']['state']['expose']['label'] = 'Order state';
$handler->display->display_options['filters']['state']['expose']['use_operator'] = TRUE;
$handler->display->display_options['filters']['state']['expose']['operator'] = 'state_op';
$handler->display->display_options['filters']['state']['expose']['identifier'] = 'state';
/* Display: Admin page */
$handler = $view->new_display('page', 'Admin page', 'admin_page');
$handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
$handler->display->display_options['path'] = 'mes-commandes/%';
$handler->display->display_options['menu']['title'] = 'Orders';
$handler->display->display_options['menu']['weight'] = '-10';
$handler->display->display_options['menu']['context'] = 0;
$handler->display->display_options['menu']['context_only_inline'] = 0;
$handler->display->display_options['tab_options']['type'] = 'normal';
$handler->display->display_options['tab_options']['title'] = 'Orders';
$handler->display->display_options['tab_options']['description'] = 'Manage orders in the store.';
$handler->display->display_options['tab_options']['weight'] = '';
$handler->display->display_options['tab_options']['name'] = 'management';
$translatables['restauorders'] = array(
t('Defaults'),
t('Mes commandes'),
t('plus'),
t('Appliquer'),
t('Réinitialiser'),
t('Trier par'),
t('Asc'),
t('Desc'),
t('Éléments par page'),
t('- Tout -'),
t('Décalage'),
t('« premier'),
t('‹ précédent'),
t('suivant ›'),
t('dernier »'),
t('Auteur de la commande'),
t('Customer profile referenced by commerce_customer_billing'),
t('Transaction'),
t('Numéro'),
t('Paiement'),
t('Date'),
t('Client'),
t('[commerce_customer_address-first_name] [commerce_customer_address-last_name]
[commerce_customer_address]
[commerce_customer_address-postal_code]
[commerce_customer_address-premise]'),
t('-'),
t('User'),
t('Contenu'),
t('Restaurant'),
t('[field_restaurant_order-target_id] '),
t('n/a'),
t('Total'),
t('[commerce_order_total] <br/>[payment_method]'),
t('Statut'),
t('Actions'),
t('Date de création'),
t('Tout'),
t('Commandes %1'),
t('Order state'),
t('Admin page'),
);