I added new “Markup” field into commerce_product table using custom module. Now I need to create a rule to calculate (sell_price=prod_price*markup), but I can’t acccess Markup field throught Rules selectors. Is there a UI , or what hooks should I implement to solve that problem?
Here is complete comm_markup module code:
function comm_markup_schema_alter(&$schema) {
$schema['commerce_product']['fields']['markup'] = array(
'type' => 'float',
'not null' => TRUE,
'default' => 1,
'description' => 'Price markup field',
);
}
function comm_markup_install() {
$schema = drupal_get_schema('commerce_product');
db_add_field('commerce_product', 'markup', $schema['fields']['markup']);
}
function comm_markup_entity_property_info_alter(&$info) {
$properties = &$info['commerce_product']['properties'];
$properties['markup'] = array(
'label' => t('Price markup'),
'type' => 'decimal',
'description' => 'Gross price multiplier (defines profit amount).',
'schema field' => 'markup',
'getter callback' => 'entity_property_verbatim_get',
'setter callback' => 'entity_property_verbatim_set',
);
}
function comm_markup_views_data_alter(&$data) {
$data['commerce_product']['markup'] = array(
'title' => t('Price markup field'),
'help' => t('Multiplier. Adds profit to the gross price.'),
'field' => array(
'handler' => 'views_handler_field_numeric',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_numeric',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
}