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

239 Commits

Author SHA1 Message Date
Benjamin Beganović
ac5525c9ac
[V2] Client portal rework (#3516)
* Client login, reset and update password page

* Client dashboard, sidebar, PortalComposer.php

* wip

* Personal page & update for details

* Invoices, paying & pagination.blade.php

* Invoices, recurring invoice & buttons

* Payments, link component

* Payment methods

* Breadcrums, clean up & wrap up

* Remove format_date() method to formatDate on object

* Payments
- $this->render is now proxy for render()
- Removed logic from Controller.php to ClientPortal.php
- Added MakesDates to ClientGatewayToken.php
- StripePaymentDriver.php now returns correct views
- Refactor of adding new payment method
- Ignoring all local builds for public/js/clients/*

* Signature, wip

* Fix "Pay now" on single invoice

* Payments:
- Added ProcessInvoicesInBulk request class
- Refactor InvoiceController::bulk()
- Displaying terms & payments
- New signature.blade.php
- Removed comment from webpack.mix.js

* Quotes:
- Refactor ProcessInvoicesInBulk.php to ProcessInvoicesInBulkRequest.php
- Add new 'Quotes' field inside of PortalComposer.php
- Added MakesDates to Quote.php
- Added Quote::badgeForStatus()
- Cleanup payment.blade.php
- Quote showing and approving
- New resource 'quotes' in client.php
- New image for quotes, align-left.svg

* Credits:
- New 'credits' resource in client.php
- Fixes for client.php typo

* Breadcrumbs:
- Quotes
- Credits

* Placeholder for translations.

* Restore whereIn & client scope

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-03-24 04:10: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
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
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
Benjamin Beganović
aad9f81e93
(Daily sync) Password reset pages & client portal rework (#3492)
* Dependency clearing

* Tailwind & templates cleanup

* Password reset pages & more features:
- New $this->render() method
- Password reset pages
- Tailwind CSS scaffold
- New styles for buttons, inputs, alerts
- Changed to shorthand syntax for language file (en)
- Added app.css and app.js which will be main endpoint
- Added new 'theme' field inside of ninja.php
- Scaffold for 'ninja2020' theme: both client and global theme
- Ignoring local builds of assets, until purgeCSS is there
- Overall cleanup

* Switch back default template to 'default'

* Remove app.css build

* Fix Codacy

* Fix Codacy 'doublequote' issues
2020-03-14 08:17:08 +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
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
0ff14c97fd
Minors Fixes (#3405)
* Tests for client contact passwords

* test for client API

* Client Tests for password quality

* Final tests for client contact password

* Implement feature permissions

* Minor fixes
2020-03-01 21:18:13 +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
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
cd961e2098
Fixes for self update (#3315) 2020-02-12 14:08:41 +11:00
David Bomba
f612566514
Fixes for self-update (#3314) 2020-02-12 14:06:04 +11:00
David Bomba
caa47d8662
Fixes for self-updater (#3313)
* Include Self-Update mailers

* Fixes for self-update
2020-02-12 13:51:43 +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
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
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
9d8e4fdb06
Change companies table property domain to subdomain (#3141) 2019-12-11 07:53:41 +11:00
David Bomba
550cb42722
Dynamically apply locale (#3140)
* 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
2019-12-11 07:25:54 +11:00
David Bomba
1b6ec9699a
Gmail Email via API (#3124)
* Working on GMail Driver

* working on custom Gmail Mail Provider

* Add total_taxes to quotes and recurring_*

* Implementation of new mailserviceprovider to allow native use of Mail:: with gmail email sending
2019-12-04 15:52:04 +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
b7d3f4e7aa
Client Portal conditionals (#3039)
* Fixes for tests

* add additional fields for company settings

* fixes for travis

* update company settings schema

* Disable client portal

* Client Portal middleware

* Working on client portal

* hide portal

* Implement notification channgels for User and ClientContact models

* Push notifications onto queue

* Force authentication if client portal is password protected
2019-11-04 11:22:59 +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
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
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
9b09cbe183 for travis 2019-10-04 20:20:02 +10:00
David Bomba
e89d7cebaa Working on Paypal Driver 2019-09-30 09:26:37 +10:00
David Bomba
515b32fd87 Bump to Laravel 6 2019-09-26 20:49:52 +10:00
David Bomba
3ad0a3ff9a Sort response in alphabetical order by key 2019-09-23 21:29:30 +10:00
David Bomba
308406c0fb Create or Update invitations on invoice save / creation 2019-09-23 13:10:51 +10:00
David Bomba
de48ff5d1b Datetime formats 2019-09-23 08:05:23 +10:00
David Bomba
a9f4a5feaf add group settings to company transformer: 2019-09-22 20:41:43 +10:00
David Bomba
50d52c5323 Add DateFormats to model 2019-09-22 19:30:03 +10:00
David Bomba
89cc4170d6 Fixes 2019-09-18 22:43:37 +10:00
David Bomba
cbb1ca7660 Working on updating credit card 2019-09-14 22:34:05 +10:00
David Bomba
da0c0080a5 Fixes for login api 2019-09-12 21:46:09 +10:00
David Bomba
e329c24879 Fixes for tests 2019-09-11 12:01:49 +10:00
David Bomba
a840136575 API cleanup 2019-09-11 09:31:55 +10:00
David Bomba
a9bf593708 model changes 2019-08-27 11:21:25 +10:00
David Bomba
dc65ede956 Remove links to multidatabaseuserprovider 2019-08-14 15:40:22 +10:00
David Bomba
3f1fcdda76 Working on client portal 2019-08-12 08:33:17 +10:00
David Bomba
c50fb68b21 Working on dropzone uploads - generic 2019-08-07 13:07:06 +10:00
David Bomba
3829a874aa Add Former dependency 2019-07-29 13:59:28 +10:00
David Bomba
fd9c746c8d Working on datatables 2019-07-25 14:51:00 +10:00
David Bomba
51b0c17c4c Working on client login routes 2019-07-08 10:08:57 +10:00
David Bomba
96f61865d8 Implement logic to throttle emails 2019-05-31 14:01:47 +10:00
David Bomba
32ca69bc52 Working on invitationsg 2019-05-29 21:15:42 +10:00
David Bomba
63f8700db1 bump laravel version to 5.8, include new GCS storage library 2019-04-28 15:11:08 +10:00
David Bomba
572d368da7 disable dusk 2019-04-24 12:34:39 +10:00
David Bomba
86d123ff9a Working on Invitations 2019-04-24 10:22:02 +10:00
David Bomba
8ae8300785 Implement Fractal API output 2019-03-29 08:34:58 +11:00
David Bomba
ebddf93353 Test for API 2019-03-27 15:50:13 +11:00
David Bomba
03ab3ae9fc clean up 2019-03-26 14:15:13 +11:00
David Bomba
9ff835a52e V2 First Push 2019-03-26 14:08:19 +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
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
068ff4107d Remove telescope 2019-01-28 09:54:25 +11:00
David Bomba
b5687c91af Add Telescope 2019-01-28 08:52:19 +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
9204510193
Vue Datatables (#2597)
* Adding Vue components for Charts and Multi Select

* List Views


* Improve UI of datatable

* Refactor Vue Datatable for reusability
2019-01-13 12:42:03 +02: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
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
1ad857bac9
Vue JS Scaffolding (#2493)
* client ui

* Paddin out client detail view

* Padding out clients

* Padding out clients

* show maps

* Padding out clients

* fixes for migrations

* client padding

* Working on different Client UX

* more client ux

* New Client UI

* Vue Scaffolding
2018-11-07 16:22:36 +11:00
David Bomba
db8f962d9b
Remove Laravel Telescope (#2488) 2018-11-03 12:22:43 +11:00
David Bomba
3b0cda1502
Set default company on account creation (#2487)
* Fixes for tests

* fixes for permissions

* Set default company on account creation

* Ensure default company ID is registered in session variables

* Implement a generic resolver to harvest an entity from encoded value

* Laravel Telescope
2018-11-03 12:01:40 +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
David Bomba
dde1cd6cfb
Confirmation Emails, Datatables (#2473)
* Fixes for MakesHash trait

* Client List DataTables

* Data table dependencies

* Confirmation URLs

* Wire up firing events for notification emails
2018-10-29 14:16:17 +11:00
David Bomba
849f6e5439
Fixes for Tests, implement MakeHash trait (#2469)
* Fixes for Feature and browser tests

* Change .env.example variable names, implement hash encoding of db numbers for URIs
2018-10-26 15:53:29 +11:00
David Bomba
dffafc20af
Fixes for travis (#2467)
* fixes for travis
2018-10-25 21:14:09 +11:00
David Bomba
dac1aa88d5
Tests, Multi-DB support for incoming URLs (#2466)
* Tests for authentication

* Add db field to company table (required if we are doing jobs without an auth()->user() )

* Add Laravel Dusk for browser testing, add ability to set DB by incoming URL Hash
2018-10-24 21:24:09 +11:00
David Bomba
64041fb3cb
Refactor signup flow (#2465) 2018-10-24 14:50:15 +11:00
David Bomba
e4f46c2a4e
Presenters, skinned views, model refactoring (#2464)
* Default database connection - set defaults for engine and strict

* Working on tests for refactored model

* Fixes for tests, use polymorphic relationships for Invitations

* skin the password reset pages
2018-10-22 23:04:37 +11:00
David Bomba
50e22ee1d6
Refactor constants, set active db connection in middleware, add socket.io dependencies (#2463) 2018-10-21 09:26:21 +11:00
David Bomba
103a95955a
Sign up (#2460)
* Privacy Policy & TOS

* configure additional dependency packages for redis and modules, middleware implementation for multi-db

* Stub the signup
2018-10-19 14:45:55 +11:00
David Bomba
f745c3f0a6
Working on Social Authentication (#2458)
* Laravel Socialite + Refactor for searching for Users across multiple databases

* Refactor for Unique User Rules, add Middleware for setting active DB connection per request, more tests
2018-10-18 16:04:36 +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
528c99f655
Login UI, Database Seeds, Dashboard layouts (#2450)
* Implement CoreUI Interface

* Core UI Navigation wire frame

* UI - Fix sidebar nav - add Invoice Ninja Logo

* Create layout using CoreUI admin template

* Login UI, Database seeds
2018-10-16 22:42:43 +11:00
David Bomba
4076a00dae
Multi Auth - Multi DB (#2442)
* Multi Auth / Multi DB cleanup

* Fixes for Multi-DB

* Fixes for Multi auth using Multi DB

* Remove register routes from application
2018-10-15 16:00:48 +11:00
David Bomba
19a836b010
Scaffolding Auth (#2438)
Scaffolding Auth
2018-10-12 22:29:34 +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
537b53859f
StyleCI fixes (#2416)
* Env for travis

* Apply fixes from StyleCI (#7)
2018-10-05 21:40:02 +10:00
Hillel Coren
0503887629 Navigation 2018-10-04 22:53:38 +03:00
Hillel Coren
0d1bbfbe7f Master blade 2018-10-04 20:41:22 +03:00
Hillel Coren
f03dd652e6 Initial commit 2018-10-04 20:10:43 +03:00