Skip to content
Snippets Groups Projects
  1. Oct 30, 2017
  2. Mar 18, 2016
    • Jared Hancock's avatar
      orm: Migrate create functionality to the constructor · 1ba40e35
      Jared Hancock authored
      Previously, the create method was used to create a new instance of an orm
      model (which would later result in an INSERT when persisted); however, some
      classes require or utilize varying parameters to their create() method,
      which PHP7 considers an error. Methods in subclasses must be defined with a
      calling signature compatible with the parent class.
      
      This patch shifts the concept of model creation to the constructor. Now, the
      constructor of ORM models is required to be compatible with that of
      ModelBase class. Now that most models do not define a constructor, this is
      much easier to control, and much more logical.
      
      Also, remove an issue where assignments on a relationship field to an
      instance of a super class of the foreign model would raise an error. This
      was previously addressed by re-classing the instance in the
      ModelInstanceManager::getOrBuild(); however that design would create
      multiple instances of the same object in memory, which defeats one of the
      primary design concepts of the ORM. This patch addresses the issue by
      allowing super-classes of the declared foreign model in relationship
      assignments.
      1ba40e35
  3. Mar 17, 2016
  4. Feb 05, 2016
  5. Sep 28, 2015
  6. Sep 26, 2015
    • Jared Hancock's avatar
      orgs: Add ticket sharing feature · f6ccc3f6
      Jared Hancock authored
      This feature allows (by option) an organization to allow its members to see
      tickets from other members. It can be used beside or instead of the
      automated collaboration feature. Now, collaborators retain access to tickets
      on which they participate; however, sharing can be used to enable access to
      other tickets owned by their organization.
      f6ccc3f6
  7. Jul 24, 2015
    • Jared Hancock's avatar
      org: Fix matching of empty domain name · 57c2cb19
      Jared Hancock authored
      If a user is created with an empty domain name (e.g. <user@>), then the user
      would be associated with the first organization without a main domain
      specified.
      
      This patch ensures that the domain is not empty when making a match with an
      organization.
      57c2cb19
  8. Jul 08, 2015
    • Jared Hancock's avatar
      variable: Rework the variable replacement system · 9cc12bdb
      Jared Hancock authored
      getVar() is now called first, then object properties and array properties
      are considered, and then getTag() is considered if none of the other options
      work. This allows for more predictable results using the variable
      replacement system, and allows ::getVar() to override every other means to
      use variables in email templates.
      9cc12bdb
  9. May 22, 2015
  10. May 04, 2015
  11. Apr 30, 2015
  12. Apr 15, 2015
    • Jared Hancock's avatar
      custom-data: Address major confusion · 4efef017
      Jared Hancock authored
      This feature addresses a major issue with the initial implementation of the
      custom data system. The original system confused the usage of
      database-backed field (dynamic-fields) and their corresponding
      implementation. This created the need to crate awkward caching pieces to
      ensure that validation errors and data was maintained. Furthermore, the
      system confused the linking between form instances (dynamic-entry) and the
      form used to represent that entry.
      
      This patch addresses the confusion in two ways:
      
      Dynamic form entries do not link directly to the dynamic form. Instead, the
      ::getForm() method returns something from the forms API directly.
      Furthermore, the ::getFields() method does not return dynamic field
      instances (database backed / designed fields). Instead, the actual
      implementation of the fields from the forms API is retrieved. This allows
      the fields to *always* be cached, which helps preserve data and validation
      state.
      
      Secondly, the dynamic form uses the same system, so that requests to turn a
      dynamic form into a form (via ::getForm) will also result in the same
      behavior, again, where the fields are represented as forms API fields rather
      than the dynamic fields.
      
      So going forward, the dynamic fields are *only* used to create corresponding
      forms API field implementations. The are associated with the dynamic
      counterparts as sparingly as possible.
      4efef017
  13. Apr 10, 2015
  14. Apr 08, 2015
  15. Mar 05, 2015
  16. Feb 18, 2015
  17. Feb 10, 2015
  18. Dec 31, 2014
    • Peter Rotich's avatar
      fixes: Review · 89c0d798
      Peter Rotich authored
      Key permissions definition array
      Move canned and faq permissions to their respective classes.
      89c0d798
  19. Dec 16, 2014
  20. Dec 10, 2014
    • Jared Hancock's avatar
      oops: Bug fixes · 2b422844
      Jared Hancock authored
      Conflicts:
      
      	include/i18n/en_US/form.yaml
      	include/staff/templates/dynamic-field-config.tmpl.php
      	include/staff/ticket-view.inc.php
      	include/staff/tickets.inc.php
      	scp/js/scp.js
      2b422844
  21. Dec 08, 2014
  22. Oct 06, 2014
  23. Aug 29, 2014
  24. Aug 13, 2014
  25. Aug 07, 2014
  26. Jul 30, 2014
  27. Jul 02, 2014
  28. Jun 27, 2014
  29. Jun 16, 2014
  30. Jun 11, 2014
  31. May 28, 2014
  32. May 08, 2014
Loading