Index: product/product.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ecommerce/product/Attic/product.module,v
retrieving revision 1.116.2.17.2.10.2.30
diff -u -r1.116.2.17.2.10.2.30 product.module
--- product/product.module	17 Nov 2008 04:04:58 -0000	1.116.2.17.2.10.2.30
+++ product/product.module	16 Jan 2009 19:08:18 -0000
@@ -432,7 +432,9 @@
  */
 function product_form_alter($form_id, &$form) {
   if ($form['type'] && $form_id == $form['type']['#value'] . '_node_form') {
-    if (user_access('administer products') && $form['type']['#value'] != 'product') {
+    // Check for proper permission for create or edit products.
+    $access = (isset($form['#node']->nid) ? product_access('update', $form['#node']) : product_access('create', $form['#node']));
+    if ($access && $form['type']['#value'] != 'product') {
       if ($form['#node']->ptype) {
         if (!isset($form['product'])) {
           $form['product'] = array();
