/**
  *
  */
 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;
 }
Beispiel #2
0
 * 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 {