{"push_id":1142400064,"size":17,"distinct_size":15,"ref":"refs/heads/refactor-patient-invoice-services","head":"5f14215479d775c04b4ce783a39c7f7b75c23085","before":"49524e1eb1eb76307d64eefb1f1449dab45ff63a","commits":[{"sha":"9ce8f1ea7a11bd2572646bb10f7e0d9260d28be5","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"chore(debtor groups): implement #410 suggestions\n\nThis commit implements the suggestions made by @lomamech by removing the\ndebtor_groups module in favor of the debtors/groups interface created by\n@sfount.  The related tests and records in the test data have been\nremoved as well.\n\nPartially addresses #410.","distinct":false,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/9ce8f1ea7a11bd2572646bb10f7e0d9260d28be5"},{"sha":"c6b2bd61348e34caf38c857b620acd867922fb4f","author":{"name":"Jonathan Niles","email":"c894edd3ae1b84907a1f10ea059f3cb065ed8106@users.noreply.github.com"},"message":"Merge pull request #465 from jniles/chore-clean-debtor-groups\n\nchore(debtor groups): implement #410 suggestions","distinct":false,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/c6b2bd61348e34caf38c857b620acd867922fb4f"},{"sha":"8abf38f011b1d9e5a9016796d40c9af1980c4f08","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"refactor(invoice): cleanup PatientInvoice\n\nThis commit cleans up patient invoicing (client-side) in the following\nways:\n 1. Uses the `PriceListService` instead of the custom `PriceList` service.\n 2. Deletes the `PriceList` service.\n 3. Translate the column headers of the invoicing grid.\n 4. Whitespace fixes.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/8abf38f011b1d9e5a9016796d40c9af1980c4f08"},{"sha":"9b08c6f062ebf804964b5b14f98adefd36e49541","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"refactor(store): unit test the store\n\nThis commit refactors the store completely and writes unit tests for all\nstore methods.  Here are the changes:\n 1. The store is now uses prototype methods for greater efficiency.\n 2. The store has been renamed `Store` instead of `store` and is a\n service.\n 3. The `.put()` method has been removed.\n 4. All methods related to HTTP requests have been removed.  It is\n purely an object store now.\n 5. If the store does not have any data, `store.post()` will first\n create an empty data array.  This was a bugfix reported in\n `currencyFormat.js` and finally has landed.\n\nKarma runs unit tests for all these issues.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/9b08c6f062ebf804964b5b14f98adefd36e49541"},{"sha":"49f556bd2bb2486fc9abd9031fca080851343773","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"feat(PoolStore): create a dynamic pool store\n\nThis commit adds in a new service `PoolStore` to solve the issues of\nselectively hiding data from lists when \"used\" and brought back when\n\"freed\".  It includes Karma unit tests.\n\nThe scenario to think about is a typeahead that must hide data selective\nwhen it is used. This allows dynamic lists to be formed where the data\nneeds to be hidden after used.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/49f556bd2bb2486fc9abd9031fca080851343773"},{"sha":"6134793c5e83e538dd3298b148099d7cfb276428","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"feat(store): implement store.clear()\n\nThis commit implements and tests the store.clear() method, useful for\nremoving all data from a store without destroying the reference to the\narray.  Also contains some minor fixes for the unit tests of both the\nPoolStore and the Store.\n\nFinally, the services depending on store have been updated so as not to\nbreak with the new store improvements.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/6134793c5e83e538dd3298b148099d7cfb276428"},{"sha":"cfda8cd75391c1d7a899f8a660d971f5766a355e","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"refactor(invoice): update invoice to standards\n\nThis commit undertakes a massive refactor of the Patient Invoice module.\nIt tries to reduce complexity of the module by moving logic into\ncomposable classes using services.\n\nHere is the service hierarchy so far (subject to future improvements):\n 1. `InvoiceService`\n  1. `InvoiceItemService`\n   1. `PatientInvoiceItemService`\n\nMuch of the logic has been moved out of the PatientInvoiceController and\ninto the InvoiceService.  The InvoiceService is mainly concerned with\nthe overall form (description, services, etc) and gathering the\nappropriate metadata for the form.\n\nThe `InvoiceItemService` is concerned with the grid - totalling items\nand dealing with the cache.  Note: the cache is a TODO.\n\nThe `PatientInvoiceItemService` is a simple class that composes each row\nof the grid and allows for row-level validation.\n\nThis new service structure takes advantage of the PoolStoreService to\nmanage inventory items in the grid without having to manually manipulate\ntwo stores.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/cfda8cd75391c1d7a899f8a660d971f5766a355e"},{"sha":"cc6ca3f072759a7a77595a79dbcb2521dac99ace","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"chore(partials): move and remove old partials\n\nThis commit cleans up the partials folder structure by removing and\nrenaming partials to be more consistent.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/cc6ca3f072759a7a77595a79dbcb2521dac99ace"},{"sha":"697f43248304336d5c0b99af73e8666d8494245a","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"feat(invoice): efficient change detection\n\nThis commit using ng-change to implement efficient change detection on\nthe patient invoice grid.  The previous implementation used angular's\n$digest loop to calculate totals.\n\nAdditionally, each row now has three statuses:\n 1. success: valid and initialised (has inventory item)\n 2. warning: not initialised yet (no invenetory item)\n 3. danger: invalid data\n\nThis should lead to a better user experience overall.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/697f43248304336d5c0b99af73e8666d8494245a"},{"sha":"750f8960349f0f89684fac218023c8220898802a","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"test(invoices): original e2e tests refresh\n\nThis commit reinitialises all the original end to end tests for the\npatient invoicing page.  This ensures that we don't break anything going\nforward.\n\nTest to be written:\n 1. Ensure that the totals are being calculated correctly.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/750f8960349f0f89684fac218023c8220898802a"},{"sha":"3aab8cd6f212faf0d11db9c57b3df8b3ed9f4b55","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"chore(invoice): ensure grid totals resize properly\n\nThis commit adds an event to listen to the navigation change to ensure\nthat the grid totals row is properly (re)drawn when the tree is toggled.\nHowever, a major caveat is that it requires a HARDCODED size of the tree\n(260px).  This should be discussed and revisited at some point.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/3aab8cd6f212faf0d11db9c57b3df8b3ed9f4b55"},{"sha":"b99dfae5e836054cf54e4ffd81bad13286e50353","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"feat(invoice): subsidy/billing breakdowns\n\nThis commit introduces subsidy and billing service breakdowns via\ninformational popovers next to the totals on the total row.  For Billing\nServices, this popover contains a line by line breakdown of the amount\ncontributed by each billing service.  For subsidies, an aggregate is\nused (since subsidies may reveal patient information).","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/b99dfae5e836054cf54e4ffd81bad13286e50353"},{"sha":"6ed52171fc197d81a9a6d4996f61e3191bf115b1","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"feat(invoice): implement caching\n\nThis commit implements caching in the PatientInvoiceFormService.  The\ncache is currently never cleared, as it is not clear when it should be -\nhowever, the hooks are implemented and work as expected!\n\nThis commit cleans up some of the HTML on the patient invoice page and\nimportantly finished documenting the Invoice.js Service.  A popover has\nbeen implemented on the \"Distribution Type\" label to explain what it\nactually does.\n\nThere are a few todos:\n 1. Remove the InvoiceItems service\n 2. Caching is blocked by a lack of API exposed by bhFindPatient.  This\n has been documented in #461.\n 3. Clean up PatientInvoiceController.\n 4. Rename Invoice.js to PatientInvoiceFormService","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/6ed52171fc197d81a9a6d4996f61e3191bf115b1"},{"sha":"5285c843751702db056d21183408f1f4439b6efc","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"chore(services): clean up (mv & rm) services\n\nThis commit removes InvoiceItems.js (superceded by Invoice.js), and\nmessenger.js.\n\nThis commit renames Invocie.js to PatientInvoiceForm.js to avoid\nconfusion, renames PoolStore.js to Pool.js (and associated tests).  The\nservice names have all been corrected as well to avoid confusion.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/5285c843751702db056d21183408f1f4439b6efc"},{"sha":"32f6321d0b6c7fde8451146b4cab40e8083687dc","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"fix(test): fixes broken patient record e2e\n\nThis commit cleans up the documentation for services before submitting a\nPR.  It finalizes the documentation for the PatientInvoice module,\nmaking sure all services and methods have appropriate doc comments.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/32f6321d0b6c7fde8451146b4cab40e8083687dc"},{"sha":"12c06fed4ecfcaed0045c4af8db019cb4fd07230","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"chore(lint): clean up lint issues before PR\n\nThis commit fixes all lint issues found in the repository before\nsubmitting a PR.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/12c06fed4ecfcaed0045c4af8db019cb4fd07230"},{"sha":"5f14215479d775c04b4ce783a39c7f7b75c23085","author":{"name":"Jonathan Niles","email":"67a317646e74ae2cef942497ec5f5a401236c5f4@gmail.com"},"message":"chore(services): clean up old patient invoice code\n\nThis commit updates the patient invoice submission to filter out\nunwanted properties before submitting to the server.","distinct":true,"url":"https://api.github.com/repos/jniles/bhima-2.X/commits/5f14215479d775c04b4ce783a39c7f7b75c23085"}]}
{"actor":{"display_login":"jniles"}}