Is it possible to have restriction like this? To allow user moving task from column A to B, but deny from B to A?
I’ve just come across this. I assumed that the restriction was already one-way because it asks for a ‘source’ column and a ‘destination’ column and allows another restriction to be created in the opposite direction.
I’ve had a look at the code history on GitHub and it looks like it was a one-way restriction initially but was subsequently changed to two-way. I’ve re-enabled one-way restrictions on mine by removing 3 lines in the app/helper/ProjectRoleHelper.php file as shown below:
public function canMoveTask($projectId, $srcColumnId, $dstColumnId)
{
$role = $this->getProjectUserRole($projectId);
if ($this->role->isCustomProjectRole($role)) {
if ($srcColumnId == $dstColumnId) {
return true;
}
$sortableColumns = $this->columnMoveRestrictionCacheDecorator->getSortableColumns($projectId, $role);
foreach ($sortableColumns as $column) {
if ($column['src_column_id'] == $srcColumnId && $column['dst_column_id'] == $dstColumnId) {
return true;
}
// Remove below this line
// if ($column['dst_column_id'] == $srcColumnId && $column['src_column_id'] == $dstColumnId) {
// return true;
// }
// Remove above this line
}
return empty($sortableColumns) && $this->isAllowedToMoveTask($projectId, $role);
}
return true;
}