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
Try and install latest version of Plugin (V5.2)
If problem persist, please post here file projeqtor/model/custom/Project.php.
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
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
File is not attached
🙂
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
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"
For information, version 5.3 of screen customization plugin is deployed
Thank you very much for your help !
Thierry
