Package: openedx-ledger
openedx-ledgerNoteThis README was auto-generated. Maintainer: please review its contents and
update all relevant sections. Instructions to you are marked with
“PLACEHOLDER” or “TODO”. Update or remove those sections, and remove this
note when you are done.PurposeRecords transactions against a ledger, denominated in units of value.TODO: TheREADME.rstfile should start with a brief description of the repository and its purpose.
It should be described in the context of other repositories under theopenedxorganization. It should make clear where this fits in to the overall Open edX
codebase and should be oriented towards people who are new to the Open edX
project.Getting StartedDevelopingOne Time Setup# Clone the repository into your devstack src/ directory
cd $DEVSTACK_WORKSPACE/src
git clone git@github.com:openedx/openedx-ledger.gitEvery time you develop something in this repo# shell into a running enterprise-subsidy container
make app-shell

# inside the container shell now
# TODO find a better permanent place to put this git config call
git config --global --add safe.directory /edx/src/openedx-ledger
pip install -e /edx/src/openedx-ledger
pip freeze | grep ledger # should give output pointing at a file and git hash

# Now, to run tests and validation against openedx-ledger:
pushd /edx/src/openedx-ledger
source venv/bin/activate
make validateDeployingTODO: How can a new user go about deploying this component? Is it just a few
commands? Is there a larger how-to that should be linked here?PLACEHOLDER: For details on how to deploy this component, see thedeployment how-toGetting HelpDocumentationPLACEHOLDER: Start by going throughthe documentation.  If you need more help see below.(TODO:Set up documentation)More HelpIf you’re having trouble, we have discussion forums athttps://discuss.openedx.orgwhere you can connect with others in the
community.Our real-time conversations are on Slack. You can request aSlack
invitation, then join ourcommunity Slack workspace.For anything non-trivial, the best path is to open an issue in this
repository with as many details about the issue you are facing as you
can provide.https://github.com/openedx/openedx-ledger/issuesFor more information about these options, see theGetting Helppage.LicenseThe code in this repository is licensed under the AGPL 3.0 unless
otherwise noted.Please seeLICENSE.txtfor details.ContributingContributions are very welcome.
Please readHow To Contributefor details.This project is currently accepting all types of contributions, bug fixes,
security fixes, maintenance work, or new features.  However, please make sure
to have a discussion about your new feature idea with the maintainers prior to
beginning development to maximize the chances of your change being accepted.
You can start a conversation by creating a new issue on this repo summarizing
your idea.The Open edX Code of ConductAll community members are expected to follow theOpen edX Code of Conduct.PeopleThe assigned maintainers for this component and other project details may be
found inBackstage. Backstage pulls this data from thecatalog-info.yamlfile in this repo.Reporting Security IssuesPlease do not report security issues in public. Please emailsecurity@openedx.org.Change LogUnreleasedNothing unreleased[1.4.0]feat: Add parent_content_key field to Transaction model (ENT-8389)[1.3.3]Upgrade requirements[1.3.2]Fixing a kwarg typo[1.3.1]Update requirements[1.3.0]Add optionallms_user_emailandcontent_titleto theTransactionmodel[1.2.0]Add anAdjustmentmodel[1.1.0]Add support for Django 4.2[1.0.2]only allow reversals of committed transactions[1.0.1]make transaction and ledger admins friendlier[1.0.0]Look for anlms_user_idkey when generating transaction idempotency keys, notlearner_id.[0.4.0]include only non-failed transactions in ledger balance calculation by default[0.3.3]dropExternalFulfillmentProvidername constraintsSwitch fromedx-sphinx-themetosphinx-book-themesince the former is
deprecated.  Seehttps://github.com/openedx/edx-sphinx-theme/issues/184for
more details.[0.2.2]Add many help_text fields to model fields.Add some useful composite table indices.Add a “failed” transaction state.[0.2.0]Some small developer QOL stuff.Better local development instructions in README.Remove docs from quality checks and ci.yml.Reasonable first pass at allowing for weak/strong admin editing ability depending on environment settings.Simple, first attempt at an idempotency key utility methods for ledgers and transactions that optionally take a subsidy and initial deposit, resp.Allow blank idp keys on the Ledger model, and set to a sane default if not provided on save().Remove JPY as an allowed unit.api.create_ledger()now seeds the ledger with an optional initial deposit.Check if we’re already inside a transaction when settingdurable=Trueincreate_transaction().[0.1.1] - 2023-01-05AddedPackage renamed fromedx-ledgertoopenedx-ledger[0.1.0] - 2023-01-04AddedFirst release on PyPI.