Forum

Reports - problem w...
 
Notifications
Retirer tout

Reports - problem with baseline parameter

5 Posts
2 Utilisateurs
0 Reactions
1,457 Vu
 M
(@mkavurcic)
Posts: 43
Active Member
Début du sujet
 
[#7292]

When baseline parameter is included in report there is discrepancy after a project is selected – refresh of “project baseline” parameter displays baselines of all visible projects;  Problem exists in ..tooljsonList.php (line 408…):
else if  ($dataType=='idBaselineSelect') {   
$list=array();   
$critWhere=  'idProject in ' . getVisibleProjectsList() ;   
$bl=new Baseline();   
$lstBaseline=$bl->getSqlElementsFromCriteria(null,null,$critWhere);   
foreach ($lstBaseline as $bl) {      $list[$bl->id]=$bl->name;    }  } 

Workaround to display only baselines of selected project (should be done far more systematically):
Replace above code with:
else if ($dataType=='idBaselineSelect') {   
$list=array();   
$critWhere=  'idProject = '. RequestHandler::getValue ( 'critValue' );   
$bl=new Baseline();   
$lstBaseline=$bl->getSqlElementsFromCriteria(null,null,$critWhere);       
if ($lstBaseline[0]) {       
foreach ($lstBaseline as $bl) {       
$list[$bl->id]=$bl->name;        }    } 
else {   
$list[0]=''; 
       }   } 


 
Posté : 8 Fév PM 15:022
(@babynus)
Posts: 14952
Membre Admin
 

Hi,

Thanks for reporting and for fix proposale
Issue will be fixed on V9.0.5
Fix is in jsonList (line 408)

  } else if ($dataType=='idBaselineSelect') {
    $list=array();
    $critProj=(RequestHandler::getValue ('critField')=='idProject')?RequestHandler::getValue('critValue'):null;
    if ($critProj) {$critWhere='idProject = '.$critProj;}
    else {$critWhere='idProject in '.getVisibleProjectsList(); }
    $bl=new Baseline;
    $lstBaseline=$bl->getSqlElementsFromCriteria(null,null,$critWhere);
    foreach ($lstBaseline as $bl) {
      $list[$bl->id]=$bl->name." (".htmlFormatDate($bl->baselineDate).") - ".SqlList::getNameFromId('Project', $bl->idProject);
    }

and on planningListFunctions.php, line 389

         


 
Posté : 10 Fév PM 13:022
 M
(@mkavurcic)
Posts: 43
Active Member
Début du sujet
 

Superb, but, still, there is one tiny issue - when global selector is set to "All projects" and when user, after selecting one of visible projects, select all projects (blank) error is generated in log file:2021-02-10 12:40:39.364 ** ERROR ** [V9.0.4] Exception-[42000] SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

2021-02-10 12:40:39.364 ** ERROR ** [V9.0.4] For query : select * from baseline where idProject =

2021-02-10 12:40:39.364 ** ERROR ** [V9.0.4] Strack trace :

2021-02-10 12:40:39.364 ** ERROR ** [V9.0.4] #0 Sql->query called at [/var/www/html/projeqtor/model/persistence/SqlElement.php:2680]

2021-02-10 12:40:39.365 ** ERROR ** [V9.0.4] #1 SqlElement->getSqlElementsFromCriteria called at [/var/www/html/projeqtor/tool/jsonList.php:446]

I suggest the followin amendment (marked red):

else if ($dataType=='idBaselineSelect') {

    $list=array();

    $critProj=(RequestHandler::getValue ('critField')=='idProject')?RequestHandler::getValue('critValue'):null;

    if ($critProj != ' ') {$critWhere='idProject = '.$critProj;}

    else {$critWhere='idProject in '.getVisibleProjectsList(); }

    $bl=new Baseline;

    $lstBaseline=$bl->getSqlElementsFromCriteria(null,null,$critWhere);

    foreach ($lstBaseline as $bl) {

      $list[$bl->id]=$bl->name." (".htmlFormatDate($bl->baselineDate).") - ".SqlList::getNameFromId('Project', $bl->idProject);

    }
   }


 
Posté : 10 Fév PM 14:022
(@babynus)
Posts: 14952
Membre Admin
 

Hi,
Yep, but fix will be deffirent : idProject may contain an empty string , or '*' or ' ' (single space)
So correct fix is to replace

$critProj=(RequestHandler::getValue ('critField')=='idProject')?RequestHandler::getValue('critValue'):null;

with

$critProj=(RequestHandler::getValue ('critField')=='idProject')?intval(RequestHandler::getValue('critValue')):null;


 
Posté : 10 Fév PM 16:022
 M
(@mkavurcic)
Posts: 43
Active Member
Début du sujet
 

Chateau d'Yquem - Foie Gras


 
Posté : 10 Fév PM 16:022
Share:
Retour en haut