View ProjeQtOr On SourceForge.net
ProjeQtOr - Project Management Tool
Supportez nous sur Capterra
OIN - Open Invention Network
ProjeQtOr free project management software - Reports - problem with baseline parameter - ProjeQtOr

Prochaines Sessions

Les prochaines formations et démonstrations sont ouvertes, inscrivez-vous rapidement !

 

Démonstration de ProjeQtOr

(gratuit, sur inscription)
 

13 mai 2025 (10h30-12h)

5 juin 2025 (16h-17h30)

 
 

Planifiez avec ProjeQtOr

14 et 15 mai 2025 (9h-12h30)

18 et 19 juin 2025 (9h-12h30)

 
 

Administrez avec ProjeQtOr

20 et 21 mai (9h-12h30)

25 et 26 juin (9h-12h30)

 

 

 

Reports - problem with baseline parameter

More
08 Fév 2021 13:01 - 08 Fév 2021 13:24 #1 by mkavurcic
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 ..tool\jsonList.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]=''; 
       }   } 
Last edit: 08 Fév 2021 13:24 by mkavurcic.

Please Connexion or Create an account to join the conversation.

More
10 Fév 2021 11:30 #2 by babynus
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

          <?php htmlDrawOptionForReference('idBaselineSelect', getSessionValue("planningBaselineTop"), null,false,null,null);?>


Babynus
Administrator of ProjeQtOr web site

Please Connexion or Create an account to join the conversation.

More
10 Fév 2021 12:46 #3 by mkavurcic
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);

    }
   }

Please Connexion or Create an account to join the conversation.

More
10 Fév 2021 14:14 #4 by babynus
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;


Babynus
Administrator of ProjeQtOr web site

Please Connexion or Create an account to join the conversation.

More
10 Fév 2021 14:36 #5 by mkavurcic
Chateau d'Yquem - Foie Gras

Please Connexion or Create an account to join the conversation.

Moderators: babynusprotion
Time to create page: 0.037 seconds

Paramétrages de cookies

×

Cookies fonctionnels

Ce site utilise des cookies pour assurer son bon fonctionnement et ne peuvent pas être désactivés de nos systèmes. Nous ne les utilisons pas à des fins publicitaires. Si ces cookies sont bloqués, certaines parties du site ne pourront pas fonctionner.

Session

Veuillez vous connecter pour voir vos activités!

Autres cookies

Ce site web utilise un certain nombre de cookies pour gérer, par exemple, les sessions utilisateurs.