$not_overdue_limit = 5; $overdue_limit = 20; $show_more = false; // Not due tasks $not_due_tasks = ProjectTasks::getUpcomingWithoutDate($not_overdue_limit + 1); if (count($not_due_tasks) > $not_overdue_limit) { $show_more = true; array_pop($not_due_tasks); } // Due Tasks $overdue_upcoming_objects = ProjectTasks::getOverdueAndUpcomingObjects($overdue_limit + 1); // FIXME: performance Killer if (count($overdue_upcoming_objects) > $overdue_limit) { $show_more = true; array_pop($overdue_upcoming_objects); } $overdue_upcoming_objects = array_merge($not_due_tasks, $overdue_upcoming_objects); $users = array(); // Render only when the context isnt 'all' and you have perms $render_add = active_context_members(false) && ProjectTask::canAdd(logged_user(), active_context()); if ($render_add) { $users[] = array(0, lang('dont assign')); foreach (allowed_users_to_assign() as $company) { foreach ($company['users'] as $user) { $name = logged_user()->getId() == $user['id'] ? lang('me') : $user['name']; $users[] = array($user['id'], $name); } } } include_once 'template.php';
<div class="coInputMainBlock"> <div> <table><tbody> <?php foreach($parameters as $parameter) {?> <tr style='height:30px;'> <td style="padding:3px 10px 0 10px;"><b><?php echo $parameter['name']; ?></b></td> <td align="left"> <?php if($parameter['type'] == 'string'){ ?> <input id="parameterValues[<?php echo $parameter['name'] ?>]" name="parameterValues[<?php echo $parameter['name'] ?>]" /> <?php }else if($parameter['type'] == 'date'){ ?> <?php echo pick_date_widget2('parameterValues['.$parameter['name'].']')?> <?php }else{ ?> <select name="<?php echo 'parameterValues['.$parameter['name'].']'; ?>"> <?php $companies = allowed_users_to_assign(active_context()); foreach ($companies as $c) {?> <option value="<?php echo $c['id']; ?>"> <?php echo $c['name']; ?></option> <?php $users = $c['users']; if ( count($users) ) { foreach ($users as $usr) {?> <option value="<?php echo $usr['id'] ?>"> <?php echo $usr['name'] ?></option> <?php } } } ?> </select> <?php } ?>
/** * Render assign to SELECT * * @param string $list_name Name of the select control * @param Project $project Selected project, if NULL active project will be used * @param integer $selected ID of selected user * @param array $attributes Array of select box attributes, if needed * @return null */ function assign_to_select_box($list_name, $context = null, $selected = null, $attributes = null, $genid = null) { if (!$genid) $genid = gen_id(); require_javascript('og/tasks/main.js'); require_javascript('og/tasks/addTask.js'); ob_start(); ?> <input type="hidden" id="<?php echo $genid ?>taskFormAssignedTo" name="<?php echo $list_name?>"></input> <div id="<?php echo $genid ?>assignto_div"> <div id="<?php echo $genid ?>assignto_container_div"></div> </div> <script> og.drawAssignedToSelectBoxSimple = function(companies, user, genid) { usersStore = ogTasks.buildAssignedToComboStore(companies); var assignCombo = new Ext.form.ComboBox({ renderTo:genid + 'assignto_container_div', name: 'taskFormAssignedToCombo', id: genid + 'taskFormAssignedToCombo', value: user, store: usersStore, displayField:'text', typeAhead: true, mode: 'local', triggerAction: 'all', selectOnFocus:true, width:160, tabIndex: '150', valueField: 'value', emptyText: (lang('select user or group') + '...'), valueNotFoundText: '' }); assignCombo.on('select', function() { combo = Ext.getCmp(genid + 'taskFormAssignedToCombo'); assignedto = document.getElementById(genid + 'taskFormAssignedTo'); if (assignedto) assignedto.value = combo.getValue(); }); assignedto = document.getElementById(genid + 'taskFormAssignedTo'); if (assignedto) assignedto.value = '<?php echo ($selected ? $selected : '0') ?>'; } og.drawAssignedToSelectBoxSimple(<?php echo json_encode(allowed_users_to_assign($context)) ?>, '<?php echo ($selected ? $selected : '0') ?>', '<?php echo $genid ?>'); </script> <?php return ob_get_clean(); } // assign_to_select_box
function allowed_users_to_assign() { $wspace_id = array_var($_GET, "ws_id"); $comp_array = allowed_users_to_assign($wspace_id); $object = array("totalCount" => count($comp_array), "start" => 0, "companies" => array()); $object['companies'] = $comp_array; ajx_extra_data($object); ajx_current("empty"); }
function allowed_users_to_assign() { $members = array(); $member_ids = explode(',', array_var($_GET, 'member_ids')); if (count($member_ids) > 0) { $tmp_members = Members::findAll(array('conditions' => 'id IN (' . implode(',', $member_ids) . ')')); foreach ($tmp_members as $m) { if ($m->getDimension()->getIsManageable()) { $members[] = $m; } } } if (count($members) == 0) { $context_plain = array_var($_GET, 'context'); $context = null; if (!is_null($context_plain)) { $context = build_context_array($context_plain); } } else { $context = $members; } $comp_array = allowed_users_to_assign($context); $object = array("companies" => $comp_array); Hook::fire('modify_allowed_users_to_assign', array('params' => array_var($_REQUEST, 'extra_params')), $object); if (!can_manage_tasks(logged_user()) && can_task_assignee(logged_user())) { $object['only_me'] = "1"; } ajx_extra_data($object); ajx_current("empty"); }
<?php $context = active_context(); if (isset($member_id) && $member_id > 0) { // filter by context passed by parameter $additional_member = Members::findById($member_id); if ($additional_member instanceof Member) { $context = array($additional_member); } } if (array_var($_REQUEST, 'from_email')) { $from_email = MailContents::findById(array_var($_REQUEST, 'from_email')); if ($from_email instanceof MailContent) { $context = $from_email->getMembers(); } } $companies = allowed_users_to_assign($context); foreach ($companies as $c) { if (config_option('can_assign_tasks_to_companies')) { ?> <option value="<?php echo $c['id']; ?> "> <?php echo $c['name']; ?> </option> <?php } $users = $c['users']; if (count($users)) {
function allowed_users_to_assign() { $context_plain = array_var($_GET, 'context'); $context = null; if (!is_null($context_plain)) $context = build_context_array($context_plain); $comp_array = allowed_users_to_assign($context); $object = array( "companies" => $comp_array ); Hook::fire('modify_allowed_users_to_assign', null, $object); if(!can_manage_tasks(logged_user()) && can_task_assignee(logged_user())) $object['only_me'] = "1"; ajx_extra_data($object); ajx_current("empty"); } // allowed_users_to_assign