Commit History

Author SHA1 Message Date
  romainq 4b36e9e017 Obsolescence: introduction of this new concept (wording could change later). The obsolescence of an object is computed after other attributes, by the mean of an OQL expression. The code has been refactored (again) so as to factorize between the computation of friendly names and the computation of obsolescence flags. The refactoring involved a significant AND RISKY change: external key friendly names (magic attributes) have been changed from AttributeFriendlyName to AttributeExternalField, which simplifies the SQL query build logic. 8 years ago
  romainq 15b1f85700 Archives: regression. Forms not working with various symptom having the same root cause: DBObject::Set issuing an exception "Attempting to set the value on the read-only attribute operational_status" 8 years ago
  romainq 3109a0a7ca Internal: 8 years ago
  romainq 34ab6cd77b NEW! Archiving data. Archiving is a soft delete. It can be undone. Enter the archive mode to see all the data including archives (everything is read-only in that mode). Archiving must be enabled per class (data model). Archiving is achieved by the mean of the API DBObject::Archive (or Unarchive). 8 years ago
  glajarige da0260c569 N°653 Lifecycle flags can be defined on both states and transitions (Note: This is a beta version and need to be tested!) 8 years ago
  glajarige d338d8269b DBObject::ExecActions : add_to_list action now accepts the source object id as first parameter 8 years ago
  glajarige 80831c4230 N°602: InlineImage "randomly" not available for display. 8 years ago
  romainq c0139a35c0 #1178 Internals: Object Update/Reload should never fail: as soon as a given object has been read in the current execution context, updating/reloading it is not an issue. 8 years ago
  romainq 06ae19387b #1223 Custom lifecycle actions: improved the reporting when an action returns false (class/function/id logged into error.log)+ the framework now considers that no return value is equivalent to 'true' 9 years ago
  romainq daf4f2445f #1235 Internal: DBObject API - external fields not up to date after changing the external key (though they seem to be in sync when inspecting the internal values, Get() does not return the expected value). 9 years ago
  dflaven 570ec40c2b Support for objects to go "out of the silo" during a transition by making sure that we can reload an object we've just saved. 9 years ago
  romainq 65aaea630b XSS: Fixed a regression caused by the fix [3994]. Object hyperlinks were escaped twice causing accuented characters displayed as '´'. The API DBObject::MakeHyperLink has been clarified and the original fix moved elsewhere. The XSS injection that was not handled correctly prior to [3994] was in the display of an external key in the details of an object. To reproduce easily, inject some malicious characters in the name of the organization 'Demo' and view any object owned by Demo. 9 years ago
  dflaven 53e0da0c73 Support "recusrive placeholders" (i.e. $this->org_id->code$) inside notifications... when using the HTML notation (i.e. -> becomes ->) 9 years ago
  dflaven 6ae7b96076 Regression: properly initialize mandatory date (and time) attributes when using a custom date/time format. 9 years ago
  romainq 05edb4d1da Internal: added DBObject::RegisterURLMakerClass, to allow for overriding the standard behavior of template placeholders such as $this->org_id->hyperlink(portal)$ 9 years ago
  dflaven 08e01b9eb7 Enhancement: Date and time formats are now configurable in iTop !! (beta version, beware!) 9 years ago
  romainq 7a8b8a628b XSS: Correctly escape the name of an object when it is displayed within an hyperlink 9 years ago
  romainq 9d63033e48 Internal: Implemented DBObject::ExecActions, enables scripting object preset/modifications 9 years ago
  romainq 93b70a293b ResetStopWatch could not be used as a lifecycle action: the symptom is "The action has failed". 9 years ago
  romainq 8174660c0d Custom fields: track the changes and improve the robustness with regards to the Exception thrown by the handler. Also fixed an issue with DBObject, causing the custom fields to be written several times if invoking DBUpdate more than once. Theoretically, this issue affects any type of attribute. 9 years ago
  romainq 0489e8e5e8 Custom fields: alpha version. 9 years ago
  romainq 6b50994607 #1210 (reopened) ...fixed a regression on commit [r3936]: dependent fields could not be loaded when there are link set attribute in the current form 9 years ago
  dflaven ccf403a397 (HTML) Formatted Case Logs, Description and Notifications with inline images uploaded as Attachments. Beta Version !! 9 years ago
  dflaven dfb4164e0d #1176: empty placeholders are represented by an empty string as in previous version. 9 years ago
  romainq 7f46108d88 New type of attribute: AttributeMetaEnum. 9 years ago
  dflaven e10f75b167 #1049: CSV import (and edition) of n:n links. The Differences() function is NOT commutative: the original value (i.e. the one from the database) must the the first argument. 9 years ago
  romainq 8a28723b1e Could not add more than one link between a given server and a given network device. This is a regression in 2.2.0 beta. This issue affect N-N links where duplicates are allowed. One single link is being affected in the standard datamodel. 9 years ago
  romainq 2428e8c26a #1111 Could not attach a UserRequest to a Problem (1-N links). Could not detach either! This fix requires attention: it is assumed that an item of a link set, if it is "modified" then its key to the current object has already been set. 9 years ago
  romainq 895fcba8bc Log REST/JSON calls (config: 'log_rest_service' => true ; stored as EventRestService) 9 years ago
  romainq 9b3c28f6d1 Optimization: when displaying an object details, do not check data synchro for each and every attribute (the cache did exist but was inoperant) 10 years ago