Bug : default accounting override existing one

This commit is contained in:
sparkyx 2023-01-11 16:35:14 +01:00
parent 2fc94d0fb6
commit 69bbda205c
2 changed files with 50 additions and 3 deletions

View file

@ -49,11 +49,11 @@ class Card_Property
var $cn; var $cn;
//!< cn database connexion //!< cn database connexion
protected $display_mode; protected $display_mode;
//!< display mode determine if there link //!< display mode values are large , window , display Property depending of this mode.
function __construct($cn, $ad_id=0) function __construct($cn, $ad_id=0)
{ {
$this->cn=$cn; $this->cn=$cn;
$this->ad_id=0; $this->ad_id=$ad_id;
$this->display_mode='window'; $this->display_mode='window';
} }
public function __toString(): string public function __toString(): string
@ -188,7 +188,7 @@ class Card_Property
$result['msg'] .= " <span style=\"color:red\">" . _("Rappel: Poste par défaut sera ") . $result['msg'] .= " <span style=\"color:red\">" . _("Rappel: Poste par défaut sera ") .
$p_fiche_def->class_base . $p_fiche_def->class_base .
" !</span> "; " !</span> ";
$result['input']->value = $p_fiche_def->class_base; $result['input']->value = (empty ($result['input']->value)) ?$p_fiche_def->class_base:$result['input']->value;
} }
} }
$result['label']=_("Poste comptable"); $result['label']=_("Poste comptable");

View file

@ -217,4 +217,51 @@ class Card_PropertyTest extends TestCase
'count of card properties must be the same than the card category (fiche_def )'); 'count of card properties must be the same than the card category (fiche_def )');
} }
/**
* @testdox Build Input for automatic account , for a new card , the account is null
* @return void
*/
public function testBuildInput1()
{
$g_connection=Dossier::connect();
$property=new \Card_Property($g_connection,ATTR_DEF_ACCOUNT);
$g_connection->exec_sql("update fiche_def set fd_create_account=true where fd_id=25");
$fiche_def=new \Fiche_Def($g_connection,25);
$result=$property->build_input($fiche_def);
/*
$file_result=__CLASS__."-".__FUNCTION__.".txt";
$file_target='target-'.$file_result;
\Noalyss\Facility::save_file(__DIR__."/file",$file_result,var_export($result,true));
$this->assertFileEquals(__DIR__."/file/$file_target",__DIR__."/file/$file_result","Card_Property::build_input failed");
*/
$this->assertEquals("",$result["input"]->value," Accounting incorrect ");
}
/**
* @testdox Build Input for default account , for a new card , the account is the account of the category
* @return void
*/
public function testBuildInput2()
{
$g_connection=Dossier::connect();
$g_connection->exec_sql("update fiche_def set fd_create_account=false where fd_id=25");
$property=new \Card_Property($g_connection,ATTR_DEF_ACCOUNT);
$fiche_def=new \Fiche_Def($g_connection,25);
$result=$property->build_input($fiche_def);
$g_connection->exec_sql("update fiche_def set fd_create_account=true where fd_id=25");
/*
$file_result=__CLASS__."-".__FUNCTION__.".txt";
$file_target='target-'.$file_result;
\Noalyss\Facility::save_file(__DIR__."/file",$file_result,var_export($result,true));
$this->assertFileEquals(__DIR__."/file/$file_target",__DIR__."/file/$file_result","Card_Property::build_input failed");
*/
$this->assertEquals("600",$result["input"]->value," Accounting incorrect ");
}
} }