I GET THE MODAL FORM POPUP,ITS showing well.
when i submit, a value on validation everything works well,i mean the error messages are displayed on the form.
but when is reaches the submit i am getting this error "An AJAX HTTP error occurred. HTTP Result Code: 200".
with if logged in as adminstrator it shows lots of debugging informations which i dont understand. I have attached a Screen shot for both on validation and on submit.
THE STRANGE THING IS THAT THE VALUES ARE SAVED TO THE DATABASE...SO I GUESS THERE MUST ISSUE WITH REDIRECT!!
HELP PLA
//here is my validate function
/***
*implementation of hook_validate()
*@ $form_state takes the current state of a form and the submited values
*@ &$form we are also passing the whole drupal form as a refference
*Validate the kupon number submitted by user
*/
function freechuz_get_kupon_form_validate(&$form,$form_state){
$productid=$form_state['values']['product_id'];
$submitted_coupon=$form_state['values']['coupon_qty'];
$coupon_left=coupon_left($productid);
if (!is_numeric($submitted_coupon)) {
form_set_error('coupon_qty',t('You must enter a number for the kupon'));
}elseif (($submitted_coupon)<1){
form_set_error('coupon_qty',t('The value of Kupon must be greater than Zero.'));
}elseif($productid<0){
form_set_error('coupon_qty',t('Sorry product number undifined, try again later'));
}elseif($coupon_left==0){
form_set_error('coupon_qty',t('Вы уже получили этот купон!'));
}
}
//implemenation of hook_submit()
/**
*submit the kupon to database via hook_submit
*/
function freechuz_get_kupon_form_submit(&$form,$form_state){
global $user;
global $base_path;
//call the submit coupon function
if(submit_kupon($form_state['values']['product_id'],$form_state['values']['coupon_qty'])){
drupal_set_message(t('<font color="green" size="4">Купон получен!!! Ваш купон доступен в <a href="'.$base_path.'user/'.$user->uid.'/freechuzkupon">личном кабинете.</a></font><br/>'));
}else{
drupal_set_message(t('<font color="red" size="4">Sorry something went wrong, try again later</font><br/>'));
}
}
/*********submit function**********/
/**
*submit the kupon to database
*@param $productid the id of the product or simply nodeid
*@param $coupon_qty how many coupons per product
*/
function submit_kupon($productid,$submitted_coupon){
global $user;
$counter=0;
$coupon_left=coupon_left($productid); //left coupon
$result='';
if(($submitted_coupon<=$coupon_left)){
/**
* update the coupon sold value for user with the submitted values
*/
$node=node_load($productid); //load the node
$node->field_coupon_sold['und'][0]['value']=$node->field_coupon_sold['und'][0]['value']+$submitted_coupon;
print 'coupon sold '.$node->field_discount_value['und'][0]['value'];
node_save($node); //then update, save the node
/***end of update coupon sold***/
while($counter<=($submitted_coupon-1)){
$coupon_number=coupon_generate(16);//generate the coupon
$result=db_insert('freechuz_coupon')
->fields(array(
'coupon_number' =>$coupon_number,
'content_id' => $productid,
'coupon_qty' => $submitted_coupon,
'deleted' => 0,
'user_id' =>$user->uid
))
->execute();
//in the future will add a unique number(generated from coupon id) to each coupon generated
$counter++;
}
}
if($result){
return true;
}else{
return false;
}
}
?>
Comment | File | Size | Author |
---|---|---|---|
Screen Shot 2012-01-29 at 10.59.44 PM.png | 197.94 KB | mrcniceguy | |
Screen Shot 2012-01-29 at 10.59.21 PM.png | 69.32 KB | mrcniceguy |
Comments
Comment #1
capellicI am having the same problem here: #1422002: How do I use with a node form?
Comment #2
mrcniceguy CreditAttribution: mrcniceguy commented@capellic i am also still waiting for Help!!!
Comment #3
capellicI got ahold of Sam Kottler in IRC in the #drupal-nyc room. Here is the relevant part of the discussion.
Comment #4
mrcniceguy CreditAttribution: mrcniceguy commented@Cappelic,thankx again for this nice tutorial link.
but now am using the Dialog Api module,which also uses the ctools but with jquery dialog.. am liking it.
i found this wonderful tutorial which lead me to succeed.
http://pixeljets.com/blog/improving-user-experience-using-dialogs-profil...
Comment #5
wojtha CreditAttribution: wojtha commentedThe current version of CTools Automodals is missing the form submission handling.
You can try the patches here: #1420534: Consider a new hook - hook_ctools_automodal_paths() rather than using hook_menu() or here: #1396272: Handle submitted forms.