diff --git a/cod_sponsors/modules/cod_sponsors_commerce/cod_sponsors_commerce.module b/cod_sponsors/modules/cod_sponsors_commerce/cod_sponsors_commerce.module index ab7dbb0..a2bb8b3 100644 --- a/cod_sponsors/modules/cod_sponsors_commerce/cod_sponsors_commerce.module +++ b/cod_sponsors/modules/cod_sponsors_commerce/cod_sponsors_commerce.module @@ -241,19 +241,23 @@ function cod_sponsors_commerce_inline_entity_form_entity_form_submit($entity_for /* * Check to make sure whomever is adding a node to the cart is the owner of the node. */ -function cod_sponsors_commerce_product_access($product, $node) { - global $user; - if (!entity_access('view', 'commerce_product', $product)) { +function cod_sponsors_commerce_product_access($product, $node) +{ + global $user; + if (!empty($node->field_sponsor_related_attendees)) { + foreach (array_keys($node->field_sponsor_related_attendees[LANGUAGE_NONE]) as $key) { + if ($node->field_sponsor_related_attendees[LANGUAGE_NONE][$key]['target_id'] == $user->uid) { + return TRUE; + } + } + } + if ($node->uid == $user->uid) { + return TRUE; + } + if (!entity_access('view', 'commerce_product', $product)) { + return FALSE; + } return FALSE; - } - if ($node->uid == $user->uid) { - return TRUE; - } - // TODO: This is pseudo code. - if (!empty($node->field_sponsor_related_attendees) && in_array($node->field_sponsor_related_attendees[LANGUAGE_NONE], $user->uid)) { - return TRUE; - } - return FALSE; } /** * Custom function to add product(s) to a cart by product id. @@ -278,6 +282,6 @@ function cod_sponsors_commerce_product_add($product, $node) { $line_item = commerce_product_line_item_new($product, 1, 0, $data, 'sponsorship'); $line_item->field_sponsorship_node[LANGUAGE_NONE][0]['target_id'] = $node->nid; $line_item = commerce_cart_product_add($uid, $line_item, FALSE); - drupal_goto('checkout'); + drupal_goto('cart'); } } \ No newline at end of file