"Add dependencies" implemented

A few bugs in the SQL scripts have been fixed. It is now possible to add
new dependencies to a task from the details page.
This commit is contained in:
Emmanuel BENOîT 2012-02-05 20:55:09 +01:00
parent 60d4fe1199
commit ba3fcc2470
8 changed files with 161 additions and 4 deletions
includes/t-tasks

View file

@ -107,10 +107,15 @@ class Ctrl_TaskDependencies
public function handle( Page $page )
{
$views = array(
Loader::View( 'box' , 'Dependencies' ,
$depBox = Loader::View( 'box' , 'Dependencies' ,
Loader::View( 'task_dependencies' , $this->task , false ) )
);
if ( ! empty( $this->task->possibleDependencies ) ) {
$depBox->addButton( BoxButton::create( 'Add dependency' , 'tasks/deps/add?to=' . $this->task->id )
->setClass( 'list-add' ) );
}
if ( ! empty( $this->task->reverseDependencies ) ) {
array_push( $views , Loader::View( 'box' , 'Reverse dependencies' ,
Loader::View( 'task_dependencies' , $this->task , true ) ) );
@ -340,3 +345,43 @@ class Ctrl_EditNote
return true;
}
}
class Ctrl_DependencyAdd
extends Controller
implements FormAware
{
private $form;
public function setForm( Form $form )
{
$this->form = $form;
}
public function handle( Page $page )
{
$id = (int) $this->form->field( 'to' )->value( );
$dependency = $this->form->field( 'dependency' )->value( );
$error = Loader::DAO( 'tasks' )->addDependency( $id , $dependency );
switch ( $error ) {
case 0:
return true;
case 1:
$name->putError( 'The task you selected has been deleted.' );
break;
case 2:
$item->putError( 'This dependency is no longer possible.' );
break;
default:
$name->putError( "An unknown error occurred ($error)" );
break;
}
return null;
}
}