<?php
class Criticalissues extends Controller {
/**************** Critical Issues Applications **********************************
* *
* Critical Issues Applicaton was first written as a simple application so our *
* Project Managers were able to keep track of critical issues in the Mono *
* Type Company. It was later built into Monotypes Intranet Portal giving it *
* a secure and standardize environment to work from. *
* *
*********************************************************************************/
/*********************** Construct **********************************************
* Constructs are ran each time the controller is called. *
*********************************************************************************/
function Criticalissues()
{
parent::Controller();
// User Auth
$this->auth->restrict('manager');
// Pull layout information from library layout and dataset.
$this->data['pass'] = $this->layout->index();
$this->data['common'] = $this->dataset->index();
}
/*************** Critical Issues Index or Main Page *****************************
* Index is the main or starting page for the Critical Issues Site. The first *
* page brought up from entering into the Critical Issues Application is *
* exicuted from Index. *
*********************************************************************************/
function index()
{
// CI Loaders
$this->load->helper('date');
$this->load->database();
$this->load->model('cissues_model', 'cissues');
// Recieve information from post
$data = $this->input->post('input');
// Pull all projects from Critical Issues based off of default
// or user selected sort.
$this->data['cissues'] = $this->cissues->listActiveProjects($data);
// Pull Listing of all Archive Dates for drop down list for main page.
$this->data['pullArchiveDate'] = $this->cissues->pullArchiveDate();
// Checking and setting for Active Projects
if(isset($data['active']) == false and
isset($data['search'])== false)
{
$this->data['active'] = 'on';
}
elseif(isset($data['active']))
{
$this->data['active'] = $data['active'];
}
// Checking and setting for searh criteria.
if(isset($data['search']) == false)
{
$this->data['search'] = '';
}
elseif (isset($data['search']))
{
$this->data['search'] = $data['search'];
}
// Setting up variables to be past to the view
if(isset($data['archive'])) $this->data['archive'] = $data['archive'];
if(isset($data['job_sort'])) $this->data['job_sort'] = $data['job_sort'];
if(isset($data['title_sort'])) $this->data['title_sort'] = $data['title_sort'];
if(isset($data['client_sort'])) $this->data['client_sort'] = $data['client_sort'];
if(isset($data['departments_sort'])) $this->data['departments_sort'] = $data['departments_sort'];
if(isset($data['projectm_sort'])) $this->data['projectm_sort'] = $data['projectm_sort'];
// Display the view index from critical issues.
$this->mysmarty->view('criticalissues/index', $this->data);
}
function test()
{
$this->mysmarty->view('criticalissues/test');
}
/*********************** Print Issues Page *************************************
* Print Issues based off of sort criterias user has set. *
*********************************************************************************/
function printIssues()
{
// CI Load Database
$this->load->database();
$this->load->model('cissues_model', 'cissues');
// Take in submited inforamation in this case search critiera and pass
// it to the list all issues query.
$data = $this->input->post('input');
$this->data['cissues'] = $this->cissues->listActiveProjects($data);
// Pass the return from the query to the view printIssues
$this->mysmarty->view('criticalissues/printIssues', $this->data);
}
/************************* New Issues Page *************************************
* Calling funtion for creating a new issue. *
*********************************************************************************/
function newIssue()
{
$this->load->database();
$this->load->model('cissues_model', 'cissues');
$this->data['pullPM'] = $this->cissues->pullPM();
$this->data['pullOutsource'] = $this->cissues->pullOutsource();
$this->mysmarty->view('criticalissues/issue',$this->data);
}
/*********************** Insert Issue Page *************************************
* Insert new Issue *
*********************************************************************************/
function insertIssue()
{
$data = $this->input->post('input');
$this->load->model('cissues_model', 'cissues');
$this->cissues->insertIssue($data);
$this->index();
}
/*********************** Update Issues *****************************************
* Update Issue *
*********************************************************************************/
function updateIssue()
{
$data = $this->input->post('input');
$this->load->model('cissues_model', 'cissues');
$this->cissues->updateIssue($data);
$this->index();
}
/*********************** Edit Issues Page **************************************
* Page to edit issues *
*********************************************************************************/
function editIssue()
{
$data = $this->input->post('input');
if(isset($data['archive'])) $this->data['archive'] = $data['archive'];
if(isset($data['search'])) $this->data['search'] = $data['search'];
if(isset($data['active'])) $this->data['active'] = $data['active'];
if(isset($data['job_sort'])) $this->data['job_sort'] = $data['job_sort'];
if(isset($data['title_sort'])) $this->data['title_sort'] = $data['title_sort'];
if(isset($data['client_sort'])) $this->data['client_sort'] = $data['client_sort'];
if(isset($data['departments_sort'])) $this->data['departments_sort'] = $data['departments_sort'];
if(isset($data['projectm_sort'])) $this->data['projectm_sort'] = $data['projectm_sort'];
$this->load->model('cissues_model', 'cissues');
$this->data['cissues'] = $this->cissues->editIssue($data);
$this->data['pullPM'] = $this->cissues->pullPM();
$this->data['pullOutsource'] = $this->cissues->pullOutsource();
if(isset($data['archive']) and
$data['archive'] != "")
{
$this->mysmarty->view('criticalissues/viewArchive',$this->data);
}
else $this->mysmarty->view('criticalissues/viewIssue',$this->data);
}
/*********************** Remove Issues Page ************************************
* Print Issues based off of sort criterias user has set. *
*********************************************************************************/
function removeIssue()
{
$data = $this->input->post('input');
$this->load->model('cissues_model', 'cissues');
$this->data['cissues'] = $this->cissues->removeIssue($data);
$this->index();
}
/**************** Manage Critical Applications **********************************
* This section of the controller is for manageing the internal areas, like *
* working with Adding and Removing Managers. *
* *
*********************************************************************************/
/*********************** First Page Manager *************************************
* This page lists all managers functions for cirtical applications *
*********************************************************************************/
function manage()
{
$data = $this->input->post('input');
$this->load->database();
$this->load->model('cissues_model', 'cissues');
//****************** ADD MANGER *****************************************
if (isset($data['submit']) and
$data['submit'] == "addManager")
{
$this->cissues->addManager($data);
}
//****************** DELETE MANGER *****************************************
if (isset($data['submit']) and
$data['submit'] == "delManager")
{
$this->cissues->delManager($data);
}
//****************** Edit MANGER *****************************************
if (isset($data['submit']) and
$data['submit'] == "editManager")
{
if(isset($data['id'])) $this->data['man_id'] = $data['id'];
if(isset($data['submit'])) $this->data['submit'] = $data['submit'];
}
//****************** Edit MANGER *****************************************
if (isset($data['submit']) and
$data['submit'] == "updateManager")
{
$this->cissues->updateManager($data);
}
$this->data['cissues'] = $this->cissues->pullPM();
$this->mysmarty->view('criticalissues/manage', $this->data);
}
//************************* END MANAGERS ***************************************
}