Consider http://drupal.org/project/popups
On Tue, Jan 11, 2011 at 11:37 PM, mahesh gajabar <mahesh14...@gmail.com>wrote: > Hi, > > I have written a custome module table for showing some information which is > fetched from database and every row is having edit and delete actions. Both > are working fine. But whenever I click on on edit or delete action action it > opens in other window leaving current page. I want these actions to be taken > place in pop-up window. > > My table on drupal screen is as follows > > *SlNo* > > *Doctor Name* > > *Gender* > > *Status* > > *Action* > > 2 > > Jayaram Srinivasan > > male > > inactive > > Edit <http://localhost/fr/doctor/edit/2> | > Delete<http://localhost/fr/doctor/delete/2> > > 3 > > Pavithra M > > female > > active > > Edit <http://localhost/fr/doctor/edit/3> | > Delete<http://localhost/fr/doctor/delete/3> > > 4 > > Ravi Mandayam > > male > > active > > Edit <http://localhost/fr/doctor/edit/4> | > Delete<http://localhost/fr/doctor/delete/4> > > when i click delete button i should get pop-up window with the dialogue > like this; > > Are You Sure You Want To Delete This Doctor? This action cannot be undone. > Cancel <http://localhost/fr/doctor> > > When I click edit button I should get my edit form, > First Name: > Last Name: > Gender: > male > female > Status: > active > inactive > Cancel <http://localhost/fr/doctor> > > complete code of my module file is as follows: > > *<?php > > function doctor_menu() { > $items = array(); > > $items['doctor'] = array( > 'title' => t('Doctors'), > 'page callback' =>'doctors_list', > 'access arguments' => array('access doctor'), > 'type' => MENU_NORMAL_ITEM, > ); > > $items['doctor/delete/%doctor_user'] = array( > 'title' => t('Delete doctor'), > 'page callback' => 'drupal_get_form', > 'page arguments' => array('doctor_delete_confirm', 2), > 'access arguments' => array('access doctor'), > 'type' => MENU_CALLBACK, > ); > $items['doctor/edit/%doctor_user'] = array( > 'title' => t('Edit Form'), > 'page callback' => 'drupal_get_form', > 'page arguments' => array('doctor_edit_confirm', 2), > 'access arguments' => array('access doctor'), > 'type' => MENU_NORMAL_ITEM, > ); > return $items; > } > > function doctors_list() { > $header = array(t(Sl.No),t('Doctor Name'), t('Gender'), t('Status'), > t('Action')); > > $query = "SELECT * FROM {doctor}"; > $rs = db_query($query); > > $row = array(); > > if ($rs) { > while ($data = db_fetch_object($rs)) { > $doctorid = > $data->doctorid; > $gender = $data->gender; > $status = $data->status ; > $row[] = > array($doctorid,stripslashes(ucwords($data->firstname)) . ' ' . > stripslashes(ucwords($data->lastname)), $gender, $status, > "<a href='doctor/edit/{$data->doctorid}'>" . t('Edit') . "</a> > |<a href='doctor/delete/{$data->doctorid}'> ". t('Delete')."</a>" ); > } > } > > $str .= theme_table($header, $row); > > return $str; > } > function doctor_user_load($doctorid) { > $query = "SELECT * FROM {doctor} WHERE doctorid = %d"; > $rs = db_query($query, $doctorid); > > if ($rs) { > while ($data = db_fetch_object($rs)) { > return $data; > } > } > > return FALSE; > } > > function popup() > { > window.confirm(); > return false; > } > > function doctor_delete_confirm(&$form_state, $doctor) { > $form['_doctor'] = array( > '#type' => 'value', > '#value' => $doctor, > ); > > return confirm_form($form, > t('Are you sure you want to delete this doctor?'), > isset($_GET['destination']) ? $_GET['destination'] : "doctor", > t('This action cannot be undone.'), > t('Delete'), > t('Cancel')); > } > > function doctor_delete_confirm_submit($form, &$form_state) { > $form_values = $form_state['values']; > > if ($form_state['values']['confirm']) { > $doctor = $form_state['values']['_doctor']; > > $query = "DELETE FROM {doctor} where > doctorid= $doctor->doctorid"; > $rs = db_query($query); > drupal_set_message(t('Doctor has been deleted successfully.')); > } drupal_goto("doctor"); > } > > function doctor_edit_confirm(&$form_state,$doctor){ > $form = array(); > $form['_doctors'] = array( > '#type' => 'value', > '#value' => $doctor, > ); > > $query = "SELECT * FROM {doctor} where doctorid=%d"; > $rs = db_query($query,$doctor->doctorid); > $data=db_fetch_object($rs); > $firstname=$data->firstname; > $lastname=$data->lastname; > $gender1 = $data->gender; > $gender = $gender1 ? 0: 1; > $status1 = $data->status ; > $status = $status1 ? 1: 0; > $form['firstname']=array( > '#title'=>t('First Name'), > '#type'=>'textfield', > '#default_value'=>$data->firstname, > > ); > $form['lastname']=array( > '#title'=>t('Last Name'), > '#type'=>'textfield', > '#default_value' => $lastname, > ); > $form['gender']=array( > '#title'=>t('Gender'), > '#type'=>'radios', > > '#options' => array(t('male'), > t('female')), > '#default_value' => > variable_get('gender',$gender), > ); > $form['status']=array( > '#title'=>t('Status'), > '#type'=>'radios', > '#options' => array(t('active'), > t('inactive')), > '#default_value' => > variable_get('status',$status), > > ); > > return confirm_form($form,t(''), > isset($_GET['destination']) ? $_GET['destination'] : "doctor", > t(''), > t('Save'), > t('Cancel')); > } > > function doctor_edit_confirm_submit($form, &$form_state) > { > if ($form_state['values']['confirm']) { > $doctor = $form_state['values']['_doctors']; > $form_state['values']['doctorid'] = $doctor->doctorid; > $firstname = $form_state['values']['firstname']; > $lastname = $form_state['values']['lastname']; > $gender1= $form_state['values']['gender']; > $gender = $gender1 ? t('female') : t('male'); > $status1 = $form_state['values']['status']; > $status = $status1 ? t('inactive') : t('active'); > $query = "UPDATE {doctor} SET firstname = '$firstname', lastname= > '$lastname', gender = '$gender', status = '$status' WHERE doctorid=%d"; > $rs = db_query($query,$doctor->doctorid); } > drupal_goto("doctor"); > } > > *Any help appreciated.* > > * > *Regards,* > Mahesh Gajabar > >