Forum

[SOLVED] How to Cha...
 
Notifications
Retirer tout

[SOLVED] How to Change Layout/Position of Predecessor, Successor and Linked Elements

20 Posts
2 Utilisateurs
0 Reactions
18.8 K Vu
(@iconic)
Posts: 280
Active Member
Début du sujet
 
[#2470]

Firstly I would just like to say, I loved version 5.0.3 It is so much easier to look at and use. I have the new buttons and feel of the program.

The only question I have is how could I change the position or Layout of the the Elements. At the moment the elements are displayed from left to right as ...

Predecessor element | Successor Element | Linked Elements
| Attachments
| Notes

This layout doesn't work for us at the moment. I am trying to find a way to make it display as
Notes | Attachments | Linked Elements
| Predecessor element
| Successor Element


 
Posté : 29 Juil PM 13:077
(@babynus)
Posts: 14952
Membre Admin
 

Just change order in object definition (for instance in /model/Activity.php for activities)


 
Posté : 29 Juil PM 13:077
(@iconic)
Posts: 280
Active Member
Début du sujet
 

Can you be a little more specific as to where I can change the order in object definition. I looked at /model/Activity.php and I can't seem to find anything I can change the order for.


 
Posté : 29 Juil PM 13:077
(@babynus)
Posts: 14952
Membre Admin
 

My mistake.
It is in ActivityMain.php.

class ActivityMain extends SqlElement {

  // List of fields that will be exposed in general user interface
  // List of fields that will be exposed in general user interface
  public $_sec_description;
  public $id;    // redefine $id to specify its visible place 
  public $reference;
  public $name;
  public $idActivityType;
  public $idProject;
  public $externalReference;  
  public $creationDate;
  public $idUser;
  public $idContact;
  public $Origin;
  public $description;  
  public $_sec_treatment;
  public $idActivity;
  public $idStatus;
  public $idResource;  
  public $handled;
  public $handledDate;
  public $done;
  public $doneDate;
  public $idle;
  public $idleDate;
  public $cancelled;
  public $_lib_cancelled;
  public $idTargetVersion;
  public $result;
  public $_sec_Assignment;
  public $_Assignment=array();
  public $_sec_Progress;
  public $ActivityPlanningElement; // is an object
  
  public $_sec_predecessor;
  public $_Dependency_Predecessor=array();
  public $_sec_successor;
  public $_Dependency_Successor=array();
  public $_sec_Link;
  public $_Link=array();
  public $_Attachment=array();
  public $_Note=array();
  
  public $_nbColMax=3;

But best way is :
-copy Activity.php in /model/custom
- copy fields description from /model/ActivityMain.php to /model/custom/Activity.php
- change order or fields in /model/custom/Activity.php
This should do the job and will not be overwritten by new versions.


 
Posté : 29 Juil PM 13:077
(@iconic)
Posts: 280
Active Member
Début du sujet
 

I think I made an error as I am now receiving the following error.
"Fatal error: Class 'Activity' not found in /home/iconicprod/public_html/Project-Management/view/objectList.php on line 42"

I did as you said and made a copy in of Activity.php in .../model/custom

Here is what I copied and is now showing in Activity.php in .../model/custom

require_once('_securityCheck.php');
class ActivityMain extends SqlElement {
 
  // List of fields that will be exposed in general user interface
  // List of fields that will be exposed in general user interface
  public $_sec_description;
  public $id;    // redefine $id to specify its visible place 
  public $reference;
  public $name;
  public $idActivityType;
  public $idProject;
  public $externalReference;  
  public $creationDate;
  public $idUser;
  public $idContact;
  public $Origin;
  public $description;  
  public $_sec_treatment;
  public $idActivity;
  public $idStatus;
  public $idResource;  
  public $handled;
  public $handledDate;
  public $done;
  public $doneDate;
  public $idle;
  public $idleDate;
  public $cancelled;
  public $_lib_cancelled;
  public $idTargetVersion;
  public $result;
  public $_sec_Assignment;
  public $_Assignment=array();
  public $_sec_Progress;
  public $ActivityPlanningElement; // is an object
 
  public $_Note=array();
  public $_Attachment=array();
  public $_sec_Link;
  public $_Link=array();  
  public $_sec_predecessor;
  public $_Dependency_Predecessor=array();
  public $_sec_successor;
  public $_Dependency_Successor=array();
 
  public $_nbColMax=3;
  
   /** ==========================================================================
   * 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();
  }


}
?>

What have I done wrong?


 
Posté : 29 Juil PM 14:077
(@babynus)
Posts: 14952
Membre Admin
 

Issue is that you copied all what I showed.
You should just have copied fields (lines starting with public)
The most important is the class definition that must be :

class Activity extends ActivityMain {

 
Posté : 29 Juil PM 14:077
(@iconic)
Posts: 280
Active Member
Début du sujet
 

Fixed that, however the I have moved Notes to be on the top, but the
Predecessor element | Successor Element | Linked Elements

are still in the same order, they are just showing below it.

Here is an image.


 
Posté : 29 Juil PM 14:077
(@babynus)
Posts: 14952
Membre Admin
 

Can you sow your definition (code of class) ?


 
Posté : 29 Juil PM 14:077
(@iconic)
Posts: 280
Active Member
Début du sujet
 

Here is the code i am using.

class Activity extends ActivityMain {
 
  // List of fields that will be exposed in general user interface
  // List of fields that will be exposed in general user interface
  public $_sec_description;
  public $id;    // redefine $id to specify its visible place 
  public $reference;
  public $name;
  public $idActivityType;
  public $idProject;
  public $externalReference;  
  public $creationDate;
  public $idUser;
  public $idContact;
  public $Origin;
  public $description;  
  public $_sec_treatment;
  public $idActivity;
  public $idStatus;
  public $idResource;  
  public $handled;
  public $handledDate;
  public $done;
  public $doneDate;
  public $idle;
  public $idleDate;
  public $cancelled;
  public $_lib_cancelled;
  public $idTargetVersion;
  public $result;
  public $_sec_Progress;
  public $ActivityPlanningElement; // is an object
 
  public $_sec_Link;
  public $_Link=array();  
  public $_sec_predecessor;
  public $_Dependency_Predecessor=array();
  public $_sec_successor;
  public $_Dependency_Successor=array();
  public $_Attachment=array();
  public $_Note=array();
  public $_sec_Assignment;
  public $_Assignment=array();
 
  public $_nbColMax=3;
  
}
?>

 
Posté : 29 Juil PM 15:077
(@iconic)
Posts: 280
Active Member
Début du sujet
 

Hi there, any further assistance would be greatly appreciated


 
Posté : 30 Juil PM 13:077
(@babynus)
Posts: 14952
Membre Admin
 

You must have done somethong wrong.
When I try your new Activity.php (in /model/custom) I get this :

(I just closed sections just to show order).
It fist what you defined...


 
Posté : 30 Juil PM 14:077
(@iconic)
Posts: 280
Active Member
Début du sujet
 

I noticed that yours is setup in 2 columns, whereas I have 3 columns setup. Would this be the issue?


 
Posté : 30 Juil PM 14:077
(@babynus)
Posts: 14952
Membre Admin
 

Here is result on 3 columns :


 
Posté : 30 Juil PM 14:077
(@iconic)
Posts: 280
Active Member
Début du sujet
 

Yes, that is similar to what I have, and there is the issue I am having.

You see, I want Notes and Linked elements to be in the position of where Predecessor and Successor Elements are.

In essence, I want Notes in the first column where Predescessor is.

Is there anyway i can do this?


 
Posté : 30 Juil PM 16:077
(@iconic)
Posts: 280
Active Member
Début du sujet
 

Hi there,
Any further updates with this would be greatly appreciated


 
Posté : 1 Août PM 14:088
Page 1 / 2
Share:
Retour en haut