1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-06 03:02:34 +01:00
Commit Graph

254 Commits

Author SHA1 Message Date
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
3fe3c04091
Fixes for Number class. (#3020)
* Implement transformer for ClientGatewayTokens

* Add company_gateway_id to client gateway token transformer

* Fixes for client model

* Fixes for Number class
2019-10-25 20:49:38 +11:00
David Bomba
2ddc87ba6e
Fixes for invoice controlleR (#3019) 2019-10-25 13:26:16 +11:00
David Bomba
8e3e5a2cb2
Fixes for saving invoice. (#3015)
* update company settings and OpenAPI definitions

* Fixes for tests

* Add extra variables to company settings

* Track signup platform when new account signup processed

* Fixes for invoice save
2019-10-24 20:23:37 +11:00
David Bomba
a60613aa26
Track signup platform (#3014)
* update company settings and OpenAPI definitions

* Fixes for tests

* Add extra variables to company settings

* Track signup platform when new account signup processed
2019-10-24 15:46:24 +11:00
David Bomba
adfced11d6
Add design_id to invoice and quote table (#3013)
* Add conditional checks in client portal

* Add ability to cancel recurring invoices from client portal

* Fixes for types

* Add fields to invoice and quote table
2019-10-24 07:37:20 +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
Benjamin Beganović
b35bff3cde Forward support messages to contact@invoiceninja.com with system-level info (#2993)
* Sending support messages via API

* Sending log files only if self-hosted

* Remove legacy code
2019-10-17 07:12:38 +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
fda6ec33fd Company Settings OpenAPI 2019-10-07 21:21:02 +11:00
David Bomba
c46ebb2778 Fixes for tets 2019-10-07 20:39:22 +11:00
David Bomba
03d0babd26 Remove show_currency_symbol 2019-10-07 17:37:46 +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
6bff6d6fac refactor gateway fields 2019-09-24 22:54:23 +10:00
David Bomba
7dfc783c4a Change json output of gateway_fields 2019-09-24 22:03:08 +10:00
David Bomba
d7f307feab Implement gateway fields in statics 2019-09-24 21:48:25 +10:00
David Bomba
a9f4a5feaf add group settings to company transformer: 2019-09-22 20:41:43 +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
42e54d0bd5 include statics with login response 2019-09-11 10:37:53 +10:00
David Bomba
a840136575 API cleanup 2019-09-11 09:31:55 +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
ebeed02d03 Clean up 2019-09-05 07:55:49 +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
17b2bc4e69 Click on table rows to mark checkbox 2019-08-28 15:19:36 +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
a6b78fd7a6 Working on recurring invoices listview 2019-08-15 14:31:03 +10:00
David Bomba
e669b96f8a Fixes for tests 2019-07-09 19:13:33 +10:00
David Bomba
83f6a88cb3 fixes for tests 2019-07-05 08:36:40 +10:00
David Bomba
544e59bbba Transform id keys from Bulk routes 2019-06-12 14:22:05 +10:00
David Bomba
04b0784afa ninja 2019-06-04 08:08:13 +10:00
David Bomba
96f61865d8 Implement logic to throttle emails 2019-05-31 14:01:47 +10:00
David Bomba
ce8d440ec5 fixes for recurring invoice request 2019-05-30 09:58:00 +10:00
David Bomba
32ca69bc52 Working on invitationsg 2019-05-29 21:15:42 +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
7cf3b23089 Document tests 2019-05-27 21:56:16 +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
0a12e2d49a Complete rewrite of Generates Numbers 2019-05-27 15:26:34 +10:00
David Bomba
058e12fbf6 Refactor - Breaking changes to GeneratesNumberCounter that require attention 2019-05-24 19:23:38 +10:00
David Bomba
9b86780fa3 Update copyright 2019-05-11 13:32:07 +10:00
David Bomba
0102d1a22b Getters and Setters on Invoice model 2019-05-02 15:47:16 +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
568fbdf6c8 Use Company ScopeS 2019-05-01 12:23:13 +10:00
David Bomba
b276cc729f Tests for generates numbers 2019-04-30 22:30:47 +10:00
David Bomba
21edcdf919 Generates number 2019-04-30 19:23:44 +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
76d625d723 Working on client, quote, invoice number generator 2019-04-29 15:50:08 +10:00
David Bomba
572d368da7 disable dusk 2019-04-24 12:34:39 +10:00
David Bomba
18d2284a8e Quotes and Recurring Invoice migrations 2019-04-23 21:44: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
f03da9d02d Wired Up Account Confirmation 2019-04-18 15:01:40 +10:00
David Bomba
ae57c05659 Working on tests for invoice items 2019-04-04 20:28:53 +11:00
David Bomba
31ce0eaca8 Working on Invoice Calculator 2019-04-04 15:49:13 +11:00
David Bomba
08c4579464 Working on Products 2019-04-03 12:17:21 +11:00
David Bomba
74a01f8731 move away from session variables 2019-03-27 20:38:28 +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
748409471c Implement Embedded Google Maps - remove redundant npm and composer dependencies 2019-01-30 15:52:26 +11:00
David Bomba
6a8f8b8691 Geocoding library 2019-01-29 21:15:03 +11:00
David Bomba
545a8df362 DocBlocks 2019-01-27 10:22:57 +11:00
David Bomba
64a0248f50
Scaffold Laravel permissions (Client - Entity) (#2602)
* Wired up Bulk Archive / Delete / Restore button with reactivity on checkbox actions

* Scaffold Laravel permissions (Client - Entity)
2019-01-16 20:28:06 +11:00
David Bomba
bdb0f43d33
Modules, VueJS (#2552)
* Fix for comparing delete contacts change diffKeys to diff()

* Client create

* Client Settings

* Working on localization

* Refactor DataTables

* protyping blade vs pure vue

* Rebuild test module

* Generic notes module

* Small Client Notes Module

* Tests for TabMenu Trait

* implements tab pills in client screen

* Integrate Modules
2018-12-13 10:23:21 +11:00
David Bomba
4abe61f493
Fix for tests, set return types (#2524)
* View composers

* Saving client and contacts

*  saving client and contacts

* update client job

* unique emails

* fix for tests
2018-11-27 18:24:26 +11:00
David Bomba
cdb98ce528
View Composers + JS testing framework (#2521)
* Add Jest testing to travis

* View Composers

* Composers
2018-11-26 15:15:08 +11:00
David Bomba
b989cf82b7
Client CRUD with VueJS (#2497)
*  working on js localizations

* remove dependencies

* Pad Hashes to at least 10 characters in length

* Inject JS translations into front end dynamically

* Implement VueJS for Client Edit Page with reactivity

* Conditionally hide rows if not enabled (custom_value)

* Split client template into smaller components

* implementing ui buttons

* CRUD cycles of a client

* Working on Client CRUD - Integrity constraint issues
2018-11-11 00:24:36 +11:00
David Bomba
d430600e1e
Datatables, Base Model, Base Presenter (#2484)
* Fixes for datatables

* Implement a BaseModel

* Working on reusable header data model

* Working on adding session variables

* Clean up header data

* Random Data Seeder

* working on searching datatables across relationships.

* Working on transforming primary keys between client and server facinglogic

* Updated assets
2018-11-02 21:54:46 +11:00