[development] creating pop-up window for delete and edit actions in table in module file
Amit Vyas
vyasamit2007 at gmail.com
Wed Jan 12 07:13:53 UTC 2011
Popups is what you want :-)
On Wed, Jan 12, 2011 at 12:35 PM, Carl Wiedemann
<carl.wiedemann at gmail.com>wrote:
> 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
>>
>>
>
--
Cheers,
Amit Vyas
____________________________________________________________________
Email : amit.vyas at blisstering.com Skype : vyasamit2004
Mobile : +91 993-040-1490 Phone : +91-022
428-884-07
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20110112/7e5bc696/attachment-0001.html
More information about the development
mailing list