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 \model\custom\Project.php
<?php
/*** COPYRIGHT NOTICE *********************************************************
*
* Copyright 2009-2017 ProjeQtOr - Pascal BERNARD -
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
* 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 <
www.gnu.org/licenses/>.
*
* You can get complete code of ProjeQtOr, other resource, help and information
* about contributors at
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