1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 16:31:33 +02:00
Commit Graph

490 Commits

Author SHA1 Message Date
David Bomba
6eaf78a1d5 Fix for casting line items 2020-11-22 16:34:05 +11:00
David Bomba
68a6ea4d22
Merge branch 'v5-develop' into v5-develop 2020-11-16 12:20:44 +11:00
Benjamin Beganović
956e1fe287 notes => description, cost => unit_cost 2020-11-16 00:42:21 +01:00
David Bomba
a1119f9bbe Fix edge cases with cloning invoice 2020-11-15 19:24:57 +11:00
David Bomba
9174b7e628 Fixes for emails and reminders 2020-11-09 21:17:20 +11:00
=
2cf97caaaf Fixes for import 2020-11-07 20:08:21 +11:00
David Bomba
07af666ca4
Merge pull request #4273 from turbo124/v5-develop
Reminders
2020-11-07 07:03:57 +11:00
Benjamin Beganović
3768add8a0 pass $task_id inside of row item 2020-11-06 13:13:13 +01:00
David Bomba
60a141d529 Fixes for reminders 2020-11-06 15:43:10 +11:00
David Bomba
3928ab3e39 Merge branch 'v5-develop' of https://github.com/turbo124/invoiceninja into v5-develop 2020-11-06 07:53:43 +11:00
David Bomba
67741010f0 Refactoring remindersg 2020-11-05 21:36:55 +11:00
David Bomba
09fbc9762a Fixes for custom emails. 2020-11-05 21:14:30 +11:00
David Bomba
cd08367ce6 Working on reminders 2020-11-05 13:59:19 +11:00
David Bomba
8e2cea7129 Working on reminders 2020-11-05 12:33:31 +11:00
David Bomba
4784e80859 Working on templates / reminders and late fees 2020-11-05 09:48:46 +11:00
David Bomba
100207f4cb
Merge pull request #4267 from turbo124/v5-develop
Company Settings Implmentation
2020-11-05 07:49:10 +11:00
Benjamin Beganović
14b11ecbbd Refactor total table columns:
- $task.cost => $task.rate
- $task.quantity => $task.hours
2020-11-04 11:22:43 +01:00
David Bomba
5c5102baeb Working on reminders 2020-11-04 20:32:49 +11:00
David Bomba
37aaa1fc5b Fixes for importing company logo 2020-11-04 11:32:18 +11:00
David Bomba
870a41a93e Fix for removing company logo from storage 2020-11-04 10:56:29 +11:00
David Bomba
9bbffea260 Fixes for setup 2020-11-02 11:23:02 +11:00
David Bomba
ae44b9c032 Version bump + linking tasks expenses with invoices 2020-11-01 18:53:43 +11:00
=
6479b2fd3e Fix for laravel 8 route file regression + psalm cleanup 2020-11-01 16:09:09 +11:00
=
dfb55dbd8b remove is_migrating 2020-11-01 14:19:03 +11:00
David Bomba
86d472fa05 Project numbers 2020-10-29 22:01:37 +11:00
David Bomba
c1c8b6c14e Change start_time datatype 2020-10-29 20:40:13 +11:00
David Bomba
9aeb2d7a5b Psalm cleanup 2020-10-28 21:10:49 +11:00
David Bomba
d7930e4c14 Remove redundant classes 2020-10-28 17:27:10 +11:00
David Bomba
f6435ab030 Working on emails 2020-10-27 22:57:12 +11:00
David Bomba
0453c989eb PDF Entity generation tests 2020-10-26 20:13:00 +11:00
David Bomba
bc2b0f4aae Fix for recurring number collisions - use dispatchNow() 2020-10-20 11:53:54 +11:00
David Bomba
686f12261d Project number 2020-10-20 10:55:14 +11:00
David Bomba
3d40df6264 Fixes for ledger id in transformer 2020-10-16 08:55:24 +11:00
David Bomba
07cbb6a71a Fixes for showing recurring invoices in the client portal 2020-10-16 07:35:15 +11:00
David Bomba
6e00b09065 Add partial payment template 2020-10-10 07:31:24 +11:00
David Bomba
44d31ce326 Move cache clearance to base controller 2020-10-09 17:55:03 +11:00
David Bomba
b8b3149582 Working on recurring & analytics 2020-10-07 14:00:32 +11:00
David Bomba
70a575386c Fixes for designs in migration: 2020-10-07 10:16:57 +11:00
David Bomba
3aa5e2e4eb Minor release 2020-10-06 21:06:14 +11:00
David Bomba
484b28d3ce Fixes for recurring migratoin 2020-10-06 11:52:16 +11:00
David Bomba
ee8ae09314 Fixes for no invitation 2020-10-03 18:09:48 +10:00
David Bomba
8756a89885 Allow login using contact_key or client_hash 2020-09-30 08:42:55 +10:00
David Bomba
e310118bf4 Fixes for cleanly deleting and restoring users 2020-09-29 08:08:44 +10:00
David Bomba
fd67a48c91 Bug fixes 2020-09-27 20:39:13 +10:00
David Bomba
b906e1e92f Fixes for hasrecurrence trait 2020-09-24 13:40:13 +10:00
David Bomba
a43688fd30 Append DELETED to invoice number on delete action 2020-09-23 20:52:54 +10:00
David Bomba
ab0ec5e2cb Vendor API endpoints 2020-09-23 10:16:19 +10:00
David Bomba
7f825f9ed0 Fixes for paid_to_date formatting 2020-09-17 08:24:56 +10:00
David Bomba
6a0f958c2e Fixes for previewing email templates 2020-09-17 08:22:23 +10:00
David Bomba
766343d8b9 Recurring dates 2020-09-14 22:13:15 +10:00
David Bomba
bae82b56c1 Add license 2020-09-14 21:11:46 +10:00
Benjamin Beganović
de6034f3d4 Don't skip items with type_id = 4 2020-09-11 09:23:16 +02:00
David Bomba
c389ff49f2 Add missing data fields from HtmlEngine 2020-09-08 14:06:46 +10:00
David Bomba
77119e69fe Add primary/secondary_color to companysettings 2020-09-08 14:02:00 +10:00
Benjamin Beganović
0bf39c739d
Merge branch 'v2' into v2-fix-setup-issues 2020-09-07 00:15:45 +02:00
David Bomba
ba75a44eb8
Laravel 7.x Shift (#40)
* Adopt Laravel coding style

The Laravel framework adopts the PSR-2 coding style with some additions.
Laravel apps *should* adopt this coding style as well.

However, Shift allows you to customize the adopted coding style by
adding your own [PHP CS Fixer][1] `.php_cs` config to your project.

You may use [Shift's .php_cs][2] file as a base.

[1]: https://github.com/FriendsOfPHP/PHP-CS-Fixer
[2]: https://gist.github.com/laravel-shift/cab527923ed2a109dda047b97d53c200

* Shift bindings

PHP 5.5.9+ adds the new static `class` property which provides the fully qualified class name. This is preferred over using class name strings as these references are checked by the parser.

* Shift core files

* Shift to Throwable

* Add laravel/ui dependency

* Unindent vendor mail templates

* Shift config files

* Default config files

In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them so you can review the commit diff for
changes. Moving forward, you should use ENV variables or create a
separate config file to allow the core config files to remain
automatically upgradeable.

* Shift Laravel dependencies

* Shift cleanup

* Upgrade to Laravel 7

Co-authored-by: Laravel Shift <shift@laravelshift.com>
2020-09-06 19:38:10 +10:00
Benjamin Beganović
7a5027f1b4 Enable sandboxing with PDFs & fix setup page issues 2020-09-06 04:23:04 +02:00
=
f6c62f3607 fixes for invoice designs 2020-08-22 22:24:41 +10:00
David Bomba
3850c6b516 Change to display only 2020-08-19 08:51:30 +10:00
Benjamin Beganović
0a493c275e Enable is_public for document uploads 2020-08-18 16:12:46 +02:00
David Bomba
e21e70bdcd Fixes for tests 2020-08-13 10:57:06 +10:00
David Bomba
eb4af3150a
Merge pull request #3967 from turbo124/v2
Customize bulk templates
2020-08-06 08:48:37 +10:00
David Bomba
f773356f70
Merge pull request #3951 from beganovich/v2-pdfmaker-integration
Designs integration with new PDF Maker
2020-08-06 07:57:56 +10:00
David Bomba
2fdf351be3 Customize bulk templates 2020-08-05 22:18:29 +10:00
Benjamin Beganović
184f60785f wip with table bodies & footer 2020-07-30 17:47:40 +02:00
David Bomba
6510536234 Fixes for view_link in emails 2020-07-29 12:13:12 +10:00
David Bomba
439424b933 Fix for activity repo 2020-07-17 19:47:17 +10:00
David Bomba
fe4885f5a6 only send one notification per invoice 2020-07-14 19:55:28 +10:00
David Bomba
1d7ba6d1e6 Fixes for event parameters 2020-07-14 08:06:28 +10:00
David Bomba
2e03b1e6d2 Fixes for reminder templates 2020-07-08 13:17:25 +10:00
David Bomba
83fc30f7e7 Working on fees and limits 2020-07-07 22:33:11 +10:00
David Bomba
95e23dca0f Add NPM/NODE paths a configurable 2020-07-01 08:29:05 +10:00
David Bomba
f05cf83853 Fixes for setup process 2020-06-28 20:32:18 +10:00
David Bomba
6bf5621cde Client can register 2020-06-28 20:28:35 +10:00
David Bomba
76ec67c2cf Fixes for comany logo 2020-06-18 09:25:08 +10:00
Benjamin Beganović
5e6f32dac1 fix array intersect 2020-06-16 12:53:21 +02:00
David Bomba
4846c9bccc Working on reversing an invoice cancellation 2020-06-15 09:34:18 +10:00
David Bomba
b6c0300775 Improve notification filters 2020-06-05 10:24:02 +10:00
David Bomba
0a4464fc23
Payment Failure Notifications (#3755)
* Type Change for Payment Terms

* Fixes for payment terms casting

* Working on payment failure notifications

* Working on payment failure notifications
2020-05-26 20:22:50 +10:00
David Bomba
8ab0238f3f
Attachments with GMail transport (#3726)
* Refactor mailers

* Fixes for mailer

* Fixes for approving a quote

* Refactor emailer

* Refactor emailer

* Attach files with GMail transport

* Attach files to GMail transport
2020-05-20 16:59:29 +10:00
David Bomba
ac0d63b0b2
Fixes for Readme (#3721)
* Skip preview tests

* Fixes for product test

* Fixes for tests

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Fixes for incorrect payment types

* Refactor class nameS

* Entity Notification refactor

* Entity Notifications

* Add oauth_provider to User transformer

* Invoices can only be deleted in the balance in zero
2020-05-19 22:54:22 +10:00
David Bomba
d3b29d8ae2
Fixes for Stripe (#3702)
* Fixes for tests

* Fixes for Stripe

* Mail jobs
2020-05-14 21:33:29 +10:00
David Bomba
a0eecdd755
Fixes for tests (#3701)
* Update Exchange rate Data once a day

* Tests for currency conversions

* Fixes for tests

* Fix for adding blank product keys

* Class for logging emails sent

* Fixes for tests

* Fixes for testS

* Include credits in first_load=true

* Fixes for tests

* fixes for tests

* Fixes for tests:

* Fixes for tests

* Fixes for tests
2020-05-14 19:08:49 +10:00
Benjamin Beganović
a613cfed7c
Payment refunds (#3687)
* Fix whereClientId when starting payment

* Refunding using Paypal

* Refunding engine

* Cleanup and making refund method work

* Remove "refund" method from BasePaymentController

* Add "refund" to PaypalExpressPaymentDriver

* Extract refunding into own classes

* Apply php-cs-fixer to PaypalExpress

* Refunding with stripe
2020-05-14 11:04:23 +10:00
David Bomba
1da69b1f17
Minor fixes for designs / Namespace fixes (#3669)
* Fixes for namespaces

* Fixes for designs
2020-05-02 10:04:25 +10:00
Benjamin Beganović
ab8b05dd56
Client portal improvements (#3652)
* Install livewire/livewire

* Table improvements

- Cleanup of InvoiceController
- Added Livewire package
- New Livewire component (InvoicesTable)
- New WithSorting trait
- Removed rendering invoices from index.blade.php
- Removed Yaryabox/Datatables references in InvoiceController

* Refactor: Recurring invoices

* payments table & sorting improvements

* payment methods table

* quotes table

* credits table

* Add turbolinks
2020-04-23 08:49:23 +10:00
David Bomba
280e42d366
Hosted platform rules (#3650)
* Filter properties which can be saved on free accounts

* Self Updater

* Fixes for tests

* Refactor for settings

* Working on feature permissions - Settings Saver

* Fixes for events on self-updater

* Working on Self Updater

* Working on free /pro settings saver

* Implement free/pro/enterprise saving for settings

* Update company request

* Implement settings saver for hosted platform for clients and group level settings

* Implement quotas for hosted version

* Validation rules for hosted platform"
2020-04-21 15:16:45 +10:00
David Bomba
aa690578e3
Implement Currency Conversion library. (#3643)
* Fixes for testS

* Fixes for migration

* Fixes for migratin

* Query performance improvements

* Check Data Script

* Currency Conversion API

* Implement currency conversion

* Currency Conversions
2020-04-19 20:29:58 +10:00
David Bomba
e5a230e0c7
Performance improvements (#3634)
* Adjustments for tests

* Implement handling of temp downloading resources

* Refactor paths

* Refactors for file paths

* Refactor paths

* Add in S3 adapter

* Refactor company Documment URL

* Refactor for entity pdf performance

* Refactors for invoice generation

* Enhancements for emails invoices

* Emails

* Fixes for client portal queries
2020-04-16 18:41:25 +10:00
David Bomba
74a6c4f2ee
Reminders (#3630)
* Performance improvements moving from str_replace to strtr

* Remove legacy docs

* Clean up credit transformer

* Working on invoice emails

* Clean up for invoice designs

* Tests for light and dark theme emails

* Working on reminder scheduling

* Reminder Job Class

* Fixes for github actions

* PHP CS

* Test for reminders

* Test for reminders
2020-04-15 10:30:52 +10:00
David Bomba
2ad84d4b76
Refactor invoice emails (#3625) 2020-04-13 11:49:58 +10:00
David Bomba
e3446e906f
Recurring Headers on PDFs (#3624)
* Working on recurring headers and footers

* Fixes for isolating headers and footer repeat
2020-04-13 10:24:02 +10:00
David Bomba
9349eb0414
Repeating headers and footers for PDF (#3622)
* Subclass Notification class

* Subclass Notification class

* Working on invoice design

* Working on page headers and footers

* Fixes for headers and footers

* Fixes for invoices
2020-04-12 21:51:27 +10:00
David Bomba
ba55cc32e1
v5.0.4 (#3620)
* Version bump

* Refactors for refunds / credits

* Working on Company Ledger

* Company Ledger OpenAPI Documentation

* Version Bump

* Fixes for internal composer update
2020-04-11 21:19:05 +10:00
David Bomba
4c0bba7814
Implement Custom Values (#3619)
* Add report errors to account transformer

* Implement resolving custom values
2020-04-11 11:41:43 +10:00
David Bomba
563d41c83a
Email Settings (#3615)
* Working on advanced email settings

* working on document storage

* Email Documents if they exist

* UBL invoices

* UBL Invoices

* Fixes for tests
2020-04-10 15:07:36 +10:00
David Bomba
213df6451f
Invoice Cancellation (#3605)
* Ensure release build sets correct file and directory permissions

* Invoice Cancellation

* Invoice Cancellations
2020-04-08 23:31:22 +10:00
David Bomba
2fd3229efd
Implementation of Invoice Reversal (#3602)
* Version bump 0.0.2

* code cleanup

* Working on reversing an invoice

* Working on reversing an invoice

* Working on refunding invoice

* Reversing invoices

* Test for invoice reversals

* Invoice Reversal
2020-04-08 20:48:31 +10:00
David Bomba
8cffccb3bc
Fixes for composer 2 (#3593)
* Add privacy link to setup page

* Italics

* Tests for invoice actions

* Fixes for autoloading
2020-04-06 22:32:27 +10:00
David Bomba
6d7b7ca9a3
Invoice Deletion - Ledger (#3590)
* Fixes when implementing

* php_cs

* Clean up

* Clean up

* Working on adjusting ledger when an invoice is deleted
2020-04-04 21:32:42 +11:00
David Bomba
cfafd65be0
Performance improvements for eager loading (#3584)
* Fixes for Sentry

* performance improvements for eager loading
2020-04-02 20:02:39 +11:00
David Bomba
aefa6749af
Fix for LimitsAndFees regression (#3580)
* Fixes for migration

* Fix regression
2020-04-02 11:17:30 +11:00
David Bomba
eba0c19824
Fixes for Migration (#3572)
* Remove \Log::, fixes for tests, and fixes for migration

* Debugging migration

* Fixes for Migration
2020-04-01 19:54:22 +11:00
Benjamin Beganović
a303026b14
Migrate invoice desings from flex to grid (#3571)
* Refactor Plain
- Change company logo sizing from weight% to height%

* Fix invoice designs
2020-04-01 08:04:42 +11:00
David Bomba
581654141b
Fixes for entity dates (#3563) 2020-03-30 08:29:00 +11:00
David Bomba
8b0fe63eb5
Send Generic entity email. (#3560)
* Enable identifying a user who submits a report to sentry for tracking purposes

* Minor fix for setup page

* Fixes for Tests

* Fixes for tests

* Generic Entity Emailer

* Fixes for emailing a generic entity
2020-03-29 23:22:14 +11:00
David Bomba
84e572de07
Fixes for designs" (#3557)
* fixes for tests

* Working on Invoice Designs
2020-03-28 15:29:52 +11:00
David Bomba
9cb7996a2e
Performance improvements for PDF rendering (#3556)
* Performance improvements for PDF generation

* CS Fixer

* Performance improvements for PDF generate

* Fixes for tests
2020-03-28 14:45:11 +11:00
David Bomba
2ed7c557b0
Fixes (#3549)
* Fixes for designs

* minor fixes
2020-03-26 19:25:44 +11:00
David Bomba
6a7079b0be
Implement Github actions (#3547)
* Update phpunit.yml

* Update phpunit.yml

* Update .env.ci

* Update phpunit.yml

* Update .env.ci

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Update .env.ci

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Force /setup if system requirements are not met

* Update .env.ci

* Update phpunit.yml

* Minor changes for github actions"

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* cs-fixer

* cs-fixer

* Fixes for github actions

* db ports github actions

* Refactor the template engine
2020-03-26 14:23:57 +11:00
David Bomba
1d11358215
Ping route (#3541)
* minor fixes

* minor fixes

* Fixes for self update

* fixes for template previews

* Add report_errors variable

* Ping route
2020-03-25 19:36:47 +11:00
David Bomba
24c9121b1b
Template Previews (#3527)
* Fixes for add / archiving / deleting users

* Working on templates

* Fixes for templating

* Fixes for templating

* Add referral code to account creation

* Fixes for development environment
2020-03-25 13:50:08 +11:00
David Bomba
cd36f64423
Fixes for Users (#3526) 2020-03-25 10:20:42 +11:00
David Bomba
90cb69f8a5
Performance improvements - PDF generation (#3521)
* Improve performance of PDF building

* Clean up

* Fixes for tests

* Minor fixes
2020-03-25 00:25:20 +11:00
David Bomba
cdc3ef12c2
Include Horizon (#3519)
* Fixes for white label

* Include Laravel Horizon

* Add Account ID to user table AND ensure a user cannot create an invoice across companies

* restart horison after an update

* Fixes for app setup

* Minor fixes

* Fixes for client routes

* Fixes for tests

* minor fixes
2020-03-24 20:15:30 +11:00
David Bomba
43e57d0117
Fixes for self-update (#3514)
* minor fix for payment notifications

* styleci

* Limit Self updating to self hosters only
:

* Fixes for designs

* Minor fixes for self-update
2020-03-21 16:37:30 +11:00
David Bomba
4c23d43138
Working on Setup workflow (#3509)
* Refactor designs to remove whitespace

* enable dummy data for templating

* Insert faker data into templates

* Fixes for user deletion

* Documentation on User controller:

* Working on app setup

* Files for app setup

* Working on Setup

* Final fixes for setup controller

* Fixes for setup

* Fixes for first install

* Minor fixes
2020-03-18 20:40:15 +11:00
David Bomba
58803d37f4
Serve tailwind locally (#3505)
* Fixes for tests

* Working on PDF tables

* Fixes for null values in designs

* Refactoring entity variables for PDF

* Fixes for pdf variables

* Minor fixes for designs

* Working on variable replacement for tables

* Refactoring designs

* Refactoring designs

* Refactoring design implementation

* Working on refactoring designs

* Serve tailwind locally

* Design changes

* refactor white labelling

* refactors for white label

* Fixes for payment type id nulls
2020-03-17 19:40:10 +11:00
David Bomba
0e12b63c95
Design Changes (#3504)
* Fixes for tests

* Working on PDF tables

* Fixes for null values in designs

* Refactoring entity variables for PDF

* Fixes for pdf variables

* Minor fixes for designs

* Working on variable replacement for tables

* Refactoring designs

* Refactoring designs

* Refactoring design implementation

* Working on refactoring designs

* Serve tailwind locally

* Design changes
2020-03-16 21:12:10 +11:00
David Bomba
a151789d9c
Fixes for invoice previews (#3485)
* Remove stale css

* Working on previewing designs

* Fixes for design previews

* fixes for preview controller
2020-03-12 21:50:40 +11:00
David Bomba
dc8ecbeeed
Fixes for company_user (#3477)
* Minor fixes for user delete

* Working on notifications

* Refactor for notifications

* Fix for checking settings withe negative integers

* Set payment id to 0

* Move pdf download to client side routes

* fixes for company_user

* Fixes for company_user
2020-03-11 22:05:05 +11:00
David Bomba
70a560c474
Fixes for invoice status with partial payment (#3472)
* Fixes for UserPolicy

* Improve notifications

* Company quantities

* Fixes for invoice status with partial payments
2020-03-11 09:20:09 +11:00
David Bomba
efa6350008
Fixes for updating pdf_variables in CompanySettings (#3465)
* Fixes for setting pdf_variables in company settings

* Fixes for company settings saver
2020-03-10 22:32:45 +11:00
David Bomba
6ffea888b0
Fixes for designs (#3463)
* Fixes for designs

* remove logs
2020-03-10 07:07:46 +11:00
David Bomba
d13ab48d86
Refactor Designs (#3449)
* Refactor custom invoice HTML generation

* remove table_styles() method from designs

* Refactor designs

* Clean up designs
2020-03-07 17:31:26 +11:00
David Bomba
4f9c596d3a
Fixes for setting entity defaults. (#3446)
* Create route for invoice/credit/quote PDF download

* Fixes for tests

* Fixes for settings entity defaults
2020-03-07 09:48:03 +11:00
David Bomba
f0176b6e37
Fixes for quote transformer (#3434)
* remove jobs table

* Working on notifications

* Working on notifications

* Fix for pdf_variables

* Fixes for notification

* Fixes for viewing invoice with NO company custom_fields

* Fixes for company settings object creation

* Working on group settings

* Fixes for storing the correct currency_id on client creation

* Fix for invoicetransformer

* fix for store client

* Update PaymentAppliedValidAmount.php (#38)

* update company schema descriptions

* Update PaymentAppliedValidAmount.php

Co-authored-by: David Bomba <turbo124@gmail.com>

* Cast invoice designs to the Hashes

* Fixes for setting invoice/credit/design_ids to hashed

* Fixes for quote transformer

Co-authored-by: michael-hampton <michaelhamptondesign@yahoo.com>
2020-03-06 22:10:59 +11:00
David Bomba
ff5a850e8d
Fixes for notifications (#3427)
* Fix for pdf_variables

* Fixes for notification
2020-03-05 19:36:52 +11:00
David Bomba
ab4ec76830
Fixes for designs and pdf_variables (#3425) 2020-03-05 18:50:50 +11:00
David Bomba
7acc6ee300
Repeating header and footers on Invoice PDFs (#3424)
* remove jobs table

* Working on notifications

* Working on notifications

* Fixes for setting group level currency id on new client

* Working on repeating headers

* Use CSS to force headers and footers

* recurring headers and footers

* Preview PDF

* Working on PDF Preview
2020-03-05 18:14:57 +11:00
David Bomba
6d5d1da472
Fixes for pdf_variables validation (#3419)
* Client and System Notifications

* Fix for group settings currency not applying correctly.

* Split head out of design in order to reuse headers and footers

* export the designs

* Fixes for pdf_variables
2020-03-04 22:09:43 +11:00
David Bomba
d14b21f471
Fixes for migration (#3418)
* Fix for setting a currency!

* Additional logic to ensure invites are only created for the client_contact -> client

* Move credit number generation after the save to ensure we do not fail on the credit creation because of a number race condition

* fixes for migration
2020-03-04 15:06:27 +11:00
David Bomba
b157ee3917
Fixes for Credit PDF generation (#3417)
* Fix for design GET route

* Fixes for Credit PDF creation
2020-03-04 10:51:50 +11:00
David Bomba
c15f17186d
Fixes for transformerS (#3388) 2020-02-27 10:32:44 +11:00
David Bomba
628b77e369
fixes for casts (#3382) 2020-02-26 19:04:20 +11:00
David Bomba
a74b644f6a
Fixes for feesandlimits (#3381) 2020-02-26 18:55:01 +11:00
David Bomba
acb0c0f7c1
Fixes for designs (#3376)
* Fixes for detaching a useR

* Fixes for designs
2020-02-26 15:11:17 +11:00
David Bomba
f20b0f7720
Fixes for company tokens. (#3375)
* Testing Company Ledger

* Fixes for company ledger

* Fixes for company ledger

* Company ledger testS

* Fixes for user / client / contacts transformers

* Fixes for tests

* Fixes for tokens
2020-02-26 14:26:07 +11:00
David Bomba
4eebaf7eb4
Migrate to services (#3358)
* Working on ledger

* Migrate to services

* Refactor to services

* Migrate to services

* Jobs cleanup
2020-02-21 08:05:01 +11:00
David Bomba
9e9cd37b87
Modifications to Designs (#3353)
* Working on Quotes

* Naming refactor for Quotes

* Quote Actions

* Quote Pdfs

* Quote PDFs

* Refunds in Stripe

* Fixes tests

* Company Ledger work
2020-02-20 07:44:12 +11:00
Benjamin Beganović
be4cacf198
Rest of invoice designs (#3341)
* Invoice designs

* Fix template formatting

* Fix templates & variables passed
2020-02-18 05:05:11 +11:00
David Bomba
f57339f185
Fixes and Refactors for Invoice Emails. (#3339)
* Working on emailing invoices

* Working on emailing and displaying email

* Working on emailing and displaying email

* Email invoices

* Fixes for html emails

* Ensure valid client prior to store

* Ensure client exists when storing an entity

* Update variable name send -> send_email for client_contacts

* Mailable download files

* Extend timeouts of password protected routes when a protected route is hit

* Add default portal design to company settings

* Minor fixes

* Fixes for Tests

* Fixes for invoicing emails

* Refactors for InvoiceEmail

* Implement abstractservice

* Refactors for services

* Refactors for emails

* Fixes for Invoice Emails
2020-02-17 20:37:44 +11:00
David Bomba
1e0111d519
Minor refactors for emails (#3333) 2020-02-15 22:49:31 +11:00
michael-hampton
f7650d0692
Ft email (#3326)
* Emails

* change to user service

* refactor emails

* refactor emails

* refactor emails

* refactor emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* Update EmailPayment.php

* Update SendEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update and rename BuildEmail.php to EmailBuilder.php

* Create InvoiceEmail

* Create QuoteEmail.php

* Rename InvoiceEmail to InvoiceEmail.php

* Create PaymentEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update InvoiceEmail.php

* Update EmailInvoice.php

* Update SendEmail.php

* Update TemplateEmail.php

* Update EmailBuilder.php

* Update InvoiceEmail.php

* Update QuoteEmail.php

* Update PaymentEmail.php

* Update InvoiceEmail.php

* Update QuoteEmail.php

* Update QuoteInvitation.php

* Update EmailQuote.php

* Update SendEmail.php

* Update SendEmail.php

* Update PaymentService.php

* Update PaymentEmail.php

* Update PaymentEmail.php

* Update PaymentEmail.php

* Update EmailBuilder.php

* Update PaymentEmail.php

* Update EmailPayment.php

* Update SendEmail.php

* Update InvoiceService.php

* Update SendEmail.php

* Update PaymentService.php

* Update SendEmail.php

* Update QuoteService.php

* Update EmailPayment.php

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-02-15 20:01:15 +11:00
David Bomba
4a3d37a42b
Flutter Client ! (#3325)
* Working on emailing invoices

* Working on emailing and displaying email

* Working on emailing and displaying email

* Email invoices

* Fixes for html emails

* Restart queue after self-update

* Email Invoices

* Push Flutter Web Clientgit statusgit status!
2020-02-13 22:27:42 +11:00
michael-hampton
bf25b7db95
Update QuoteEmailBuilder.php (#3324) 2020-02-13 21:48:45 +11:00
michael-hampton
2da1f24868
Ft email (#3316)
* Emails

* change to user service
2020-02-12 20:21:06 +11:00
David Bomba
be3ade65f1
Download Invoice by Invitation (#3312)
* style cs

* Style CS

* Throw Record not found exception if invalid primary key hash is provided

* Improve error handling

* Create abstract implementation for designs

* working on custom designs

* Add Design Model

* invoice services

* Download Invoice by Invitation
2020-02-12 11:41:17 +11:00
David Bomba
9a19f7fd4c Fixes for invoice update and invoice designs (#3302)
* BaseController cleanup

* Working on invoice designs

* Working on invoice designs

* working on invoice designs

* working on invoice designs

* invoice designs

* Working on Invoice Designs

* Fixes for user settings object

* Working on invoice designs

* Fixes for encoded user settings

* Working on contact localized invoice pdfs

* working on invoice designs

* Fix for invoice update 500 error
2020-02-10 20:53:02 +11:00
David Bomba
e8f19f9b63
Fixes for invoice save (#3295)
* Working on Invoice Designs

* Fixes for invoice save

* Threshold changes for sending large accounts on ?first_load=true
2020-02-07 08:09:15 +11:00
David Bomba
4f82f1b903
Improve eager loads (#3289)
* Working on invoice designs

* Working on Invoice Designs

* Improve eager loads
2020-02-06 20:35:51 +11:00
David Bomba
797c3fb3f6
Fixes for refunds (#3288)
* Working on invoice designs

* Fix unusual form request issue in tests vs production

* Fixes for form requests

* Fixes for refunds
2020-02-06 08:54:20 +11:00
David Bomba
11960e25e7
Fixes for refunds (#3285)
* Working self-updater package

* Fixes for travis

* Working on invoice designs

* Working on invoice builder

* Tests for invoice design

* Working on invoice designs

* Minor fixes

* Working on Invoice Design Engine

* Working on invoice designs

* Fixes for refunds
2020-02-05 21:28:56 +11:00
David Bomba
3ec996ee5d
Invoice Designer (#3283)
* Working self-updater package

* Fixes for travis

* Working on invoice designs

* Working on invoice builder

* Tests for invoice design

* Working on invoice designs

* Minor fixes

* Minor fixes for randomdataseeder
2020-02-05 15:06:03 +11:00
David Bomba
cda534e996
Explicitly call the service() method, rather than obfuscate. (#3281)
* Include fix as describe by @michael-hampton here #3280

* Refactor createinvitations away from jobs

* Clean up

* Fixes for service() refactoring

* Fixes for services refactor
2020-02-04 18:51:44 +11:00
David Bomba
c25de936ed
Refactor - moving away from jobs. (#3279)
* Implement Services

* implement service pattern

* Service patterns

* Refactoring invoice paid

* refactoring invoice

* Refactor jobs

* Refactor - remove jobs

* Refactor jobs

* Refactoring jobs

* Refactoring away from jobs

* Refactoring jobs

* Add Credits to test data
2020-02-03 21:33:07 +11:00
David Bomba
c3da9c80b3
Refunds implementation v1 (#3270)
* Minor fixes for tests

* Refunds implementation v1
2020-01-30 22:19:51 +11:00
David Bomba
63f514f3bc
Working on payments (#3269)
* Add PHP 7.4 to Travis Tests

* Fixes for tests

* fixes for tests

* Fixes for tests

* More tests for Refunds

* Remove dusk tests

* Refactor refund variables

* Working on refunds

* Working on refunds

* working on refundS

* working on refunds
2020-01-30 15:50:45 +11:00
David Bomba
956d4ba12e
Fixes for tests (#3262)
* Working on Refunds

* Refund tests

* fixes for tests
2020-01-29 15:25:08 +11:00
David Bomba
45cc67075d
Include contacts in sample migration files. (#3260)
* add types to transformers

* minor fixes for test data creator

* Working on refunds

* Update migration files to include client contacts

* Working on refunds

* Working on refunds

* Working on refunds

* Refund Tests

* Working on refund tests
2020-01-29 13:03:47 +11:00
Benjamin Beganović
11cc40d23a Migrate commits from 2-migration-with-json into v2 (#3241)
* Scaffold test case

* Import.php tests:
- Basic test scaffold
- Test if exception is thrown when unknown resource
- Company update test

* Migration importer & exception classes

* Company migration test
- Added 3rd parameter for accepting custom resources
- Wip tax_rates migration

* Tax rate migration

* Tax rate update
- Added company_id & user_id property modifiers

* Users migration

* Save IDs for users importing

* Add 'transformIds' method

* Importing clients
- An exception for resource not migration
- Dependency logic
- Removing id on insert

* Exception for unresolved dependency

* Import clients

* Method for inspecting user_id

* Importing invoices

* Importing quotes

* Fix tests & wrap with try-catch

* Fix tax_rates user_id transform

* Working on migration

* Tests for migration

* fixes for test

* Tests for Import.php
- Added ext-json to composer.json

* Tests for Import.php
- Added ext-json to composer.json

* Change migration exceptions to MigrationValidatorFailed

* Fixes for tests and counters

* Unzipping the migration archive
- Changed .gitignore to ignore all local migrations

* Comparing local data with inserted

* Ignore verification - wip

* Fix formatting for api.php

* Uploading file test (wip)

* Fix typo

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-01-24 07:35:00 +11:00
David Bomba
84642bf035
Expense and Vendors (#3226)
* add expenses, vendors and vendor_contacts along with factories and test data

* padding out vendors, expenses

* Minor fixes

* Add Expense and Company TransformerS
2020-01-20 12:31:58 +11:00
David Bomba
957ac9f5d8
Fix for password protected authorization (#3198)
* Remove unnecessary save() on invoice

* Update copyright

* Working on Credit Repository

* Implement credits as a paymentable entity

* Add credit_id to transformer

* fix rules for update payment

* Fix random deleted_at keys in transformers

* Fix for password_protect check
2020-01-07 11:13:47 +11:00
David Bomba
ad06de25f5
Fixes for Payments (#3194)
* Set payment number on completed payment

* Fix for paymentables not returning

* Do not set invoice status to paid if only a partial amount of the invoice has been paid
2020-01-04 13:27:51 +11:00
David Bomba
f712b789ca
Fixes for tests (#3184)
* fix typo

* php-cs traits

* CS fixer pass

* Password protect User routes

* Implement checks to prevent editing a deleted record

* Clean up payment flows

* Fixes for tests
2019-12-31 08:59:12 +11:00
David Bomba
4c2cbb2dee
Bug fixes for middleware/ (#3167)
* Fix formatting and variable insertion for email templates

* Refactoring for invoice emails

* Fixes for midddleware
2019-12-25 08:55:29 +11:00
David Bomba
5e7512071f
Implement EmailInvoice Job (#3166)
* Working on quote counter

* Add tests for quote number + shared counter tests

* Create invoice job

* Add last_sent_date to invoice/quote table, remove type_id

* Implement EmailInvoice Job
2019-12-22 21:28:41 +11:00
David Bomba
519c1114c1
Add additional date formats / performance improvements. (#3161)
* Improve eager loading

* Fixes for performance on client portal datatable with large datasets

* Add missing date format
2019-12-18 21:49:28 +11:00
David Bomba
e125052f96
Implement invoice reminder scheduler (#3160)
* Do not set email template defaults in settings

* Set invoice reminders, trait + tets

* Fixes for tets

* Only all an account owner to delete companies/users
2019-12-18 13:45:18 +11:00
Benjamin Beganović
da49880733 Massively creating resources (#3152)
* Bulk storing request & accesing policy service

* Transform hardcoded action to self-property

* Testing, support for multiple resources

* Uncomment, response(200)

* Change authorize to isAdmin() property
2019-12-17 21:58:23 +11:00
David Bomba
2895e6df2d
Fixes for codacy (#3150) 2019-12-16 22:53:16 +11:00
David Bomba
c6e1658ffe
Refactors (#3148)
* Refactor company properties to be presented from settings object instead of company properties

* Working on Email Tests

* Working on emails

* Working on email templats

* Include text version of email

* Refactor Email template builder into trait'

* Fix for custom_value4

* Refactor payment_date -> date && payment_type_id -> type_id

* expose paymentables to API

* expose paymentables to API

* Implement a next_send_date field in invoice/quote tables to allow control over reminder scheduling

* Add custom_values to users,documents and company_gateways tables
2019-12-16 22:34:38 +11:00
David Bomba
f8551d6119
Multi-Master Support for MySQL (#3146)
* Minor fixes for OpenAPI docs for clients

* Add fields to company transformer

* Padding email templates, system level and custom

* Minor fixes for email template subject

* Working on Email Templates

* Clean up User model, remove redundant permissions methods

* Implement Locale for API

* Implement Locale middleware for client routes

* Remove global constants

* Fixes for removing the global constants file

* Working on TDD for emails

* TDD for emails

* implement additional template variables

* Add support for Multi-Master replication with MySQL
2019-12-14 16:49:48 +11:00
David Bomba
9d8e4fdb06
Change companies table property domain to subdomain (#3141) 2019-12-11 07:53:41 +11:00
David Bomba
9702dc741c
Refactor for invoices/quotes/credit transformers (#3100)
* Refactor Invoices / Quotes / Credits to use the same transformer

* Add contact_key to factories
2019-11-27 21:27:24 +11:00
David Bomba
52c031e290
Email template defaults (#3090)
* Update User and Company User

* Email Template Defaults for Settings

* Separate methods for saving client and group settings
2019-11-24 17:37:53 +11:00
David Bomba
5c9ada0f77
V2 (#3089)
* Set default templates in Company Settings

* Working on Company User creation

* Working on company_user relationship

* Fixes for company_user relation

* Clean up
2019-11-23 08:10:53 +11:00
David Bomba
69efd4d574
Enhancements to API (#3088)
* working on email throttling

* Fixes for invitaiton links

* pass custom fields as object

* Add user agent to company token

* Update company token transformer

* Remove prefix setting from CompanySettings

* Implement user agent on company token & provide better error handling for undefined relationships includes

* Fix bulk actions

* Working on updating/creating a company user

* Fixes for tests
2019-11-21 19:38:57 +11:00
David Bomba
f59585dd62
Fixes for tests (#3082)
* Update client paid to date job:

* Backup Invoice HTML when invoice is marked as sent and paid

* Store HTML of invoice when invoice was paid

* Fix foreign keys in db schema

* V2 Endpoints for Company Migrations

* Fixes for tests
2019-11-20 16:41:49 +11:00
David Bomba
ff17e3eb67
Payment deletes (#3079)
* Add amount to paymentable tables to enable reversing payments gracefully

* Create Test Data artisan comannd

* Delete Payments + Fixes for company settings persistence
2019-11-19 21:23:56 +11:00
David Bomba
81c481c071
Fixes for RandomDataSeeder (#3073)
* Provide failsafe creation of invoice invitations

* URL Links for invitations

* open up route for invitations

* Set DB by Invite

* Set DB By invitation Key

* Tests for setting DB based on user email address

* Middleware for setting db by email address

* fixes for tets

* fixes for tests

* Tests for bulk actions

* Payments API

* Fixes for tests
2019-11-16 14:12:29 +11:00
David Bomba
12798b40b8
Fixes for transforming and saving company settings. (#3059)
* Cleanup for settings remove from entities

* Fixes for saving and transforming company settings

* CompanySettingsSaver
2019-11-13 08:28:17 +11:00
David Bomba
384a3b4603
Fixes for transforming and saving company settings. (#3058)
* Cleanup for settings remove from entities

* Fixes for saving and transforming company settings
2019-11-13 08:26:40 +11:00
David Bomba
e4c18e734a
Implement fees and limits map for company gateways (#3053)
* Add ability to remove group settings level company logo

* Company Gateway Fees and Limits

* Validation tests for FeesAndLimits

* Working on company gateways

* Working on transforming fees_and_limits in transformer

* Implement fees and limits map for company gateways
2019-11-11 23:21:19 +11:00
David Bomba
37a826374b
Remove settings from invoice table (#3051)
* Implement client/group/company level counters clientCounter, groupCounter and counter

* Implement functionalityfor customising the timing of invoice_number creation

* Add Jobs

* adjustments

* clean line items at the request layer

* Clean line items at the request layer

* minor formatting for notification

* Schema Fixes

* schema changes, cast country_id to stirng

* Fixes for tests

* force line item ids to string

* Map company gateway fees and limits

* Schema changes

* Remove id from invoice item stdClass

* Remove settings object from invoice table
2019-11-10 23:06:30 +11:00
David Bomba
a78b6aaacd
Set casts on Invoice Line Items (#3049)
* Implement client/group/company level counters clientCounter, groupCounter and counter

* Implement functionalityfor customising the timing of invoice_number creation

* Add Jobs

* adjustments

* clean line items at the request layer

* Clean line items at the request layer
2019-11-08 11:38:22 +11:00
David Bomba
b371dbaf47
Insert generic for client country if not set (#3022) 2019-10-25 20:58:16 +11:00
David Bomba
b42702fbdd
V2 (#3021)
* Implement transformer for ClientGatewayTokens

* Add company_gateway_id to client gateway token transformer

* Fixes for client model

* Fixes for Number class

* Insert generic for client country if not set
2019-10-25 20:56:38 +11:00
David Bomba
9dfa97eedf
enforce settype() for strings that are _ids (#3010)
* Add Includes

* Clean up company settings + tests

* Update Company Settings Schema

* Fixes for tests

* fixes for tests

* fixes for settings

* Enforce settype(string) for _ids
2019-10-23 17:21:16 +11:00
David Bomba
e4f0b08d3e
Fixes for settings (#3009)
* Add Includes

* Clean up company settings + tests

* Update Company Settings Schema

* Fixes for tests

* fixes for tests

* fixes for settings
2019-10-23 12:01:25 +11:00
David Bomba
ed449ea1ab
Default gateway type ID (#3008)
* Show Recurring Invoice - Client Portal

* Password protect some routes

* Password Protection Routes

* Add default_gateway_type_id to gateway table
2019-10-22 22:27:03 +11:00
David Bomba
e2284132ec
Add gateway transformer (#2999) 2019-10-17 22:49:09 +11:00
David Bomba
c7a82d25b8 inclusive tax implementation 2019-10-17 09:51:05 +11:00
David Bomba
b6d6d3928b
Eager loading (#2995)
* Fixes for tests

* Eager load payment types
2019-10-16 21:24:33 +11:00
David Bomba
7eb0f8d44b
Invoice calculations (#2994)
* Add traits for invoice calculations

* V2 of invoice calculator

* Tests for invoice item calculator

* Test for Invoice Item Calculations

* Invoice Calculation Tests

* fix for tests

* Fixes for invoice calculations
2019-10-16 20:28:52 +11:00
David Bomba
1c21b6dc7c
Invoice Calculations (#2985)
* Fixes for invoice item line totals

* Refactoring invoice calculations

* Update api-docs

* Fixes for invoice calculations

* remove tests

* fixes for config files
2019-10-13 21:59:55 +11:00
David Bomba
dde3f1192a
Change company_logo_url to company_logo (#2980) 2019-10-11 15:30:26 +11:00
David Bomba
3cbe60abda
clean up (#2978) 2019-10-11 11:54:53 +11:00
David Bomba
6698609512 Fixes for tests 2019-10-11 11:26:35 +11:00
David Bomba
9cc31195f7 fixes for storing invoice 2019-10-11 09:11:36 +11:00
David Bomba
8d14c6b2bd Switch currency_id back to settings object 2019-10-10 21:43:50 +11:00
David Bomba
fb150cc1b0 Documentation for SettingsSaver trait 2019-10-10 13:24:19 +11:00
David Bomba
cb466e4d34 Company Settings Tests 2019-10-10 12:55:21 +11:00
David Bomba
3123547e55 Implement validation rule for settings 2019-10-10 12:01:38 +11:00
David Bomba
7a4decdd3d working on type casting 2019-10-10 10:15:35 +11:00
David Bomba
859efb9445 Tests for types 2019-10-10 09:20:38 +11:00
David Bomba
e56aac5e73 Implement type checking for settings objects 2019-10-10 08:36:50 +11:00
David Bomba
056b2cbdb7 Tests for company settings 2019-10-09 23:21:21 +11:00
David Bomba
0e9ca5c1ce Company Settings 2019-10-09 16:57:32 +11:00
David Bomba
710732a1fb company settings 2019-10-09 15:28:58 +11:00
David Bomba
534b515849 Abstract settings save to separate trait 2019-10-09 10:53:33 +11:00
David Bomba
faa5a05ac1 Validation rules for update client 2019-10-08 22:14:23 +11:00
David Bomba
091673a7ac Payment edge cases 2019-10-08 09:05:41 +10:00
David Bomba
60e58abab5 Company Logo upload to groups 2019-10-08 08:07:43 +10:00
David Bomba
7a78702a1f Fixes for tests 2019-10-08 07:43:25 +10:00
David Bomba
cc85746af0 Upload company logo to group settings 2019-10-08 07:17:55 +10:00
David Bomba
c46ebb2778 Fixes for tets 2019-10-07 20:39:22 +11:00
David Bomba
eca7452de3 Add additional tax rate 3 into the system 2019-10-05 12:28:23 +10:00
David Bomba
24075072df refactor for pushing company meta data into settings 2019-10-04 22:37:40 +10:00
David Bomba
187fb67275 remove work_ prefix 2019-10-04 21:01:52 +10:00
David Bomba
a83099dad8 Refactor payment events 2019-10-04 16:22:22 +10:00
David Bomba
5adc88d01e Docs 2019-10-03 22:17:48 +10:00
David Bomba
a57de08178 Working on partial invoice payments 2019-10-02 08:44:13 +10:00
David Bomba
487f93933b Laravel V6 2019-09-26 23:00:51 +10:00
David Bomba
7382ff0b84 fixes for datetime formats 2019-09-22 20:25:05 +10:00
David Bomba
50d52c5323 Add DateFormats to model 2019-09-22 19:30:03 +10:00
David Bomba
86a099587d Refactor for settings to force types 2019-09-19 15:50:05 +10:00
David Bomba
ac19a4bb12 Working on cascading settings 2019-09-11 15:32:47 +10:00
David Bomba
af28b02fae Fixes for tests 2019-09-11 13:46:23 +10:00
David Bomba
e329c24879 Fixes for tests 2019-09-11 12:01:49 +10:00
David Bomba
db7043abd9 Working on Groups 2019-09-09 21:24:22 +10:00
David Bomba
5f7a0b96d7 Tests tests and more tests 2019-09-09 21:05:53 +10:00
David Bomba
c4bccddbb3 Clean up trait 2019-09-05 07:50:16 +10:00
David Bomba
af601e0b03 WOrking on invoice template layouts - css 2019-09-04 23:26:08 +10:00
David Bomba
43dc9158f6 Cleaning up Tests 2019-09-04 22:01:19 +10:00
David Bomba
bc7e09b924 Working on tests for line item taxes 2019-09-04 15:10:10 +10:00
David Bomba
cd40ba95e6 Invoice templates 2019-09-04 11:45:53 +10:00
David Bomba
e60bcf2d23 Dynamic invoice tables for PDF generation 2019-09-04 09:16:23 +10:00
David Bomba
ea07174df6 Invoice Item Array factory 2019-09-04 08:16:53 +10:00
David Bomba
f9a5bd3444 Custom values for invoice templates 2019-09-03 16:01:40 +10:00
David Bomba
28a214a9bc Tests 2019-09-03 13:39:35 +10:00
David Bomba
47cdeef258 Working on building dynamic tables for invoices 2019-09-03 09:00:52 +10:00
David Bomba
d99443806a working on invoice labels and template values 2019-09-02 15:08:26 +10:00
David Bomba
019cc09dbb Working on replacing variables for templates 2019-08-30 16:16:39 +10:00
David Bomba
b7d9ad1808 Create more date helpers 2019-08-29 08:13:26 +10:00
David Bomba
1c31f6de0f Refactors, and create a number helper 2019-08-28 12:36:53 +10:00
David Bomba
0af0d9786d Fixes for test 2019-08-28 10:58:13 +10:00
David Bomba
33b42db47c Tests 2019-08-28 09:19:54 +10:00
David Bomba
544e59bbba Transform id keys from Bulk routes 2019-06-12 14:22:05 +10:00
David Bomba
96f61865d8 Implement logic to throttle emails 2019-05-31 14:01:47 +10:00