1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 13:12:50 +01:00
Commit Graph

279 Commits

Author SHA1 Message Date
David Bomba
280271718b
Migration improvements: (#3428)
- Refactored exceptions
- Changed failed.blade.php
- Removed report() method from exceptions
- Added new force flag for MigrationController.php
2020-03-06 07:30:32 +11:00
Benjamin Beganović
40af77d324
(V2) Improve validation & error handling (#3414)
* wip - migration transfer

* (WIP) Response refactor:
- Catching exceptions at top level
- Tests refactor

* wip

* Wrappign migration validator:
- Migration dropped to queue
- New validator messages
- New exception messages

* Fixes for tests
2020-03-04 09:44:42 +11:00
David Bomba
0061da2600
Update Company User Route (#3398)
* Working on CompanyUser route

* CompanyUser update route

* tests for updating a company user
2020-02-28 23:11:56 +11:00
David Bomba
b2f4e51b55
V2 (#3385)
* Fixes for payment number

* Fixes for tests
2020-02-26 21:46:35 +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
Benjamin Beganović
786b54e57b
Fixes for ImportTest & StartMigration refactor (#3373) 2020-02-26 09:36:11 +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
Benjamin Beganović
c97d664d31
Fixes for ImportTest (#3361)
* Fixes for tests (wip)

* Fix for tests

* Remove logging
2020-02-22 17:36:53 +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
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ć
96a250edac
Importing documents (#3348)
* Importing documents

* Add polymorphic types

* Update documentable namespace & tests
2020-02-19 07:53:12 +11:00
David Bomba
79c57aa8da
Fixes for payments (#3276)
* More tests for refunds

* Tests for refunds

* Improve test speeds

* Fixes for tests

* Adjust the way we update products

* Adjustments for payments

* Fixes for payments
2020-02-02 07:45:23 +11:00
Benjamin Beganović
61b3385102
Various tests fixes & client contacts importing (#3259)
* Fix testClientNotArchived() returns null

* Fix testClientRestored() test

* Fix risky/incomplete tests

* Importing client contacts
2020-01-29 13:43:38 +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ć
401d859f7a
Refactor file uploads to support multiple disks (#3257) 2020-01-29 11:12:52 +11:00
Benjamin Beganović
01c47d7c5d (Sync) beganovich:v2 to invoiceninja:v2 (#3254)
* Add more checks to invoice test

* Uploading migration file & test

* Comment redundant tests

* Improve tests with smaller sample files. (#3250)

* Reduce migration file size to improve test velocity

* minor fixes

* remove xhprof ext

* Tests for templates

* Remove commented tests

* Fix invoices testing & importing

* Sending e-mail when migration fails

* Uploading & storing the migration file
- Added Swagger notation
- Added MigrationTest.php method

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-01-28 07:56:48 +11:00
David Bomba
a72e1faa84
Improve tests with smaller sample files. (#3250)
* Reduce migration file size to improve test velocity

* minor fixes

* remove xhprof ext

* Tests for templates
2020-01-27 18:49:04 +11:00
David Bomba
9261858b3a
fixes for tests (#3245) 2020-01-24 15:44:41 +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
ff7b62de51
Fixes for missing company object in job classes. (#3179)
* Fixes for missing company object in events

* Cleanup client balancing code

* Fixes for client balance

* Fixes for missing company variable
2019-12-29 17:28:57 +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
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
0908893180
Fixes for client currency id (#3092)
* Fix for CORs error where file download were being prevented by headers

* Fixes for CORs and File downloads

* give contextual error messages for invalid route actions

* Clean up LoginController for OAuth Testing

* Quote Actions

* Invoice and Quote Actions

* Fix for client currency
2019-11-25 20:38:55 +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
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
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
a6f928b181
Fixes for settings, implement invitations from invoice request (#3047)
* Fixes for client portal localization

* Replace Invoice Ninja Logo with user defined logo and website URL in client portal

* Minor Fixes

* Refactor for invitations on invoices

* Fixes for settings
2019-11-07 09:57:09 +11:00
David Bomba
14ea3fe256
Tax Rate fixes (#3031)
* Ensure tax rate queries are scoped appropriately

* Add Tax Rate Policy

* Fixes for settings

* doc blocks

* Add failed jobs tables to migrations

* Only 1 migration file for failed table
2019-10-30 13:41:18 +11:00
David Bomba
5fafbac36f
Tax Rates (#3026)
* Insert generic for client country if not set

* Invoice fixes

* fixes

* Schema changes

* Refactor Schema and implement fixes for testS

* Use Dispatcher for system logs

* Add TaxRateController

* Update OpenAPI definitions for Tax Rates
2019-10-29 13:55:26 +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
d29f37ef8b
Improve invoice calculations (#3007)
* Fixes for test

* Invoice Items Inclusive Tax Calculator

* Inclusive taxes

* Invoice Inclusive Tax Tests

* More tests

* clean up

* fixes for inclusive tests
2019-10-22 13:07:00 +11:00
David Bomba
02fadc8272
Exclusive tax rate calculations (#3005)
* clean up invoice calculations  - exclusive taxes

* Fixes for tests

* Clean up and fixes for tests
2019-10-20 17:23:35 +11:00
David Bomba
fbc03aa9f7 Update setting fields 2019-10-17 19:26:46 +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
39eac5709e fixes for tests 2019-10-10 14:48:09 +11:00
David Bomba
056b2cbdb7 Tests for company settings 2019-10-09 23:21:21 +11:00
David Bomba
a8b70ee25c fixes for tests 2019-10-07 20:56:10 +11:00
David Bomba
c46ebb2778 Fixes for tets 2019-10-07 20:39:22 +11:00
David Bomba
cc7ee120d5 Fixes for test
s
2019-09-19 16:22:32 +10:00
David Bomba
86a099587d Refactor for settings to force types 2019-09-19 15:50:05 +10:00
David Bomba
89cc4170d6 Fixes 2019-09-18 22:43:37 +10:00
David Bomba
6b8cbe4e7c Working on preauth credit card stripe 2019-09-16 12:05:30 +10:00
David Bomba
8944727d6b Working on client payment methods 2019-09-15 21:40:46 +10:00
David Bomba
90530de46d Fixes for test annotations 2019-09-12 14:45:13 +10:00
David Bomba
a614dc5cda More tests for group settings 2019-09-12 12:32:46 +10:00
David Bomba
6fc248ee51 fixes for travis 2019-09-11 16:54:14 +10:00
David Bomba
e3a72a5970 fixes for travis 2019-09-11 16:37:17 +10:00
David Bomba
0d4d1041f5 Refactor of client settings and cascading settings Client > Group > Company finished 2019-09-11 16:00:23 +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
1f624e28bc Refactor Group level settings 2019-09-10 12:30:43 +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
8a90d46287 Working on payment methods 2019-09-09 12:19:19 +10:00
David Bomba
43dc9158f6 Cleaning up Tests 2019-09-04 22:01:19 +10:00
David Bomba
0051145d2e Working on invoice item tax calculations 2019-09-04 15:15:42 +10:00
David Bomba
bc7e09b924 Working on tests for line item taxes 2019-09-04 15:10:10 +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
10272a1eeb Working on PDF generation with mocked Invoice Data. - Finishing saving to file location 2019-08-29 22:47:45 +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
feff6a1c76 Refactoring how we set the DB in the request cycle 2019-07-12 15:03:30 +10:00
David Bomba
d4ed6fddb4 fixes for tests 2019-07-08 16:06:41 +10:00
David Bomba
51b0c17c4c Working on client login routes 2019-07-08 10:08:57 +10:00
David Bomba
544e59bbba Transform id keys from Bulk routes 2019-06-12 14:22:05 +10:00
David Bomba
4e4d134230 Fixes for tests - new implementation for invitations 2019-06-02 16:36:31 +10:00
David Bomba
e898494b72 Fixes for new implementation of GeneratesCounter 2019-05-29 10:44:33 +10:00
David Bomba
efe81ffc64 Working on client numbering 2019-05-28 15:55:50 +10:00
David Bomba
b2dcd5cbcb Tests for Generates Counter 2019-05-27 21:54:27 +10:00
David Bomba
494504a2d0 Working on tests for new GeneratesCounterTest 2019-05-27 20:48:52 +10:00
David Bomba
058e12fbf6 Refactor - Breaking changes to GeneratesNumberCounter that require attention 2019-05-24 19:23:38 +10:00
David Bomba
f5d1e152c2 Fixes for travis date 2019-05-05 11:15:18 +10:00
David Bomba
a823b9107e Fixes for factory tests 2019-05-03 18:34:27 +10:00
David Bomba
6d14821528 Working on Quotes 2019-05-02 21:07:38 +10:00
David Bomba
7a65ef24d2 Refactor Generated number trait 2019-05-02 14:04:51 +10:00
David Bomba
c77c2811ef Fixes for creating a client invoice number 2019-05-01 19:31:16 +10:00
David Bomba
599ff31f9d Working on more tests for generates numbers 2019-05-01 16:09:55 +10:00
David Bomba
71d00c1aeb Implement more testing on generates numbers 2019-05-01 13:33:04 +10:00
David Bomba
b276cc729f Tests for generates numbers 2019-04-30 22:30:47 +10:00
David Bomba
defbae832b Working on Generates Number 2019-04-30 16:02:39 +10:00
David Bomba
19a5c7119b Test for Number generation: 2019-04-29 22:14:11 +10:00
David Bomba
2a032ab253 Refactor default client settings 2019-04-29 08:40:38 +10:00
David Bomba
acdc8fad94 Finalize tests for Factories 2019-04-26 21:18:23 +10:00
David Bomba
a9fe211799 Test for factory creations 2019-04-26 21:02:52 +10:00
David Bomba
49427b1acb Tests for factories 2019-04-26 20:51:02 +10:00
David Bomba
d8f5d10b58 Fixes for tests 2019-04-24 20:01:40 +10:00
David Bomba
e37c6912b1 Refactor for invoice calculations, implementing testing for Invoice Invitation creation 2019-04-24 15:18:48 +10:00
David Bomba
706625e83f Working on invoice actions 2019-04-23 14:16:41 +10:00
David Bomba
94fe6ff7a2 rename trait 2019-04-23 08:41:32 +10:00
David Bomba
e4d3fa523a Working on timezone conversions 2019-04-22 22:17:52 +10:00
David Bomba
d3f2c4a571 working on conversion of datetime to and from UTC 2019-04-22 21:59:04 +10:00
David Bomba
0ba63519ea Improve code coverage 2019-04-20 09:02:49 +10:00
David Bomba
d8280b7f73 Fixes for tests 2019-04-18 08:00:04 +10:00
David Bomba
2b24753813 Working on Invoice Tests, refactoring Settings integration 2019-04-17 16:20:32 +10:00
David Bomba
cb7eea0e7b Refactor invoice calculations class, use FormRequests on destroy() 2019-04-16 13:28:05 +10:00
David Bomba
5e86fa33c1 Fixes for tests. Fixes for invoice calculations 2019-04-15 09:51:43 +10:00
David Bomba
2008b38473 Invoice Test Assertions 2019-04-11 14:40:36 +10:00
David Bomba
3813d31994 Invoice Test Assertions 2019-04-11 10:57:06 +10:00
David Bomba
82c1df5c6d Fixes baseline errors in tests 2019-04-11 10:35:30 +10:00
David Bomba
616dc23c63 Mocking objects for tests 2019-04-10 19:44:45 +10:00
David Bomba
b7dc753d58 Mocking objects for tests 2019-04-10 19:42:19 +10:00
David Bomba
f7c31bd5a1 Mock tests for invoice calculations 2019-04-10 19:09:57 +10:00
David Bomba
1ce11fcb36 Fixes for invoice calculations 2019-04-10 17:57:02 +10:00
David Bomba
6f264567c7 Refactor private variables in calc class 2019-04-05 20:08:29 +11:00
David Bomba
336bd26bb9 Tests for Invoice Item 2019-04-04 20:53:40 +11:00
David Bomba
ae57c05659 Working on tests for invoice items 2019-04-04 20:28:53 +11:00
David Bomba
74a01f8731 move away from session variables 2019-03-27 20:38:28 +11:00
David Bomba
ea5f045509 Setting up for tests 2019-03-26 15:46:08 +11:00
David Bomba
0d508d67f1
Client Settings (#2711)
* Fixes for travis

* Additional settings variables at the company and client level

* Implement accessor for client settings

* Currency symbol or code setter

* Implement custom JS number and currency formatter

* Implement VueX state management for client settings

* Move settings logic into its own class

* Working on client settings

* client settings

* Move Client Settings helper into PHP

* Move translation helper into its own class

* Working on Client Settings

* fixes for client settings

* Client setting defaults

* fixes for .env

* Fixes for Travis
2019-03-03 08:44:08 +11:00
David Bomba
eddb9adc73
Client Settings (#2668)
* Clean up Client Show

* Working on Show Client menu action

* working on client view permissions

* Finishing up Client Statement View

* Workig on client settings

* add mix manifest

* css for client settings

* Client Settings

* Working on Client Settings

* Implement StartupCheck and static seeders

* Implement cached statics in view composers

* Working on client settings

* Payment Terms

* Working on Payment Terms View Composer

* Payment Terms builder

* Client Settings

* refactor companies table

* Refactor for company settings, move settings to json

* Set object cast on settings column of Company table

* Fixes for refactor of companies and clients table

* Test

* Client Settings Datamapper

* Client Settings

* Default client language

* Client Settings

* Working on client settings options

* Client Settings

* Settings Json serialization/deserialization handling
2019-02-17 21:34:46 +11:00
David Bomba
da325e1797
Refactor permissions for datatables. (#2615)
* Add URL link directly to client view in list view

* Implement Form requests for all client routes

* Refactor how permissions are implemented on Datatable row action menus

* fixes for tests
2019-01-22 01:06:49 +11:00
David Bomba
feafbd9826
User Settings (#2601)
* Datamapping JSON Settings

*  JSON Mapping

* User Setting Defaults

* Testing Json Mapper

* Implemented User Settings - hydrated from JSON format
2019-01-16 09:00:25 +11:00
David Bomba
0faf91dd5d
Generated Datatable Action Menus (#2590)
* Style Datatable

* Component Actions

* Harvest user permissions from Pivot table

* Pad out permissions

* Client actions

* Fixes for travis

* Client Datatables

* Menu permissions

* Tests for menu permissions

* Action menu

* Implement query builder filter

* Flatten user permissions

* Implement rendering of client action dropdowns

* Generated Action Menus
2019-01-07 22:30:28 +11:00
David Bomba
62e2444a2c
Sign Up Scaffolding (#2453)
* Fix js dependencies

* Breadcrumb implementation

* Test for UniqueEmailRule Validation

* reduce length of account_key to prevent key too long error

* Fixes for travis - reduce user email length

* Reduce all unique field lengths to 100 to prevent key overflow

* Fix for Bank Model

* Prevent a user from registering multiple account with one email address when using multiple databases
2018-10-17 23:26:27 +11:00
David Bomba
85180bfdb7
Multi DB Authentication (#2431)
* Custom Multi DB User Provider

* Multi DB Authentication provider

* Finalized Multi Auth DB

* Apply fixes from StyleCI (#22)
2018-10-08 20:38:45 +11:00
David Bomba
f4f7348854
V5.0 (#2422)
* fixes for code coverage

* Code Coverage filter laravel

* Code Coverage fixes

* bug fixes
2018-10-05 22:29:13 +10:00
David Bomba
2cc23cd2da
Code Coverage fixes (#2421)
* fixes for code coverage

* Code Coverage filter laravel

* Code Coverage fixes
2018-10-05 22:23:07 +10:00
David Bomba
c830924213
Filter laravel framework from code coverage (#2420)
* fixes for code coverage

* Code Coverage filter laravel
2018-10-05 22:12:20 +10:00
David Bomba
537b53859f
StyleCI fixes (#2416)
* Env for travis

* Apply fixes from StyleCI (#7)
2018-10-05 21:40:02 +10:00
David Bomba
efa75de4df
Project layout + Travis Integration (#2412) 2018-10-05 17:51:37 +10:00
David Bomba
e88604594b
Project layout (#2411)
* Nav bar ideas

* Project structure
2018-10-05 14:26:05 +10:00
Hillel Coren
f03dd652e6 Initial commit 2018-10-04 20:10:43 +03:00