*/␊ |
class IDF_Views_User␊ |
{␊ |
public $requestproject_precond = array('Pluf_Precondition::loginRequired');␊ |
public function requestproject($request)␊ |
{␊ |
$params = array("user" => $request->user);␊ |
$title = __('Request Project');␊ |
$success = false;␊ |
$error = false;␊ |
if ($request->method == 'POST') {␊ |
$form = new IDF_Form_ProjectRequest((array)$request->POST, $params);␊ |
if ($form->isValid()) {␊ |
$check = $form->save();␊ |
if ($check)␊ |
{␊ |
$form = new IDF_Form_ProjectRequest(null, $params);␊ |
$success = true;␊ |
} else {␊ |
$error = "Repository shortname has already been taken.";␊ |
}␊ |
}␊ |
␊ |
} else {␊ |
$form = new IDF_Form_ProjectRequest(null, $params);␊ |
}␊ |
return Pluf_Shortcuts_RenderToResponse('idf/user/projectrequest.html',␊ |
array('page_title' => $title,␊ |
'form' => $form,␊ |
'success' => $success,␊ |
'error' => $error),␊ |
$request);␊ |
␊ |
}␊ |
/**␊ |
* Dashboard of a user.␊ |
*␊ |
|
array('summary', 'IDF_Views_IssueSummaryAndLabels', __('Summary')),␊ |
array('status', 'IDF_Views_Issue_ShowStatus', __('Status')),␊ |
array('modif_dtime', 'Pluf_Paginator_DateAgo', __('Last Updated')),␊ |
);␊ |
);␊ |
$pag->configure($list_display, array(), array('status', 'modif_dtime'));␊ |
$pag->items_per_page = 10;␊ |
$pag->no_results_text = ($working) ? __('No issues are assigned to you, yeah!') : __('All the issues you submitted are fixed, yeah!');␊ |
|
*/␊ |
public function view($request, $match)␊ |
{␊ |
$db =& Pluf::db();␊ |
$sql = new Pluf_SQL('login=%s', array($match[1]));␊ |
$users = Pluf::factory('Pluf_User')->getList(array('filter'=>$sql->gen()));␊ |
if (count($users) != 1 or !$users[0]->active) {␊ |
|
␊ |
$user = $users[0];␊ |
$user_data = IDF_UserData::factory($user);␊ |
␉//$projects = $request->user->getAllPermissions();␊ |
␉//print_r($request->user->permissions);␊ |
␉//print_r($projects[0]);␊ |
␉//$projects = array();␊ |
//foreach (IDF_Views::getProjects($request->user) as $project) {␊ |
␉//␉$projects[] = $project; ␊ |
␉//}␊ |
␉$projects = IDF_Views::getProjects($request->user);␊ |
␉//print_r($projects);␊ |
␉return Pluf_Shortcuts_RenderToResponse('idf/user/public.html',␊ |
␊ |
$false = Pluf_DB_BooleanToDb(false, $db);␊ |
$sql_results = $db->select(␊ |
'SELECT id FROM '.$db->pfx.'idf_projects '.␊ |
'WHERE '.$db->qn('private').'='.$false␊ |
);␊ |
␊ |
$ids = array();␊ |
foreach ($sql_results as $id) {␊ |
$ids[] = $id['id'];␊ |
}␊ |
$f_sql = new Pluf_SQL('owner=%s AND project IN (' . implode(', ', $ids) . ' )', array($user->id));␊ |
␊ |
$pag = new Pluf_Paginator(new IDF_Issue());␊ |
$pag->class = 'recent-issues';␊ |
$pag->item_extra_props = array('current_user' => $request->user);␊ |
$pag->summary = __('This table shows the open issues.');␊ |
$pag->forced_where = $f_sql;␊ |
$pag->action = 'idf_dashboard';␊ |
$pag->sort_order = array('modif_dtime', 'ASC'); // will be reverted␊ |
$pag->sort_reverse_order = array('modif_dtime');␊ |
$list_display = array(␊ |
'id' => __('Id'),␊ |
array('project', 'Pluf_Paginator_FkToString', __('Project')),␊ |
array('summary', 'IDF_Views_IssueSummaryAndLabels', __('Summary')),␊ |
array('status', 'IDF_Views_Issue_ShowStatus', __('Status')),␊ |
array('modif_dtime', 'Pluf_Paginator_DateAgo', __('Last Updated')),␊ |
);␊ |
$pag->configure($list_display, array(), array('status', 'modif_dtime'));␊ |
$pag->items_per_page = 10;␊ |
$pag->no_results_text = __('This user has no issues assigned to them!');␊ |
$pag->setFromRequest($request);␊ |
␊ |
␉ $projects = IDF_Views::getOwnedProjects($user);␊ |
␉ return Pluf_Shortcuts_RenderToResponse('idf/user/public.html',␊ |
array('page_title' => (string) $user,␊ |
'member' => $user,␊ |
'user_data' => $user_data,␊ |
␉␉␉␉␉␉ 'projects' => $projects␊ |
␉␉␉␉␉␉ 'projects' => $projects,␊ |
'issues' => $pag␊ |
),␊ |
$request);␊ |
}␊ |