function getMenteColumns($model)
{
    //get or initialize the current column order
    $columnArrayOrder = getColumnArrayOrder();
    //only if make a cache of the columns if needed
    if (isset($_GET['sourceColumn']) && isset($_GET['destinationColumn'])) {
        $source = $_GET['sourceColumn'];
        $destination = $_GET['destinationColumn'];
        $sourceIndex = $source[0];
        $destIndex = $destination[0];
        ReportUtils::moveColumnsByIndex($sourceIndex, $destIndex, $columnArrayOrder);
        Yii::app()->session['MenteeColumnOrder'] = $columnArrayOrder;
    }
    //Now render the columns
    $columns = array();
    for ($i = 0; $i < count($columnArrayOrder); $i++) {
        switch ($columnArrayOrder[$i]) {
            case MenteeColumns::userId:
                $menteeUserID = array('name' => 'UserID', 'header' => 'Mentee User ID', 'filter' => CHtml::activeNumberField($model, 'UserID'), 'headerHtmlOptions' => array('width' => '75'));
                $columns[] = $menteeUserID;
                break;
            case MenteeColumns::menteeName:
                $menteeName = array('name' => 'Name', 'header' => 'Mentee Name', 'filter' => CHtml::activeTextField($model, 'Name'), 'headerHtmlOptions' => array('width' => '200'));
                $columns[] = $menteeName;
                break;
            case MenteeColumns::menteeEmail:
                $menteeEmail = array('name' => 'Email', 'header' => 'Mentee Email', 'filter' => CHtml::activeEmailField($model, 'Email'), 'headerHtmlOptions' => array('width' => '150'));
                $columns[] = $menteeEmail;
                break;
            case MenteeColumns::menteeUserName:
                $menteeUserName = array('name' => 'UserName', 'header' => 'Mentee User Name', 'filter' => CHtml::activeTextField($model, 'UserName'), 'headerHtmlOptions' => array('width' => '100'));
                $columns[] = $menteeUserName;
                break;
            case MenteeColumns::menteeDisabled:
                $menteeDisabled = array('name' => 'Disabled', 'header' => 'Mentee Disabled', 'value' => 'ReportUtils::getZeroOneToYesNo($data->Disabled)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '100'));
                $columns[] = $menteeDisabled;
                break;
            case MenteeColumns::menteeUniversityName:
                $universityName = array('name' => 'UniversityName', 'header' => 'Mentee University', 'filter' => CHtml::activeDropDownList($model, 'UniversityID', CHtml::listData(University::model()->findAll(), 'id', 'name'), array('empty' => ' ')), 'headerHtmlOptions' => array('width' => '220'));
                $columns[] = $universityName;
                break;
            case MenteeColumns::menteePersonalMentorID:
                $PersonalMentorID = array('name' => 'PersonalMentorID', 'header' => 'Personal Mentor (ID)', 'filter' => CHtml::activeNumberField($model, 'PersonalMentorID'), 'headerHtmlOptions' => array('width' => '100'));
                $columns[] = $PersonalMentorID;
                break;
            case MenteeColumns::menteePersonalMentorName:
                $PersonalMentorName = array('name' => 'PersonalMentorName', 'header' => 'Personal Mentor (Name)', 'filter' => CHtml::activeTextField($model, 'PersonalMentorName'), 'headerHtmlOptions' => array('width' => '150'));
                $columns[] = $PersonalMentorName;
                break;
            case MenteeColumns::menteePersonalMentorEmail:
                $PersonalMentorEmail = array('name' => 'PersonalMentorEmail', 'header' => 'Personal Mentor (Email)', 'filter' => CHtml::activeEmailField($model, 'PersonalMentorEmail'), 'headerHtmlOptions' => array('width' => '150'));
                $columns[] = $PersonalMentorEmail;
                break;
            case MenteeColumns::menteePersonalMentorDisabled:
                $PersonalMentorDisabled = array('name' => 'PersonalMentorDisabled', 'header' => 'Personal Mentor (Disabled)', 'value' => 'ReportUtils::getZeroOneToYesNo($data->PersonalMentorDisabled)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '150'));
                $columns[] = $PersonalMentorDisabled;
                break;
            case MenteeColumns::menteeProjectTitle:
                $menteeProjectTitle = array('name' => 'menteeProjectTitle', 'header' => 'Project Title', 'filter' => CHtml::activeDropDownList($model, 'menteeProjectID', CHtml::listData(Project::model()->findAll(), 'id', 'title'), array('empty' => ' ')), 'headerHtmlOptions' => array('width' => '300'));
                $columns[] = $menteeProjectTitle;
                break;
            case MenteeColumns::menteeProjectStartDate:
                $menteeProjectTitle = array('name' => 'menteeProjectStartDate', 'header' => 'Project Start Date', 'value' => 'ReportUtils::dateformat($data->menteeProjectStartDate)', 'filter' => CHtml::activeDateField($model, 'menteeProjectStartDate'), 'headerHtmlOptions' => array('width' => '160'));
                $columns[] = $menteeProjectTitle;
                break;
            case MenteeColumns::menteeProjectDueDate:
                $menteeProjectDueDate = array('name' => 'menteeProjectDueDate', 'header' => 'Project Due Date', 'value' => 'ReportUtils::dateformat($data->menteeProjectDueDate)', 'filter' => CHtml::activeDateField($model, 'menteeProjectDueDate'), 'headerHtmlOptions' => array('width' => '160'));
                $columns[] = $menteeProjectDueDate;
                break;
            case MenteeColumns::menteeProjectCustomerName:
                $menteeProjectCustomerName = array('name' => 'menteeProjectCustomerName', 'header' => 'Project Customer', 'filter' => CHtml::activeTextField($model, 'menteeProjectCustomerName'), 'headerHtmlOptions' => array('width' => '150'));
                $columns[] = $menteeProjectCustomerName;
                break;
        }
    }
    return $columns;
}
function getMentorColumns($model)
{
    //get or initialize the current column order
    $columnArrayOrder = getColumnArrayOrder();
    //only if make a cache of the columns if needed
    if (isset($_GET['sourceColumn']) && isset($_GET['destinationColumn'])) {
        $source = $_GET['sourceColumn'];
        $destination = $_GET['destinationColumn'];
        $sourceIndex = $source[0];
        $destIndex = $destination[0];
        ReportUtils::moveColumnsByIndex($sourceIndex, $destIndex, $columnArrayOrder);
        Yii::app()->session['MentorColumnOrder'] = $columnArrayOrder;
    }
    $columns = array();
    for ($i = 0; $i < count($columnArrayOrder); $i++) {
        switch ($columnArrayOrder[$i]) {
            case MentorColumns::userID:
                $columns[] = array('name' => 'userID', 'header' => 'Mentor User ID', 'filter' => CHtml::activeNumberField($model, 'userID'), 'headerHtmlOptions' => array('width' => '75'));
                break;
            case MentorColumns::name:
                $columns[] = array('name' => 'name', 'header' => 'Mentor Name', 'filter' => CHtml::activeTextField($model, 'name'), 'headerHtmlOptions' => array('width' => '200'));
                break;
            case MentorColumns::email:
                $columns[] = array('name' => 'email', 'header' => 'Mentor Email', 'filter' => CHtml::activeEmailField($model, 'email'), 'headerHtmlOptions' => array('width' => '200'));
                break;
            case MentorColumns::userName:
                $columns[] = array('name' => 'userName', 'header' => 'Mentor User Name', 'filter' => CHtml::activeTextField($model, 'userName'), 'headerHtmlOptions' => array('width' => '120'));
                break;
            case MentorColumns::disabled:
                $columns[] = array('name' => 'disabled', 'header' => 'Mentor Disabled', 'value' => 'ReportUtils::getZeroOneToYesNo($data->disabled)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '80'));
                break;
            case MentorColumns::isProjectMentor:
                $columns[] = array('name' => 'isProjectMentor', 'header' => 'Project Mentor', 'value' => 'ReportUtils::getZeroOneToYesNo($data->isProjectMentor)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '80'));
                break;
            case MentorColumns::isPersonalMentor:
                $columns[] = array('name' => 'isPersonalMentor', 'header' => 'Personal Mentor', 'value' => 'ReportUtils::getZeroOneToYesNo($data->isPersonalMentor)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '80'));
                break;
            case MentorColumns::isDomainMentor:
                $columns[] = array('name' => 'isDomainMentor', 'header' => 'Domain Mentor', 'value' => 'ReportUtils::getZeroOneToYesNo($data->isDomainMentor)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '80'));
                break;
            case MentorColumns::isJudge:
                $columns[] = array('name' => 'isJudge', 'header' => 'Judge', 'value' => 'ReportUtils::getZeroOneToYesNo($data->isJudge)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '80'));
                break;
            case MentorColumns::isNew:
                $columns[] = array('name' => 'isNew', 'header' => 'Is New', 'value' => 'ReportUtils::getZeroOneToYesNo($data->isNew)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '80'));
                break;
            case MentorColumns::isEmployer:
                $columns[] = array('name' => 'isEmployer', 'header' => 'Is Employer', 'value' => 'ReportUtils::getZeroOneToYesNo($data->isEmployer)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '80'));
                break;
            case MentorColumns::employer:
                $columns[] = array('name' => 'employer', 'header' => 'Mentor Employer', 'filter' => CHtml::activeTextField($model, 'employer'), 'headerHtmlOptions' => array('width' => '200'));
                break;
            case MentorColumns::position:
                $columns[] = array('name' => 'position', 'header' => 'Mentor Position', 'filter' => CHtml::activeTextField($model, 'position'), 'headerHtmlOptions' => array('width' => '200'));
                break;
            case MentorColumns::fieldOfStudy:
                $columns[] = array('name' => 'fieldOfStudy', 'header' => 'Mentor Field Of Study', 'filter' => CHtml::activeTextField($model, 'fieldOfStudy'), 'headerHtmlOptions' => array('width' => '200'));
                break;
            case MentorColumns::degree:
                $columns[] = array('name' => 'degree', 'header' => 'Mentor Degree', 'filter' => CHtml::activeTextField($model, 'degree'), 'headerHtmlOptions' => array('width' => '200'));
                break;
            case MentorColumns::gradYear:
                $columns[] = array('name' => 'gradYear', 'header' => 'Mentor Graduation Year', 'filter' => CHtml::activeNumberField($model, 'gradYear'), 'headerHtmlOptions' => array('width' => '200'));
                break;
        }
    }
    return $columns;
}
function getTicketColumns($model)
{
    //get or initialize the current column order
    $columnArrayOrder = getColumnArrayOrder();
    //only if make a cache of the columns if needed
    if (isset($_GET['sourceColumn']) && isset($_GET['destinationColumn'])) {
        $source = $_GET['sourceColumn'];
        $destination = $_GET['destinationColumn'];
        $sourceIndex = $source[0];
        $destIndex = $destination[0];
        ReportUtils::moveColumnsByIndex($sourceIndex, $destIndex, $columnArrayOrder);
        Yii::app()->session['TicketColumnOrder'] = $columnArrayOrder;
    }
    $columns = array();
    for ($i = 0; $i < count($columnArrayOrder); $i++) {
        switch ($columnArrayOrder[$i]) {
            case TicketReportColumns::ticketID:
                $columns[] = array('name' => 'ticketID', 'header' => 'Ticket #', 'filter' => CHtml::activeNumberField($model, 'ticketID'), 'headerHtmlOptions' => array('width' => '75'));
                break;
            case TicketReportColumns::creatorName:
                $columns[] = array('name' => 'creatorName', 'header' => 'Creator Name', 'filter' => CHtml::activeTextField($model, 'creatorName'), 'headerHtmlOptions' => array('width' => '200'));
                break;
            case TicketReportColumns::creatorID:
                $columns[] = array('name' => 'creatorID', 'header' => 'Creator ID', 'filter' => CHtml::activeNumberField($model, 'creatorID'), 'headerHtmlOptions' => array('width' => '75'));
                break;
            case TicketReportColumns::creatorDisabled:
                $columns[] = array('name' => 'creatorDisabled', 'header' => 'Creator Disabled', 'value' => 'ReportUtils::getZeroOneToYesNo($data->creatorDisabled)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '80'));
                break;
            case TicketReportColumns::creatorEmail:
                $columns[] = array('name' => 'creatorEmail', 'header' => 'Creator Email', 'filter' => CHtml::activeEmailField($model, 'creatorEmail'), 'headerHtmlOptions' => array('width' => '150'));
                break;
            case TicketReportColumns::ticketStatus:
                $columns[] = array('name' => 'ticketStatus', 'header' => 'Ticket Status', 'filter' => array('Close' => 'Close', 'Pending' => 'Pending'), 'headerHtmlOptions' => array('width' => '105'));
                break;
            case TicketReportColumns::ticketCreatedDate:
                $columns[] = array('name' => 'ticketCreatedDate', 'header' => 'Created Date', 'value' => 'ReportUtils::dateformat($data->ticketCreatedDate)', 'filter' => CHtml::activeDateField($model, 'ticketCreatedDate'), 'headerHtmlOptions' => array('width' => '160'));
                break;
            case TicketReportColumns::assignedUserName:
                $columns[] = array('name' => 'assignedUserName', 'header' => 'Assigned To (Name)', 'filter' => CHtml::activeTextField($model, 'assignedUserName'), 'headerHtmlOptions' => array('width' => '150'));
                break;
            case TicketReportColumns::ticketAssignUserID:
                $columns[] = array('name' => 'ticketAssignUserID', 'header' => 'Assigned To (Id)', 'filter' => CHtml::activeNumberField($model, 'ticketAssignUserID'), 'headerHtmlOptions' => array('width' => '100'));
                break;
            case TicketReportColumns::assignedUserDisabled:
                $columns[] = array('name' => 'assignedUserDisabled', 'header' => 'Assigned To (Disabled)', 'value' => 'ReportUtils::getZeroOneToYesNo($data->assignedUserDisabled)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '100'));
                break;
            case TicketReportColumns::assignedUserEmail:
                $columns[] = array('name' => 'assignedUserEmail', 'header' => 'Assigned To (Email)', 'filter' => CHtml::activeEmailField($model, 'assignedUserEmail'), 'headerHtmlOptions' => array('width' => '150'));
                break;
            case TicketReportColumns::ticketDomainName:
                $columns[] = array('name' => 'ticketDomainName', 'header' => 'Ticket Domain', 'filter' => CHtml::activeDropDownList($model, 'ticketDomainID', CHtml::listData(Domain::model()->findAll(), 'id', 'name'), array('empty' => ' ')), 'headerHtmlOptions' => array('width' => '200'));
                break;
            case TicketReportColumns::ticketSubDomainName:
                $columns[] = array('name' => 'ticketSubDomainName', 'header' => 'Ticket Sub Domain', 'filter' => CHtml::activeDropDownList($model, 'ticketSubDomainID', CHtml::listData(Subdomain::model()->findAll(), 'id', 'name'), array('empty' => ' ')), 'headerHtmlOptions' => array('width' => '170'));
                break;
            case TicketReportColumns::ticketPriorityDescription:
                $columns[] = array('name' => 'ticketPriorityDescription', 'header' => 'Ticket Priority', 'filter' => CHtml::activeDropDownList($model, 'ticketPriorityID', CHtml::listData(Priority::model()->findAll(), 'id', 'description'), array('empty' => ' ')), 'headerHtmlOptions' => array('width' => '110'));
                break;
            case TicketReportColumns::ticketAssignedDate:
                $columns[] = array('name' => 'ticketAssignedDate', 'header' => 'Ticket Assigned Date', 'value' => 'ReportUtils::dateformat($data->ticketAssignedDate)', 'filter' => CHtml::activeDateField($model, 'ticketAssignedDate'), 'headerHtmlOptions' => array('width' => '160'));
                break;
            case TicketReportColumns::ticketClosedDate:
                $columns[] = array('name' => 'ticketClosedDate', 'header' => 'Ticket Closed Date', 'value' => 'ReportUtils::dateformat($data->ticketClosedDate)', 'filter' => CHtml::activeDateField($model, 'ticketClosedDate'), 'headerHtmlOptions' => array('width' => '160'));
                break;
            case TicketReportColumns::ticketIsEscalated:
                $columns[] = array('name' => 'ticketIsEscalated', 'header' => 'Escalated', 'value' => 'ReportUtils::getZeroOneToYesNo($data->ticketIsEscalated)', 'filter' => array('1' => 'Yes', '0' => 'No'), 'headerHtmlOptions' => array('width' => '80'));
                break;
            case TicketReportColumns::ticketSubject:
                $columns[] = array('name' => 'ticketSubject', 'header' => 'Subject', 'filter' => CHtml::activeTextField($model, 'ticketSubject'), 'headerHtmlOptions' => array('width' => '300'));
                break;
            case TicketReportColumns::ticketDescription:
                $columns[] = array('name' => 'ticketDescription', 'header' => 'Description', 'filter' => CHtml::activeTextField($model, 'ticketDescription'), 'headerHtmlOptions' => array('width' => '400'));
                break;
        }
    }
    return $columns;
}