rendered paste bodylass Project extends Controller {
var $left_menu = array();
var $top_menu = array();
var $extra_info = array();
function Project()
{
parent::Controller();
if (!$this->session->userdata('loggedin'))
redirect('user/login');
$this->top_menu = array('create' => 'Create New Project', 'index' => 'Search For A Project');
$this->load->model('projectmodel', '', TRUE);
$this->load->model('clientmodel', '', TRUE);
$this->load->model('usermodel', '', TRUE);
$this->load->model('project_typemodel', '', TRUE);
$this->load->model('operation_typemodel', '', TRUE);
$this->load->model('ticketmodel', '', TRUE);
$this->extra_info = array(($this->session->userdata('loggedin')) ? "You are logged in as " . $this->session->userdata('first_name') . " " . $this->session->userdata('last_name') : "");
}
function index()
{
$data = array( "view" => "project/index",
"render_header" => true,
"render_footer" => true,
"header" => "header",
"project_types" => $this->project_typemodel->get_type_list(),
"left_menu" => $this->left_menu,
"top_menu" => $this->top_menu,
"extra_info" => $this->extra_info,
"title" => "IM Project Management"
);
$this->load->view('layout', $data);
}
function create()
{
$this->load->library("forge");
$conf["action"] = "project/create";
$conf["form_name"] = "Create New Project";
$this->forge->initialize($conf);
$default = array("rules" => "trim|required[4,24]");
$this->forge->add("name", "text", $default);
$this->forge->add("client", "dropdown", array('options' => $this->clientmodel->get_client_list()));
$this->forge->add("project_manager", "dropdown", array('options' => $this->usermodel->get_user_list()));
$this->forge->add("type", "dropdown", array('options' =>$this->project_typemodel->get_type_list()));
$this->forge->add("create", "submit", array('value' => 'Create Project'));
if ($post = $this->forge->post_data())
{
if ($id = $this->projectmodel->create_project($post))
redirect('project/view/' . $id);
else
die('an error occured');
}
else
{
$data = array( "view" => "project/create",
"render_header" => true,
"render_footer" => true,
"header" => "header",
"left_menu" => $this->left_menu,
"top_menu" => $this->top_menu,
"extra_info" => $this->extra_info,
"title" => "IM Project Management :: Create New Project"
);
$this->load->view('layout', $data);
}
}
function view()
{
$id = $this->uri->segment(3);
if ($project = $this->projectmodel->get_project($id))
{
$project_types = $this->project_typemodel->get_abbreviation_list();
$this->extra_info[] = " | Viewing <strong>" . $project_types[$project->type] . $project->project_number . ' - ' . $project->name . "</strong>";
$this->top_menu['create_ticket/' . $project->id] = 'Create Ticket';
$this->top_menu['view_active_tickets/' . $project->id] = 'View Active Tickets';
$this->top_menu['view_closed_tickets/' . $project->id] = 'View Closed Tickets';
$data = array( "view" => "project/view",
"render_header" => true,
"render_footer" => true,
"header" => "header",
"project" => $project,
"clients" => $this->clientmodel->get_client_list(),
"users" => $this->usermodel->get_user_list(),
"left_menu" => $this->left_menu,
"top_menu" => $this->top_menu,
"extra_info" => $this->extra_info,
"title" => "IM Project Management :: View Project :: " . $project->name
);
$this->load->view('layout', $data);
}
else
show_404();
}