From 7f9f323a6d4ee1dff6157430c60954cd348904f2 Mon Sep 17 00:00:00 2001 From: Sashi20 Date: Wed, 4 Dec 2019 14:57:50 +0530 Subject: Modify filename --- abstract_submission_bulk_approval.inc | 425 ++++++++++++++++++++++++++++++++++ 1 file changed, 425 insertions(+) create mode 100755 abstract_submission_bulk_approval.inc (limited to 'abstract_submission_bulk_approval.inc') diff --git a/abstract_submission_bulk_approval.inc b/abstract_submission_bulk_approval.inc new file mode 100755 index 0000000..667b128 --- /dev/null +++ b/abstract_submission_bulk_approval.inc @@ -0,0 +1,425 @@ + 'select', + '#title' => t('Title of the Custom Model'), + '#options' => _bulk_list_of_custom_model_proposals(), + '#default_value' => $selected, + '#ajax' => array( + + 'callback' => 'ajax_bulk_custom_model_abstract_details_callback' + ), + '#suffix' => '
' + ); + $form['custom_model_actions'] = array( + '#type' => 'select', + '#title' => t('Please select action for Custom Model'), + '#options' => _bulk_list_custom_model_actions(), + '#default_value' => 0, + '#prefix' => '
', + '#suffix' => '
', + '#states' => array( + 'invisible' => array( + ':input[name="custom_model_proposals"]' => array( + 'value' => 0 + ) + ) + ) + ); + $form['message'] = array( + '#type' => 'textarea', + '#title' => t('Please specify the reason for marking resubmit/disapproval'), + '#prefix' => '
', + '#states' => array( + 'visible' => array( + array( + ':input[name="custom_model_actions"]' => array( + 'value' => 3 + ) + ), + 'or', + array( + ':input[name="custom_model_actions"]' => array( + 'value' => 2 + ) + ) + ) + ) + ); + $form['submit'] = array( + '#type' => 'submit', + '#value' => t('Submit'), + ); + //var_dump('expression');die; + return $form; +} +function ajax_bulk_custom_model_abstract_details_callback($form, $form_state) +{ + $commands = array(); + $custom_model_proposals_default_value = $form_state['values']['custom_model_proposals']; + if ($custom_model_proposals_default_value != 0) + { + $commands[] = ajax_command_html('#ajax_selected_custom_model', _custom_model_details($custom_model_proposals_default_value)); + $form['custom_model_actions']['#options'] = _bulk_list_custom_model_actions(); + $commands[] = ajax_command_replace('#ajax_selected_custom_model_action', drupal_render($form['custom_model_actions'])); + } //$custom_model_proposals_default_value != 0 + else + { + $commands[] = ajax_command_html('#ajax_selected_custom_model', ''); + $commands[] = ajax_command_data('#ajax_selected_custom_model', 'form_state_value_select', $form_state['values']['custom_model_proposals']); + } + return array( + '#type' => 'ajax', + '#commands' => $commands + ); +} +/************************************************************/ +function custom_model_abstract_bulk_approval_form_submit($form, &$form_state) +{ + global $user; + $msg = ''; + $root_path = custom_model_path(); + //var_dump($root_path);die; + if ($form_state['clicked_button']['#value'] == 'Submit') + { + if ($form_state['values']['custom_model_proposals']) + // custom_model_abstract_del_lab_pdf($form_state['values']['custom_model_proposals']); + if (user_access('custom model bulk manage submission')) + { + $query = db_select('custom_model_proposal'); + $query->fields('custom_model_proposal'); + $query->condition('id', $form_state['values']['custom_model_proposals']); + $user_query = $query->execute(); + $user_info = $user_query->fetchObject(); + $user_data = user_load($user_info->uid); + if ($form_state['values']['custom_model_actions'] == 1) + { + // approving entire project // + $query = db_select('custom_model_submitted_abstracts'); + $query->fields('custom_model_submitted_abstracts'); + $query->condition('proposal_id', $form_state['values']['custom_model_proposals']); + $abstracts_q = $query->execute(); + $experiment_list = ''; + while ($abstract_data = $abstracts_q->fetchObject()) + { + db_query("UPDATE {custom_model_submitted_abstracts} SET abstract_approval_status = 1, is_submitted = 1, approver_uid = :approver_uid WHERE id = :id", array( + ':approver_uid' => $user->uid, + ':id' => $abstract_data->id + )); + db_query("UPDATE {custom_model_submitted_abstracts_file} SET file_approval_status = 1, approvar_uid = :approver_uid WHERE submitted_abstract_id = :submitted_abstract_id", array( + ':approver_uid' => $user->uid, + ':submitted_abstract_id' => $abstract_data->id + )); + } //$abstract_data = $abstracts_q->fetchObject() + drupal_set_message(t('Approved Custom Model project.'), 'status'); + // email + $email_subject = t('[!site_name][Custom Model] Your uploaded Custom Model have been approved', array( + '!site_name' => variable_get('site_name', '') + )); + $email_body = array( + 0 => t(' + +Dear ' . $user_info->contributor_name .', + +Your uploaded abstract for the Custom Model has been approved: + +Title of Custom Model : ' . $user_info->project_title . ' + +Best Wishes, + +!site_name Team, +FOSSEE,IIT Bombay', array( + '!site_name' => variable_get('site_name', ''), + '!user_name' => $user_data->name + )) + ); + /** sending email when everything done **/ + $email_to = $user_data->mail; + $from = variable_get('custom_model_from_email', ''); + $bcc = variable_get('custom_model_emails', ''); + $cc = variable_get('custom_model_cc_emails', ''); + $params['standard']['subject'] = $email_subject; + $params['standard']['body'] = $email_body; + $params['standard']['headers'] = array( + 'From' => $from, + 'MIME-Version' => '1.0', + 'Content-Type' => 'text/plain; charset=UTF-8; format=flowed; delsp=yes', + 'Content-Transfer-Encoding' => '8Bit', + 'X-Mailer' => 'Drupal', + 'Cc' => $cc, + 'Bcc' => $bcc + ); + if (!drupal_mail('custom_model', 'standard', $email_to, language_default(), $params, $from, TRUE)) + { + $msg = drupal_set_message('Error sending email message.', 'error'); + } //!drupal_mail('custom_model', 'standard', $email_to, language_default(), $params, $from, TRUE) + } //$form_state['values']['custom_model_actions'] == 1 + elseif ($form_state['values']['custom_model_actions'] == 2) + { + if (strlen(trim($form_state['values']['message'])) <= 30) + { + form_set_error('message', t('')); + $msg = drupal_set_message("Please mention the reason for resubmission. Minimum 30 character required", 'error'); + return $msg; + } + //pending review entire project + $query = db_select('custom_model_submitted_abstracts'); + $query->fields('custom_model_submitted_abstracts'); + $query->condition('proposal_id', $form_state['values']['custom_model_proposals']); + $abstracts_q = $query->execute(); + $experiment_list = ''; + while ($abstract_data = $abstracts_q->fetchObject()) + { + db_query("UPDATE {custom_model_submitted_abstracts} SET abstract_approval_status = 0, is_submitted = 0, approver_uid = :approver_uid WHERE id = :id", array( + ':approver_uid' => $user->uid, + ':id' => $abstract_data->id + )); + db_query("UPDATE {custom_model_proposal} SET is_submitted = 0, approver_uid = :approver_uid WHERE id = :id", array( + ':approver_uid' => $user->uid, + ':id' => $abstract_data->proposal_id + )); + db_query("UPDATE {custom_model_submitted_abstracts_file} SET file_approval_status = 0, approvar_uid = :approver_uid WHERE submitted_abstract_id = :submitted_abstract_id", array( + ':approver_uid' => $user->uid, + ':submitted_abstract_id' => $abstract_data->id + )); + } //$abstract_data = $abstracts_q->fetchObject() + drupal_set_message(t('Resubmit the project files'), 'status'); + // email + $email_subject = t('[!site_name][Custom Model] Your uploaded Custom Model have been marked as pending', array( + '!site_name' => variable_get('site_name', '') + )); + $email_body = array( + 0 => t(' + +Dear ' . $user_info->contributor_name .', + +Kindly resubmit the project files for the project : ' . $user_info->project_title . '. + +Reason for dis-approval: ' . $form_state['values']['message'] . ' + + +Best Wishes, + +!site_name Team, +FOSSEE,IIT Bombay', array( + '!site_name' => variable_get('site_name', ''), + '!user_name' => $user_data->name + )) + ); + /** sending email when everything done **/ + $email_to = $user_data->mail; + $from = variable_get('custom_model_from_email', ''); + $bcc = variable_get('custom_model_emails', ''); + $cc = variable_get('custom_model_cc_emails', ''); + $params['standard']['subject'] = $email_subject; + $params['standard']['body'] = $email_body; + $params['standard']['headers'] = array( + 'From' => $from, + 'MIME-Version' => '1.0', + 'Content-Type' => 'text/plain; charset=UTF-8; format=flowed; delsp=yes', + 'Content-Transfer-Encoding' => '8Bit', + 'X-Mailer' => 'Drupal', + 'Cc' => $cc, + 'Bcc' => $bcc + ); + if (!drupal_mail('custom_model', 'standard', $email_to, language_default(), $params, $from, TRUE)) + { + drupal_set_message('Error sending email message.', 'error'); + } //!drupal_mail('custom_model', 'standard', $email_to, language_default(), $params, $from, TRUE) + } //$form_state['values']['custom_model_actions'] == 2 + elseif ($form_state['values']['custom_model_actions'] == 3) //disapprove and delete entire Custom Model + { + if (strlen(trim($form_state['values']['message'])) <= 30) + { + form_set_error('message', t('')); + $msg = drupal_set_message("Please mention the reason for disapproval. Minimum 30 character required", 'error'); + return $msg; + } //strlen(trim($form_state['values']['message'])) <= 30 + if (!user_access('custom model bulk delete abstract')) + { + $msg = drupal_set_message(t('You do not have permission to Bulk Dis-Approved and Deleted Entire Lab.'), 'error'); + return $msg; + } //!user_access('custom_model bulk delete code') + if (custom_model_abstract_delete_project($form_state['values']['custom_model_proposals'])) ////// + { + drupal_set_message(t('Dis-Approved and Deleted Entire Custom Model project.'), 'status'); + $email_subject = t('[!site_name][Custom Model] Your uploaded Custom Model have been marked as dis-approved', array( + '!site_name' => variable_get('site_name', '') + )); + $email_body = array( + 0 => t(' + +Dear ' . $user_info->contributor_name .', + +Your uploaded Custom Model files for the Custom Model Title : ' . $user_info->project_title . ' have been marked as dis-approved. + +Reason for dis-approval: ' . $form_state['values']['message'] . ' + +Best Wishes, + +!site_name Team, +FOSSEE,IIT Bombay', array( + '!site_name' => variable_get('site_name', ''), + '!user_name' => $user_data->name + )) + ); + $email_to = $user_data->mail; + $from = variable_get('custom_model_from_email', ''); + $bcc = variable_get('custom_model_emails', ''); + $cc = variable_get('custom_model_cc_emails', ''); + $params['standard']['subject'] = $email_subject; + $params['standard']['body'] = $email_body; + $params['standard']['headers'] = array( + 'From' => $from, + 'MIME-Version' => '1.0', + 'Content-Type' => 'text/plain; charset=UTF-8; format=flowed; delsp=yes', + 'Content-Transfer-Encoding' => '8Bit', + 'X-Mailer' => 'Drupal', + 'Cc' => $cc, + 'Bcc' => $bcc + ); + if (!drupal_mail('custom_model', 'standard', $email_to, language_default(), $params, $from, TRUE)) + { + drupal_set_message('Error sending email message.', 'error'); + } + } //custom_model_abstract_delete_project($form_state['values']['custom_model_proposals']) + else + { + drupal_set_message(t('Error Dis-Approving and Deleting Entire Custom Model.'), 'error'); + } + // email + } //user_access('custom_model project bulk manage code') + return $msg; + } //$form_state['clicked_button']['#value'] == 'Submit' +} +} +/**********************************************************/ +function _bulk_list_of_custom_model_proposals() +{ + $project_titles = array( + '0' => 'Please select...' + ); + $query = db_select('custom_model_proposal'); + $query->fields('custom_model_proposal'); + $query->condition('is_submitted', 1); + $query->condition('approval_status', 1); + $query->orderBy('project_title', 'ASC'); + $project_titles_q = $query->execute(); + while ($project_titles_data = $project_titles_q->fetchObject()) + { + $project_titles[$project_titles_data->id] = $project_titles_data->project_title . ' (Proposed by ' . $project_titles_data->contributor_name . ')'; + } //$project_titles_data = $project_titles_q->fetchObject() + return $project_titles; +} +function _bulk_list_custom_model_actions() +{ + $custom_model_actions = array( + 0 => 'Please select...' + ); + $custom_model_actions[1] = 'Approve Entire Custom Model'; + $custom_model_actions[2] = 'Resubmit Project files'; + $custom_model_actions[3] = 'Dis-Approve Entire Custom Model (This will delete Custom Model)'; + //$custom_model_actions[4] = 'Delete Entire Custom Model Including Proposal'; + return $custom_model_actions; +} +function _custom_model_details($custom_model_proposal_id) +{ + $return_html = ""; + $query_pro = db_select('custom_model_proposal'); + $query_pro->fields('custom_model_proposal'); + $query_pro->condition('id', $custom_model_proposal_id); + $abstracts_pro = $query_pro->execute()->fetchObject(); + //var_dump($abstracts_pro);die; + $query_pdf = db_select('custom_model_submitted_abstracts_file'); + $query_pdf->fields('custom_model_submitted_abstracts_file'); + $query_pdf->condition('proposal_id', $custom_model_proposal_id); + $query_pdf->condition('filetype', 'A'); + $abstracts_pdf = $query_pdf->execute()->fetchObject(); + if ($abstracts_pdf == TRUE) + { + if ($abstracts_pdf->filename != "NULL" || $abstracts_pdf->filename != "") + { + $abstract_filename = $abstracts_pdf->filename; + } //$abstracts_pdf->filename != "NULL" || $abstracts_pdf->filename != "" + else + { + $abstract_filename = "File not uploaded"; + } + } //$abstracts_pdf == TRUE + else + { + $abstract_filename = "File not uploaded"; + } + $query_process = db_select('custom_model_submitted_abstracts_file'); + $query_process->fields('custom_model_submitted_abstracts_file'); + $query_process->condition('proposal_id', $custom_model_proposal_id); + $query_process->condition('filetype', 'S'); + $abstracts_query_process = $query_process->execute()->fetchObject(); + $query = db_select('custom_model_submitted_abstracts'); + $query->fields('custom_model_submitted_abstracts'); + $query->condition('proposal_id', $custom_model_proposal_id); + $abstracts_q = $query->execute()->fetchObject(); + if ($abstracts_q) + { + if ($abstracts_q->is_submitted == 0) + { + } //$abstracts_q->is_submitted == 0 + } //$abstracts_q + //var_dump($abstracts_query_process);die; + if ($abstracts_query_process == TRUE) + { + if ($abstracts_query_process->filename != "NULL" || $abstracts_query_process->filename != "") + { + $abstracts_query_process_filename = $abstracts_query_process->filename; + } //$abstracts_query_process->filename != "NULL" || $abstracts_query_process->filename != "" + else + { + $abstracts_query_process_filename = "File not uploaded"; + } + } //$abstracts_query_process == TRUE + $query_script = db_select('custom_model_submitted_abstracts_file'); + $query_script->fields('custom_model_submitted_abstracts_file'); + $query_script->condition('proposal_id', $custom_model_proposal_id); + $query_script->condition('filetype', 'P'); + $abstracts_query_script = $query_script->execute()->fetchObject(); + $query = db_select('custom_model_submitted_abstracts'); + $query->fields('custom_model_submitted_abstracts'); + $query->condition('proposal_id', $custom_model_proposal_id); + $abstracts_q = $query->execute()->fetchObject(); + if ($abstracts_q) + { + if ($abstracts_q->is_submitted == 0) + { + } //$abstracts_q->is_submitted == 0 + } //$abstracts_q + //var_dump($abstracts_query_script);die; + if ($abstracts_query_script == TRUE) + { + if ($abstracts_query_script->filename != "NULL" || $abstracts_query_script->filename != "") + { + $abstracts_query_script_filename = $abstracts_query_script->filename; + } //$abstracts_query_script->filename != "NULL" || $abstracts_query_script->filename != "" + else + { + $abstracts_query_script_filename = "File not uploaded"; + } + } + else + { + $url = l('Upload abstract', 'custom-model/abstract-code/upload'); + $abstracts_query_process_filename = "File not uploaded"; + } + $download_custom_model = l('Download Custom Model','custom-model/full-download/project/'.$custom_model_proposal_id); + $return_html .= 'Proposer Name:
' . $abstracts_pro->name_title . ' ' . $abstracts_pro->contributor_name . '

'; + $return_html .= 'Title of the Custom Model:
' . $abstracts_pro->project_title . '

'; + $return_html .= 'Uploaded an abstract (brief outline) of the project:
' . $abstract_filename . '

'; + $return_html .= 'Uploaded Custom Model as DWSIM Simulation File:
' . $abstracts_query_process_filename . '

'; + $return_html .= 'Uploaded script file:
' . $abstracts_query_script_filename . '

'; + $return_html .= $download_custom_model; + return $return_html; +} \ No newline at end of file -- cgit