/** * */ function setDropRule($source_column_id, $target_resolution, $alert = '', $autoassign = 0) { if ($source_column_id) { $rule = taskboard_column_source_get_object($source_column_id, $this->getID()); } else { $rule = $this->getDropRulesByDefault(); } if ($rule) { $rule->save($target_resolution, $alert, $autoassign); if ($rule->isError()) { $this->setError($rule->getErrorMessage()); return false; } } else { $this->setError('TaskBoardColumn: cannot set drop rule'); return false; } return $rule; }
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ $ret = array('message' => '', 'action' => ''); $ret['message'] = ''; $task_id = getStringFromRequest('task_id'); $target_phase_id = getStringFromRequest('target_phase_id'); $task = $taskboard->TrackersAdapter->getTask($task_id); if ($task) { $ret['task'] = $taskboard->getMappedTask($task); $source_phase_id = $ret['task']['phase_id']; $drop_rule = taskboard_column_source_get_object($source_phase_id, $target_phase_id); if (!$drop_rule->getID()) { $drop_rule = taskboard_default_column_source_get_object($target_phase_id); } if (!$drop_rule->getID()) { $ret['alert'] = _('Drop rule is not defined for this target column'); } else { db_begin(); $cannot_drop_msg = $drop_rule->drop($task); if (!$cannot_drop_msg) { db_commit(); if ($drop_rule->getAlertText()) { $ret['alert'] = $drop_rule->getAlertText(); } $ret['task'] = $taskboard->getMappedTask($task); } else {