Bladeren bron

membership webform submit fill cart then redirect to checkout, HO YEAH

Bachir Soussi Chiadmi 11 jaren geleden
bovenliggende
commit
3fe3dde8c2
1 gewijzigde bestanden met toevoegingen van 61 en 45 verwijderingen
  1. 61 45
      materio_user.module

+ 61 - 45
materio_user.module

@@ -182,11 +182,12 @@ function materio_user_form_alter(&$form, &$form_state, $form_id) {
 
   }
 
-  // if( $form_id == "webform_client_form_11186" ){
+  # https://drupal.org/comment/6293810#comment-6293810
+  if( $form_id == "webform_client_form_11186" ){
     // dsm($form, '$form');
-    // $form['#validate'][] = "materio_user_webform_client_111186_validate";
-    // $form['#submit'][] = "materio_user_webform_client_111186_submit";
-  // }
+    $form['#validate'][] = "materio_user_webform_client_11186_validate";
+    $form['#submit'][] = "materio_user_webform_client_11186_submit";
+  }
 
 
   // if( $form_id == "user_profile_form" ){
@@ -226,9 +227,11 @@ function materio_user_form_alter(&$form, &$form_state, $form_id) {
 //   );
 // }
 
-function materio_user_webform_client_111186_validate($form, &$form_state){
+function materio_user_webform_client_11186_validate($form, &$form_state){
   // dsm($form, 'form');
   // dsm($form_state, 'form_state');
+
+  # test if collaborators are filled in case of membership option is 3
   $values = $form_state['values']['submitted'];
   if ($values['column_left']['membership_options'] == 3) {
     foreach ($values['collaborators'] as $coll_key => $coll) {
@@ -240,57 +243,72 @@ function materio_user_webform_client_111186_validate($form, &$form_state){
 
           // TODO : tester si les email ne sont pas deja inscrit sur le site
 
-
           form_set_error($field_name, t('You must provide a value for the !name field.', array('!name'=>$human_field_name)));      
         }
       }
     }
-    
-
   } 
 }
 
-// function materio_user_webform_client_111186_submit($form, &$form_state){
-//   dsm($form, 'form');
-//   dsm($form_state, 'form_state');
-//   $values = $form_state['values']['submitted_tree'];
-//   if ($values['membership_options'] == 3) {
-//     $i = 1;
-//     foreach ($values['collaborators'] as $coll_key => $coll) {
-//       // foreach ($coll as $field_key => $field_value) {
-//       //   if($field_value == ''){
-//       //     $human_field_name = $form['submitted']['collaborators'][$coll_key]['#title'] . " : " . $form['submitted']['collaborators'][$coll_key][$field_key]['#title'];
-//       //     $field_name = 'submitted][collaborators]['.$coll_key.']['.$field_key;
-//       //     // dsm($field_name, 'field_name');
-
-//       //     form_set_error($field_name, t('You must provide a value for the !name field.', array('!name'=>$human_field_name)));      
-//       //   }
-//       // }
-//       $userinfo = array(
-//         'mail' => $coll['e_mail_collab_'.$i],
-//         'name' => user_password(),
-//         'pass' => user_password(), // Generate password
-//         // 'init' => $data['components']['username']['value'],
-//         'status' => 0,
-//         'access' => REQUEST_TIME,
-//         'memo' => 'from webform',
-//       );
-//       $account = drupal_anonymous_user();
-//       $account->is_new = TRUE;
-//       user_save($account, $userinfo);
-//       // module_invoke_all('user_insert', $edit, $account);
-//       $i++;
-//     }
-    
+function materio_user_webform_client_11186_submit($form, &$form_state){
+  // dsm($form, 'form');
+  // dsm($form_state, 'form_state');
+  $values = $form_state['values']['submitted_tree'];
 
-//   } 
+  # redirect memebership form to checkout with good option selected
+  
+  $subscription_level = 3;//$values['membership_options'];
+
+  // to redirect to 'node/123?foo=bar#baz':
+  // http://www.ubercart.org/node/1427
+  $form_state['redirect'] = array(
+    'cart/add/e-p11786_q1_a1o'.$subscription_level.'-membershipform',
+    array(
+      'query' => array(
+        'destination' => 'cart/checkout',
+      ),
+      // 'fragment' => 'baz',
+    ),
+  );
 
+# create collaborators users account incase of membership option is 3
+/*
+  if ($values['membership_options'] == 3) {
+    $i = 1;
+    foreach ($values['collaborators'] as $coll_key => $coll) {
+      // foreach ($coll as $field_key => $field_value) {
+      //   if($field_value == ''){
+      //     $human_field_name = $form['submitted']['collaborators'][$coll_key]['#title'] . " : " . $form['submitted']['collaborators'][$coll_key][$field_key]['#title'];
+      //     $field_name = 'submitted][collaborators]['.$coll_key.']['.$field_key;
+      //     // dsm($field_name, 'field_name');
+
+      //     form_set_error($field_name, t('You must provide a value for the !name field.', array('!name'=>$human_field_name)));      
+      //   }
+      // }
+      $userinfo = array(
+        'mail' => $coll['e_mail_collab_'.$i],
+        'name' => user_password(),
+        'pass' => user_password(), // Generate password
+        // 'init' => $data['components']['username']['value'],
+        'status' => 0,
+        'access' => REQUEST_TIME,
+        'memo' => 'from webform',
+      );
+      $account = drupal_anonymous_user();
+      $account->is_new = TRUE;
+      user_save($account, $userinfo);
+      // module_invoke_all('user_insert', $edit, $account);
+      $i++;
+    }
+  } 
+*/
   // enregistrer le type d'adonnement chez les user
 
-// }
+}
+
 /**
  * Implements hook_help().
- */
+*/
 function materio_user_help($path, $arg) {
   // dsm($path, 'path');
   // dsm($arg, 'arg');
@@ -315,7 +333,6 @@ function materio_user_help($path, $arg) {
   }
 }
 
-
 /**
  * Implements hook_block_view_alter().
  */
@@ -327,7 +344,6 @@ function materio_user_block_view_alter(&$data, $block) {
   }
 }
 
-
 /**
  * Define constants
  */