cluesshop.com

Thursday, 8 May 2014

Add Edit functionality of Drupal 7 edit delete remove funtionaltiy

===================================================================
nameofmoule.info

name = Docusign documents
description = A module for Docusign documents
core = 7.x
package = CJ


===============================================================
nameofmoule.install
<?php

/**
 * Implements hook_schema().
 */
function docusigndocuments_schema() {
    $schema = array();

    $schema ['docusigndocuments'] = array(
        'description' => 'The base table for docusign documents.',
        'fields' => array(
            'id' => array(
                'description' => 'Primary key.',
                'type' => 'serial',
                'unsigned' => TRUE,
                'not null' => TRUE
            ),
            'document_title' => array(
                'description' => 'Document Title',
                'type' => 'varchar',
                'length' => 255,
                'not null' => TRUE,
                'default' => ''
            ),
            'document_description' => array(
                'description' => 'Document Description',
                'type' => 'text',
                'size' => 'big',
                'not null' => TRUE
            ),
            'document_fid' => array(
                'description' => 'document fids',
                 'type' => 'int',
                'unsigned' => TRUE,
                'not null' => TRUE,
                'default' => 0
            ),
        ),
        'primary key' => array('id')
    );
    return $schema;
}


==========================================================================
nameofmoule.module
<?php

/**
 * Implements hook_menu().
 */
function docusigndocuments_menu() {
    $items = array();

    $items['docusigndocuments'] = array(
        'title' => 'Documents List',
        'page callback' => 'docusign_documents',
        'access arguments' => array(
            'View Documents List'
        )
    );

    $items['docusigndocuments/add'] = array(
        'title' => 'Add Document',
        'page callback' => 'add_docusign_documents',
        'access arguments' => array(
            'Add the Document'
        )
    );

    $items['docusigndocuments/%/delete'] = array(
        'title' => 'Delete Document',
        'page callback' => 'delete_docusign_documents',
        'access arguments' => array(
            'Delete the Document'
        )
    );

    $items['docusigndocuments/%/addrecipient'] = array(
        'title' => 'Add recipient to Document',
        'page callback' => 'addrecipient_docusign_document',
        'access arguments' => array(
            'Add recipient to Document'
        )
    );

    return $items;
}

/**
 * Implements hook_permission().
 */
function docusigndocuments_permission() {
    return array(
        'View Documents List' => array(
            'title' => t('View Documents List'),
            'restrict access' => TRUE
        ),
        'Add the Document' => array(
            'title' => t('Add the Document')
        ),
        'Delete the Document' => array(
            'title' => t('Delete the Document')
        ),
        'Add recipient to Document' => array(
            'title' => t('Add recipient to Document')
        ),
    );
}

/*   page Call Back function for Listing the Documents    */

function docusign_documents() {

//    drupal_add_css(drupal_get_path('module', 'docusigndocuments') . '/docusigndocuments.css');
    global $base_url;

    $output = '<div class="row"><div class="column-lg" align="right"><a class="btn btn-default form-submit" href="' . $base_url . '/docusigndocuments/add">Add Document</a></div></div>';
    $header = array(
        array(
            'data' => 'Id',
            'field' => 'document_fid'
        ),
        array(
            'data' => 'Document Title',
            'field' => 'document_title'
        ),
        array(
            'data' => 'Actions',
        )
    );
    if (isset($_GET ['sort']) && isset($_GET ['order'])) {
        if ($_GET ['sort'] == 'asc')
            $sort = 'ASC';
        else
            $sort = 'DESC';

        switch ($_GET ['order']) {
            case 'Id' :
                $order = 'document_fid';
                break;
            case 'Document Title' :
                $order = 'document_title';
                break;
        }
    } else {
        $sort = 'DESC';
        $order = 'document_fid';
    }

    $query = db_select("docusigndocuments", "d");
    $query->fields('d', array(
        'document_fid',
        'document_title',
    ));
    $query->orderBy($order, $sort);


    $query = $query->extend('TableSort')->extend('PagerDefault')->limit(10);
    $result = $query->execute()->fetchAll();


    $rows = array();
    if (count($result) > 0) {
        for ($i = 0; $i < count($result); $i ++) {

            $rows [] = array(
                $result [$i]->document_fid,
                $result [$i]->document_title,
                '<a href="' . $base_url . '/docusigndocuments/' . $result [$i]->document_fid . '/delete">delete  </a> |
<a href="' . $base_url . '/docusigndocuments/' . $result [$i]->document_fid . '/addrecipient"> Add Reciepents</a>',
            );
        }
    }

    $output .= theme_table(array(
                'header' => $header,
                'rows' => $rows,
                'attributes' => array(
                    'class' => array(
                        ''
                    )
                ),
                'sticky' => true,
                'caption' => '',
                'colgroups' => array(),
                'empty' => t("No Records!")
            )) . theme('pager');

    return $output;
}

/*   page Call Back function for adding Document   */

function add_docusign_documents() {
    return drupal_get_form('add_docusign_document_form');
}

function add_docusign_document_form($form, &$form_state) {
    $form['documentupload'] = array(
        '#type' => 'managed_file',
        '#title' => t('Upload file'),
//        '#size' => 40,
    );
    $form['submit'] = array(
        '#type' => 'submit',
        '#value' => 'Submit',
    );
    return $form;
}

function add_docusign_document_form_submit($form, &$form_state) {

    if ($form_state['values']['documentupload'] != "") {

        $file = file_load($form_state['values']['documentupload']);
        $file->status = "1";
        $fileobject = file_save($file);
        $query = db_insert('docusigndocuments');
        $query->fields(array(
            'document_title' => $fileobject->filename,
            'document_description' => $fileobject->filename,
            'document_fid' => $fileobject->fid
        ));
        $query->execute();
        drupal_set_message('File Uploaded Successfully.');
    }
}

/*   page Call Back function for Deleting Document    */

function delete_docusign_documents() {
    $fid = arg(1);
    $file = file_load($fid);
    file_delete($file);
    db_delete('docusigndocuments')->condition('document_fid', $fid, '=')->execute();
    drupal_set_message('File Deleted Successfully.');
    $path = 'docusigndocuments';
    drupal_goto($path);
}

/*   page Call Back function for adding recipients to selected Document    */

function addrecipient_docusign_document() {
    echo'Add recipients to document';
}

No comments:

Post a Comment