--- gradebook-banot/gradebookapi.module	2009-04-13 12:34:55.000000000 +0100
+++ gradebook-patch-quiz/gradebookapi.module	2009-04-13 11:18:54.000000000 +0100
@@ -639,19 +639,13 @@
 function gradebookapi_assignment_insert($node) {
   require_once('gradebook.datetime.inc');
 
-  if ($node->type!='quiz') {
-    if (_gradebookapi_usedateapi()) {
-      $node->publish_date = _gradebookapi_datepopup2unixtime($node->publish_date);
-      $node->due_date = _gradebookapi_datepopup2unixtime($node->due_date);
-    }
-    else {
-      $node->publish_date = _gradebookapi_drupaldate2unixtime($node->publish_date);
-      $node->due_date = _gradebookapi_drupaldate2unixtime($node->due_date);
-    }
+  if (_gradebookapi_usedateapi()) {
+    $node->publish_date = _gradebookapi_datepopup2unixtime($node->publish_date);
+    $node->due_date = _gradebookapi_datepopup2unixtime($node->due_date);
   }
   else {
-    $node->publish_date = $node->quiz_open;
-    $node->due_date = $node->quiz_close;
+    $node->publish_date = _gradebookapi_drupaldate2unixtime($node->publish_date);
+    $node->due_date = _gradebookapi_drupaldate2unixtime($node->due_date);
   }
 
   $now = time();
@@ -676,19 +670,14 @@
  */
 function gradebookapi_assignment_update(&$node) {
   require_once('gradebook.datetime.inc');
-  if ($node->type!='quiz') {
-    if (_gradebookapi_usedateapi()) {
-      $node->publish_date = _gradebookapi_datepopup2unixtime($node->publish_date);
-      $node->due_date = _gradebookapi_datepopup2unixtime($node->due_date);
-    }
-    else {
-      $node->publish_date = _gradebookapi_drupaldate2unixtime($node->publish_date);
-      $node->due_date = _gradebookapi_drupaldate2unixtime($node->due_date);
-    }
+
+  if (_gradebookapi_usedateapi()) {
+    $node->publish_date = _gradebookapi_datepopup2unixtime($node->publish_date);
+    $node->due_date = _gradebookapi_datepopup2unixtime($node->due_date);
   }
   else {
-    $node->publish_date = $node->quiz_open;
-    $node->due_date = $node->quiz_close;
+    $node->publish_date = _gradebookapi_drupaldate2unixtime($node->publish_date);
+    $node->due_date = _gradebookapi_drupaldate2unixtime($node->due_date);
   }
   if (db_result(db_query('SELECT * FROM {gradebookapi_assignment} a WHERE a.nid = %d', $node->nid))) {
     db_query("UPDATE {gradebookapi_assignment} SET possible = '%s', publish_date = '%d', due_date = '%d' WHERE nid = %d", $node->possible, $node->publish_date, $node->due_date, $node->nid); 
@@ -826,18 +815,6 @@
     '#maxlength' => 10,
     '#required' => TRUE,
   );
-
-  $form['gradebookapi']['possible'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Possible'),
-    '#default_value' => ($node->possible ? $node->possible : '0'),
-    '#size' => 10,
-    '#maxlength' => 10,
-    '#required' => TRUE,
-  );
-
-if ($node->type!='quiz') {
-
   if ($node->due_date == NULL) {
     $node->due_date = strtotime(variable_get('gradebookapi_assignments_interval', '+1 month'));
   }
@@ -846,13 +823,6 @@
     $node->publish_date = time();
   }
 
-  $form['gradebookapi']['dates'] = array(
-    '#type' => 'fieldset',
-    '#collapsible' => FALSE,
-    '#title' => t('Assignment dates'),
-    '#weight' => -8,
-  );
-
   $datetype = _gradebookapi_usedateapi() ? 'date_popup': 'date';
 
   $default = is_numeric($node->due_date) ?  ( 
@@ -860,7 +830,7 @@
               _gradebookapi_unixtime2datepopup($node->due_date) : _gradebookapi_unixtime2drupaldate($node->due_date)) 
              : $node->due_date;
 
-  $form['gradebookapi']['dates']['due_date'] = array(
+  $form['gradebookapi']['due_date'] = array(
     '#prefix' => '<div class="date_widget">',
     '#suffix' => '</div>',
     '#type' => $datetype,
@@ -873,7 +843,7 @@
   );
 
   if ($datetype == 'date') { // include a time field element
-    $form['gradebookapi']['dates']['due_time'] = array(
+    $form['gradebookapi']['due_time'] = array(
       '#type' => 'test_time',
       '#title' => t('Due at'),
       '#default_value' => variable_get('due_time', array('hour' => 12, 'minute' => 0, 'meridiem' => 'pm')),
@@ -884,7 +854,7 @@
              _gradebookapi_unixtime2datepopup($node->publish_date) : _gradebookapi_unixtime2drupaldate($node->publish_date))
              : $node->publish_date;
 
-  $form['gradebookapi']['dates']['publish_date'] = array(
+  $form['gradebookapi']['publish_date'] = array(
     '#prefix' => '<div class="date_widget">',
     '#suffix' => '</div>',    
     '#type' => $datetype,
@@ -896,13 +866,12 @@
     '#date_format' => 'Y-m-d H:i',
   );
   if ($datetype == 'date') { // include a time field element
-    $form['gradebookapi']['dates']['publish_time'] = array(
+    $form['gradebookapi']['publish_time'] = array(
       '#type' => 'test_time',
       '#title' => t('Publish time'),
       '#default_value' => variable_get('publish_time', array('hour' => 12, 'minute' => 0, 'meridiem' => 'pm')),
     );
   }
-}
   $form['#submit'][] = 'gradebookapi_assignment_submit';
   if (isset($oldtid)) {
     $form['gradebookapi']['oldtid'] = array('#type' => 'hidden', '#value' => $oldtid);
@@ -922,8 +891,6 @@
 function gradebookapi_assignment_validate($node, $form = NULL) {
   require_once('gradebook.datetime.inc');
   if ($node) {
-  if ($node->type!='quiz') {
- 
     if (_gradebookapi_usedateapi()) {
       $due_date =  _gradebookapi_datepopup2unixtime($node->due_date);
       $publish_date = _gradebookapi_datepopup2unixtime($node->publish_date);
@@ -932,11 +899,6 @@
       $due_date = _gradebookapi_drupaldate2unixtime($node->due_date);
       $publish_date = _gradebookapi_drupaldate2unixtime($node->publish_date);
     }
-  }
-  else {
-    $due_date = $node->quiz_close;
-    $publish_date = $node->quiz_open;
-  }
     if ($publish_date >= $due_date) {
       form_set_error('publish_date', t('The publish date of an assignment must be before its due date.'));
     }
