Popups is what you want :-)
Consider http://drupal.org/project/popupsOn Tue, Jan 11, 2011 at 11:37 PM, mahesh gajabar <mahesh143an@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
3
Pavithra M
female
active
4
Ravi Mandayam
male
active
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.CancelRegards,
When I click edit button I should get my edit form,
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.
Mahesh Gajabar