Benjamin Beganović
9ee8a1658e
Clean:
...
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 14:05:40 +02:00
Benjamin Beganović
0597b01847
Business:
...
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 14:03:25 +02:00
Benjamin Beganović
da74ecba6e
Bold:
...
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 14:00:23 +02:00
Benjamin Beganović
b438309736
Playful:
...
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 13:55:02 +02: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
Benjamin Beganović
6676cab698
Playful
2020-08-05 15:40:57 +02:00
Benjamin Beganović
4f69a874cf
Modern design
2020-08-05 15:17:45 +02:00
Benjamin Beganović
7a9c8ca9a0
Hipster design
2020-08-05 15:02:32 +02:00
Benjamin Beganović
66ff55cddf
Elegant
2020-08-05 14:43:51 +02:00
Benjamin Beganović
b1b42f5919
Creative
2020-08-05 14:34:22 +02:00
Benjamin Beganović
1876b228ed
Clean
2020-08-05 14:24:10 +02:00
Benjamin Beganović
2333a78775
Business design
2020-08-05 12:35:38 +02:00
Benjamin Beganović
d63678435f
Bold design
2020-08-05 12:13:48 +02:00
Benjamin Beganović
438054744e
refactor invoice to entity
2020-08-05 11:52:01 +02:00
Benjamin Beganović
17858dae45
Implement base design class & remove design interface
2020-08-05 11:47:32 +02:00
Benjamin Beganović
ad2ff79336
Complete Plain.php
2020-08-04 17:32:28 +02:00
Benjamin Beganović
e5defd870b
implement design interface
2020-08-04 16:56:17 +02:00
Benjamin Beganović
7c4d2cf96f
change from isset to in_array
2020-08-04 16:41:18 +02:00
Benjamin Beganović
96fdf787de
add comments
2020-08-04 13:37:51 +02:00
Benjamin Beganović
ee6da44a94
Extract helpers for tax calculations into another file
2020-08-04 13:33:38 +02:00
Benjamin Beganović
efd698c9c5
wip with table body
2020-08-03 13:29:57 +02:00
Benjamin Beganović
184f60785f
wip with table bodies & footer
2020-07-30 17:47:40 +02:00
Benjamin Beganović
70ee476193
wip
2020-07-30 16:43:57 +02:00
Benjamin Beganović
cb4efc8c61
wip
2020-07-29 14:53:58 +02:00
Benjamin Beganović
2e3179d83e
Extract variables from the HtmlEngine
2020-07-29 13:37:05 +02:00
David Bomba
b457cbfe15
Fix is_manual when marking an invoice as paid
2020-07-29 08:20:40 +10:00
David Bomba
d36fdb4025
Fixes for refresh query
2020-07-25 09:02:32 +10:00
David Bomba
5349fc012c
Merge pull request #3927 from turbo124/v2
...
Fixes for base repo invitations
2020-07-23 20:56:38 +10:00
David Bomba
ce3696257f
Fixes for base repo invitations
2020-07-23 13:55:11 +10:00
David Bomba
3f1d877273
Merge pull request #3925 from beganovich/v2-2207-pdfmaker-changes
...
Moving PdfMaker out of tests folder
2020-07-23 07:41:11 +10:00
Benjamin Beganović
3b2e4c68e9
Update static html design paths
2020-07-22 14:43:07 +02:00
Benjamin Beganović
60a73fada3
Move PdfMaker to Services/ folder & update namespaces
2020-07-22 14:30:55 +02:00
=
a367c64278
Send change of email to both old and new email address
2020-07-22 13:03:33 +10:00
David Bomba
5e6fdef935
Working on payment terms
2020-07-20 16:10:14 +10:00
David Bomba
fec8e8b520
Fix bug where restoring a credit wouldn't work
2020-07-20 07:54:10 +10:00
David Bomba
439424b933
Fix for activity repo
2020-07-17 19:47:17 +10:00
David Bomba
b4ad18bfe9
Don't include drafts when checking data
2020-07-16 13:54:26 +10:00
David Bomba
cab6f313fe
Fix for paid invoice emails
2020-07-15 17:03:35 +10:00
David Bomba
018340cd03
Working on autobill payments
2020-07-15 16:08:57 +10:00
David Bomba
cd4856e8db
Helpers for gateway fees
2020-07-15 15:05:02 +10:00
David Bomba
d8a13e6cb2
Auto billing for stripe
2020-07-14 22:50:16 +10:00
David Bomba
5dc0fcca0d
Working on token billing
2020-07-13 14:46:16 +10:00
David Bomba
583a92d5bc
Tweak payment dates in demo data
2020-07-13 13:35:28 +10:00
David Bomba
b96e2aa78b
Bulk actions for tax rates
2020-07-13 09:29:44 +10:00
David Bomba
0cd3b6925e
fixes for autobill invoice
2020-07-13 08:28:19 +10:00
David Bomba
f3572a5d11
Refactor for events
2020-07-08 22:02:16 +10:00
David Bomba
a476034bd0
Add token_id to activity table
2020-07-08 16:54:16 +10:00
David Bomba
2e03b1e6d2
Fixes for reminder templates
2020-07-08 13:17:25 +10:00
David Bomba
6718915a9c
Add gateway fees to invoice
2020-07-08 13:07:07 +10:00
David Bomba
4b81e209c4
Working on unattended token billing
2020-07-08 12:20:44 +10:00
David Bomba
3ec593f7ef
Fixes for tests
2020-07-08 10:18:13 +10:00
David Bomba
6a11fae857
Working on Autobill
2020-07-08 00:50:51 +10:00
David Bomba
83fc30f7e7
Working on fees and limits
2020-07-07 22:33:11 +10:00
David Bomba
89d15f1e2a
Fixes for API Documentation
2020-07-07 20:56:28 +10:00
David Bomba
4c321d41c3
Change subscriptions to webhooks
2020-07-06 21:22:36 +10:00
David Bomba
1deb503929
Fixes for Quote PDF servicE
2020-07-06 14:16:24 +10:00
David Bomba
d6b58fe5b8
Fixes for testS
2020-07-06 14:12:04 +10:00
David Bomba
f4a66dd75b
Triggered actions
2020-07-06 13:12:08 +10:00
David Bomba
94a98f744e
Triggered actions on invoice
2020-07-06 09:34:25 +10:00
David Bomba
920bbf8b75
Adjust client balance when deleting payment
2020-07-05 20:24:13 +10:00
=
e3b8651211
RecurringService
2020-07-01 11:06:40 +10:00
David Bomba
16bc04c2ed
Check Data
2020-06-30 21:18:16 +10:00
David Bomba
245980ce4b
Send company with all events
2020-06-30 09:35:17 +10:00
David Bomba
f36bbf75b8
Delete payment workflow
2020-06-28 13:05:58 +10:00
David Bomba
8eed07b8f5
Additional fields for entities
2020-06-28 08:24:08 +10:00
David Bomba
7dbdc292e5
Fixes for refunds
2020-06-27 11:43:45 +10:00
David Bomba
1ce5b7ad8e
fixes for refunds
2020-06-27 10:20:27 +10:00
David Bomba
fe995ca878
Refactor refunds
2020-06-27 10:05:31 +10:00
David Bomba
03d80d6006
Tweaks for refunding
2020-06-26 13:32:09 +10:00
Benjamin Beganović
b4d3498ac3
Checkout.com payments & refunds improvements:
...
- Fix refunding & exception handling
- Fix capturing the payments with Checkout SDK
- Update credit note balance after refunding
2020-06-25 17:08:15 +02:00
Benjamin Beganović
be61945c93
Merge remote-tracking branch 'upstream/v2' into v2-2306-payments
2020-06-24 17:35:13 +02:00
Benjamin Beganović
24a3cc36fc
Record activity and update payment value after refunding
2020-06-24 17:18:03 +02:00
David Bomba
b3c2d7e11e
Authorize .net refund implementation
2020-06-24 15:20:33 +10:00
David Bomba
889ac65f26
Bulk actions on groups
2020-06-24 09:39:49 +10:00
David Bomba
a7e05cb3bd
Fix for applied amount when using credits to pay invoices
2020-06-18 13:19:38 +10:00
David Bomba
9acbac7402
Add invoice id to credit
2020-06-18 09:43:28 +10:00
David Bomba
70c5913f1d
fixes for currency type
2020-06-15 16:06:32 +10:00
David Bomba
6af50df3df
Reverse a cancellation
2020-06-15 09:53:57 +10:00
David Bomba
4846c9bccc
Working on reversing an invoice cancellation
2020-06-15 09:34:18 +10:00
David Bomba
4dca7da070
Fixes for payment side of ledger
2020-06-06 11:07:31 +10:00
David Bomba
fa19c70855
Create a status for Quote -> Completed
2020-06-02 20:19:29 +10:00
David Bomba
3abd0e0b17
Fixes for tests
2020-06-01 14:18:33 +10:00
David Bomba
c99c339fab
Implement new refund methods
2020-06-01 13:16:06 +10:00
David Bomba
e163135f1f
Fixes for refunding
2020-06-01 08:29:53 +10:00
David Bomba
6fce752de4
Refunable refactor
2020-05-29 16:24:41 +10:00
David Bomba
45dee9f7f9
Refactoring for refundable
2020-05-29 08:21:47 +10:00
David Bomba
b28cdd488b
Set due date when invoice is marked as sent
2020-05-28 14:18:34 +10:00
David Bomba
0485ffe912
fixes for invoices not generating invoice numbers on payment
2020-05-28 10:59:33 +10:00
David Bomba
41b19c20c1
Place checks on quote 'isConvertable()'
2020-05-27 14:54:47 +10:00
David Bomba
c72d38ca4f
Allow conversion of quotes to invoices ( #3760 )
2020-05-27 14:46:19 +10:00
David Bomba
afbb605af5
Fixes for converting a quote to invoice ( #3727 )
2020-05-20 17:45:03 +10:00
David Bomba
659af63b5c
Add Quotes to RandomDataSeeder ( #3714 )
...
* 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 Quotes to randomdataseederr
2020-05-19 08:22:18 +10:00
David Bomba
d9d2e21f93
Subscriptions ( #3682 )
...
* Working on subscriptions
* Implement return type in models
* Subscription implementation
* Improvements to handling importation of large accountS
* Loggin imports
* Activate collector
* Improve memory usage of import script
* Quote actions
* Send Quotes
* Fixes for seg faults!
* Minor fixes
* Fixes for client contact scopes
2020-05-09 08:35:49 +10:00
David Bomba
c503d58505
Adjust email quotas - Hosted plan. ( #3663 )
...
* Fixes for invitations not being created in RandomDataSeeder
* Resend failed/quota exceeded emails
* Queue email tests
* Refund a client for a ninja account
* Adjust email quotas - hosted plan
2020-04-30 21:45:47 +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
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
2103758d36
Invoice Activities ( #3608 )
...
* Version bump
* reverse and cancelled activities
* Invoice reversal/cancellation activities
2020-04-09 09:35:40 +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
7d41759468
Version bump, fixes for queue:work on setup. ( #3603 )
...
* Fixes for scheduler and queues
* Version Bump
2020-04-08 20:55:28 +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
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
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
aad117a67d
Fix casts for permissions ( #3467 )
...
* Fix cast for permissions
* Notification Types
* Working on notification logic
2020-03-10 23:54:20 +11:00
David Bomba
37f295d49e
Improve notification performance ( #3452 )
...
* Improve notification performance
* Cascade deletes
* Fixes for company deletes
* Fixes for formatting
* todos for company
* Set currency id on payment
* Minor fixes for payment controller
2020-03-08 16:59:06 +11:00
David Bomba
a8c15ef1c9
Version checking ( #3451 )
...
* Ensure NINJA_ENVIRONMENT variable is present in .env file
* Implement version checking in app
* Remove password protection from check version route
2020-03-08 09:15:11 +11:00
David Bomba
5a7986c23b
Bug Fixes ( #3450 )
...
* Convert quote to invoice workflow
* minor fixes
* checks for createaccount
* Bug Fixes
* Bug fixes
2020-03-07 23:46:45 +11:00
David Bomba
7c00c68bf3
Create route for invoice/credit/quote PDF download ( #3441 )
2020-03-07 00:41:15 +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
2085fa38dc
Missing files ( #3412 )
2020-03-03 20:51:05 +11:00
David Bomba
1393179160
Multiple fixes and features ( #3411 )
...
* Performance improvements for seeding
* Differentiating between system notification and user notifications
* Remove hard coded webhook url
* Working on system and user notifications
* notifications
* Set the currency on client if blank
* Refactor for inserting invoice defaults
* Refactor Default Invoice/Quote/Credit objects
* working on credits
* Implement mark_sent for quotes and credits
2020-03-03 20:44:26 +11:00
David Bomba
9ac66661ba
Fixes for tests ( #3389 )
...
* Fixes for tests
* payment
2020-02-27 17:29:40 +11:00
Benjamin Beganović
200b26d809
Refactor save() method to apply DRY for invoices, Quotes & Credits ( #3387 )
...
* Refactor save() method to apply DRY
* Update BaseRepository.php
2020-02-27 08:21:12 +11:00
David Bomba
b2f4e51b55
V2 ( #3385 )
...
* Fixes for payment number
* Fixes for tests
2020-02-26 21:46:35 +11:00
David Bomba
0b2435af2a
Fixes for payment numbers ( #3384 )
2020-02-26 21:06:08 +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
1ac2a73b2a
Update CORS fields ( #3371 )
...
* Working on invoice invitations
* Credit invitations
* Update CORS
2020-02-25 19:33:53 +11:00
David Bomba
3d31f810c0
Set Invitations as a default include for invoices ( #3362 )
...
* Working on importing company gateways
* Fix for companyuser settings object
* Migrate client_gateway_tokens
* Working on Notificaitons
* Working on notifications
* Failsafe for user-company
* unlink files
* Set DB for jobs
* Always have a fallback for company_id
* Fixes for user model
* Formatting for MultiDB
* Working on Company Ledger Tests
* Fixes for contact request
* Set Invitations as a default include for invoices
2020-02-24 21:15:30 +11:00
David Bomba
c1d3fd12a8
Import ( #3360 )
...
* Fixes for test data
* Fixes for tests
* Remove legacy vue components
* Add routing number to client gateway tokens
* working on important documents and company gateways
* Import fixes
2020-02-22 13:25:49 +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
David Bomba
4a41685e94
Fix Credit Service Methods ( #3350 )
2020-02-19 07:56:21 +11:00
David Bomba
0690d615dd
Fixes for Send Email ( #3347 )
...
* fixes for travis
* Fixes for OpenAPI docs
* Fixes for send -> send_email
2020-02-18 08:08:27 +11:00
David Bomba
69cc88e33f
Improve error handling ( #3344 )
...
* Fixes for travis
* Minor Fixes
* Improve Error Handling
2020-02-18 06:07:31 +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
1e35c90ee6
Fixes for Tests, MultiDB ( #3334 )
...
* refactor send_invoice to generic -> send
* Code cleanup
* Fixes for tests and multidb
2020-02-15 23:27:24 +11:00
michael-hampton
bd8a6b462a
Update CreateInvitations.php ( #3331 )
2020-02-15 22:51:29 +11:00
David Bomba
1e0111d519
Minor refactors for emails ( #3333 )
2020-02-15 22:49:31 +11:00
David Bomba
a79c7bf60d
Code Cleanup
...
* 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
* refactor for emails
* Design Transformer
* Include designs in first_load response
* Code cleanup
2020-02-15 20:06:30 +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
Benjamin Beganović
7dd6f814ac
Change 'Quote' & 'Invoice' service implementation ( #3327 )
...
* Change '__invoke' to 'run' for Invoice services
* Change '__invoke' to 'run' for Quote services
2020-02-14 14:32:22 +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
David Bomba
162580bcd3
Fixes for ClientContact CRUD ( #3317 )
...
* Fixes for downloading invoice PDF
* Fixes for client contact CRUD
2020-02-12 20:18:56 +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
michael-hampton
dee99b1a62
Ft quote services ( #3310 )
...
* Quote service
* convert quote
* Update Quote.php
* Update Quote.php
* Update MarkApproved.php
2020-02-12 07:57:25 +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
michael-hampton
c2524f55da
Update MarkPaid.php ( #3282 )
2020-02-05 09:47:54 +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