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'),
'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";
}
if($form_id == "user_login" ){
// dsm($form);
@ -179,25 +183,22 @@ function materio_user_form_alter(&$form, &$form_state, $form_id) {
// if( $_GET['q'] == 'node/11187' ){
// $form['#submit'][] = "materio_user_user_login_form_submit";
// }
}
# https://drupal.org/comment/6293810#comment-6293810
if( $form_id == "webform_client_form_11186" ){
// dsm($form, '$form');
$form['#validate'][] = "materio_user_webform_client_11186_validate";
$form['#submit'][] = "materio_user_webform_client_11186_submit";
materio_user_webform_client_11186_form_alter($form, $form_state, $form_id);
}
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" ){
// //dsm($form, '$form');
// $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){
@ -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){
// dsm($form, 'form');
// dsm($form_state, 'form_state');
@ -272,14 +312,14 @@ function materio_user_webform_client_11186_validate($form, &$form_state){
}
}
/**
* subscription webform (nid : 11186)
*
* retreive from the web form info, record them into user profil
*/
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_state, 'form_state');
$node = &$form['#node'];
// dsm($node, '$node');
$values = $form_state['values']['submitted_tree'];
// 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);
// 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
materio_user_record_member_profile($flat_values);
# create collaborators users account incase of membership option is 3
# NO wait for checkout for that
//materio_user_create_collaborators_users();
# redirect membership form to checkout with good option selected
if(user_access('access to online payment')){
// 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) {
@ -423,7 +475,7 @@ function materio_user_uc_cart_checkout_form_alter(&$form, &$form_state, $form_id
* Implements hook_uc_order();
*/
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($arg2, "arg2");
@ -434,7 +486,6 @@ function materio_user_order($op, $order, $arg2) {
}
}
# not used yet
function materio_user_create_collaborators_users(){
@ -497,7 +548,6 @@ function materio_user_help($path, $arg) {
}
}
/**
* Implements hook_block_view_alter().
*/
@ -509,7 +559,6 @@ function materio_user_block_view_alter(&$data, $block) {
}
}
/**
* Define constants
*/