Loading commerce_recurring_ui/commerce_recurring_ui.admin.inc +46 −0 Changes for commerce_recurring_ui/commerce_recurring_ui.admin.inc: 46 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -4,6 +4,52 @@ * Admin UI for recurring entities. */ /** * Menu callback: display an overview of available types. */ function commerce_recurring_ui_types_overview() { $header = array( t('Entity Type'), t('Operations'), ); $rows = array(); // Loop through all defined recurring entity types. foreach (commerce_recurring_types() as $type) { $recurring_entity_type = ucfirst(strtr($type, '_', ' ')); // Build the operation links for the current recurring entity type. $links = menu_contextual_links('commerce-recurring-entity-type', 'admin/commerce/recurring-entities/types', array(strtr($type, array('_' => '-')))); // Add the recurring entity type's row to the table's rows array. $rows[] = array( t('@recurring_entity_type', array('@recurring_entity_type' => $recurring_entity_type)), theme('links', array('links' => $links, 'attributes' => array('class' => 'links inline operations'))), ); } // If no recurring entity types are defined... if (empty($rows)) { // Add a standard empty row with a link to add a new recurring // entity type. $rows[] = array( array( 'data' => t('There are no recurring entity types yet.'), 'colspan' => 2, ) ); } return theme('table', array('header' => $header, 'rows' => $rows)); } /** * Redirects a recurring entity type URL to its fields management page. */ function commerce_recurring_ui_entity_type_redirect($type) { drupal_goto('admin/commerce/recurring-entities/types/' . strtr($type, '_', '-') . '/fields'); } /** * Generates the recurring entity editing form. */ Loading commerce_recurring_ui/commerce_recurring_ui.info +1 −1 Changes for commerce_recurring_ui/commerce_recurring_ui.info: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ core = 7.x dependencies[] = commerce_recurring dependencies[] = views configure = admin/commerce/recurring-entities configure = admin/commerce/recurring-entities/types files[] = includes/views/handlers/commerce_recurring_handler_field_order_operations.inc files[] = includes/views/handlers/commerce_recurring_ui_handler_field_operations_dropbutton.inc Loading commerce_recurring_ui/commerce_recurring_ui.module +42 −10 Changes for commerce_recurring_ui/commerce_recurring_ui.module: 42 added lines, 10 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,29 @@ function commerce_recurring_ui_menu() { $items = array(); $items['admin/commerce/recurring-entities/types'] = array( 'title' => 'Recurring entity types', 'description' => 'Manage recurring entity types for your store.', 'page callback' => 'commerce_recurring_ui_types_overview', 'access arguments' => array('administer commerce_recurring entities'), 'type' => MENU_LOCAL_TASK, 'weight' => 0, 'file' => 'commerce_recurring_ui.admin.inc', ); foreach (commerce_recurring_types() as $type) { // Convert underscores to hyphens for the menu item argument. $type_arg = strtr($type, '_', '-'); $title = ucfirst(strtr($type, '_', ' ')); $items['admin/commerce/recurring-entities/types/' . $type_arg] = array( 'title' => $title, 'page callback' => 'commerce_recurring_ui_entity_type_redirect', 'page arguments' => array($type), 'access arguments' => array('administer commerce_recurring entities'), 'file' => 'commerce_recurring_ui.admin.inc', ); } $items['admin/commerce/recurring-entities/%commerce_recurring/edit'] = array( 'title' => 'Edit', 'page callback' => 'entity_ui_get_form', Loading Loading @@ -39,6 +62,20 @@ function commerce_recurring_ui_menu() { return $items; } /** * Implements hook_menu_alter(). */ function commerce_recurring_ui_menu_alter(&$items) { // Transform the field UI tabs into contextual links. foreach (commerce_recurring_types() as $type) { // Convert underscores to hyphens for the menu item argument. $type_arg = strtr($type, '_', '-'); $items['admin/commerce/recurring-entities/types/' . $type_arg . '/fields']['context'] = MENU_CONTEXT_PAGE | MENU_CONTEXT_INLINE; $items['admin/commerce/recurring-entities/types/' . $type_arg . '/display']['context'] = MENU_CONTEXT_PAGE | MENU_CONTEXT_INLINE; } } /** * Implements hook_permission(). */ Loading @@ -56,19 +93,14 @@ function commerce_recurring_ui_permission() { * Implements hook_entity_info_alter(). */ function commerce_recurring_ui_entity_info_alter(&$entity_info) { // @TODO Needs an improvement so it shows up in a different page (no tabs). foreach (commerce_recurring_types() as $type) { $entity_info['commerce_recurring']['bundles'][$type]['admin'] = array( 'path' => "admin/commerce/recurring-entities/$type", // Expose the admin UI for commerce_recurring fields. foreach ($entity_info['commerce_recurring']['bundles'] as $type => &$bundle) { $bundle['admin'] = array( 'path' => 'admin/commerce/recurring-entities/types/' . strtr($type, '_', '-'), 'real path' => 'admin/commerce/recurring-entities/types/' . strtr($type, '_', '-'), 'access arguments' => array('administer commerce_recurring entities'), ); } // Enable the entity API's admin UI. $entity_info['commerce_recurring']['admin ui'] = array( 'path' => 'admin/commerce/recurring-entities', 'file' => 'commerce_recurring_ui.admin.inc', ); } /** Loading Loading
commerce_recurring_ui/commerce_recurring_ui.admin.inc +46 −0 Changes for commerce_recurring_ui/commerce_recurring_ui.admin.inc: 46 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -4,6 +4,52 @@ * Admin UI for recurring entities. */ /** * Menu callback: display an overview of available types. */ function commerce_recurring_ui_types_overview() { $header = array( t('Entity Type'), t('Operations'), ); $rows = array(); // Loop through all defined recurring entity types. foreach (commerce_recurring_types() as $type) { $recurring_entity_type = ucfirst(strtr($type, '_', ' ')); // Build the operation links for the current recurring entity type. $links = menu_contextual_links('commerce-recurring-entity-type', 'admin/commerce/recurring-entities/types', array(strtr($type, array('_' => '-')))); // Add the recurring entity type's row to the table's rows array. $rows[] = array( t('@recurring_entity_type', array('@recurring_entity_type' => $recurring_entity_type)), theme('links', array('links' => $links, 'attributes' => array('class' => 'links inline operations'))), ); } // If no recurring entity types are defined... if (empty($rows)) { // Add a standard empty row with a link to add a new recurring // entity type. $rows[] = array( array( 'data' => t('There are no recurring entity types yet.'), 'colspan' => 2, ) ); } return theme('table', array('header' => $header, 'rows' => $rows)); } /** * Redirects a recurring entity type URL to its fields management page. */ function commerce_recurring_ui_entity_type_redirect($type) { drupal_goto('admin/commerce/recurring-entities/types/' . strtr($type, '_', '-') . '/fields'); } /** * Generates the recurring entity editing form. */ Loading
commerce_recurring_ui/commerce_recurring_ui.info +1 −1 Changes for commerce_recurring_ui/commerce_recurring_ui.info: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ core = 7.x dependencies[] = commerce_recurring dependencies[] = views configure = admin/commerce/recurring-entities configure = admin/commerce/recurring-entities/types files[] = includes/views/handlers/commerce_recurring_handler_field_order_operations.inc files[] = includes/views/handlers/commerce_recurring_ui_handler_field_operations_dropbutton.inc Loading
commerce_recurring_ui/commerce_recurring_ui.module +42 −10 Changes for commerce_recurring_ui/commerce_recurring_ui.module: 42 added lines, 10 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,29 @@ function commerce_recurring_ui_menu() { $items = array(); $items['admin/commerce/recurring-entities/types'] = array( 'title' => 'Recurring entity types', 'description' => 'Manage recurring entity types for your store.', 'page callback' => 'commerce_recurring_ui_types_overview', 'access arguments' => array('administer commerce_recurring entities'), 'type' => MENU_LOCAL_TASK, 'weight' => 0, 'file' => 'commerce_recurring_ui.admin.inc', ); foreach (commerce_recurring_types() as $type) { // Convert underscores to hyphens for the menu item argument. $type_arg = strtr($type, '_', '-'); $title = ucfirst(strtr($type, '_', ' ')); $items['admin/commerce/recurring-entities/types/' . $type_arg] = array( 'title' => $title, 'page callback' => 'commerce_recurring_ui_entity_type_redirect', 'page arguments' => array($type), 'access arguments' => array('administer commerce_recurring entities'), 'file' => 'commerce_recurring_ui.admin.inc', ); } $items['admin/commerce/recurring-entities/%commerce_recurring/edit'] = array( 'title' => 'Edit', 'page callback' => 'entity_ui_get_form', Loading Loading @@ -39,6 +62,20 @@ function commerce_recurring_ui_menu() { return $items; } /** * Implements hook_menu_alter(). */ function commerce_recurring_ui_menu_alter(&$items) { // Transform the field UI tabs into contextual links. foreach (commerce_recurring_types() as $type) { // Convert underscores to hyphens for the menu item argument. $type_arg = strtr($type, '_', '-'); $items['admin/commerce/recurring-entities/types/' . $type_arg . '/fields']['context'] = MENU_CONTEXT_PAGE | MENU_CONTEXT_INLINE; $items['admin/commerce/recurring-entities/types/' . $type_arg . '/display']['context'] = MENU_CONTEXT_PAGE | MENU_CONTEXT_INLINE; } } /** * Implements hook_permission(). */ Loading @@ -56,19 +93,14 @@ function commerce_recurring_ui_permission() { * Implements hook_entity_info_alter(). */ function commerce_recurring_ui_entity_info_alter(&$entity_info) { // @TODO Needs an improvement so it shows up in a different page (no tabs). foreach (commerce_recurring_types() as $type) { $entity_info['commerce_recurring']['bundles'][$type]['admin'] = array( 'path' => "admin/commerce/recurring-entities/$type", // Expose the admin UI for commerce_recurring fields. foreach ($entity_info['commerce_recurring']['bundles'] as $type => &$bundle) { $bundle['admin'] = array( 'path' => 'admin/commerce/recurring-entities/types/' . strtr($type, '_', '-'), 'real path' => 'admin/commerce/recurring-entities/types/' . strtr($type, '_', '-'), 'access arguments' => array('administer commerce_recurring entities'), ); } // Enable the entity API's admin UI. $entity_info['commerce_recurring']['admin ui'] = array( 'path' => 'admin/commerce/recurring-entities', 'file' => 'commerce_recurring_ui.admin.inc', ); } /** Loading