Forum

Screen customizatio...
 
Notifications
Clear all

Screen customization issue when upgrading to V7.3.3

12 Posts
2 Users
0 Reactions
6,279 Views
 Lamy
(@tlamy)
Posts: 11
Active Member
Topic starter
 
[#5671]

Hello!
Happy new year!
First I deployed the screencustomization V5.2:
2019-01-10 15:49:24.106 ===== TRACE ===== NEW CONNECTED USER 'admin'
2019-01-10 15:49:50.003 ===== TRACE ===== New plugin found : screenCustomization_V5.2.zip
2019-01-10 15:49:50.272 ===== TRACE ===== Plugin unzipped succefully
2019-01-10 15:49:50.306 ===== TRACE ===== Plugin descriptor information :
2019-01-10 15:49:50.307 ===== TRACE ===== => name : screenCustomization
2019-01-10 15:49:50.308 ===== TRACE ===== => description : Customization of screens
2019-01-10 15:49:50.309 ===== TRACE ===== => version : 5.2
2019-01-10 15:49:50.310 ===== TRACE ===== => compatibility : V6.4.4
2019-01-10 15:49:52.792 ===== TRACE ===== Plugin screenCustomization V5.2 completely deployed
2019-01-10 16:09:30.278 ===== TRACE ===== DISCONNECTED USER 'admin'

Then I copied the ProjeQtor files of V7.3.3 on the V7.2.6 and connected:

2019-01-10 16:17:23.467 ===== TRACE ===== =====================================
2019-01-10 16:17:23.468 ===== TRACE =====
2019-01-10 16:17:23.469 ===== TRACE ===== DataBase actual Version = V7.2.6
2019-01-10 16:17:23.470 ===== TRACE ===== ProjeQtOr actual Version = V7.3.3
2019-01-10 16:17:23.471 ===== TRACE =====
2019-01-10 16:17:23.472 ===== TRACE ===== =====================================
2019-01-10 16:17:23.473 ===== TRACE =====
2019-01-10 16:17:23.474 ===== TRACE ===== VERSION V7.3.0
2019-01-10 16:17:23.475 ===== TRACE =====
2019-01-10 16:17:23.496 ===== TRACE ===== 1 lines updated into table "menu".
2019-01-10 16:17:23.573 ===== TRACE ===== Table "report" altered.
2019-01-10 16:17:23.579 ===== TRACE ===== 14 lines updated into table "report".
2019-01-10 16:17:23.625 ===== TRACE ===== Table "attachment" altered.
2019-01-10 16:17:23.675 ===== TRACE ===== Table "documentversion" altered.
2019-01-10 16:17:23.726 ===== TRACE ===== Table "tender" altered.
2019-01-10 16:17:23.771 ===== TRACE ===== Table "providerbill" altered.
2019-01-10 16:17:23.797 ===== TRACE ===== Table "providerorder" altered.
2019-01-10 16:17:23.806 ===== TRACE ===== 4 lines inserted into table "parameter".
2019-01-10 16:17:23.807 ===== TRACE =====
2019-01-10 16:17:23.808 ===== TRACE ===== DATABASE UPDATED
2019-01-10 16:17:23.809 ===== TRACE ===== WITH NO ERROR
2019-01-10 16:17:23.810 ===== TRACE =====
2019-01-10 16:17:23.811 ===== TRACE ===== =====================================
2019-01-10 16:17:23.812 ===== TRACE =====
2019-01-10 16:17:23.813 ===== TRACE ===== VERSION V7.3.2
2019-01-10 16:17:23.814 ===== TRACE =====
2019-01-10 16:17:23.891 ===== TRACE ===== 68 lines deleted from table "columnselector".
2019-01-10 16:17:23.896 ===== TRACE ===== 0 lines deleted from table "tempupdate".
2019-01-10 16:17:23.915 ===== TRACE ===== 0 lines inserted into table "tempupdate".
2019-01-10 16:17:23.918 ===== TRACE ===== 0 lines updated into table "work".
2019-01-10 16:17:23.921 ===== TRACE ===== 0 lines deleted from table "tempupdate".
2019-01-10 16:17:23.925 ===== TRACE ===== 0 lines deleted from table "planningelement".
2019-01-10 16:17:23.926 ===== TRACE =====
2019-01-10 16:17:23.927 ===== TRACE ===== DATABASE UPDATED
2019-01-10 16:17:23.928 ===== TRACE ===== WITH NO ERROR
2019-01-10 16:17:23.930 ===== TRACE =====
2019-01-10 16:17:23.931 ===== TRACE ===== =====================================
2019-01-10 16:17:23.932 ===== TRACE =====
2019-01-10 16:17:23.933 ===== TRACE ===== VERSION V7.3.3
2019-01-10 16:17:23.934 ===== TRACE =====
2019-01-10 16:17:23.982 ===== TRACE ===== Table "budget" altered.
2019-01-10 16:17:24.003 ===== TRACE ===== Table "budget" altered.
2019-01-10 16:17:24.017 ===== TRACE ===== 3 lines inserted into table "linkable".
2019-01-10 16:17:24.018 ===== TRACE =====
2019-01-10 16:17:24.019 ===== TRACE ===== DATABASE UPDATED
2019-01-10 16:17:24.020 ===== TRACE ===== WITH NO ERROR
2019-01-10 16:17:24.022 ===== TRACE =====
2019-01-10 16:17:24.973 ===== TRACE ===== =====================================
2019-01-10 16:17:24.974 ===== TRACE =====
2019-01-10 16:17:24.975 ===== TRACE ===== DATABASE UPDATE COMPLETED TO VERSION V7.3.3
2019-01-10 16:17:24.978 ===== TRACE =====
2019-01-10 16:17:25.219 ===== TRACE ===== === SCREEN CUSTOMIZATION ISSUE =====================================
2019-01-10 16:17:25.221 ===== TRACE ===== Certaines customisations d'écran ne sont pas cohérentes :
2019-01-10 16:17:25.223 ===== TRACE ===== - Projet
2019-01-10 16:17:25.278 ===== TRACE ===== Les customisations ont été corrigées automatiquement
2019-01-10 16:17:35.827 ===== TRACE ===== NEW CONNECTED USER 'admin'
2019-01-10 16:20:10.305 ===== TRACE ===== === SCREEN CUSTOMIZATION ISSUE =====================================
2019-01-10 16:20:10.308 ===== TRACE ===== Certaines customisations d'écran ne sont pas cohérentes :
2019-01-10 16:20:10.309 ===== TRACE ===== - Projet
2019-01-10 16:20:10.320 ** ERROR ** [V7.3.3] ERROR **
2019-01-10 16:20:10.321
** ERROR ** [V7.3.3] on file '/projeqtor/plugin/screenCustomization/screenCustomizationSaveField.php' at line (695)
2019-01-10 16:20:10.322
** ERROR ** [V7.3.3] cause = Undefined offset: 1
2019-01-10 16:21:05.547
** ERROR ** [V7.3.3] Exception-[42S22] SQLSTATE[42S22]: Column not found: 1054 Unknown column 'refId' in 'where clause'
2019-01-10 16:21:05.549
** ERROR ** [V7.3.3] For query : select id from productproject where refId ='116' and refType ='ProjectMain' order by id desc
2019-01-10 16:21:05.550
** ERROR ** [V7.3.3] Strack trace :
2019-01-10 16:21:05.552
** ERROR ** [V7.3.3] #0 Sql->query called at [/projeqtor/model/persistence/SqlElement.php:2982]
2019-01-10 16:21:05.553
** ERROR ** [V7.3.3] #1 SqlElement->getDependantSqlElements called at [/projeqtor/model/persistence/SqlElement.php:2857]
2019-01-10 16:21:05.555
** ERROR ** [V7.3.3] #2 SqlElement->getSqlElement called at [/projeqtor/model/persistence/SqlElement.php:594]
2019-01-10 16:21:05.556
** ERROR ** [V7.3.3] #3 SqlElement->__construct called at [/projeqtor/model/ProjectMain.php:176]
2019-01-10 16:21:05.557
** ERROR ** [V7.3.3] #4 ProjectMain->__construct called at [/projeqtor/model/custom/Project.php:217]
2019-01-10 16:21:05.559
** ERROR ** [V7.3.3] #5 Project->setAttributes called at [/projeqtor/view/objectDetail.php:562]
2019-01-10 16:21:05.560
** ERROR ***** [V7.3.3] #6 drawTableFromObject called at [/projeqtor/view/objectDetail.php:285]

Like shown on the picture hereafter, I can't tune anymore the project screen:

Thank you for your help.
Best regards
Thierry Lamy


 
Posted : 11 Jan 2019 11H42
(@babynus)
Posts: 14952
Member Admin
 

Try and install latest version of Plugin (V5.2)
If problem persist, please post here file projeqtor/model/custom/Project.php.


 
Posted : 16 Jan 2019 20H42
 Lamy
(@tlamy)
Posts: 11
Active Member
Topic starter
 

Hi!
In fact it was what I already did.

For your good information, a problem already appeared during my last upgrades, here is the history

Upgrade from 7.1.5 to 7.2.6 :
..........................................................
2018-10-30 16:34:38.718 ===== TRACE ===== =====================================
2018-10-30 16:34:38.720 ===== TRACE =====
2018-10-30 16:34:38.721 ===== TRACE ===== DATABASE UPDATE COMPLETED TO VERSION V7.2.6
2018-10-30 16:34:38.722 ===== TRACE =====
2018-10-30 16:34:38.723 ===== TRACE ===== =====================================
2018-10-30 16:34:38.724 ===== TRACE =====
2018-10-30 16:34:38.843 ===== TRACE ===== === SCREEN CUSTOMIZATION ISSUE =====================================
2018-10-30 16:34:38.845 ===== TRACE ===== Certaines customisations d'écran ne sont pas cohérentes :
2018-10-30 16:34:38.846 ===== TRACE ===== - Projet
2018-10-30 16:34:38.897 ===== TRACE ===== - Activité
2018-10-30 16:34:38.929 ===== TRACE ===== Les customisations ont été corrigées automatiquement
.................................................................................................................................................................................................
So I did the Screencustomization plugin upgrade:

2018-10-30 16:35:26.459 ===== TRACE ===== New plugin found : screenCustomization_V5.1.zip
2018-10-30 16:35:27.300 ===== TRACE ===== Plugin unzipped succefully
2018-10-30 16:35:27.344 ===== TRACE ===== Plugin descriptor information :
2018-10-30 16:35:27.346 ===== TRACE ===== => name : screenCustomization
2018-10-30 16:35:27.347 ===== TRACE ===== => description : Customization of screens
2018-10-30 16:35:27.349 ===== TRACE ===== => version : 5.1
2018-10-30 16:35:27.351 ===== TRACE ===== => compatibility : V6.4.4
2018-10-30 16:35:28.215 ===== TRACE ===== Plugin screenCustomization V5.1 completely deployed
...................................................................................................................................................................................................................
After some time, so may be after some changes in the screens customizations, I had some errors when connecting as admin (not systematics...):

2018-12-17 11:23:24.850 ===== TRACE ===== NEW CONNECTED USER 'admin'
2018-12-17 11:24:11.199 ===== TRACE ===== === SCREEN CUSTOMIZATION ISSUE =====================================
2018-12-17 11:24:11.202 ===== TRACE ===== Certaines customisations d'écran ne sont pas cohérentes :
2018-12-17 11:24:11.204 ===== TRACE ===== - Projet
2018-12-17 11:24:11.253 ===== TRACE ===== Les customisations ont été corrigées automatiquement
2018-12-17 11:25:03.811 ===== TRACE ===== === SCREEN CUSTOMIZATION ISSUE =====================================

.........................................................................................................................................................................................................

Then I upgraded to 7.3.3 and Screen to 5.2. (the problem exists with this config)

As you asked here is the modelcustomProject.php

<?php
/ COPYRIGHT NOTICE ******************************************************
*
* Copyright 2009-2017 ProjeQtOr - Pascal BERNARD - support@projeqtor.org
* Contributors : -
*
* This file is part of ProjeQtOr.
*
* ProjeQtOr is free software: you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* ProjeQtOr is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
* more details.
*
* You should have received a copy of the GNU Affero General Public License along with
* ProjeQtOr. If not, see .
*
* You can get complete code of ProjeQtOr, other resource, help and information
* about contributors at http://www.projeqtor.org
*
DO NOT REMOVE THIS NOTICE *********************************************/

/** ============================================================================
* Action is establised during meeting, to define an action to be followed.
*/
require_once('_securityCheck.php');
class Project extends ProjectMain {

public static $_defaultValues=array(
);

private static $_colCaptionTransposition=array(
);

public $_sec_Description;
public $id;
public $_spe_rf;
public $name;
public $idProjectType;
public $idOrganization;
public $idCategory;
public $organizationInherited;
public $organizationElementary;
public $codeType;
public $idClient;
public $idContact;
public $projectCode;
public $contractCode;
public $clientCode;
public $idProject;
public $idSponsor;
public $idResource;
public $idUser;
public $creationDate;
public $lastUpdateDateTime;
public $color;
public $longitude;
public $latitude;
public $description;
public $objectives;
public $_sec_Progress;
public $ProjectPlanningElement;
public $_sec_Affectations;
public $_spe_affectations;
public $_sec_treatment;
public $idStatus;
public $idHealth;
public $idQuality;
public $idTrend;
public $idOverallProgress;
public $fixPlanning;
public $isUnderConstruction;
public $handled;
public $handledDate;
public $done;
public $doneDate;
public $idle;
public $idleDate;
public $cancelled;
public $_lib_cancelled;
public $_sec_ProductprojectProducts;
public $_ProductProject=array();
public $_sec_VersionprojectVersions;
public $_VersionProject=array();
public $_sec_Subprojects;
public $_spe_subprojects;
public $_sec_predecessor;
public $_Dependency_Predecessor=array();
public $_sec_successor;
public $_Dependency_Successor=array();
public $_sec_Link;
public $sortOrder;
public $_nbColMax=3;
public $_lib_helpFixPlanning;
public $_lib_helpUnderConstruction;
public $excludeFromGlobalPlanning;
public $_lib_helpExcludeFromGlobalPlanning;
public $_sec_restrictTypes;
public $_spe_restrictTypes;

private static $_fieldsAttributes=array(
"name"=>"required",
"done"=>"hidden,nobr",
"idle"=>"nobr",
"handled"=>"hidden,nobr",
"sortOrder"=>"hidden",
"codeType"=>"hidden",
"idProjectType"=>"required",
"longitude"=>"hidden",
"latitude"=>"hidden",
"idStatus"=>"required",
"idleDate"=>"nobr",
"cancelled"=>"hidden,nobr",
"organizationInherited"=>"hidden",
"organizationElementary"=>"hidden",
"idOrganization"=>"hidden",
"idCategory"=>"hidden",
"idClient"=>"hidden",
"idContact"=>"hidden",
"projectCode"=>"hidden",
"contractCode"=>"hidden",
"clientCode"=>"hidden",
"idSponsor"=>"hidden",
"idResource"=>"hidden",
"idProject"=>"",
"_sec_treatment"=>"",
"_sec_ProductprojectProducts"=>"hidden",
"_sec_VersionprojectVersions"=>"hidden",
"id"=>"hidden",
"_Note"=>"",
"_Attachment"=>"",
"_sec_Link"=>"hidden",
"_sec_predecessor"=>"hidden",
"_sec_successor"=>"hidden",
"_sec_Affectations"=>"",
"_sec_Progress"=>"",
"idHealth"=>"hidden",
"idQuality"=>"hidden",
"idTrend"=>"hidden",
"idOverallProgress"=>"hidden",
"fixPlanning"=>"hidden",
"isUnderConstruction"=>"hidden",
"handledDate"=>"hidden",
"doneDate"=>"hidden",
"excludeFromGlobalPlanning"=>""
);

private static $_staticDisplayStyling=array(
'_sec_Affectations'=>array('caption'=>'font-family:Arial;','field'=>'font-family:Arial;')); /** ==========================================================================
* Constructor
* @param $id the id of the object in the database (null if not stored yet)
* @return void
*/
function __construct($id = NULL, $withoutDependentObjects=false) {
parent::__construct($id,$withoutDependentObjects);
}

/** ==========================================================================
* Destructor
* @return void
*/
function __destruct() {
parent::__destruct();
}

/** ==========================================================================
* Return the specific fieldsAttributes
* @return the fieldsAttributes
*/
protected function getStaticFieldsAttributes() {
return array_merge(parent::getStaticFieldsAttributes(),self::$_fieldsAttributes);
}

/** ============================================================================
* Return the specific colCaptionTransposition
* @return the colCaptionTransposition
*/
protected function getStaticColCaptionTransposition($fld=null) {
if (isset(self::$_colCaptionTransposition)) {
return array_merge(parent::getStaticColCaptionTransposition($fld),self::$_colCaptionTransposition);
} else {
return parent::getStaticColCaptionTransposition($fld);
}
}

/** ==========================================================================
* Return the generic defaultValues
* @return the layout
*/
protected function getStaticDefaultValues() {
return self::$_defaultValues;
}

/** ==========================================================================
* Return the specific styling for fields
* @return the fields styling
*/
public function getStaticDisplayStyling() {
return self::$_staticDisplayStyling;
}

/** ============================================================================
* Set attribut from parent : merge current attributes with those of Main class
* @return void
*/
public function setAttributes() {
$parentClass=get_class($this)."Main";
if (!SqlElement::class_exists($parentClass)) return;
$parent=new $parentClass($this->id);
if (! method_exists($parent, "setAttributes")) return;
$parent->setAttributes();
if (method_exists("SqlElement","mergeAttributesArrays")) {
self::$_fieldsAttributes=SqlElement::mergeAttributesArrays(self::$_fieldsAttributes,$parent->getStaticFieldsAttributes());
} else {
self::$_fieldsAttributes=array_merge_preserve_keys(self::$_fieldsAttributes,$parent->getStaticFieldsAttributes());
}
}
}
?>

....................................................................................................................................................................
Thank you for your help.
Regards
Thierry


 
Posted : 17 Jan 2019 11H20
(@babynus)
Posts: 14952
Member Admin
 

Hi,

Can you please post file as an attachment ? (change extention to .txt if you cannot upload .php file)
I will have to fix it and send it back to you, so I don't want to make a mistake


 
Posted : 17 Jan 2019 11H29
 Lamy
(@tlamy)
Posts: 11
Active Member
Topic starter
 

Here is the file.
Thank you!


 
Posted : 17 Jan 2019 11H38
(@babynus)
Posts: 14952
Member Admin
 

File is not attached


 
Posted : 17 Jan 2019 17H44
 Lamy
(@tlamy)
Posts: 11
Active Member
Topic starter
 

 
Posted : 17 Jan 2019 17H54
(@babynus)
Posts: 14952
Member Admin
 

Here is file fixed


 
Posted : 20 Jan 2019 16H07
 Lamy
(@tlamy)
Posts: 11
Active Member
Topic starter
 

🙂
Hello! Thanks a lot!

I effectively recovered the screen customization for projects.

So it works as before, however I still have some errors but much less bothering.

When I click on a project I have this error in the log:
2019-01-21 09:14:02.616 ** ERROR ** [V7.3.3] Exception-[42S22] SQLSTATE[42S22]: Column not found: 1054 Unknown column 'refId' in 'where clause'
2019-01-21 09:14:02.618 ** ERROR ** [V7.3.3] For query : select id from productproject where refId ='32' and refType ='ProjectMain' order by id desc
2019-01-21 09:14:02.620 ** ERROR ** [V7.3.3] Strack trace :
2019-01-21 09:14:02.621 ** ERROR ** [V7.3.3] #0 Sql->query called at [/projeqtor/model/persistence/SqlElement.php:2982]
2019-01-21 09:14:02.622 ** ERROR ** [V7.3.3] #1 SqlElement->getDependantSqlElements called at [/projeqtor/model/persistence/SqlElement.php:2857]
2019-01-21 09:14:02.623 ** ERROR ** [V7.3.3] #2 SqlElement->getSqlElement called at [/projeqtor/model/persistence/SqlElement.php:594]
2019-01-21 09:14:02.624 ** ERROR ** [V7.3.3] #3 SqlElement->__construct called at [/projeqtor/model/ProjectMain.php:176]
2019-01-21 09:14:02.625 ** ERROR ** [V7.3.3] #4 ProjectMain->__construct called at [/projeqtor/model/custom/Project.php:222]
2019-01-21 09:14:02.626 ** ERROR ** [V7.3.3] #5 Project->setAttributes called at [/projeqtor/view/objectDetail.php:562]
2019-01-21 09:14:02.627 ** ERROR ** [V7.3.3] #6 drawTableFromObject called at [/projeqtor/view/objectDetail.php:285]

In the screencustomization plugin if I try to globally hide the type restrictions section I got an error too:
2019-01-21 09:22:56.893 ** ERROR ** [V7.3.3] ERROR **
2019-01-21 09:22:56.895
** ERROR ** [V7.3.3] on file '/projeqtor/plugin/screenCustomization/screenCustomizationSaveField.php' at line (695)
2019-01-21 09:22:56.896
** ERROR ***** [V7.3.3] cause = Undefined offset: 1

However if I individually hide this type restrictions section for each profile (including administrator), there is no error.

Best regards
Thierry


 
Posted : 21 Jan 2019 11H28
(@babynus)
Posts: 14952
Member Admin
 

Hi,

first issue (unknown column 'refId' in 'where clause') recorded as Ticket #3796

second is recorded as Ticket #3797, fixed, and will be deplouyed on next version of plugin.

NB : to hide the restrict type section, you may simply set Global Parameter "allow type restriction on project" to "NO"


 
Posted : 22 Jan 2019 11H39
(@babynus)
Posts: 14952
Member Admin
 

For information, version 5.3 of screen customization plugin is deployed


 
Posted : 23 Jan 2019 17H49
 Lamy
(@tlamy)
Posts: 11
Active Member
Topic starter
 

Thank you very much for your help !
Thierry


 
Posted : 23 Jan 2019 17H55
Share:

Scroll to Top