Exemplo n.º 1
0
/**
 * Get title of the item/task cell by field type
 *
 * @param string Type of the field: 'priority', 'status', 'assigned'
 * @param object Item
 * @param integer Priority
 * @return string
 */
function td_task_cell($type, $Item)
{
    global $current_User;
    switch ($type) {
        case 'priority':
            $value = $Item->priority;
            $title = item_priority_title($Item->priority);
            break;
        case 'status':
            $value = $Item->pst_ID;
            $title = $Item->get('t_extra_status');
            if (empty($title)) {
                $title = T_('No status');
            }
            break;
        case 'assigned':
            $value = $Item->assigned_user_ID;
            if (empty($value)) {
                $title = T_('No user');
            } else {
                $UserCache =& get_UserCache();
                $User =& $UserCache->get_by_ID($Item->assigned_user_ID);
                $title = $User->get_colored_login(array('mask' => '$avatar$ $login$'));
            }
            break;
        default:
            $value = 0;
            $title = '';
    }
    if ($current_User->check_perm('item_post!CURSTATUS', 'edit', false, $Item)) {
        // Current user can edit this item
        return '<a href="#" rel="' . $value . '">' . $title . '</a>';
    } else {
        // No perms to edit item, Display only a title
        return $title;
    }
}
Exemplo n.º 2
0
     // Invalid field
     $Ajaxlog->add(sprintf('Invalid field: %s', $field), 'error');
     break;
 }
 $post_ID = param('post_ID', 'integer', true);
 $ItemCache =& get_ItemCache();
 $Item =& $ItemCache->get_by_ID($post_ID);
 // Check permission:
 $current_User->check_perm('item_post!CURSTATUS', 'edit', true, $Item);
 $new_attrs = '';
 switch ($field) {
     case 'priority':
         // Update task priority
         $new_value = param('new_priority', 'integer', NULL);
         $new_attrs = ' color="' . item_priority_color($new_priority) . '"';
         $new_title = item_priority_title($new_priority);
         $Item->set_from_Request('priority', 'new_priority', true);
         $Item->dbupdate();
         break;
     case 'assigned':
         // Update task assigned user
         $new_assigned_ID = param('new_assigned_ID', 'integer', NULL);
         $new_assigned_login = param('new_assigned_login', 'string', NULL);
         if ($Item->assign_to($new_assigned_ID, $new_assigned_login)) {
             // An assigned user can be changed
             $Item->dbupdate();
         } else {
             // Error on changing of an assigned user
             load_funcs('_core/_template.funcs.php');
             headers_content_mightcache('text/html', 0, '#', false);
             // Do NOT cache error messages! (Users would not see they fixed them)