[development] creating pop-up window for delete and edit actions in table in module file
Carl Wiedemann
carl.wiedemann at gmail.com
Wed Jan 12 07:05:48 UTC 2011
Consider http://drupal.org/project/popups
On Tue, Jan 11, 2011 at 11:37 PM, mahesh gajabar <mahesh143an at 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20110112/630ba1d0/attachment.html
More information about the development
mailing list