add permission to access to payment

prefile webform 11186 with recorded user profile infos
This commit is contained in:
Bachir Soussi Chiadmi 2014-07-10 19:47:43 +02:00
parent 5835745cc2
commit 4756fdaf77

View File

@ -18,6 +18,10 @@ function materio_user_permission() {
'title' => t('view own user profile'), 'title' => t('view own user profile'),
'description' => t('view own user profile'), 'description' => t('view own user profile'),
), ),
'access to online payment' => array(
'title' => t('access to online payment'),
'description' => t('Access to online payment'),
),
); );
} }
@ -168,8 +172,8 @@ function materio_user_form_alter(&$form, &$form_state, $form_id) {
// ); // );
// $form['#submit'][] = "materio_user_user_register_form_submit"; // $form['#submit'][] = "materio_user_user_register_form_submit";
} }
if($form_id == "user_login" ){ if($form_id == "user_login" ){
// dsm($form); // dsm($form);
@ -179,25 +183,22 @@ function materio_user_form_alter(&$form, &$form_state, $form_id) {
// if( $_GET['q'] == 'node/11187' ){ // if( $_GET['q'] == 'node/11187' ){
// $form['#submit'][] = "materio_user_user_login_form_submit"; // $form['#submit'][] = "materio_user_user_login_form_submit";
// } // }
} }
# https://drupal.org/comment/6293810#comment-6293810 # https://drupal.org/comment/6293810#comment-6293810
if( $form_id == "webform_client_form_11186" ){ if( $form_id == "webform_client_form_11186" ){
// dsm($form, '$form'); // dsm($form, '$form');
$form['#validate'][] = "materio_user_webform_client_11186_validate"; materio_user_webform_client_11186_form_alter($form, $form_state, $form_id);
$form['#submit'][] = "materio_user_webform_client_11186_submit";
} }
if( $form_id == "uc_cart_checkout_form" ){
materio_user_uc_cart_checkout_form_alter($form, $form_state, $form_id);
}
// if( $form_id == "user_profile_form" ){ // if( $form_id == "user_profile_form" ){
// //dsm($form, '$form'); // //dsm($form, '$form');
// $form['account']['pass']['#type'] = "new_password_confirm"; // $form['account']['pass']['#type'] = "new_password_confirm";
// } // }
if( $form_id == "uc_cart_checkout_form" ){
materio_user_uc_cart_checkout_form_alter($form, $form_state, $form_id);
}
} }
// function materio_user_user_register_form_submit($form, &$form_state){ // function materio_user_user_register_form_submit($form, &$form_state){
@ -231,6 +232,45 @@ function materio_user_form_alter(&$form, &$form_state, $form_id) {
// ); // );
// } // }
/**
* subscription webform (nid : 11186)
*/
# prefill the webform form with user profil values
# add validate and submit functions
function materio_user_webform_client_11186_form_alter(&$form, &$form_state, $form_id){
// dsm($form_id, 'form_id');
// dsm($form, "form");
// dsm($form_state, "form_state");
$form['#validate'][] = "materio_user_webform_client_11186_validate";
$form['#submit'][] = "materio_user_webform_client_11186_submit";
global $user;
// dsm($user, 'user');
$member_profile = profile2_load_by_user($user, 'adherent');
// dsm($member_profile, "member_profile");
$columnright = &$form['submitted']['column_right'];
$columnright['me']['firstname']['#default_value'] = $member_profile->field_first_name['und'][0]['value'];
$columnright['me']['name']['#default_value'] = $member_profile->field_name['und'][0]['value'];
$columnright['company']['administrative_e_mail']['#default_value'] = $member_profile->field_administrative_email['und'][0]['value'];
$columnright['company']['s']['company']['#default_value'] = $member_profile->field_organization['und'][0]['value'];
$columnright['company']['s']['activity_sector']['#default_value'] = $member_profile->field_activity_sector['und'][0]['value'];
$columnright['company']['d']['vat_number_intra_ce']['#default_value'] = $member_profile->field_vat_number_intra_ce['und'][0]['value'];
$columnright['company']['d']['website']['#default_value'] = $member_profile->field_user_website['und'][0]['url'];
$address = $member_profile->field_adresse['und'][0];
$formaddress = &$columnright['company']['location']['#address'];
$formaddress['country'] = $address['country'];
$formaddress['thoroughfare'] = $address['thoroughfare'];
$formaddress['premise'] = $address['premise'];
$formaddress['postal_code'] = $address['postal_code'];
$formaddress['locality'] = $address['locality'];
}
function materio_user_webform_client_11186_validate($form, &$form_state){ function materio_user_webform_client_11186_validate($form, &$form_state){
// dsm($form, 'form'); // dsm($form, 'form');
// dsm($form_state, 'form_state'); // dsm($form_state, 'form_state');
@ -272,14 +312,14 @@ function materio_user_webform_client_11186_validate($form, &$form_state){
} }
} }
/** #retreive from the web form info, record them into user profil
* subscription webform (nid : 11186) function materio_user_webform_client_11186_submit(&$form, &$form_state){
*
* retreive from the web form info, record them into user profil
*/
function materio_user_webform_client_11186_submit($form, &$form_state){
// dsm($form, 'form'); // dsm($form, 'form');
// dsm($form_state, 'form_state'); // dsm($form_state, 'form_state');
$node = &$form['#node'];
// dsm($node, '$node');
$values = $form_state['values']['submitted_tree']; $values = $form_state['values']['submitted_tree'];
// dsm($values, '$values'); // dsm($values, '$values');
@ -287,27 +327,39 @@ function materio_user_webform_client_11186_submit($form, &$form_state){
materio_user_flatenize_form_values($values, $flat_values); materio_user_flatenize_form_values($values, $flat_values);
// dsm($flat_values, 'flat_values'); // dsm($flat_values, 'flat_values');
# redirect membership form to checkout with good option selected
$subscription_level = $flat_values['membership_options'];
// http://www.ubercart.org/node/1427
$form_state['redirect'] = array(
'cart/add/e-p11849_q1_a1o'.$subscription_level.'-membershipform',
array(
'query' => array(
'destination' => 'cart/checkout',
),
// 'fragment' => 'baz',
),
);
# records values in member profile # records values in member profile
materio_user_record_member_profile($flat_values); materio_user_record_member_profile($flat_values);
# create collaborators users account incase of membership option is 3 # redirect membership form to checkout with good option selected
# NO wait for checkout for that if(user_access('access to online payment')){
//materio_user_create_collaborators_users();
// forcer le vidage du panier
uc_cart_empty(uc_cart_get_id());
// fill the cart and redirect to checkout
// cf : http://www.ubercart.org/node/1427
$subscription_level = $flat_values['membership_options'];
$form_state['redirect'] = array(
'cart/add/e-p11849_q1_a1o'.$subscription_level.'-membershipform',
array(
'query' => array(
'destination' => 'cart/checkout',
),
// 'fragment' => 'baz',
),
);
// TODO effacer le message de soumissions du formulaire -> pas moyen de overwriter le message de webform depuis ici, dommage
// $node->webform['confirmation'] = '';
# create collaborators users account incase of membership option is 3
# NO wait for checkout for that
//materio_user_create_collaborators_users();
// enregistrer le type d'adonnement chez les user
}
// enregistrer le type d'adonnement chez les user
} }
function materio_user_record_member_profile($values) { function materio_user_record_member_profile($values) {
@ -423,7 +475,7 @@ function materio_user_uc_cart_checkout_form_alter(&$form, &$form_state, $form_id
* Implements hook_uc_order(); * Implements hook_uc_order();
*/ */
function materio_user_order($op, $order, $arg2) { function materio_user_order($op, $order, $arg2) {
dsm($op, "matyerio_user_uc_order | op"); // dsm($op, "matyerio_user_uc_order | op");
// dsm($order, "order"); // dsm($order, "order");
// dsm($arg2, "arg2"); // dsm($arg2, "arg2");
@ -434,7 +486,6 @@ function materio_user_order($op, $order, $arg2) {
} }
} }
# not used yet # not used yet
function materio_user_create_collaborators_users(){ function materio_user_create_collaborators_users(){
@ -497,7 +548,6 @@ function materio_user_help($path, $arg) {
} }
} }
/** /**
* Implements hook_block_view_alter(). * Implements hook_block_view_alter().
*/ */
@ -509,7 +559,6 @@ function materio_user_block_view_alter(&$data, $block) {
} }
} }
/** /**
* Define constants * Define constants
*/ */