Skip to content
Snippets Groups Projects
Tim Otten's avatar
(REF) #1724 - SettingsBag - Convert to computeVirtual/updateVirtual
totten authored
The `SettingsBag` uses the `$combined` property to (locally) cache a full
view of the active settings (based on combining different layers of data --
default-values, explicit-values, and mandatory-values). This design is
good for read-mostly data.

This patch changes the `__ContributionSettings` to be another layer in the
construction of `$combined` -- the virtual-values layer.  It fixes issues
wherein:

1. The virtual value is recomputed during every call to `get($key)`.

2. The virtual value is only based on explicit-values -- it disregards
   default-values and mandatory-values.
8f2a141a
History

Welcome to CiviCRM

About

CiviCRM is a constituent relationship management system designed to meet the needs of advocacy, non-profit and non-governmental groups. It is an open source project, licensed under GNU AGPL 3, and coordinated by CiviCRM LLC. The project website is https://civicrm.org/

CiviCRM is released as a module that runs within the Drupal, Joomla, and WordPress content management systems.

Installation

The download URLs and installation instructions are available on our website: https://civicrm.org/download

Detailed installation instructions can be found in our sysadmin guide.

Documentation

Documentation can be found at https://docs.civicrm.org

Support

Answers for users, administrators & integrators: http://civicrm.stackexchange.com

Paid support available from https://civicrm.org/providers

Development and Bugs

Developers are highly encouraged to join chat.civicrm.org and post questions and ideas in the Developer Discussion room.

Installing the latest developmental code requires some special steps.

Report all issues to CiviCRM via GitLab: https://lab.civicrm.org/