Issue 106: Allow size to be sorted on admin page

This commit is contained in:
Nathan Adams 2015-10-04 16:45:40 -05:00
parent 73aeb058e6
commit 5ef4859819
2 changed files with 20 additions and 3 deletions

View File

@ -136,7 +136,17 @@ class IDF_Project extends Pluf_Model
); );
$activityTable = $this->_con->pfx.'idf_projectactivities'; $activityTable = $this->_con->pfx.'idf_projectactivities';
$tagTable = $this->_con->pfx.'idf_project_idf_tag_assoc'; $tagTable = $this->_con->pfx.'idf_project_idf_tag_assoc';
$confTable = $this->_con->pfx.'idf_conf';
$thisTable = $this->_con->pfx.'idf_projects';
$this->_a['views'] = array( $this->_a['views'] = array(
'repo_size' => [
'join' => "INNER JOIN $confTable ON $thisTable.id = $confTable.project",
'select' => $this->getSelect() . ', CAST(vdesc as UNSIGNED) as vdesc',
'where' => 'vkey = "repository_size"',
'props' => array(
'vdesc' => 'vdesc',
),
],
'join_activities_and_tags' => 'join_activities_and_tags' =>
array( array(
'join' => 'LEFT JOIN '.$activityTable.' ON current_activity='.$activityTable.'.id ' 'join' => 'LEFT JOIN '.$activityTable.' ON current_activity='.$activityTable.'.id '

View File

@ -81,13 +81,15 @@ class IDF_Views_Admin
$pag->action = 'IDF_Views_Admin::projects'; $pag->action = 'IDF_Views_Admin::projects';
$pag->edit_action = array('IDF_Views_Admin::projectUpdate', 'id'); $pag->edit_action = array('IDF_Views_Admin::projectUpdate', 'id');
$pag->sort_order = array('shortname', 'ASC'); $pag->sort_order = array('shortname', 'ASC');
$pag->model_view = "repo_size";
$list_display = array( $list_display = array(
'shortname' => __('Short Name'), 'shortname' => __('Short Name'),
'name' => __('Name'), 'name' => __('Name'),
array('id', 'IDF_Views_Admin_projectSize', __('Repository Size')), 'vdesc' => ["vdesc", "IDF_Views_Admin_projectSize2", __('Repository Size')],
); );
$pag->configure($list_display, array(), $pag->configure($list_display, array('shortname', 'shortname'),
array('shortname' )); array('shortname', 'name', 'vdesc' ));
$pag->extra_classes = array('', '', 'right'); $pag->extra_classes = array('', '', 'right');
$pag->items_per_page = 25; $pag->items_per_page = 25;
$pag->no_results_text = __('No projects were found.'); $pag->no_results_text = __('No projects were found.');
@ -657,6 +659,11 @@ function IDF_Views_Admin_projectSize($field, $project)
return Pluf_Utils::prettySize($size); return Pluf_Utils::prettySize($size);
} }
function IDF_Views_Admin_projectSize2($field, $project)
{
return Pluf_Utils::prettySize($project->vdesc);
}
/** /**
* Get a forge size. * Get a forge size.
* *