diff --git a/.deploy/docker/entrypoint.sh b/.deploy/docker/entrypoint.sh
index 1d9b36040d..30ee1c7500 100755
--- a/.deploy/docker/entrypoint.sh
+++ b/.deploy/docker/entrypoint.sh
@@ -72,7 +72,7 @@ php artisan firefly-iii:back-to-journals
php artisan firefly-iii:rename-account-meta
php artisan firefly-iii:migrate-recurrence-meta
-# there are 14 verify commands
+# there are 15 verify commands
php artisan firefly-iii:fix-piggies
php artisan firefly-iii:create-link-types
php artisan firefly-iii:create-access-tokens
@@ -87,10 +87,12 @@ php artisan firefly-iii:delete-empty-groups
php artisan firefly-iii:fix-account-types
php artisan firefly-iii:rename-meta-fields
php artisan firefly-iii:fix-ob-currencies
+php artisan firefly-iii:fix-long-descriptions
# report commands
php artisan firefly-iii:report-empty-objects
php artisan firefly-iii:report-sum
+php artisan firefly-iii:restore-oauth-keys
php artisan passport:install
php artisan cache:clear
diff --git a/.env.example b/.env.example
index 9899c5cd31..b4669a480d 100644
--- a/.env.example
+++ b/.env.example
@@ -88,6 +88,8 @@ MAIL_ENCRYPTION=null
# Other mail drivers:
MAILGUN_DOMAIN=
MAILGUN_SECRET=
+# If you are on EU region in mailgun, use api.eu.mailgun.net, otherwise use api.mailgun.net
+MAILGUN_ENDPOINT=api.mailgun.net
MANDRILL_SECRET=
SPARKPOST_SECRET=
diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md
index bcb83cccdc..62adab85d7 100644
--- a/.github/ISSUE_TEMPLATE/Bug_report.md
+++ b/.github/ISSUE_TEMPLATE/Bug_report.md
@@ -12,9 +12,6 @@ I am running Firefly III version x.x.x, and my problem is:
**Steps to reproduce**
-**Expected behavior**
-
-
**Extra info**
@@ -23,5 +20,4 @@ I am running Firefly III version x.x.x, and my problem is:
- Post a stacktrace from your log files
- Add a screenshot
-- Remember the human
-->
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/Custom.md b/.github/ISSUE_TEMPLATE/Custom.md
index 5572cc788e..bb31ec7299 100644
--- a/.github/ISSUE_TEMPLATE/Custom.md
+++ b/.github/ISSUE_TEMPLATE/Custom.md
@@ -12,8 +12,6 @@ I am running Firefly III version x.x.x
**Extra info**
-
-
**Bonus points**
\ No newline at end of file
diff --git a/.sandstorm/changelog.md b/.sandstorm/changelog.md
index a660ec81bf..56442140dc 100644
--- a/.sandstorm/changelog.md
+++ b/.sandstorm/changelog.md
@@ -1,3 +1,61 @@
+# 4.8.1.2
+
+Firefly III v4.8.1.2 and onwards are licensed under the GNU Affero General
+Public License. This will not meaningfully change Firefly III. This
+particular license has some extra provisions that protect web-applications
+such as this one. You can read the full license on the website of GNU.
+
+https://www.gnu.org/licenses/agpl-3.0.html
+
+### Added
+- [Issue 2589](https://github.com/firefly-iii/firefly-iii/issues/2589) Can now search using `created_on:2019-10-22` and `updated_on:2019-10-22`.
+- [Issue 2494](https://github.com/firefly-iii/firefly-iii/issues/2494) Add account balance to the dropdown.
+- [Issue 2603](https://github.com/firefly-iii/firefly-iii/issues/2603) New keywords for reports.
+- [Issue 2618](https://github.com/firefly-iii/firefly-iii/issues/2618) Page navigation in the footer of transaction lists.
+- Option in your profile to delete meta-data from your administration.
+- Add average to some reports.
+
+### Changed
+- [Issue 2593](https://github.com/firefly-iii/firefly-iii/issues/2593) The budget overview is now fully multi-currency.
+- [Issue 2613](https://github.com/firefly-iii/firefly-iii/issues/2613) Improved Mailgun configuration options.
+- [Issue 2510](https://github.com/firefly-iii/firefly-iii/issues/2510) Maximum transaction description length is 1000 now.
+- [Issue 2616](https://github.com/firefly-iii/firefly-iii/issues/2616) Docker instances should remember their OAuth tokens and keys better (even after a restart)
+- [Issue 2675](https://github.com/firefly-iii/firefly-iii/issues/2675) Some spelling in the English is fixed.
+
+### Removed
+- [Issue 2677](https://github.com/firefly-iii/firefly-iii/issues/2677) Superfluous help popup.
+
+### Fixed
+- [Issue 2572](https://github.com/firefly-iii/firefly-iii/issues/2572) Sometimes users would get 404's after deleting stuff.
+- [Issue 2587](https://github.com/firefly-iii/firefly-iii/issues/2587) Users would be redirected to JSON endpoints.
+- [Issue 2596](https://github.com/firefly-iii/firefly-iii/issues/2596) Could not remove the last tag from a transaction.
+- [Issue 2598](https://github.com/firefly-iii/firefly-iii/issues/2598) Fix an issue where foreign amounts were displayed incorrectly.
+- [Issue 2599](https://github.com/firefly-iii/firefly-iii/issues/2599) Could add negative amounts to piggy banks and game the system.
+- [Issue 2560](https://github.com/firefly-iii/firefly-iii/issues/2560) Search supports møre chäracters.
+- [Issue 2626](https://github.com/firefly-iii/firefly-iii/issues/2626) Budgets would display amounts with too many decimals.
+- [Issue 2629](https://github.com/firefly-iii/firefly-iii/issues/2629) [issue 2639](https://github.com/firefly-iii/firefly-iii/issues/2639) [issue 2640](https://github.com/firefly-iii/firefly-iii/issues/2640) [issue 2643](https://github.com/firefly-iii/firefly-iii/issues/2643) Line-breaks were not properly rendered in markdown.
+- [Issue 2623](https://github.com/firefly-iii/firefly-iii/issues/2623) Budget spent line would make the start of the month twice.
+- [Issue 2624](https://github.com/firefly-iii/firefly-iii/issues/2624) Editing a budget would redirect you to the wrong page.
+- [Issue 2633](https://github.com/firefly-iii/firefly-iii/issues/2633) New transaction form sorts budgets wrong.
+- [Issue 2567](https://github.com/firefly-iii/firefly-iii/issues/2567) Could not unlink bills.
+- [Issue 2647](https://github.com/firefly-iii/firefly-iii/issues/2647) Date issue in category overview
+- [Issue 2657](https://github.com/firefly-iii/firefly-iii/issues/2657) Possible fix for issue with transaction overview.
+- [Issue 2658](https://github.com/firefly-iii/firefly-iii/issues/2658) Fixed overview of recurring transactions.
+- [Issue 2480](https://github.com/firefly-iii/firefly-iii/issues/2480) SQLite can't handle a lot of variables so big update queries are now executed in chunks.
+- [Issue 2683](https://github.com/firefly-iii/firefly-iii/issues/2683) Link to the wrong transaction.
+
+
+### Security
+- [Issue 2687](https://github.com/firefly-iii/firefly-iii/issues/2687) Budget overview shows budget limit totals for all users, not just the logged-in user.
+
+### API
+- [Issue 2609](https://github.com/firefly-iii/firefly-iii/issues/2609) Summary endpoint would not always give the correct results.
+- [Issue 2638](https://github.com/firefly-iii/firefly-iii/issues/2638) Link to correct journal in API.
+- [Issue 2606](https://github.com/firefly-iii/firefly-iii/issues/2606) Budget endpoint gave error.
+- [Issue 2637](https://github.com/firefly-iii/firefly-iii/issues/2637) Transaction / piggy bank event endpoint now returns results.
+- An undocumented end point that allows you to search for accounts. Still a bit experimental.
+ Use: /api/v1/search/accounts?query=something&field=all (all,iban,id,number)
+
# 4.8.1.1
- Add some sensible maximum amounts to form inputs.
diff --git a/.sandstorm/sandstorm-pkgdef.capnp b/.sandstorm/sandstorm-pkgdef.capnp
index 6b31e870e6..09f678f7df 100644
--- a/.sandstorm/sandstorm-pkgdef.capnp
+++ b/.sandstorm/sandstorm-pkgdef.capnp
@@ -15,8 +15,8 @@ const pkgdef :Spk.PackageDefinition = (
manifest = (
appTitle = (defaultText = "Firefly III"),
- appVersion = 37,
- appMarketingVersion = (defaultText = "4.8.1.1"),
+ appVersion = 38,
+ appMarketingVersion = (defaultText = "4.8.1.2"),
actions = [
# Define your "new document" handlers here.
diff --git a/.travis.yml b/.travis.yml
index b823349b37..1d99a0367e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,7 @@
sudo: required
language: bash
env:
- - VERSION=4.8.1.1
+ - VERSION=4.8.1.2
dist: xenial
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000000..be3f7b28e5
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,661 @@
+ GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+ A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+ The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+ An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU Affero General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Remote Network Interaction; Use with the GNU General Public License.
+
+ Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software. This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU Affero General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU Affero General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU Affero General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU Affero General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU AGPL, see
+.
diff --git a/LICENSE b/LICENSE
index e72bfddabc..be3f7b28e5 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,5 +1,5 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
+ GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
@@ -7,17 +7,15 @@
Preamble
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
+ The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
+our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
+software for all its users.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
@@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
+ Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
+ A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
+ The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
+ An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
The precise terms and conditions for copying, distribution and
modification follow.
@@ -72,7 +60,7 @@ modification follow.
0. Definitions.
- "This License" refers to version 3 of the GNU General Public License.
+ "This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
@@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
- 13. Use with the GNU Affero General Public License.
+ 13. Remote Network Interaction; Use with the GNU General Public License.
+
+ Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software. This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
+under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
+the GNU Affero General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
+Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
+GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
+versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
@@ -635,40 +633,29 @@ the "copyright" line and a pointer to where the full notice is found.
Copyright (C)
This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
+ it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU Affero General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
Also add information on how to contact you by electronic and paper mail.
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
+ If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
+For more information on this, and how to apply and follow the GNU AGPL, see
.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
\ No newline at end of file
diff --git a/app/Api/V1/Controllers/AboutController.php b/app/Api/V1/Controllers/AboutController.php
index 8fafcef51a..e1d14e59c4 100644
--- a/app/Api/V1/Controllers/AboutController.php
+++ b/app/Api/V1/Controllers/AboutController.php
@@ -2,22 +2,22 @@
/**
* AboutController.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/AccountController.php b/app/Api/V1/Controllers/AccountController.php
index 2e498e8ee5..dc4cd15878 100644
--- a/app/Api/V1/Controllers/AccountController.php
+++ b/app/Api/V1/Controllers/AccountController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/AttachmentController.php b/app/Api/V1/Controllers/AttachmentController.php
index 72237b24c0..2ed473c8c1 100644
--- a/app/Api/V1/Controllers/AttachmentController.php
+++ b/app/Api/V1/Controllers/AttachmentController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/AvailableBudgetController.php b/app/Api/V1/Controllers/AvailableBudgetController.php
index cb0b9357a8..c39588c3f4 100644
--- a/app/Api/V1/Controllers/AvailableBudgetController.php
+++ b/app/Api/V1/Controllers/AvailableBudgetController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/BillController.php b/app/Api/V1/Controllers/BillController.php
index 7398e86c16..0dd134b670 100644
--- a/app/Api/V1/Controllers/BillController.php
+++ b/app/Api/V1/Controllers/BillController.php
@@ -2,22 +2,22 @@
/**
* BillController.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/BudgetController.php b/app/Api/V1/Controllers/BudgetController.php
index 11bcbb3afd..4397dc34b6 100644
--- a/app/Api/V1/Controllers/BudgetController.php
+++ b/app/Api/V1/Controllers/BudgetController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/BudgetLimitController.php b/app/Api/V1/Controllers/BudgetLimitController.php
index 763d441cd1..73f9e7d915 100644
--- a/app/Api/V1/Controllers/BudgetLimitController.php
+++ b/app/Api/V1/Controllers/BudgetLimitController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/CategoryController.php b/app/Api/V1/Controllers/CategoryController.php
index 781296b471..a992314676 100644
--- a/app/Api/V1/Controllers/CategoryController.php
+++ b/app/Api/V1/Controllers/CategoryController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/Chart/AccountController.php b/app/Api/V1/Controllers/Chart/AccountController.php
index 06b1e20563..e5ebd94aed 100644
--- a/app/Api/V1/Controllers/Chart/AccountController.php
+++ b/app/Api/V1/Controllers/Chart/AccountController.php
@@ -4,20 +4,20 @@
* AccountController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/Chart/AvailableBudgetController.php b/app/Api/V1/Controllers/Chart/AvailableBudgetController.php
index fd736399fe..7d2f49ae8f 100644
--- a/app/Api/V1/Controllers/Chart/AvailableBudgetController.php
+++ b/app/Api/V1/Controllers/Chart/AvailableBudgetController.php
@@ -4,20 +4,20 @@
* AvailableBudgetController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/Chart/CategoryController.php b/app/Api/V1/Controllers/Chart/CategoryController.php
index 20c6d3ada4..d8105d27a0 100644
--- a/app/Api/V1/Controllers/Chart/CategoryController.php
+++ b/app/Api/V1/Controllers/Chart/CategoryController.php
@@ -4,20 +4,20 @@
* CategoryController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/ConfigurationController.php b/app/Api/V1/Controllers/ConfigurationController.php
index ab80d04ba9..0a58218c64 100644
--- a/app/Api/V1/Controllers/ConfigurationController.php
+++ b/app/Api/V1/Controllers/ConfigurationController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/Controller.php b/app/Api/V1/Controllers/Controller.php
index 82ae2c214d..2fa47fb75f 100644
--- a/app/Api/V1/Controllers/Controller.php
+++ b/app/Api/V1/Controllers/Controller.php
@@ -2,22 +2,22 @@
/**
* Controller.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/CurrencyController.php b/app/Api/V1/Controllers/CurrencyController.php
index 9d4f94e8f6..fce426ff0d 100644
--- a/app/Api/V1/Controllers/CurrencyController.php
+++ b/app/Api/V1/Controllers/CurrencyController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/CurrencyExchangeRateController.php b/app/Api/V1/Controllers/CurrencyExchangeRateController.php
index 7ea8ee6230..53886a9158 100644
--- a/app/Api/V1/Controllers/CurrencyExchangeRateController.php
+++ b/app/Api/V1/Controllers/CurrencyExchangeRateController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/ImportController.php b/app/Api/V1/Controllers/ImportController.php
index b60e0c0d80..8c6a3daad8 100644
--- a/app/Api/V1/Controllers/ImportController.php
+++ b/app/Api/V1/Controllers/ImportController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/LinkTypeController.php b/app/Api/V1/Controllers/LinkTypeController.php
index b0252b6693..9db6f52c03 100644
--- a/app/Api/V1/Controllers/LinkTypeController.php
+++ b/app/Api/V1/Controllers/LinkTypeController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/PiggyBankController.php b/app/Api/V1/Controllers/PiggyBankController.php
index 474cb5db38..c1f44d0b4e 100644
--- a/app/Api/V1/Controllers/PiggyBankController.php
+++ b/app/Api/V1/Controllers/PiggyBankController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/PreferenceController.php b/app/Api/V1/Controllers/PreferenceController.php
index fa10f4d1aa..0a2edb19c8 100644
--- a/app/Api/V1/Controllers/PreferenceController.php
+++ b/app/Api/V1/Controllers/PreferenceController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/RecurrenceController.php b/app/Api/V1/Controllers/RecurrenceController.php
index aa6a123e3b..8ed2d10c36 100644
--- a/app/Api/V1/Controllers/RecurrenceController.php
+++ b/app/Api/V1/Controllers/RecurrenceController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/RuleController.php b/app/Api/V1/Controllers/RuleController.php
index b3a435680e..1181ba9aa6 100644
--- a/app/Api/V1/Controllers/RuleController.php
+++ b/app/Api/V1/Controllers/RuleController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/RuleGroupController.php b/app/Api/V1/Controllers/RuleGroupController.php
index 59e5a699e8..120e24b9ac 100644
--- a/app/Api/V1/Controllers/RuleGroupController.php
+++ b/app/Api/V1/Controllers/RuleGroupController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/Search/AccountController.php b/app/Api/V1/Controllers/Search/AccountController.php
new file mode 100644
index 0000000000..4ab07cb6e5
--- /dev/null
+++ b/app/Api/V1/Controllers/Search/AccountController.php
@@ -0,0 +1,94 @@
+.
+ */
+
+namespace FireflyIII\Api\V1\Controllers\Search;
+
+
+use FireflyIII\Api\V1\Controllers\Controller;
+use FireflyIII\Support\Http\Api\AccountFilter;
+use FireflyIII\Support\Search\AccountSearch;
+use FireflyIII\Transformers\AccountTransformer;
+use Illuminate\Http\JsonResponse;
+use Illuminate\Http\Request;
+use Illuminate\Http\Response;
+use Illuminate\Pagination\LengthAwarePaginator;
+use League\Fractal\Pagination\IlluminatePaginatorAdapter;
+use League\Fractal\Resource\Collection as FractalCollection;
+
+/**
+ * Class AccountController
+ */
+class AccountController extends Controller
+{
+ use AccountFilter;
+
+ /** @var array */
+ private $validFields;
+
+ public function __construct()
+ {
+ parent::__construct();
+ $this->validFields = [
+ AccountSearch::SEARCH_ALL,
+ AccountSearch::SEARCH_ID,
+ AccountSearch::SEARCH_NAME,
+ AccountSearch::SEARCH_IBAN,
+ AccountSearch::SEARCH_NUMBER,
+ ];
+ }
+
+ /**
+ * @param Request $request
+ *
+ * @return JsonResponse|Response
+ */
+ public function search(Request $request)
+ {
+ $manager = $this->getManager();
+ $query = $request->get('query');
+ $field = $request->get('field');
+ $type = $request->get('type') ?? 'all';
+ if ('' === $query || !in_array($field, $this->validFields, true)) {
+ return response(null, 422);
+ }
+ $types = $this->mapAccountTypes($type);
+ /** @var AccountSearch $search */
+ $search = app(AccountSearch::class);
+ $search->setUser(auth()->user());
+ $search->setTypes($types);
+ $search->setField($field);
+ $search->setQuery($query);
+
+ $accounts = $search->search();
+
+ /** @var AccountTransformer $transformer */
+ $transformer = app(AccountTransformer::class);
+ $transformer->setParameters($this->parameters);
+ $count = $accounts->count();
+ $paginator = new LengthAwarePaginator($accounts, $count, $count, 1);
+
+ $resource = new FractalCollection($accounts, $transformer, 'accounts');
+ $resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
+
+ return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
+ }
+
+}
\ No newline at end of file
diff --git a/app/Api/V1/Controllers/Search/TransactionController.php b/app/Api/V1/Controllers/Search/TransactionController.php
new file mode 100644
index 0000000000..af53885e7a
--- /dev/null
+++ b/app/Api/V1/Controllers/Search/TransactionController.php
@@ -0,0 +1,69 @@
+.
+ */
+
+namespace FireflyIII\Api\V1\Controllers\Search;
+
+
+use FireflyIII\Api\V1\Controllers\Controller;
+use FireflyIII\Support\Search\SearchInterface;
+use FireflyIII\Support\Search\TransactionSearch;
+use Illuminate\Http\JsonResponse;
+use Illuminate\Http\Request;
+use Illuminate\Http\Response;
+
+/**
+ * Class TransactionController
+ */
+class TransactionController extends Controller
+{
+ /** @var string */
+ const SEARCH_ALL = 'all';
+ /** @var string */
+ const SEARCH_DESCRIPTION = 'description';
+ /** @var string */
+ const SEARCH_NOTES = 'notes';
+ /** @var string */
+ const SEARCH_ACCOUNTS = 'accounts';
+ /** @var array */
+ private $validFields;
+
+ public function __construct()
+ {
+ parent::__construct();
+ $this->validFields = [
+ self::SEARCH_ALL,
+ self::SEARCH_DESCRIPTION,
+ self::SEARCH_NOTES,
+ self::SEARCH_ACCOUNTS,
+ ];
+ }
+
+ /**
+ * @param Request $request
+ *
+ * @return JsonResponse|Response
+ */
+ public function search(Request $request)
+ {
+ die('the route is present but nobody\'s home.');
+ }
+
+}
\ No newline at end of file
diff --git a/app/Api/V1/Controllers/SummaryController.php b/app/Api/V1/Controllers/SummaryController.php
index 1b70c9c53f..d12c64db64 100644
--- a/app/Api/V1/Controllers/SummaryController.php
+++ b/app/Api/V1/Controllers/SummaryController.php
@@ -4,20 +4,20 @@
* SummaryController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -349,13 +349,12 @@ class SummaryController extends Controller
$today = new Carbon;
$available = $this->abRepository->getAvailableBudgetWithCurrency($start, $end);
$budgets = $this->budgetRepository->getActiveBudgets();
- $spentInfo = $this->opsRepository->spentInPeriodMc($budgets, new Collection, $start, $end);
- foreach ($available as $currencyId => $amount) {
- $currency = $this->currencyRepos->findNull($currencyId);
- if (null === $currency) {
- continue;
- }
- $spentInCurrency = (string)$this->findInSpentArray($spentInfo, $currency);
+ $spent = $this->opsRepository->sumExpenses($start, $end, null, $budgets);
+
+ foreach ($spent as $row) {
+ // either an amount was budgeted or 0 is available.
+ $amount = $available[$row['currency_id']] ?? '0';
+ $spentInCurrency = $row['sum'];
$leftToSpend = bcadd($amount, $spentInCurrency);
$days = $today->diffInDays($end) + 1;
@@ -365,19 +364,23 @@ class SummaryController extends Controller
}
$return[] = [
- 'key' => sprintf('left-to-spend-in-%s', $currency->code),
- 'title' => trans('firefly.box_left_to_spend_in_currency', ['currency' => $currency->symbol]),
- 'monetary_value' => round($leftToSpend, $currency->decimal_places),
- 'currency_id' => $currency->id,
- 'currency_code' => $currency->code,
- 'currency_symbol' => $currency->symbol,
- 'currency_decimal_places' => $currency->decimal_places,
- 'value_parsed' => app('amount')->formatAnything($currency, $leftToSpend, false),
+ 'key' => sprintf('left-to-spend-in-%s', $row['currency_code']),
+ 'title' => trans('firefly.box_left_to_spend_in_currency', ['currency' => $row['currency_symbol']]),
+ 'monetary_value' => round($leftToSpend, $row['currency_decimal_places']),
+ 'currency_id' => $row['currency_id'],
+ 'currency_code' => $row['currency_code'],
+ 'currency_symbol' => $row['currency_symbol'],
+ 'currency_decimal_places' => $row['currency_decimal_places'],
+ 'value_parsed' => app('amount')->formatFlat($row['currency_symbol'], $row['currency_decimal_places'], $leftToSpend, false),
'local_icon' => 'money',
- 'sub_title' => (string)trans('firefly.box_spend_per_day', ['amount' => app('amount')->formatAnything($currency, $perDay, false)]),
+ 'sub_title' => (string)trans(
+ 'firefly.box_spend_per_day', ['amount' => app('amount')->formatFlat(
+ $row['currency_symbol'], $row['currency_decimal_places'], $perDay, false
+ )]
+ ),
];
- }
+ }
return $return;
}
diff --git a/app/Api/V1/Controllers/TagController.php b/app/Api/V1/Controllers/TagController.php
index 37547285d3..ecbc99c026 100644
--- a/app/Api/V1/Controllers/TagController.php
+++ b/app/Api/V1/Controllers/TagController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/TransactionController.php b/app/Api/V1/Controllers/TransactionController.php
index 28ae3369fe..c433c6e410 100644
--- a/app/Api/V1/Controllers/TransactionController.php
+++ b/app/Api/V1/Controllers/TransactionController.php
@@ -2,22 +2,22 @@
/**
* TransactionController.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -41,6 +41,7 @@ use FireflyIII\Transformers\TransactionGroupTransformer;
use FireflyIII\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
+use Illuminate\Support\Collection;
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
use League\Fractal\Resource\Collection as FractalCollection;
use League\Fractal\Resource\Item;
@@ -87,15 +88,18 @@ class TransactionController extends Controller
}
/**
- * @param TransactionJournal $transactionJournal
+ * @param TransactionGroup $transactionGroup
*
* @return JsonResponse
* @codeCoverageIgnore
*/
- public function attachments(TransactionJournal $transactionJournal): JsonResponse
+ public function attachments(TransactionGroup $transactionGroup): JsonResponse
{
$manager = $this->getManager();
- $attachments = $this->journalAPIRepository->getAttachments($transactionJournal);
+ $attachments = new Collection;
+ foreach ($transactionGroup->transactionJournals as $transactionJournal) {
+ $attachments = $this->journalAPIRepository->getAttachments($transactionJournal)->merge($attachments);
+ }
/** @var AttachmentTransformer $transformer */
$transformer = app(AttachmentTransformer::class);
@@ -189,15 +193,18 @@ class TransactionController extends Controller
}
/**
- * @param TransactionJournal $transactionJournal
+ * @param TransactionGroup $transactionGroup
*
* @return JsonResponse
* @codeCoverageIgnore
*/
- public function piggyBankEvents(TransactionJournal $transactionJournal): JsonResponse
+ public function piggyBankEvents(TransactionGroup $transactionGroup): JsonResponse
{
$manager = $this->getManager();
- $events = $this->journalAPIRepository->getPiggyBankEvents($transactionJournal);
+ $events = new Collection;
+ foreach ($transactionGroup->transactionJournals as $transactionJournal) {
+ $events = $this->journalAPIRepository->getPiggyBankEvents($transactionJournal)->merge($events);
+ }
/** @var PiggyBankEventTransformer $transformer */
$transformer = app(PiggyBankEventTransformer::class);
diff --git a/app/Api/V1/Controllers/TransactionLinkController.php b/app/Api/V1/Controllers/TransactionLinkController.php
index 2304e283bc..dbc84a8af3 100644
--- a/app/Api/V1/Controllers/TransactionLinkController.php
+++ b/app/Api/V1/Controllers/TransactionLinkController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Controllers/UserController.php b/app/Api/V1/Controllers/UserController.php
index 6b0819a38d..605ce631b8 100644
--- a/app/Api/V1/Controllers/UserController.php
+++ b/app/Api/V1/Controllers/UserController.php
@@ -2,22 +2,22 @@
/**
* UserController.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/AccountStoreRequest.php b/app/Api/V1/Requests/AccountStoreRequest.php
index c9941aa564..f43798ed96 100644
--- a/app/Api/V1/Requests/AccountStoreRequest.php
+++ b/app/Api/V1/Requests/AccountStoreRequest.php
@@ -4,20 +4,20 @@
* AccountStoreRequest.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/AccountUpdateRequest.php b/app/Api/V1/Requests/AccountUpdateRequest.php
index 36e974b77c..f62f057b11 100644
--- a/app/Api/V1/Requests/AccountUpdateRequest.php
+++ b/app/Api/V1/Requests/AccountUpdateRequest.php
@@ -2,22 +2,22 @@
/**
* AccountUpdateRequest.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -76,7 +76,7 @@ class AccountUpdateRequest extends Request
'opening_balance_date' => $this->date('opening_balance_date'),
'cc_type' => $this->nullableString('credit_card_type'),
'cc_Monthly_payment_date' => $this->nullableString('monthly_payment_date'),
- 'notes' => $this->nullableString('notes'),
+ 'notes' => $this->nullableNlString('notes'),
'interest' => $this->nullableString('interest'),
'interest_period' => $this->nullableString('interest_period'),
];
diff --git a/app/Api/V1/Requests/AttachmentStoreRequest.php b/app/Api/V1/Requests/AttachmentStoreRequest.php
index 63047134f2..b306c86492 100644
--- a/app/Api/V1/Requests/AttachmentStoreRequest.php
+++ b/app/Api/V1/Requests/AttachmentStoreRequest.php
@@ -3,20 +3,20 @@
* AttachmentStoreRequest.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -56,7 +56,7 @@ class AttachmentStoreRequest extends Request
return [
'filename' => $this->string('filename'),
'title' => $this->string('title'),
- 'notes' => $this->string('notes'),
+ 'notes' => $this->nlString('notes'),
'model' => $this->string('model'),
'model_id' => $this->integer('model_id'),
];
diff --git a/app/Api/V1/Requests/AttachmentUpdateRequest.php b/app/Api/V1/Requests/AttachmentUpdateRequest.php
index 0bc823b402..63d5a1d359 100644
--- a/app/Api/V1/Requests/AttachmentUpdateRequest.php
+++ b/app/Api/V1/Requests/AttachmentUpdateRequest.php
@@ -3,20 +3,20 @@
* AttachmentUpdateRequest.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -51,7 +51,7 @@ class AttachmentUpdateRequest extends Request
return [
'filename' => $this->string('filename'),
'title' => $this->string('title'),
- 'notes' => $this->string('notes'),
+ 'notes' => $this->nlString('notes'),
'model' => $this->string('model'),
'model_id' => $this->integer('model_id'),
];
diff --git a/app/Api/V1/Requests/AvailableBudgetRequest.php b/app/Api/V1/Requests/AvailableBudgetRequest.php
index d8de313bc0..2a3e6ec204 100644
--- a/app/Api/V1/Requests/AvailableBudgetRequest.php
+++ b/app/Api/V1/Requests/AvailableBudgetRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/BillRequest.php b/app/Api/V1/Requests/BillRequest.php
index dba2b93e7b..2352954d76 100644
--- a/app/Api/V1/Requests/BillRequest.php
+++ b/app/Api/V1/Requests/BillRequest.php
@@ -2,22 +2,22 @@
/**
* BillRequest.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -70,7 +70,7 @@ class BillRequest extends Request
'repeat_freq' => $this->string('repeat_freq'),
'skip' => $this->integer('skip'),
'active' => $active,
- 'notes' => $this->string('notes'),
+ 'notes' => $this->nlString('notes'),
];
return $data;
diff --git a/app/Api/V1/Requests/BudgetLimitRequest.php b/app/Api/V1/Requests/BudgetLimitRequest.php
index d439d83d8d..1364483c81 100644
--- a/app/Api/V1/Requests/BudgetLimitRequest.php
+++ b/app/Api/V1/Requests/BudgetLimitRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/BudgetRequest.php b/app/Api/V1/Requests/BudgetRequest.php
index 7fcd6f8149..7c83a8ecb8 100644
--- a/app/Api/V1/Requests/BudgetRequest.php
+++ b/app/Api/V1/Requests/BudgetRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/CategoryRequest.php b/app/Api/V1/Requests/CategoryRequest.php
index 73357e2ce0..7f71a4cabd 100644
--- a/app/Api/V1/Requests/CategoryRequest.php
+++ b/app/Api/V1/Requests/CategoryRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/ConfigurationRequest.php b/app/Api/V1/Requests/ConfigurationRequest.php
index f7f020a334..394a6540ac 100644
--- a/app/Api/V1/Requests/ConfigurationRequest.php
+++ b/app/Api/V1/Requests/ConfigurationRequest.php
@@ -2,22 +2,22 @@
/**
* ConfigurationRequest.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/CurrencyRequest.php b/app/Api/V1/Requests/CurrencyRequest.php
index 90118bd5ef..0646b59edf 100644
--- a/app/Api/V1/Requests/CurrencyRequest.php
+++ b/app/Api/V1/Requests/CurrencyRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/DateRequest.php b/app/Api/V1/Requests/DateRequest.php
index c2704d9dda..830d78a34d 100644
--- a/app/Api/V1/Requests/DateRequest.php
+++ b/app/Api/V1/Requests/DateRequest.php
@@ -4,20 +4,20 @@
* DateRequest.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/LinkTypeRequest.php b/app/Api/V1/Requests/LinkTypeRequest.php
index 319afada06..e64674318d 100644
--- a/app/Api/V1/Requests/LinkTypeRequest.php
+++ b/app/Api/V1/Requests/LinkTypeRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/PiggyBankRequest.php b/app/Api/V1/Requests/PiggyBankRequest.php
index 7fad9502e8..6fa41f44d4 100644
--- a/app/Api/V1/Requests/PiggyBankRequest.php
+++ b/app/Api/V1/Requests/PiggyBankRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -62,7 +62,7 @@ class PiggyBankRequest extends Request
'current_amount' => $this->string('current_amount'),
'startdate' => $this->date('start_date'),
'targetdate' => $this->date('target_date'),
- 'notes' => $this->string('notes'),
+ 'notes' => $this->nlString('notes'),
];
}
diff --git a/app/Api/V1/Requests/PreferenceRequest.php b/app/Api/V1/Requests/PreferenceRequest.php
index 2a3e1c3acc..298e43ec8a 100644
--- a/app/Api/V1/Requests/PreferenceRequest.php
+++ b/app/Api/V1/Requests/PreferenceRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/RecurrenceStoreRequest.php b/app/Api/V1/Requests/RecurrenceStoreRequest.php
index 57cb6b73c5..027e479206 100644
--- a/app/Api/V1/Requests/RecurrenceStoreRequest.php
+++ b/app/Api/V1/Requests/RecurrenceStoreRequest.php
@@ -3,20 +3,20 @@
* RecurrenceStoreRequest.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/RecurrenceUpdateRequest.php b/app/Api/V1/Requests/RecurrenceUpdateRequest.php
index dbf71745b9..7a20d89462 100644
--- a/app/Api/V1/Requests/RecurrenceUpdateRequest.php
+++ b/app/Api/V1/Requests/RecurrenceUpdateRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -69,7 +69,7 @@ class RecurrenceUpdateRequest extends Request
'title' => $this->nullableString('title'),
'description' => $this->nullableString('description'),
'first_date' => $this->date('first_date'),
- 'notes' => $this->nullableString('notes'),
+ 'notes' => $this->nullableNlString('notes'),
'repeat_until' => $this->date('repeat_until'),
'nr_of_repetitions' => $this->nullableInteger('nr_of_repetitions'),
'apply_rules' => $applyRules,
diff --git a/app/Api/V1/Requests/Request.php b/app/Api/V1/Requests/Request.php
index 45e85a5553..76beaf4e3c 100644
--- a/app/Api/V1/Requests/Request.php
+++ b/app/Api/V1/Requests/Request.php
@@ -2,22 +2,22 @@
/**
* Request.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -65,7 +65,7 @@ class Request extends FireflyIIIRequest
'opening_balance_date' => $this->date('opening_balance_date'),
'cc_type' => $this->string('credit_card_type'),
'cc_Monthly_payment_date' => $this->string('monthly_payment_date'),
- 'notes' => $this->string('notes'),
+ 'notes' => $this->nlString('notes'),
'interest' => $this->string('interest'),
'interest_period' => $this->string('interest_period'),
];
diff --git a/app/Api/V1/Requests/RuleGroupRequest.php b/app/Api/V1/Requests/RuleGroupRequest.php
index e2e06938c6..a6b8894649 100644
--- a/app/Api/V1/Requests/RuleGroupRequest.php
+++ b/app/Api/V1/Requests/RuleGroupRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/RuleGroupTestRequest.php b/app/Api/V1/Requests/RuleGroupTestRequest.php
index 31996d87de..0952ca8dd4 100644
--- a/app/Api/V1/Requests/RuleGroupTestRequest.php
+++ b/app/Api/V1/Requests/RuleGroupTestRequest.php
@@ -4,20 +4,20 @@
* RuleGroupTestRequest.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/RuleGroupTriggerRequest.php b/app/Api/V1/Requests/RuleGroupTriggerRequest.php
index eaa0ae8f65..01042a8ac6 100644
--- a/app/Api/V1/Requests/RuleGroupTriggerRequest.php
+++ b/app/Api/V1/Requests/RuleGroupTriggerRequest.php
@@ -4,20 +4,20 @@
* RuleGroupTriggerRequest.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/RuleStoreRequest.php b/app/Api/V1/Requests/RuleStoreRequest.php
index 2f4f48ec53..6e116747a5 100644
--- a/app/Api/V1/Requests/RuleStoreRequest.php
+++ b/app/Api/V1/Requests/RuleStoreRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/RuleTestRequest.php b/app/Api/V1/Requests/RuleTestRequest.php
index e7853b73cd..02ec80bb34 100644
--- a/app/Api/V1/Requests/RuleTestRequest.php
+++ b/app/Api/V1/Requests/RuleTestRequest.php
@@ -4,20 +4,20 @@
* RuleTestRequest.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/RuleTriggerRequest.php b/app/Api/V1/Requests/RuleTriggerRequest.php
index bd5977ca95..56f69b253e 100644
--- a/app/Api/V1/Requests/RuleTriggerRequest.php
+++ b/app/Api/V1/Requests/RuleTriggerRequest.php
@@ -4,20 +4,20 @@
* RuleTriggerRequest.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/RuleUpdateRequest.php b/app/Api/V1/Requests/RuleUpdateRequest.php
index cf7eba631b..b7ad9c8000 100644
--- a/app/Api/V1/Requests/RuleUpdateRequest.php
+++ b/app/Api/V1/Requests/RuleUpdateRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/TagRequest.php b/app/Api/V1/Requests/TagRequest.php
index 971f7e7125..075e884b62 100644
--- a/app/Api/V1/Requests/TagRequest.php
+++ b/app/Api/V1/Requests/TagRequest.php
@@ -2,22 +2,22 @@
/**
* TagRequest.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/TransactionLinkRequest.php b/app/Api/V1/Requests/TransactionLinkRequest.php
index a5d37e70ea..da2139d547 100644
--- a/app/Api/V1/Requests/TransactionLinkRequest.php
+++ b/app/Api/V1/Requests/TransactionLinkRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -57,7 +57,7 @@ class TransactionLinkRequest extends Request
'link_type_name' => $this->string('link_type_name'),
'inward_id' => $this->integer('inward_id'),
'outward_id' => $this->integer('outward_id'),
- 'notes' => $this->string('notes'),
+ 'notes' => $this->nlString('notes'),
];
}
diff --git a/app/Api/V1/Requests/TransactionStoreRequest.php b/app/Api/V1/Requests/TransactionStoreRequest.php
index b265e4114b..f64b7da36a 100644
--- a/app/Api/V1/Requests/TransactionStoreRequest.php
+++ b/app/Api/V1/Requests/TransactionStoreRequest.php
@@ -2,22 +2,22 @@
/**
* TransactionStoreRequest.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -74,7 +74,7 @@ class TransactionStoreRequest extends Request
{
$rules = [
// basic fields for group:
- 'group_title' => 'between:1,255',
+ 'group_title' => 'between:1,1000',
// transaction rules (in array for splits):
'transactions.*.type' => 'required|in:withdrawal,deposit,transfer,opening-balance,reconciliation',
@@ -92,7 +92,7 @@ class TransactionStoreRequest extends Request
'transactions.*.foreign_amount' => 'numeric|more:0',
// description
- 'transactions.*.description' => 'nullable|between:1,255',
+ 'transactions.*.description' => 'nullable|between:1,1000',
// source of transaction
'transactions.*.source_id' => ['numeric', 'nullable', new BelongsUser],
@@ -115,7 +115,7 @@ class TransactionStoreRequest extends Request
// other interesting fields
'transactions.*.reconciled' => [new IsBoolean],
'transactions.*.notes' => 'min:1,max:50000|nullable',
- 'transactions.*.tags' => 'between:1,255',
+ 'transactions.*.tags' => 'between:0,255',
// meta info fields
'transactions.*.internal_reference' => 'min:1,max:255|nullable',
@@ -242,7 +242,7 @@ class TransactionStoreRequest extends Request
// some other interesting properties
'reconciled' => $this->convertBoolean((string)$object['reconciled']),
- 'notes' => $this->stringFromValue($object['notes']),
+ 'notes' => $this->nlStringFromValue($object['notes']),
'tags' => $this->arrayFromValue($object['tags']),
// all custom fields:
diff --git a/app/Api/V1/Requests/TransactionUpdateRequest.php b/app/Api/V1/Requests/TransactionUpdateRequest.php
index d10c15afb4..e1beb9345c 100644
--- a/app/Api/V1/Requests/TransactionUpdateRequest.php
+++ b/app/Api/V1/Requests/TransactionUpdateRequest.php
@@ -4,20 +4,20 @@
* TransactionUpdateRequest.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -49,6 +49,8 @@ class TransactionUpdateRequest extends Request
private $integerFields;
/** @var array Fields that contain string values. */
private $stringFields;
+ /** @var array Fields that contain text (with newlines) */
+ private $textareaFields;
/**
* Authorize logged in users.
@@ -91,6 +93,10 @@ class TransactionUpdateRequest extends Request
'invoice_date',
];
+ $this->textareaFields = [
+ 'notes',
+ ];
+
$this->stringFields = [
'type',
'currency_code',
@@ -103,7 +109,6 @@ class TransactionUpdateRequest extends Request
'budget_name',
'category_name',
'bill_name',
- 'notes',
'internal_reference',
'external_id',
'bunq_payment_id',
@@ -144,7 +149,7 @@ class TransactionUpdateRequest extends Request
{
$rules = [
// basic fields for group:
- 'group_title' => 'between:1,255',
+ 'group_title' => 'between:1,1000',
// transaction rules (in array for splits):
'transactions.*.type' => 'in:withdrawal,deposit,transfer,opening-balance,reconciliation',
@@ -158,11 +163,11 @@ class TransactionUpdateRequest extends Request
'transactions.*.foreign_currency_code' => 'min:3|max:3|exists:transaction_currencies,code',
// amount
- 'transactions.*.amount' => 'numeric|more:0',
+ 'transactions.*.amount' => 'numeric|more:0|max:100000000000',
'transactions.*.foreign_amount' => 'numeric|gte:0',
// description
- 'transactions.*.description' => 'nullable|between:1,255',
+ 'transactions.*.description' => 'nullable|between:1,1000',
// source of transaction
'transactions.*.source_id' => ['numeric', 'nullable', new BelongsUser],
@@ -296,6 +301,12 @@ class TransactionUpdateRequest extends Request
}
}
+ foreach ($this->textareaFields as $fieldName) {
+ if (array_key_exists($fieldName, $transaction)) {
+ $current[$fieldName] = $this->nlStringFromValue((string)$transaction[$fieldName]);
+ }
+ }
+
foreach ($this->dateFields as $fieldName) {
Log::debug(sprintf('Now at date field %s', $fieldName));
if (array_key_exists($fieldName, $transaction)) {
diff --git a/app/Api/V1/Requests/UserStoreRequest.php b/app/Api/V1/Requests/UserStoreRequest.php
index ba187c4eae..048e3c9387 100644
--- a/app/Api/V1/Requests/UserStoreRequest.php
+++ b/app/Api/V1/Requests/UserStoreRequest.php
@@ -2,22 +2,22 @@
/**
* UserStoreRequest.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Api/V1/Requests/UserUpdateRequest.php b/app/Api/V1/Requests/UserUpdateRequest.php
index c892e22766..e0eb397535 100644
--- a/app/Api/V1/Requests/UserUpdateRequest.php
+++ b/app/Api/V1/Requests/UserUpdateRequest.php
@@ -2,22 +2,22 @@
/**
* UserUpdateRequest.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Commands/Correction/CorrectDatabase.php b/app/Console/Commands/Correction/CorrectDatabase.php
index e3de47d8cc..85a36b9e47 100644
--- a/app/Console/Commands/Correction/CorrectDatabase.php
+++ b/app/Console/Commands/Correction/CorrectDatabase.php
@@ -3,20 +3,20 @@
* CorrectDatabase.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -70,7 +70,9 @@ class CorrectDatabase extends Command
'firefly-iii:delete-empty-groups',
'firefly-iii:fix-account-types',
'firefly-iii:rename-meta-fields',
- 'firefly-iii:fix-ob-currencies'
+ 'firefly-iii:fix-ob-currencies',
+ 'firefly-iii:fix-long-descriptions',
+ 'firefly-iii:restore-oauth-keys'
];
foreach ($commands as $command) {
$this->line(sprintf('Now executing %s', $command));
diff --git a/app/Console/Commands/Correction/CorrectOpeningBalanceCurrencies.php b/app/Console/Commands/Correction/CorrectOpeningBalanceCurrencies.php
index 9927c26bbc..2cce0186e1 100644
--- a/app/Console/Commands/Correction/CorrectOpeningBalanceCurrencies.php
+++ b/app/Console/Commands/Correction/CorrectOpeningBalanceCurrencies.php
@@ -3,20 +3,20 @@
* CorrectOpeningBalanceCurrencies.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
namespace FireflyIII\Console\Commands\Correction;
diff --git a/app/Console/Commands/Correction/CorrectionSkeleton.php.stub b/app/Console/Commands/Correction/CorrectionSkeleton.php.stub
index 1e514b5177..9c44039c4b 100644
--- a/app/Console/Commands/Correction/CorrectionSkeleton.php.stub
+++ b/app/Console/Commands/Correction/CorrectionSkeleton.php.stub
@@ -1,23 +1,4 @@
.
- */
namespace FireflyIII\Console\Commands\Correction;
diff --git a/app/Console/Commands/Correction/CreateAccessTokens.php b/app/Console/Commands/Correction/CreateAccessTokens.php
index 0a77d219fd..19d8946705 100644
--- a/app/Console/Commands/Correction/CreateAccessTokens.php
+++ b/app/Console/Commands/Correction/CreateAccessTokens.php
@@ -1,25 +1,27 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
+
namespace FireflyIII\Console\Commands\Correction;
use Exception;
diff --git a/app/Console/Commands/Correction/CreateLinkTypes.php b/app/Console/Commands/Correction/CreateLinkTypes.php
index 0efcbdb4b3..66d0b06a29 100644
--- a/app/Console/Commands/Correction/CreateLinkTypes.php
+++ b/app/Console/Commands/Correction/CreateLinkTypes.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use FireflyIII\Models\LinkType;
diff --git a/app/Console/Commands/Correction/DeleteEmptyGroups.php b/app/Console/Commands/Correction/DeleteEmptyGroups.php
index 4c5ed2a59e..a0558a9e09 100644
--- a/app/Console/Commands/Correction/DeleteEmptyGroups.php
+++ b/app/Console/Commands/Correction/DeleteEmptyGroups.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use Exception;
@@ -55,13 +56,28 @@ class DeleteEmptyGroups extends Command
{
$start = microtime(true);
$groups = array_unique(TransactionJournal::get(['transaction_group_id'])->pluck('transaction_group_id')->toArray());
- $count = TransactionGroup::whereNull('deleted_at')->whereNotIn('id', $groups)->count();
- if (0 === $count) {
+
+ // make chunks so SQLite can take the strain:
+ $chunks = array_chunk($groups, 500);
+ $total = 0;
+ foreach ($chunks as $chunk) {
+ $count = TransactionGroup::whereNull('deleted_at')->whereNotIn('id', $chunk)->count();
+ $total += $count;
+ }
+ if (0 === $total) {
$this->info('No empty transaction groups.');
}
- if ($count > 0) {
- $this->info(sprintf('Deleted %d empty transaction group(s).', $count));
- TransactionGroup::whereNull('deleted_at')->whereNotIn('id', $groups)->delete();
+
+ unset($chunks, $chunk, $count);
+
+ if ($total > 0) {
+ $this->info(sprintf('Deleted %d empty transaction group(s).', $total));
+
+ // again, chunks for SQLite.
+ $chunks = array_chunk($groups, 500);
+ foreach ($chunks as $chunk) {
+ TransactionGroup::whereNull('deleted_at')->whereNotIn('id', $chunk)->delete();
+ }
}
$end = round(microtime(true) - $start, 2);
$this->info(sprintf('Verified empty groups in %s seconds', $end));
diff --git a/app/Console/Commands/Correction/DeleteEmptyJournals.php b/app/Console/Commands/Correction/DeleteEmptyJournals.php
index ee2c748bb2..2a8d34022f 100644
--- a/app/Console/Commands/Correction/DeleteEmptyJournals.php
+++ b/app/Console/Commands/Correction/DeleteEmptyJournals.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use DB;
diff --git a/app/Console/Commands/Correction/DeleteOrphanedTransactions.php b/app/Console/Commands/Correction/DeleteOrphanedTransactions.php
index 3ab8de9041..298b8fc4b1 100644
--- a/app/Console/Commands/Correction/DeleteOrphanedTransactions.php
+++ b/app/Console/Commands/Correction/DeleteOrphanedTransactions.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use Exception;
diff --git a/app/Console/Commands/Correction/DeleteZeroAmount.php b/app/Console/Commands/Correction/DeleteZeroAmount.php
index 30018628c7..0c96de059a 100644
--- a/app/Console/Commands/Correction/DeleteZeroAmount.php
+++ b/app/Console/Commands/Correction/DeleteZeroAmount.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use Exception;
diff --git a/app/Console/Commands/Correction/EnableCurrencies.php b/app/Console/Commands/Correction/EnableCurrencies.php
index 77059c3806..b1ca8d3c9b 100644
--- a/app/Console/Commands/Correction/EnableCurrencies.php
+++ b/app/Console/Commands/Correction/EnableCurrencies.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use FireflyIII\Models\AccountMeta;
diff --git a/app/Console/Commands/Correction/FixAccountTypes.php b/app/Console/Commands/Correction/FixAccountTypes.php
index a0906e7c7c..9f3995af63 100644
--- a/app/Console/Commands/Correction/FixAccountTypes.php
+++ b/app/Console/Commands/Correction/FixAccountTypes.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use FireflyIII\Exceptions\FireflyException;
diff --git a/app/Console/Commands/Correction/FixLongDescriptions.php b/app/Console/Commands/Correction/FixLongDescriptions.php
new file mode 100644
index 0000000000..ceae5bf6ff
--- /dev/null
+++ b/app/Console/Commands/Correction/FixLongDescriptions.php
@@ -0,0 +1,78 @@
+.
+ */
+
+namespace FireflyIII\Console\Commands\Correction;
+
+use FireflyIII\Models\TransactionGroup;
+use FireflyIII\Models\TransactionJournal;
+use Illuminate\Console\Command;
+
+/**
+ * Class FixLongDescriptions
+ */
+class FixLongDescriptions extends Command
+{
+ private const MAX_LENGTH = 1000;
+ /**
+ * The console command description.
+ *
+ * @var string
+ */
+ protected $description = 'Fixes long descriptions in journals and groups.';
+ /**
+ * The name and signature of the console command.
+ *
+ * @var string
+ */
+ protected $signature = 'firefly-iii:fix-long-descriptions';
+
+ /**
+ * Execute the console command.
+ *
+ * @return int
+ */
+ public function handle(): int
+ {
+ $start = microtime(true);
+ $journals = TransactionJournal::get(['id', 'description']);
+ /** @var TransactionJournal $journal */
+ foreach ($journals as $journal) {
+ if (strlen($journal->description) > self::MAX_LENGTH) {
+ $journal->description = substr($journal->description, 0, self::MAX_LENGTH);
+ $journal->save();
+ $this->line(sprintf('Truncated description of transaction journal #%d', $journal->id));
+ }
+ }
+
+ $groups = TransactionGroup::get(['id', 'title']);
+ /** @var TransactionGroup $group */
+ foreach ($groups as $group) {
+ if (strlen($group->title) > self::MAX_LENGTH) {
+ $group->title = substr($group->title, 0, self::MAX_LENGTH);
+ $group->save();
+ $this->line(sprintf('Truncated description of transaction group #%d', $group->id));
+ }
+ }
+ $end = round(microtime(true) - $start, 2);
+ $this->info(sprintf('Verified all transaction group and journal title lengths in %s seconds.', $end));
+ return 0;
+ }
+}
diff --git a/app/Console/Commands/Correction/FixPiggies.php b/app/Console/Commands/Correction/FixPiggies.php
index d6aa60a7bb..61ed7eabee 100644
--- a/app/Console/Commands/Correction/FixPiggies.php
+++ b/app/Console/Commands/Correction/FixPiggies.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use FireflyIII\Models\PiggyBankEvent;
diff --git a/app/Console/Commands/Correction/FixUnevenAmount.php b/app/Console/Commands/Correction/FixUnevenAmount.php
index af64c7bab6..2618e4fa08 100644
--- a/app/Console/Commands/Correction/FixUnevenAmount.php
+++ b/app/Console/Commands/Correction/FixUnevenAmount.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use DB;
diff --git a/app/Console/Commands/Correction/RemoveBills.php b/app/Console/Commands/Correction/RemoveBills.php
index b32fb96190..06daeacc10 100644
--- a/app/Console/Commands/Correction/RemoveBills.php
+++ b/app/Console/Commands/Correction/RemoveBills.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use FireflyIII\Models\TransactionJournal;
diff --git a/app/Console/Commands/Correction/RenameMetaFields.php b/app/Console/Commands/Correction/RenameMetaFields.php
index c7d9c86381..f388538470 100644
--- a/app/Console/Commands/Correction/RenameMetaFields.php
+++ b/app/Console/Commands/Correction/RenameMetaFields.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use DB;
diff --git a/app/Console/Commands/Correction/TransferBudgets.php b/app/Console/Commands/Correction/TransferBudgets.php
index f859bdb247..783f48f6f5 100644
--- a/app/Console/Commands/Correction/TransferBudgets.php
+++ b/app/Console/Commands/Correction/TransferBudgets.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Correction;
use FireflyIII\Models\TransactionJournal;
diff --git a/app/Console/Commands/DecryptDatabase.php b/app/Console/Commands/DecryptDatabase.php
index 92cd9500ec..3d1910b17b 100644
--- a/app/Console/Commands/DecryptDatabase.php
+++ b/app/Console/Commands/DecryptDatabase.php
@@ -4,20 +4,20 @@
* DecryptDatabase.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Commands/Import/CreateCSVImport.php b/app/Console/Commands/Import/CreateCSVImport.php
index 27909afafe..5c58617f3f 100644
--- a/app/Console/Commands/Import/CreateCSVImport.php
+++ b/app/Console/Commands/Import/CreateCSVImport.php
@@ -3,20 +3,20 @@
* CreateCSVImport.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
diff --git a/app/Console/Commands/Integrity/ReportEmptyObjects.php b/app/Console/Commands/Integrity/ReportEmptyObjects.php
index b65b1ba73d..201c661260 100644
--- a/app/Console/Commands/Integrity/ReportEmptyObjects.php
+++ b/app/Console/Commands/Integrity/ReportEmptyObjects.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Integrity;
use FireflyIII\Models\Account;
diff --git a/app/Console/Commands/Integrity/ReportIntegrity.php b/app/Console/Commands/Integrity/ReportIntegrity.php
index a89b2ae2d4..46cd67b276 100644
--- a/app/Console/Commands/Integrity/ReportIntegrity.php
+++ b/app/Console/Commands/Integrity/ReportIntegrity.php
@@ -3,20 +3,20 @@
* ReportIntegrity.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Commands/Integrity/ReportSkeleton.php.stub b/app/Console/Commands/Integrity/ReportSkeleton.php.stub
index 16b26c0ab0..efea7dd9c8 100644
--- a/app/Console/Commands/Integrity/ReportSkeleton.php.stub
+++ b/app/Console/Commands/Integrity/ReportSkeleton.php.stub
@@ -1,23 +1,4 @@
.
- */
namespace FireflyIII\Console\Commands\Integrity;
diff --git a/app/Console/Commands/Integrity/ReportSum.php b/app/Console/Commands/Integrity/ReportSum.php
index b3394c4ffc..cf0ab7d9f9 100644
--- a/app/Console/Commands/Integrity/ReportSum.php
+++ b/app/Console/Commands/Integrity/ReportSum.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Integrity;
use FireflyIII\Repositories\User\UserRepositoryInterface;
diff --git a/app/Console/Commands/Integrity/RestoreOAuthKeys.php b/app/Console/Commands/Integrity/RestoreOAuthKeys.php
new file mode 100644
index 0000000000..b41a95930e
--- /dev/null
+++ b/app/Console/Commands/Integrity/RestoreOAuthKeys.php
@@ -0,0 +1,137 @@
+.
+ */
+
+namespace FireflyIII\Console\Commands\Integrity;
+
+use Artisan;
+use Crypt;
+use Illuminate\Console\Command;
+
+/**
+ * Class RestoreOAuthKeys
+ */
+class RestoreOAuthKeys extends Command
+{
+ private const PRIVATE_KEY = 'oauth_private_key';
+ private const PUBLIC_KEY = 'oauth_public_key';
+ /**
+ * The console command description.
+ *
+ * @var string
+ */
+ protected $description = 'Will restore the OAuth keys generated for the system.';
+ /**
+ * The name and signature of the console command.
+ *
+ * @var string
+ */
+ protected $signature = 'firefly-iii:restore-oauth-keys';
+
+ /**
+ * Execute the console command.
+ *
+ * @return int
+ */
+ public function handle(): int
+ {
+ $this->restoreOAuthKeys();
+
+ return 0;
+ }
+
+ /**
+ *
+ */
+ private function generateKeys(): void
+ {
+ Artisan::call('passport:keys');
+ }
+
+ /**
+ * @return bool
+ */
+ private function keysInDatabase(): bool
+ {
+ return app('fireflyconfig')->has(self::PRIVATE_KEY) && app('fireflyconfig')->has(self::PUBLIC_KEY);
+ }
+
+ /**
+ * @return bool
+ */
+ private function keysOnDrive(): bool
+ {
+ $private = storage_path('oauth-private.key');
+ $public = storage_path('oauth-public.key');
+
+ return file_exists($private) && file_exists($public);
+ }
+
+ /**
+ *
+ */
+ private function restoreKeysFromDB(): void
+ {
+ $privateContent = Crypt::decrypt(app('fireflyconfig')->get(self::PRIVATE_KEY)->data);
+ $publicContent = Crypt::decrypt(app('fireflyconfig')->get(self::PUBLIC_KEY)->data);
+ $private = storage_path('oauth-private.key');
+ $public = storage_path('oauth-public.key');
+ file_put_contents($private, $privateContent);
+ file_put_contents($public, $publicContent);
+ }
+
+ /**
+ *
+ */
+ private function restoreOAuthKeys(): void
+ {
+ if (!$this->keysInDatabase() && !$this->keysOnDrive()) {
+ $this->generateKeys();
+ $this->storeKeysInDB();
+ $this->line('Generated and stored new keys.');
+
+ return;
+ }
+ if ($this->keysInDatabase() && !$this->keysOnDrive()) {
+ $this->restoreKeysFromDB();
+ $this->line('Restored OAuth keys from database.');
+
+ return;
+ }
+ if (!$this->keysInDatabase() && $this->keysOnDrive()) {
+ $this->storeKeysInDB();
+ $this->line('Stored OAuth keys in database.');
+
+ return;
+ }
+ $this->line('OAuth keys are OK');
+ }
+
+ /**
+ *
+ */
+ private function storeKeysInDB(): void
+ {
+ $private = storage_path('oauth-private.key');
+ $public = storage_path('oauth-public.key');
+ app('fireflyconfig')->set(self::PRIVATE_KEY, Crypt::encrypt(file_get_contents($private)));
+ app('fireflyconfig')->set(self::PUBLIC_KEY, Crypt::encrypt(file_get_contents($public)));
+ }
+}
\ No newline at end of file
diff --git a/app/Console/Commands/ScanAttachments.php b/app/Console/Commands/ScanAttachments.php
index 89aaa7aeb8..c5c4d57307 100644
--- a/app/Console/Commands/ScanAttachments.php
+++ b/app/Console/Commands/ScanAttachments.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
diff --git a/app/Console/Commands/Tools/ApplyRules.php b/app/Console/Commands/Tools/ApplyRules.php
index 98a3de38c7..37f69ba15b 100644
--- a/app/Console/Commands/Tools/ApplyRules.php
+++ b/app/Console/Commands/Tools/ApplyRules.php
@@ -1,27 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Tools;
diff --git a/app/Console/Commands/Tools/Cron.php b/app/Console/Commands/Tools/Cron.php
index 51bfc46fe9..d13e0bc811 100644
--- a/app/Console/Commands/Tools/Cron.php
+++ b/app/Console/Commands/Tools/Cron.php
@@ -4,20 +4,20 @@
* Cron.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Commands/Upgrade/AccountCurrencies.php b/app/Console/Commands/Upgrade/AccountCurrencies.php
index 5c0940ce83..c92060fd67 100644
--- a/app/Console/Commands/Upgrade/AccountCurrencies.php
+++ b/app/Console/Commands/Upgrade/AccountCurrencies.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Upgrade;
use FireflyIII\Models\Account;
diff --git a/app/Console/Commands/Upgrade/BackToJournals.php b/app/Console/Commands/Upgrade/BackToJournals.php
index 728e78b4de..37b44c164f 100644
--- a/app/Console/Commands/Upgrade/BackToJournals.php
+++ b/app/Console/Commands/Upgrade/BackToJournals.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Upgrade;
use DB;
diff --git a/app/Console/Commands/Upgrade/BudgetLimitCurrency.php b/app/Console/Commands/Upgrade/BudgetLimitCurrency.php
index d8a7b43aa1..4f28dab4fa 100644
--- a/app/Console/Commands/Upgrade/BudgetLimitCurrency.php
+++ b/app/Console/Commands/Upgrade/BudgetLimitCurrency.php
@@ -3,20 +3,20 @@
* BudgetLimitCurrency.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Commands/Upgrade/CCLiabilities.php b/app/Console/Commands/Upgrade/CCLiabilities.php
index 9e22f59dd7..5808f128f3 100644
--- a/app/Console/Commands/Upgrade/CCLiabilities.php
+++ b/app/Console/Commands/Upgrade/CCLiabilities.php
@@ -3,20 +3,20 @@
* CCLiabilities.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Commands/Upgrade/MigrateAttachments.php b/app/Console/Commands/Upgrade/MigrateAttachments.php
index a0f745829b..0982a1b3ac 100644
--- a/app/Console/Commands/Upgrade/MigrateAttachments.php
+++ b/app/Console/Commands/Upgrade/MigrateAttachments.php
@@ -3,20 +3,20 @@
* MigrateAttachments.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Commands/Upgrade/MigrateJournalNotes.php b/app/Console/Commands/Upgrade/MigrateJournalNotes.php
index 2e529c46af..1f94a6d253 100644
--- a/app/Console/Commands/Upgrade/MigrateJournalNotes.php
+++ b/app/Console/Commands/Upgrade/MigrateJournalNotes.php
@@ -3,20 +3,20 @@
* MigrateJournalNotes.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Commands/Upgrade/MigrateRecurrenceMeta.php b/app/Console/Commands/Upgrade/MigrateRecurrenceMeta.php
index 08817ed270..6639bac8d3 100644
--- a/app/Console/Commands/Upgrade/MigrateRecurrenceMeta.php
+++ b/app/Console/Commands/Upgrade/MigrateRecurrenceMeta.php
@@ -3,20 +3,20 @@
* MigrateRecurrenceMeta.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
namespace FireflyIII\Console\Commands\Upgrade;
diff --git a/app/Console/Commands/Upgrade/MigrateToGroups.php b/app/Console/Commands/Upgrade/MigrateToGroups.php
index eb3b6cce59..9cbe4c61b4 100644
--- a/app/Console/Commands/Upgrade/MigrateToGroups.php
+++ b/app/Console/Commands/Upgrade/MigrateToGroups.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Upgrade;
use DB;
diff --git a/app/Console/Commands/Upgrade/MigrateToRules.php b/app/Console/Commands/Upgrade/MigrateToRules.php
index 14ad624753..c9fd13d8df 100644
--- a/app/Console/Commands/Upgrade/MigrateToRules.php
+++ b/app/Console/Commands/Upgrade/MigrateToRules.php
@@ -3,20 +3,20 @@
* MigrateToRules.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Commands/Upgrade/OtherCurrenciesCorrections.php b/app/Console/Commands/Upgrade/OtherCurrenciesCorrections.php
index af2ef95c86..c16c3e85d0 100644
--- a/app/Console/Commands/Upgrade/OtherCurrenciesCorrections.php
+++ b/app/Console/Commands/Upgrade/OtherCurrenciesCorrections.php
@@ -3,20 +3,20 @@
* OtherCurrenciesCorrections.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Commands/Upgrade/RenameAccountMeta.php b/app/Console/Commands/Upgrade/RenameAccountMeta.php
index efa1831354..a58cb12dcb 100644
--- a/app/Console/Commands/Upgrade/RenameAccountMeta.php
+++ b/app/Console/Commands/Upgrade/RenameAccountMeta.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Upgrade;
use FireflyIII\Models\AccountMeta;
diff --git a/app/Console/Commands/Upgrade/TransactionIdentifier.php b/app/Console/Commands/Upgrade/TransactionIdentifier.php
index afc394e81b..5f56881a81 100644
--- a/app/Console/Commands/Upgrade/TransactionIdentifier.php
+++ b/app/Console/Commands/Upgrade/TransactionIdentifier.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Upgrade;
use FireflyIII\Models\Transaction;
diff --git a/app/Console/Commands/Upgrade/TransferCurrenciesCorrections.php b/app/Console/Commands/Upgrade/TransferCurrenciesCorrections.php
index 6fdfd36c9f..6c77e99ffa 100644
--- a/app/Console/Commands/Upgrade/TransferCurrenciesCorrections.php
+++ b/app/Console/Commands/Upgrade/TransferCurrenciesCorrections.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Upgrade;
diff --git a/app/Console/Commands/Upgrade/UpgradeDatabase.php b/app/Console/Commands/Upgrade/UpgradeDatabase.php
index 60e6ba5dac..4af05bd266 100644
--- a/app/Console/Commands/Upgrade/UpgradeDatabase.php
+++ b/app/Console/Commands/Upgrade/UpgradeDatabase.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Console\Commands\Upgrade;
set_time_limit(0);
@@ -73,7 +74,7 @@ class UpgradeDatabase extends Command
'firefly-iii:rename-account-meta',
'firefly-iii:migrate-recurrence-meta',
- // there are 14 verify commands.
+ // there are 15 verify commands.
'firefly-iii:fix-piggies',
'firefly-iii:create-link-types',
'firefly-iii:create-access-tokens',
@@ -88,10 +89,12 @@ class UpgradeDatabase extends Command
'firefly-iii:fix-account-types',
'firefly-iii:rename-meta-fields',
'firefly-iii:fix-ob-currencies',
+ 'firefly-iii:fix-long-descriptions',
// two report commands
'firefly-iii:report-empty-objects',
'firefly-iii:report-sum',
+ 'firefly-iii:restore-oauth-keys',
// instructions
'firefly:instructions update',
diff --git a/app/Console/Commands/Upgrade/UpgradeSkeleton.php.stub b/app/Console/Commands/Upgrade/UpgradeSkeleton.php.stub
index 3b53ae9b12..2ea03dbe8d 100644
--- a/app/Console/Commands/Upgrade/UpgradeSkeleton.php.stub
+++ b/app/Console/Commands/Upgrade/UpgradeSkeleton.php.stub
@@ -1,23 +1,4 @@
.
- */
namespace FireflyIII\Console\Commands\Upgrade;
diff --git a/app/Console/Commands/UpgradeFireflyInstructions.php b/app/Console/Commands/UpgradeFireflyInstructions.php
index 37cd28f4ea..e22d6618d3 100644
--- a/app/Console/Commands/UpgradeFireflyInstructions.php
+++ b/app/Console/Commands/UpgradeFireflyInstructions.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Commands/VerifiesAccessToken.php b/app/Console/Commands/VerifiesAccessToken.php
index 39f300d796..c12219cf4a 100644
--- a/app/Console/Commands/VerifiesAccessToken.php
+++ b/app/Console/Commands/VerifiesAccessToken.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php
index 161cd3b48f..85e870bd24 100644
--- a/app/Console/Kernel.php
+++ b/app/Console/Kernel.php
@@ -2,22 +2,22 @@
/**
* Kernel.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Events/AdminRequestedTestMessage.php b/app/Events/AdminRequestedTestMessage.php
index 2f5b225800..ece312467f 100644
--- a/app/Events/AdminRequestedTestMessage.php
+++ b/app/Events/AdminRequestedTestMessage.php
@@ -2,22 +2,22 @@
/**
* AdminRequestedTestMessage.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Events/Event.php b/app/Events/Event.php
index 14c8a1e436..5499c81cf2 100644
--- a/app/Events/Event.php
+++ b/app/Events/Event.php
@@ -2,22 +2,22 @@
/**
* Event.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Events/RegisteredUser.php b/app/Events/RegisteredUser.php
index 8e7fc80ef1..b98338ec68 100644
--- a/app/Events/RegisteredUser.php
+++ b/app/Events/RegisteredUser.php
@@ -2,22 +2,22 @@
/**
* RegisteredUser.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Events/RequestedNewPassword.php b/app/Events/RequestedNewPassword.php
index b7c85c2f8c..8424b0d3e6 100644
--- a/app/Events/RequestedNewPassword.php
+++ b/app/Events/RequestedNewPassword.php
@@ -2,22 +2,22 @@
/**
* RequestedNewPassword.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Events/RequestedReportOnJournals.php b/app/Events/RequestedReportOnJournals.php
index 3cbca4ca5d..a9f64c9d40 100644
--- a/app/Events/RequestedReportOnJournals.php
+++ b/app/Events/RequestedReportOnJournals.php
@@ -2,44 +2,25 @@
/**
* RequestedReportOnJournals.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
-/**
- * RequestedReportOnJournals.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
- *
- * This file is part of Firefly III.
- *
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Firefly III is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
- */
namespace FireflyIII\Events;
diff --git a/app/Events/RequestedVersionCheckStatus.php b/app/Events/RequestedVersionCheckStatus.php
index a490ea0e38..9fb026cd59 100644
--- a/app/Events/RequestedVersionCheckStatus.php
+++ b/app/Events/RequestedVersionCheckStatus.php
@@ -2,22 +2,22 @@
/**
* RequestedVersionCheckStatus.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Events/StoredTransactionGroup.php b/app/Events/StoredTransactionGroup.php
index 8e00398b65..7b70043491 100644
--- a/app/Events/StoredTransactionGroup.php
+++ b/app/Events/StoredTransactionGroup.php
@@ -4,20 +4,20 @@
* StoredTransactionGroup.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Events/UpdatedTransactionGroup.php b/app/Events/UpdatedTransactionGroup.php
index 784178de5b..2cbb9b8285 100644
--- a/app/Events/UpdatedTransactionGroup.php
+++ b/app/Events/UpdatedTransactionGroup.php
@@ -4,20 +4,20 @@
* UpdatedTransactionGroup.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Events/UserChangedEmail.php b/app/Events/UserChangedEmail.php
index 12e7aab446..7470b1030b 100644
--- a/app/Events/UserChangedEmail.php
+++ b/app/Events/UserChangedEmail.php
@@ -2,22 +2,22 @@
/**
* UserChangedEmail.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Exceptions/FireflyException.php b/app/Exceptions/FireflyException.php
index 79afaf860a..9c582a516f 100644
--- a/app/Exceptions/FireflyException.php
+++ b/app/Exceptions/FireflyException.php
@@ -2,22 +2,22 @@
/**
* FireflyException.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Exceptions/GracefulNotFoundHandler.php b/app/Exceptions/GracefulNotFoundHandler.php
index 0e484418f5..1c2f848cdb 100644
--- a/app/Exceptions/GracefulNotFoundHandler.php
+++ b/app/Exceptions/GracefulNotFoundHandler.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Exceptions;
@@ -60,7 +61,7 @@ class GracefulNotFoundHandler extends ExceptionHandler
switch ($name) {
default:
- Log::debug(sprintf('GracefulNotFoundHandler cannot handle route with name "%s"', $name));
+ Log::warning(sprintf('GracefulNotFoundHandler cannot handle route with name "%s"', $name));
return parent::render($request, $exception);
case 'accounts.show':
@@ -114,6 +115,7 @@ class GracefulNotFoundHandler extends ExceptionHandler
return redirect(route('rules.index'));
break;
+ case 'transactions.edit':
case 'transactions.mass.edit':
case 'transactions.mass.delete':
case 'transactions.bulk.edit':
diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php
index 12f642643a..f53dd955fc 100644
--- a/app/Exceptions/Handler.php
+++ b/app/Exceptions/Handler.php
@@ -2,22 +2,22 @@
/**
* Handler.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
diff --git a/app/Exceptions/NotImplementedException.php b/app/Exceptions/NotImplementedException.php
index 060cd32b67..14836eb8ab 100644
--- a/app/Exceptions/NotImplementedException.php
+++ b/app/Exceptions/NotImplementedException.php
@@ -2,22 +2,22 @@
/**
* NotImplementedException.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Exceptions/ValidationException.php b/app/Exceptions/ValidationException.php
index 65c4037fd6..723fc3274e 100644
--- a/app/Exceptions/ValidationException.php
+++ b/app/Exceptions/ValidationException.php
@@ -2,22 +2,22 @@
/**
* ValidationException.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Factory/AccountFactory.php b/app/Factory/AccountFactory.php
index fcc56335fc..eb41c9e171 100644
--- a/app/Factory/AccountFactory.php
+++ b/app/Factory/AccountFactory.php
@@ -2,22 +2,22 @@
/**
* AccountFactory.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Factory/AccountMetaFactory.php b/app/Factory/AccountMetaFactory.php
index d3afff2397..55df461643 100644
--- a/app/Factory/AccountMetaFactory.php
+++ b/app/Factory/AccountMetaFactory.php
@@ -2,22 +2,22 @@
/**
* AccountMetaFactory.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Factory/AttachmentFactory.php b/app/Factory/AttachmentFactory.php
index 42ab6d394e..eb3d87d347 100644
--- a/app/Factory/AttachmentFactory.php
+++ b/app/Factory/AttachmentFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Factory/BillFactory.php b/app/Factory/BillFactory.php
index 88d9ca269e..f958dfa7d4 100644
--- a/app/Factory/BillFactory.php
+++ b/app/Factory/BillFactory.php
@@ -2,22 +2,22 @@
/**
* BillFactory.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Factory/BudgetFactory.php b/app/Factory/BudgetFactory.php
index da8882ad3b..eeb7924b06 100644
--- a/app/Factory/BudgetFactory.php
+++ b/app/Factory/BudgetFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
declare(strict_types=1);
diff --git a/app/Factory/CategoryFactory.php b/app/Factory/CategoryFactory.php
index 1085b64ede..b8690a04b6 100644
--- a/app/Factory/CategoryFactory.php
+++ b/app/Factory/CategoryFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
declare(strict_types=1);
diff --git a/app/Factory/PiggyBankEventFactory.php b/app/Factory/PiggyBankEventFactory.php
index 597c63b22d..fe6803a6b1 100644
--- a/app/Factory/PiggyBankEventFactory.php
+++ b/app/Factory/PiggyBankEventFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
declare(strict_types=1);
diff --git a/app/Factory/PiggyBankFactory.php b/app/Factory/PiggyBankFactory.php
index 020399bc73..7e7bd466ba 100644
--- a/app/Factory/PiggyBankFactory.php
+++ b/app/Factory/PiggyBankFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
declare(strict_types=1);
diff --git a/app/Factory/RecurrenceFactory.php b/app/Factory/RecurrenceFactory.php
index 33a4f60431..a007ad8793 100644
--- a/app/Factory/RecurrenceFactory.php
+++ b/app/Factory/RecurrenceFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
diff --git a/app/Factory/TagFactory.php b/app/Factory/TagFactory.php
index ef9caf7cbf..b8e2352340 100644
--- a/app/Factory/TagFactory.php
+++ b/app/Factory/TagFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
diff --git a/app/Factory/TransactionCurrencyFactory.php b/app/Factory/TransactionCurrencyFactory.php
index f2e1a0f4cc..52d1fa42aa 100644
--- a/app/Factory/TransactionCurrencyFactory.php
+++ b/app/Factory/TransactionCurrencyFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
diff --git a/app/Factory/TransactionFactory.php b/app/Factory/TransactionFactory.php
index 3cf47f1eed..8898561f33 100644
--- a/app/Factory/TransactionFactory.php
+++ b/app/Factory/TransactionFactory.php
@@ -2,22 +2,22 @@
/**
* TransactionFactory.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Factory/TransactionGroupFactory.php b/app/Factory/TransactionGroupFactory.php
index df3b67edb3..91e7ee21fd 100644
--- a/app/Factory/TransactionGroupFactory.php
+++ b/app/Factory/TransactionGroupFactory.php
@@ -3,20 +3,20 @@
* TransactionGroupFactory.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -61,7 +61,7 @@ class TransactionGroupFactory
$title = '' === $title ? null : $title;
if (null !== $title) {
- $title = substr($title, 0, 255);
+ $title = substr($title, 0, 1000);
}
$group = new TransactionGroup;
diff --git a/app/Factory/TransactionJournalFactory.php b/app/Factory/TransactionJournalFactory.php
index 3fede3ee27..daf7f95a6d 100644
--- a/app/Factory/TransactionJournalFactory.php
+++ b/app/Factory/TransactionJournalFactory.php
@@ -2,22 +2,22 @@
/**
* TransactionJournalFactory.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -287,7 +287,7 @@ class TransactionJournalFactory
'transaction_type_id' => $type->id,
'bill_id' => $billId,
'transaction_currency_id' => $currency->id,
- 'description' => $description,
+ 'description' => substr($description,0,1000),
'date' => $carbon->format('Y-m-d H:i:s'),
'order' => $order,
'tag_count' => 0,
diff --git a/app/Factory/TransactionJournalMetaFactory.php b/app/Factory/TransactionJournalMetaFactory.php
index 7e13afd8fd..126c2b7db5 100644
--- a/app/Factory/TransactionJournalMetaFactory.php
+++ b/app/Factory/TransactionJournalMetaFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
diff --git a/app/Factory/TransactionTypeFactory.php b/app/Factory/TransactionTypeFactory.php
index ac5a718a7f..87d0d2b1b7 100644
--- a/app/Factory/TransactionTypeFactory.php
+++ b/app/Factory/TransactionTypeFactory.php
@@ -2,22 +2,22 @@
/**
* TransactionTypeFactory.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpUndefinedMethodInspection */
diff --git a/app/Generator/Chart/Basic/ChartJsGenerator.php b/app/Generator/Chart/Basic/ChartJsGenerator.php
index 3ada70161c..a090877c82 100644
--- a/app/Generator/Chart/Basic/ChartJsGenerator.php
+++ b/app/Generator/Chart/Basic/ChartJsGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Chart/Basic/GeneratorInterface.php b/app/Generator/Chart/Basic/GeneratorInterface.php
index 347dd7da7b..01e98e2bcb 100644
--- a/app/Generator/Chart/Basic/GeneratorInterface.php
+++ b/app/Generator/Chart/Basic/GeneratorInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Account/MonthReportGenerator.php b/app/Generator/Report/Account/MonthReportGenerator.php
index f534b2f1a2..eb4edda0a5 100644
--- a/app/Generator/Report/Account/MonthReportGenerator.php
+++ b/app/Generator/Report/Account/MonthReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Account/MultiYearReportGenerator.php b/app/Generator/Report/Account/MultiYearReportGenerator.php
index ada1211667..780fedbbda 100644
--- a/app/Generator/Report/Account/MultiYearReportGenerator.php
+++ b/app/Generator/Report/Account/MultiYearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Account/YearReportGenerator.php b/app/Generator/Report/Account/YearReportGenerator.php
index bdee367fed..6315260f3d 100644
--- a/app/Generator/Report/Account/YearReportGenerator.php
+++ b/app/Generator/Report/Account/YearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Audit/MonthReportGenerator.php b/app/Generator/Report/Audit/MonthReportGenerator.php
index 0d2dc4332b..7a26e30ce7 100644
--- a/app/Generator/Report/Audit/MonthReportGenerator.php
+++ b/app/Generator/Report/Audit/MonthReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpUndefinedMethodInspection */
diff --git a/app/Generator/Report/Audit/MultiYearReportGenerator.php b/app/Generator/Report/Audit/MultiYearReportGenerator.php
index a775e2a5bd..ea75c97d39 100644
--- a/app/Generator/Report/Audit/MultiYearReportGenerator.php
+++ b/app/Generator/Report/Audit/MultiYearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Audit/YearReportGenerator.php b/app/Generator/Report/Audit/YearReportGenerator.php
index a292b3f2a9..f02665723d 100644
--- a/app/Generator/Report/Audit/YearReportGenerator.php
+++ b/app/Generator/Report/Audit/YearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Budget/MonthReportGenerator.php b/app/Generator/Report/Budget/MonthReportGenerator.php
index 20bb4c292b..97d531c442 100644
--- a/app/Generator/Report/Budget/MonthReportGenerator.php
+++ b/app/Generator/Report/Budget/MonthReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
/** @noinspection PhpUndefinedMethodInspection */
diff --git a/app/Generator/Report/Budget/MultiYearReportGenerator.php b/app/Generator/Report/Budget/MultiYearReportGenerator.php
index 8eea0b4d74..5a2957de1d 100644
--- a/app/Generator/Report/Budget/MultiYearReportGenerator.php
+++ b/app/Generator/Report/Budget/MultiYearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Budget/YearReportGenerator.php b/app/Generator/Report/Budget/YearReportGenerator.php
index 08dc432561..460330d573 100644
--- a/app/Generator/Report/Budget/YearReportGenerator.php
+++ b/app/Generator/Report/Budget/YearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Category/MonthReportGenerator.php b/app/Generator/Report/Category/MonthReportGenerator.php
index 6a20c5814a..7a4bd5e446 100644
--- a/app/Generator/Report/Category/MonthReportGenerator.php
+++ b/app/Generator/Report/Category/MonthReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
/** @noinspection PhpUndefinedMethodInspection */
diff --git a/app/Generator/Report/Category/MultiYearReportGenerator.php b/app/Generator/Report/Category/MultiYearReportGenerator.php
index 0f693f62d7..bfe46c79d6 100644
--- a/app/Generator/Report/Category/MultiYearReportGenerator.php
+++ b/app/Generator/Report/Category/MultiYearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Category/YearReportGenerator.php b/app/Generator/Report/Category/YearReportGenerator.php
index ed8742664f..8d7509fb46 100644
--- a/app/Generator/Report/Category/YearReportGenerator.php
+++ b/app/Generator/Report/Category/YearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/ReportGeneratorFactory.php b/app/Generator/Report/ReportGeneratorFactory.php
index 2185a335d3..6c90dee1f2 100644
--- a/app/Generator/Report/ReportGeneratorFactory.php
+++ b/app/Generator/Report/ReportGeneratorFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/ReportGeneratorInterface.php b/app/Generator/Report/ReportGeneratorInterface.php
index db0369ce17..3b7cd88086 100644
--- a/app/Generator/Report/ReportGeneratorInterface.php
+++ b/app/Generator/Report/ReportGeneratorInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Standard/MonthReportGenerator.php b/app/Generator/Report/Standard/MonthReportGenerator.php
index 17e4d7c745..b1bc86997f 100644
--- a/app/Generator/Report/Standard/MonthReportGenerator.php
+++ b/app/Generator/Report/Standard/MonthReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Standard/MultiYearReportGenerator.php b/app/Generator/Report/Standard/MultiYearReportGenerator.php
index abd0ba750e..f1d39e490d 100644
--- a/app/Generator/Report/Standard/MultiYearReportGenerator.php
+++ b/app/Generator/Report/Standard/MultiYearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Standard/YearReportGenerator.php b/app/Generator/Report/Standard/YearReportGenerator.php
index b93c18a820..f60ba98df3 100644
--- a/app/Generator/Report/Standard/YearReportGenerator.php
+++ b/app/Generator/Report/Standard/YearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Tag/MonthReportGenerator.php b/app/Generator/Report/Tag/MonthReportGenerator.php
index 17f63a0765..3f93cb1837 100644
--- a/app/Generator/Report/Tag/MonthReportGenerator.php
+++ b/app/Generator/Report/Tag/MonthReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
diff --git a/app/Generator/Report/Tag/MultiYearReportGenerator.php b/app/Generator/Report/Tag/MultiYearReportGenerator.php
index 26049c1679..1417369653 100644
--- a/app/Generator/Report/Tag/MultiYearReportGenerator.php
+++ b/app/Generator/Report/Tag/MultiYearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Generator/Report/Tag/YearReportGenerator.php b/app/Generator/Report/Tag/YearReportGenerator.php
index 3a1927a61a..7dd107cc17 100644
--- a/app/Generator/Report/Tag/YearReportGenerator.php
+++ b/app/Generator/Report/Tag/YearReportGenerator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Handlers/Events/APIEventHandler.php b/app/Handlers/Events/APIEventHandler.php
index 0b93895ee1..892802a47c 100644
--- a/app/Handlers/Events/APIEventHandler.php
+++ b/app/Handlers/Events/APIEventHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Handlers/Events/AdminEventHandler.php b/app/Handlers/Events/AdminEventHandler.php
index 6d3c09a62b..7ee9b876e9 100644
--- a/app/Handlers/Events/AdminEventHandler.php
+++ b/app/Handlers/Events/AdminEventHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Handlers/Events/AutomationHandler.php b/app/Handlers/Events/AutomationHandler.php
index 05b4fcce6a..4061c65c8d 100644
--- a/app/Handlers/Events/AutomationHandler.php
+++ b/app/Handlers/Events/AutomationHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Handlers/Events/StoredGroupEventHandler.php b/app/Handlers/Events/StoredGroupEventHandler.php
index 7faa916c3a..6f44865eaf 100644
--- a/app/Handlers/Events/StoredGroupEventHandler.php
+++ b/app/Handlers/Events/StoredGroupEventHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Handlers/Events/UpdatedGroupEventHandler.php b/app/Handlers/Events/UpdatedGroupEventHandler.php
index 18bbd8d066..110e5ef1c7 100644
--- a/app/Handlers/Events/UpdatedGroupEventHandler.php
+++ b/app/Handlers/Events/UpdatedGroupEventHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Handlers/Events/UserEventHandler.php b/app/Handlers/Events/UserEventHandler.php
index d19dcfb33a..66937d72c1 100644
--- a/app/Handlers/Events/UserEventHandler.php
+++ b/app/Handlers/Events/UserEventHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection NullPointerExceptionInspection */
declare(strict_types=1);
diff --git a/app/Handlers/Events/VersionCheckEventHandler.php b/app/Handlers/Events/VersionCheckEventHandler.php
index 58d9877afe..9296948ccb 100644
--- a/app/Handlers/Events/VersionCheckEventHandler.php
+++ b/app/Handlers/Events/VersionCheckEventHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection MultipleReturnStatementsInspection */
/** @noinspection NullPointerExceptionInspection */
diff --git a/app/Helpers/Attachments/AttachmentHelper.php b/app/Helpers/Attachments/AttachmentHelper.php
index 72c181be02..8ecc6391e6 100644
--- a/app/Helpers/Attachments/AttachmentHelper.php
+++ b/app/Helpers/Attachments/AttachmentHelper.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Attachments/AttachmentHelperInterface.php b/app/Helpers/Attachments/AttachmentHelperInterface.php
index 8671e4f677..06bfdc39b5 100644
--- a/app/Helpers/Attachments/AttachmentHelperInterface.php
+++ b/app/Helpers/Attachments/AttachmentHelperInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Collector/GroupCollector.php b/app/Helpers/Collector/GroupCollector.php
index 1432ab144d..f945c0fac5 100644
--- a/app/Helpers/Collector/GroupCollector.php
+++ b/app/Helpers/Collector/GroupCollector.php
@@ -3,20 +3,20 @@
* GroupCollector.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -1162,4 +1162,40 @@ class GroupCollector implements GroupCollectorInterface
return $this;
}
+
+ /**
+ * Collect transactions created on a specific date.
+ *
+ * @param Carbon $date
+ *
+ * @return GroupCollectorInterface
+ */
+ public function setCreatedAt(Carbon $date): GroupCollectorInterface
+ {
+ $after = $date->format('Y-m-d 00:00:00');
+ $before = $date->format('Y-m-d 23:59:59');
+ $this->query->where('transaction_journals.created_at', '>=', $after);
+ $this->query->where('transaction_journals.created_at', '<=', $before);
+ Log::debug(sprintf('GroupCollector created_at is now after %s (inclusive)', $after));
+
+ return $this;
+ }
+
+ /**
+ * Collect transactions updated on a specific date.
+ *
+ * @param Carbon $date
+ *
+ * @return GroupCollectorInterface
+ */
+ public function setUpdatedAt(Carbon $date): GroupCollectorInterface
+ {
+ $after = $date->format('Y-m-d 00:00:00');
+ $before = $date->format('Y-m-d 23:59:59');
+ $this->query->where('transaction_journals.updated_at', '>=', $after);
+ $this->query->where('transaction_journals.updated_at', '<=', $before);
+ Log::debug(sprintf('GroupCollector created_at is now after %s (inclusive)', $after));
+
+ return $this;
+ }
}
diff --git a/app/Helpers/Collector/GroupCollectorInterface.php b/app/Helpers/Collector/GroupCollectorInterface.php
index 0ab7a9f5d7..b2785d669e 100644
--- a/app/Helpers/Collector/GroupCollectorInterface.php
+++ b/app/Helpers/Collector/GroupCollectorInterface.php
@@ -3,20 +3,20 @@
* GroupCollectorInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -139,6 +139,24 @@ interface GroupCollectorInterface
*/
public function setAfter(Carbon $date): GroupCollectorInterface;
+ /**
+ * Collect transactions created on a specific date.
+ *
+ * @param Carbon $date
+ *
+ * @return GroupCollectorInterface
+ */
+ public function setCreatedAt(Carbon $date): GroupCollectorInterface;
+
+ /**
+ * Collect transactions updated on a specific date.
+ *
+ * @param Carbon $date
+ *
+ * @return GroupCollectorInterface
+ */
+ public function setUpdatedAt(Carbon $date): GroupCollectorInterface;
+
/**
* Collect transactions before a specific date.
*
diff --git a/app/Helpers/Fiscal/FiscalHelper.php b/app/Helpers/Fiscal/FiscalHelper.php
index 787ec60726..f7e472872e 100644
--- a/app/Helpers/Fiscal/FiscalHelper.php
+++ b/app/Helpers/Fiscal/FiscalHelper.php
@@ -3,20 +3,20 @@
* FiscalHelper.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Fiscal/FiscalHelperInterface.php b/app/Helpers/Fiscal/FiscalHelperInterface.php
index d1917e4172..c3c48296de 100644
--- a/app/Helpers/Fiscal/FiscalHelperInterface.php
+++ b/app/Helpers/Fiscal/FiscalHelperInterface.php
@@ -3,20 +3,20 @@
* FiscalHelperInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Help/Help.php b/app/Helpers/Help/Help.php
index deb8b90f8d..53754547a8 100644
--- a/app/Helpers/Help/Help.php
+++ b/app/Helpers/Help/Help.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Help/HelpInterface.php b/app/Helpers/Help/HelpInterface.php
index 7962423d42..aabfac5e85 100644
--- a/app/Helpers/Help/HelpInterface.php
+++ b/app/Helpers/Help/HelpInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Report/NetWorth.php b/app/Helpers/Report/NetWorth.php
index 4e54426df3..5c1bb1b8ba 100644
--- a/app/Helpers/Report/NetWorth.php
+++ b/app/Helpers/Report/NetWorth.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Report/NetWorthInterface.php b/app/Helpers/Report/NetWorthInterface.php
index b186f8575a..5e4f32a97f 100644
--- a/app/Helpers/Report/NetWorthInterface.php
+++ b/app/Helpers/Report/NetWorthInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Report/PopupReport.php b/app/Helpers/Report/PopupReport.php
index 8c7d36ca53..d69ccb022c 100644
--- a/app/Helpers/Report/PopupReport.php
+++ b/app/Helpers/Report/PopupReport.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Report/PopupReportInterface.php b/app/Helpers/Report/PopupReportInterface.php
index c24f5d12bc..b068ef8012 100644
--- a/app/Helpers/Report/PopupReportInterface.php
+++ b/app/Helpers/Report/PopupReportInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Report/ReportHelper.php b/app/Helpers/Report/ReportHelper.php
index a3b502c873..4a206c2d90 100644
--- a/app/Helpers/Report/ReportHelper.php
+++ b/app/Helpers/Report/ReportHelper.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Report/ReportHelperInterface.php b/app/Helpers/Report/ReportHelperInterface.php
index 5830764cad..dc5a3bc4ef 100644
--- a/app/Helpers/Report/ReportHelperInterface.php
+++ b/app/Helpers/Report/ReportHelperInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Helpers/Update/UpdateTrait.php b/app/Helpers/Update/UpdateTrait.php
index dfc280d99d..002a3fd402 100644
--- a/app/Helpers/Update/UpdateTrait.php
+++ b/app/Helpers/Update/UpdateTrait.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Account/CreateController.php b/app/Http/Controllers/Account/CreateController.php
index 37c1cf9f1f..5aff25f071 100644
--- a/app/Http/Controllers/Account/CreateController.php
+++ b/app/Http/Controllers/Account/CreateController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Account/DeleteController.php b/app/Http/Controllers/Account/DeleteController.php
index 16f870f7bf..7015cd2d61 100644
--- a/app/Http/Controllers/Account/DeleteController.php
+++ b/app/Http/Controllers/Account/DeleteController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Account/EditController.php b/app/Http/Controllers/Account/EditController.php
index 62ca47453c..51c03cab5e 100644
--- a/app/Http/Controllers/Account/EditController.php
+++ b/app/Http/Controllers/Account/EditController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Account/IndexController.php b/app/Http/Controllers/Account/IndexController.php
index 36f0b0e8b3..15769a7890 100644
--- a/app/Http/Controllers/Account/IndexController.php
+++ b/app/Http/Controllers/Account/IndexController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection CallableParameterUseCaseInTypeContextInspection */
declare(strict_types=1);
diff --git a/app/Http/Controllers/Account/ReconcileController.php b/app/Http/Controllers/Account/ReconcileController.php
index 0c7398762a..0c862a9419 100644
--- a/app/Http/Controllers/Account/ReconcileController.php
+++ b/app/Http/Controllers/Account/ReconcileController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection CallableParameterUseCaseInTypeContextInspection */
declare(strict_types=1);
diff --git a/app/Http/Controllers/Account/ShowController.php b/app/Http/Controllers/Account/ShowController.php
index ff2c715d86..790f186f09 100644
--- a/app/Http/Controllers/Account/ShowController.php
+++ b/app/Http/Controllers/Account/ShowController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Admin/ConfigurationController.php b/app/Http/Controllers/Admin/ConfigurationController.php
index f4b7982268..82c3334637 100644
--- a/app/Http/Controllers/Admin/ConfigurationController.php
+++ b/app/Http/Controllers/Admin/ConfigurationController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpUndefinedClassInspection */
declare(strict_types=1);
diff --git a/app/Http/Controllers/Admin/HomeController.php b/app/Http/Controllers/Admin/HomeController.php
index 514185b49c..f0ab332615 100644
--- a/app/Http/Controllers/Admin/HomeController.php
+++ b/app/Http/Controllers/Admin/HomeController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Admin/LinkController.php b/app/Http/Controllers/Admin/LinkController.php
index 4df4519bd8..ca2bff34d0 100644
--- a/app/Http/Controllers/Admin/LinkController.php
+++ b/app/Http/Controllers/Admin/LinkController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Admin/UpdateController.php b/app/Http/Controllers/Admin/UpdateController.php
index 45680074c2..7907624526 100644
--- a/app/Http/Controllers/Admin/UpdateController.php
+++ b/app/Http/Controllers/Admin/UpdateController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpMethodParametersCountMismatchInspection */
declare(strict_types=1);
diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php
index 001eec6061..f2dbcf33d2 100644
--- a/app/Http/Controllers/Admin/UserController.php
+++ b/app/Http/Controllers/Admin/UserController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/AttachmentController.php b/app/Http/Controllers/AttachmentController.php
index 0fc0009e0b..0d4d35d913 100644
--- a/app/Http/Controllers/AttachmentController.php
+++ b/app/Http/Controllers/AttachmentController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php
index 02e886339b..2f28437f89 100644
--- a/app/Http/Controllers/Auth/ForgotPasswordController.php
+++ b/app/Http/Controllers/Auth/ForgotPasswordController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
declare(strict_types=1);
diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php
index f9e43bca2f..6219a4398e 100644
--- a/app/Http/Controllers/Auth/LoginController.php
+++ b/app/Http/Controllers/Auth/LoginController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php
index 272ed44bb4..fb9061802f 100644
--- a/app/Http/Controllers/Auth/RegisterController.php
+++ b/app/Http/Controllers/Auth/RegisterController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
declare(strict_types=1);
diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php
index fe5aeed45c..14daa85fd1 100644
--- a/app/Http/Controllers/Auth/ResetPasswordController.php
+++ b/app/Http/Controllers/Auth/ResetPasswordController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
declare(strict_types=1);
diff --git a/app/Http/Controllers/Auth/TwoFactorController.php b/app/Http/Controllers/Auth/TwoFactorController.php
index b211cb78f3..294496bc2b 100644
--- a/app/Http/Controllers/Auth/TwoFactorController.php
+++ b/app/Http/Controllers/Auth/TwoFactorController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/BillController.php b/app/Http/Controllers/BillController.php
index ff6a517440..42f7ce970e 100644
--- a/app/Http/Controllers/BillController.php
+++ b/app/Http/Controllers/BillController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -264,6 +264,9 @@ class BillController extends Controller
return redirect(route('bills.show', [$bill->id]));
}
+ // unlink all journals:
+ $this->billRepository->unlinkAll($bill);
+
foreach ($set as $rule) {
// simply fire off all rules?
/** @var TransactionMatcher $matcher */
diff --git a/app/Http/Controllers/Budget/AvailableBudgetController.php b/app/Http/Controllers/Budget/AvailableBudgetController.php
index f3d7402505..33b5d9b605 100644
--- a/app/Http/Controllers/Budget/AvailableBudgetController.php
+++ b/app/Http/Controllers/Budget/AvailableBudgetController.php
@@ -3,20 +3,20 @@
* AvailableBudgetController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -147,11 +147,14 @@ class AvailableBudgetController extends Controller
/**
* @param AvailableBudget $availableBudget
*
+ * @param Carbon $start
+ * @param Carbon $end
+ *
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
- public function edit(AvailableBudget $availableBudget)
+ public function edit(AvailableBudget $availableBudget, Carbon $start, Carbon $end)
{
- return view('budgets.available-budgets.edit', compact('availableBudget'));
+ return view('budgets.available-budgets.edit', compact('availableBudget','start','end'));
}
/**
@@ -203,14 +206,17 @@ class AvailableBudgetController extends Controller
* @param Request $request
* @param AvailableBudget $availableBudget
*
+ * @param Carbon $start
+ * @param Carbon $end
+ *
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
- public function update(Request $request, AvailableBudget $availableBudget)
+ public function update(Request $request, AvailableBudget $availableBudget, Carbon $start, Carbon $end)
{
$this->abRepository->update($availableBudget, ['amount' => $request->get('amount')]);
session()->flash('success', trans('firefly.updated_ab'));
- return redirect(route('budgets.index'));
+ return redirect(route('budgets.index', [$start->format('Y-m-d'), $end->format('Y-m-d')]));
}
}
\ No newline at end of file
diff --git a/app/Http/Controllers/Budget/BudgetLimitController.php b/app/Http/Controllers/Budget/BudgetLimitController.php
index 85411c6252..3c108d910a 100644
--- a/app/Http/Controllers/Budget/BudgetLimitController.php
+++ b/app/Http/Controllers/Budget/BudgetLimitController.php
@@ -3,20 +3,20 @@
* BudgetLimitController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -206,6 +206,7 @@ class BudgetLimitController extends Controller
$array['left_per_day'] = bcdiv(bcadd($array['spent'], $array['amount']), $array['days_left']);
// left per day formatted.
+ $array['amount'] = round($limit['amount'], $limit->transactionCurrency->decimal_places);
$array['left_per_day_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, $array['left_per_day']);
return response()->json($array);
diff --git a/app/Http/Controllers/Budget/CreateController.php b/app/Http/Controllers/Budget/CreateController.php
index 61db789ee0..76b54e7497 100644
--- a/app/Http/Controllers/Budget/CreateController.php
+++ b/app/Http/Controllers/Budget/CreateController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Budget/DeleteController.php b/app/Http/Controllers/Budget/DeleteController.php
index 4b40d92b2b..471e65644c 100644
--- a/app/Http/Controllers/Budget/DeleteController.php
+++ b/app/Http/Controllers/Budget/DeleteController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Budget/EditController.php b/app/Http/Controllers/Budget/EditController.php
index 1d02d1bc42..3fb25826bd 100644
--- a/app/Http/Controllers/Budget/EditController.php
+++ b/app/Http/Controllers/Budget/EditController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Budget/IndexController.php b/app/Http/Controllers/Budget/IndexController.php
index 278fef5e1d..96c1738c49 100644
--- a/app/Http/Controllers/Budget/IndexController.php
+++ b/app/Http/Controllers/Budget/IndexController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -167,7 +167,7 @@ class IndexController extends Controller
$currency = $limit->transactionCurrency ?? $defaultCurrency;
$array['budgeted'][] = [
'id' => $limit->id,
- 'amount' => $limit->amount,
+ 'amount' => round($limit->amount, $currency->decimal_places),
'currency_id' => $currency->id,
'currency_symbol' => $currency->symbol,
'currency_name' => $currency->name,
diff --git a/app/Http/Controllers/Budget/ShowController.php b/app/Http/Controllers/Budget/ShowController.php
index 7c09722e6f..d42cded473 100644
--- a/app/Http/Controllers/Budget/ShowController.php
+++ b/app/Http/Controllers/Budget/ShowController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -187,6 +187,7 @@ class ShowController extends Controller
'name' => $budget->name,
'start' => $budgetLimit->start_date->formatLocalized($this->monthAndDayFormat),
'end' => $budgetLimit->end_date->formatLocalized($this->monthAndDayFormat),
+ 'currency' => $budgetLimit->transactionCurrency->name,
]
);
diff --git a/app/Http/Controllers/Category/CreateController.php b/app/Http/Controllers/Category/CreateController.php
index d734fb23b7..165751e2ef 100644
--- a/app/Http/Controllers/Category/CreateController.php
+++ b/app/Http/Controllers/Category/CreateController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\Category;
diff --git a/app/Http/Controllers/Category/DeleteController.php b/app/Http/Controllers/Category/DeleteController.php
index a07d44822b..feb2b6bf8b 100644
--- a/app/Http/Controllers/Category/DeleteController.php
+++ b/app/Http/Controllers/Category/DeleteController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\Category;
diff --git a/app/Http/Controllers/Category/EditController.php b/app/Http/Controllers/Category/EditController.php
index a9dd6cf37d..f8e53ed452 100644
--- a/app/Http/Controllers/Category/EditController.php
+++ b/app/Http/Controllers/Category/EditController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\Category;
diff --git a/app/Http/Controllers/Category/IndexController.php b/app/Http/Controllers/Category/IndexController.php
index 037f80b5eb..2176870bb2 100644
--- a/app/Http/Controllers/Category/IndexController.php
+++ b/app/Http/Controllers/Category/IndexController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\Category;
diff --git a/app/Http/Controllers/Category/NoCategoryController.php b/app/Http/Controllers/Category/NoCategoryController.php
index c63bd85d0c..c65fa67c8f 100644
--- a/app/Http/Controllers/Category/NoCategoryController.php
+++ b/app/Http/Controllers/Category/NoCategoryController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -95,6 +95,7 @@ class NoCategoryController extends Controller
$collector = app(GroupCollectorInterface::class);
$collector->setRange($start, $end)
->setLimit($pageSize)->setPage($page)->withoutCategory()
+ ->withAccountInformation()->withBudgetInformation()
->setTypes([TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::TRANSFER]);
$groups = $collector->getPaginatedGroups();
$groups->setPath(route('categories.no-category'));
@@ -129,6 +130,7 @@ class NoCategoryController extends Controller
/** @var GroupCollectorInterface $collector */
$collector = app(GroupCollectorInterface::class);
$collector->setRange($start, $end)->setLimit($pageSize)->setPage($page)->withoutCategory()
+ ->withAccountInformation()->withBudgetInformation()
->setTypes([TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::TRANSFER]);
$groups = $collector->getPaginatedGroups();
$groups->setPath(route('categories.no-category.all'));
diff --git a/app/Http/Controllers/Category/ShowController.php b/app/Http/Controllers/Category/ShowController.php
index bf6b8e327e..b142c63850 100644
--- a/app/Http/Controllers/Category/ShowController.php
+++ b/app/Http/Controllers/Category/ShowController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -85,7 +85,7 @@ class ShowController extends Controller
$subTitleIcon = 'fa-bar-chart';
$page = (int)$request->get('page');
$pageSize = (int)app('preferences')->get('listPageSize', 50)->data;
- $oldest = $this->repository->firstUseDate($category) ?? Carbon::create()->startOfYear();
+ $oldest = $this->repository->firstUseDate($category) ?? Carbon::now()->startOfYear();
$periods = $this->getCategoryPeriodOverview($category, $oldest, $end);
$path = route('categories.show', [$category->id, $start->format('Y-m-d'), $end->format('Y-m-d')]);
$subTitle = trans(
diff --git a/app/Http/Controllers/Chart/AccountController.php b/app/Http/Controllers/Chart/AccountController.php
index 569271cbf7..8f831af2a2 100644
--- a/app/Http/Controllers/Chart/AccountController.php
+++ b/app/Http/Controllers/Chart/AccountController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Chart/BillController.php b/app/Http/Controllers/Chart/BillController.php
index bd079cb551..c6fedb3419 100644
--- a/app/Http/Controllers/Chart/BillController.php
+++ b/app/Http/Controllers/Chart/BillController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Chart/BudgetController.php b/app/Http/Controllers/Chart/BudgetController.php
index 8e7650b943..928e4e95a0 100644
--- a/app/Http/Controllers/Chart/BudgetController.php
+++ b/app/Http/Controllers/Chart/BudgetController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -137,8 +137,6 @@ class BudgetController extends Controller
/**
* Shows the amount left in a specific budget limit.
*
- * TODO this chart is not multi-currency aware.
- *
* @param Budget $budget
* @param BudgetLimit $budgetLimit
*
@@ -177,6 +175,8 @@ class BudgetController extends Controller
$start->addDay();
}
$data = $this->generator->singleSet((string)trans('firefly.left'), $entries);
+ // add currency symbol from budget limit:
+ $data['datasets'][0]['currency_symbol'] = $budgetLimit->transactionCurrency->symbol;
$cache->store($data);
return response()->json($data);
@@ -186,14 +186,12 @@ class BudgetController extends Controller
/**
* Shows how much is spent per asset account.
*
- * TODO this chart is not multi-currency aware.
- *
* @param Budget $budget
* @param BudgetLimit|null $budgetLimit
*
* @return JsonResponse
*/
- public function expenseAsset(Budget $budget, ?BudgetLimit $budgetLimit): JsonResponse
+ public function expenseAsset(Budget $budget, ?BudgetLimit $budgetLimit = null): JsonResponse
{
$budgetLimitId = null === $budgetLimit ? 0 : $budgetLimit->id;
$cache = new CacheProperties;
@@ -208,24 +206,38 @@ class BudgetController extends Controller
$collector = app(GroupCollectorInterface::class);
$collector->setBudget($budget);
if (null !== $budgetLimit) {
- $collector->setRange($budgetLimit->start_date, $budgetLimit->end_date);
+ $collector->setRange($budgetLimit->start_date, $budgetLimit->end_date)
+ ->setCurrency($budgetLimit->transactionCurrency);
}
+ if (null === $budgetLimit) {
+ $collector->setRange(session()->get('start'), session()->get('end'));
+ }
+
$journals = $collector->getExtractedJournals();
$result = [];
$chartData = [];
+
+ // group by asset account ID:
foreach ($journals as $journal) {
- $assetId = (int)$journal['destination_account_id'];
- $result[$assetId] = $result[$assetId] ?? '0';
- $result[$assetId] = bcadd($journal['amount'], $result[$assetId]);
+ $assetId = (int)$journal['destination_account_id'];
+ $result[$assetId] = $result[$assetId] ?? [
+ 'amount' => '0',
+ 'currency_symbol' => $journal['currency_symbol'],
+ ];
+ $result[$assetId]['amount'] = bcadd($journal['amount'], $result[$assetId]['amount']);
}
$names = $this->getAccountNames(array_keys($result));
- foreach ($result as $assetId => $amount) {
- $chartData[$names[$assetId]] = $amount;
+ foreach ($result as $assetId => $info) {
+ $chartData[$names[$assetId]]
+ = [
+ 'amount' => $info['amount'],
+ 'currency_symbol' => $info['currency_symbol'],
+ ];
}
- $data = $this->generator->pieChart($chartData);
+ $data = $this->generator->multiCurrencyPieChart($chartData);
$cache->store($data);
return response()->json($data);
@@ -235,14 +247,12 @@ class BudgetController extends Controller
/**
* Shows how much is spent per category.
*
- * TODO this chart is not multi-currency aware.
- *
* @param Budget $budget
* @param BudgetLimit|null $budgetLimit
*
* @return JsonResponse
*/
- public function expenseCategory(Budget $budget, ?BudgetLimit $budgetLimit): JsonResponse
+ public function expenseCategory(Budget $budget, ?BudgetLimit $budgetLimit = null): JsonResponse
{
$budgetLimitId = null === $budgetLimit ? 0 : $budgetLimit->id;
$cache = new CacheProperties;
@@ -257,23 +267,33 @@ class BudgetController extends Controller
$collector = app(GroupCollectorInterface::class);
$collector->setBudget($budget)->withCategoryInformation();
if (null !== $budgetLimit) {
- $collector->setRange($budgetLimit->start_date, $budgetLimit->end_date);
+ $collector->setRange($budgetLimit->start_date, $budgetLimit->end_date)
+ ->setCurrency($budgetLimit->transactionCurrency);
+ }
+ if (null === $budgetLimit) {
+ $collector->setRange(session()->get('start'), session()->get('end'));
}
$journals = $collector->getExtractedJournals();
$result = [];
$chartData = [];
foreach ($journals as $journal) {
- $categoryId = (int)$journal['category_id'];
- $result[$categoryId] = $result[$categoryId] ?? '0';
- $result[$categoryId] = bcadd($journal['amount'], $result[$categoryId]);
+ $categoryId = (int)$journal['category_id'];
+ $result[$categoryId] = $result[$categoryId] ?? [
+ 'amount' => '0',
+ 'currency_symbol' => $journal['currency_symbol'],
+ ];
+ $result[$categoryId]['amount'] = bcadd($journal['amount'], $result[$categoryId]['amount']);
}
$names = $this->getCategoryNames(array_keys($result));
- foreach ($result as $categoryId => $amount) {
- $chartData[$names[$categoryId]] = $amount;
+ foreach ($result as $categoryId => $info) {
+ $chartData[$names[$categoryId]] = [
+ 'amount' => $info['amount'],
+ 'currency_symbol' => $info['currency_symbol'],
+ ];
}
- $data = $this->generator->pieChart($chartData);
+ $data = $this->generator->multiCurrencyPieChart($chartData);
$cache->store($data);
return response()->json($data);
@@ -283,14 +303,13 @@ class BudgetController extends Controller
/**
* Shows how much is spent per expense account.
*
- * TODO this chart is not multi-currency aware.
*
* @param Budget $budget
* @param BudgetLimit|null $budgetLimit
*
* @return JsonResponse
*/
- public function expenseExpense(Budget $budget, ?BudgetLimit $budgetLimit): JsonResponse
+ public function expenseExpense(Budget $budget, ?BudgetLimit $budgetLimit = null): JsonResponse
{
$budgetLimitId = null === $budgetLimit ? 0 : $budgetLimit->id;
$cache = new CacheProperties;
@@ -305,7 +324,12 @@ class BudgetController extends Controller
$collector = app(GroupCollectorInterface::class);
$collector->setTypes([TransactionType::WITHDRAWAL])->setBudget($budget)->withAccountInformation();
if (null !== $budgetLimit) {
- $collector->setRange($budgetLimit->start_date, $budgetLimit->end_date);
+ $collector->setRange($budgetLimit->start_date, $budgetLimit->end_date)
+ ->setCurrency($budgetLimit->transactionCurrency);
+ }
+
+ if (null === $budgetLimit) {
+ $collector->setRange(session()->get('start'), session()->get('end'));
}
$journals = $collector->getExtractedJournals();
@@ -313,18 +337,24 @@ class BudgetController extends Controller
$chartData = [];
/** @var array $journal */
foreach ($journals as $journal) {
- $opposingId = (int)$journal['destination_account_id'];
- $result[$opposingId] = $result[$opposingId] ?? '0';
- $result[$opposingId] = bcadd($journal['amount'], $result[$opposingId]);
+ $opposingId = (int)$journal['destination_account_id'];
+ $result[$opposingId] = $result[$opposingId] ?? [
+ 'amount' => '0',
+ 'currency_symbol' => $journal['currency_symbol'],
+ ];
+ $result[$opposingId]['amount'] = bcadd($journal['amount'], $result[$opposingId]['amount']);
}
$names = $this->getAccountNames(array_keys($result));
- foreach ($result as $opposingId => $amount) {
+ foreach ($result as $opposingId => $info) {
$name = $names[$opposingId] ?? 'no name';
- $chartData[$name] = $amount;
+ $chartData[$name] = [
+ 'amount' => $info['amount'],
+ 'currency_symbol' => $info['currency_symbol'],
+ ];
}
- $data = $this->generator->pieChart($chartData);
+ $data = $this->generator->multiCurrencyPieChart($chartData);
$cache->store($data);
return response()->json($data);
diff --git a/app/Http/Controllers/Chart/BudgetReportController.php b/app/Http/Controllers/Chart/BudgetReportController.php
index 2de4fa6ab1..15085d3a02 100644
--- a/app/Http/Controllers/Chart/BudgetReportController.php
+++ b/app/Http/Controllers/Chart/BudgetReportController.php
@@ -1,23 +1,22 @@
-.
- */
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */ /** @noinspection MoreThanThreeArgumentsInspection */
declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Chart;
diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php
index 55e441a966..a4cc30f46c 100644
--- a/app/Http/Controllers/Chart/CategoryController.php
+++ b/app/Http/Controllers/Chart/CategoryController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Chart/CategoryReportController.php b/app/Http/Controllers/Chart/CategoryReportController.php
index 5a90297504..bafb48af6e 100644
--- a/app/Http/Controllers/Chart/CategoryReportController.php
+++ b/app/Http/Controllers/Chart/CategoryReportController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Chart/DoubleReportController.php b/app/Http/Controllers/Chart/DoubleReportController.php
index 17c1afa11a..ed0ad224d9 100644
--- a/app/Http/Controllers/Chart/DoubleReportController.php
+++ b/app/Http/Controllers/Chart/DoubleReportController.php
@@ -3,20 +3,20 @@
* DoubleReportController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Chart/ExpenseReportController.php b/app/Http/Controllers/Chart/ExpenseReportController.php
index 125c9319c3..188f87a19a 100644
--- a/app/Http/Controllers/Chart/ExpenseReportController.php
+++ b/app/Http/Controllers/Chart/ExpenseReportController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Chart/PiggyBankController.php b/app/Http/Controllers/Chart/PiggyBankController.php
index a558e6fbb7..55f79b06e6 100644
--- a/app/Http/Controllers/Chart/PiggyBankController.php
+++ b/app/Http/Controllers/Chart/PiggyBankController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Chart/ReportController.php b/app/Http/Controllers/Chart/ReportController.php
index 4c9e143444..57114a12b8 100644
--- a/app/Http/Controllers/Chart/ReportController.php
+++ b/app/Http/Controllers/Chart/ReportController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Chart/TagReportController.php b/app/Http/Controllers/Chart/TagReportController.php
index b5027d2f98..5461e94d77 100644
--- a/app/Http/Controllers/Chart/TagReportController.php
+++ b/app/Http/Controllers/Chart/TagReportController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php
index 1a8c733fc1..cc22fd0c0b 100644
--- a/app/Http/Controllers/Controller.php
+++ b/app/Http/Controllers/Controller.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/CurrencyController.php b/app/Http/Controllers/CurrencyController.php
index 1db9a11387..06aa55f56b 100644
--- a/app/Http/Controllers/CurrencyController.php
+++ b/app/Http/Controllers/CurrencyController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/DebugController.php b/app/Http/Controllers/DebugController.php
index 0ce7447027..cd49ca989b 100644
--- a/app/Http/Controllers/DebugController.php
+++ b/app/Http/Controllers/DebugController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/HelpController.php b/app/Http/Controllers/HelpController.php
index a3b8f55a14..b2d92b4f89 100644
--- a/app/Http/Controllers/HelpController.php
+++ b/app/Http/Controllers/HelpController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php
index 3f37271b08..23dac0a86f 100644
--- a/app/Http/Controllers/HomeController.php
+++ b/app/Http/Controllers/HomeController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Import/CallbackController.php b/app/Http/Controllers/Import/CallbackController.php
index 95f0fca4d1..92904d6c6c 100644
--- a/app/Http/Controllers/Import/CallbackController.php
+++ b/app/Http/Controllers/Import/CallbackController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Import/IndexController.php b/app/Http/Controllers/Import/IndexController.php
index 755b854a47..09c931bc22 100644
--- a/app/Http/Controllers/Import/IndexController.php
+++ b/app/Http/Controllers/Import/IndexController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Import/JobConfigurationController.php b/app/Http/Controllers/Import/JobConfigurationController.php
index ed921f5092..5c1c75d7fb 100644
--- a/app/Http/Controllers/Import/JobConfigurationController.php
+++ b/app/Http/Controllers/Import/JobConfigurationController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Import/JobStatusController.php b/app/Http/Controllers/Import/JobStatusController.php
index abde77bc25..37957864c6 100644
--- a/app/Http/Controllers/Import/JobStatusController.php
+++ b/app/Http/Controllers/Import/JobStatusController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Import/PrerequisitesController.php b/app/Http/Controllers/Import/PrerequisitesController.php
index 3ae9a1bbc2..1a876d02f3 100644
--- a/app/Http/Controllers/Import/PrerequisitesController.php
+++ b/app/Http/Controllers/Import/PrerequisitesController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/JavascriptController.php b/app/Http/Controllers/JavascriptController.php
index 639695c320..45f412d52e 100644
--- a/app/Http/Controllers/JavascriptController.php
+++ b/app/Http/Controllers/JavascriptController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Json/AutoCompleteController.php b/app/Http/Controllers/Json/AutoCompleteController.php
index 17b1115417..6b57ab8d8a 100644
--- a/app/Http/Controllers/Json/AutoCompleteController.php
+++ b/app/Http/Controllers/Json/AutoCompleteController.php
@@ -1,27 +1,28 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Json;
+use Carbon\Carbon;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
@@ -62,6 +63,7 @@ class AutoCompleteController extends Controller
// filter the account types:
$allowedAccountTypes = [AccountType::ASSET, AccountType::EXPENSE, AccountType::REVENUE, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE,];
+ $balanceTypes = [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE,];
$filteredAccountTypes = [];
foreach ($accountTypes as $type) {
if (in_array($type, $allowedAccountTypes, true)) {
@@ -79,11 +81,18 @@ class AutoCompleteController extends Controller
/** @var Account $account */
foreach ($result as $account) {
- $currency = $repository->getAccountCurrency($account);
- $currency = $currency ?? $defaultCurrency;
+ $nameWithBalance = $account->name;
+ $currency = $repository->getAccountCurrency($account) ?? $defaultCurrency;
+
+ if (in_array($account->accountType->type, $balanceTypes, true)) {
+ $balance = app('steam')->balance($account, new Carbon);
+ $nameWithBalance = sprintf('%s (%s)', $account->name, app('amount')->formatAnything($currency, $balance, false));
+ }
+
$return[] = [
'id' => $account->id,
'name' => $account->name,
+ 'name_with_balance' => $nameWithBalance,
'type' => $account->accountType->type,
'currency_id' => $currency->id,
'currency_name' => $currency->name,
diff --git a/app/Http/Controllers/Json/BoxController.php b/app/Http/Controllers/Json/BoxController.php
index 050b25f2e4..3a5074eed5 100644
--- a/app/Http/Controllers/Json/BoxController.php
+++ b/app/Http/Controllers/Json/BoxController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Json/ExchangeController.php b/app/Http/Controllers/Json/ExchangeController.php
index b5aca1ae53..3274cd8640 100644
--- a/app/Http/Controllers/Json/ExchangeController.php
+++ b/app/Http/Controllers/Json/ExchangeController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Json/FrontpageController.php b/app/Http/Controllers/Json/FrontpageController.php
index b193aad99f..3038ebd4c5 100644
--- a/app/Http/Controllers/Json/FrontpageController.php
+++ b/app/Http/Controllers/Json/FrontpageController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Json/IntroController.php b/app/Http/Controllers/Json/IntroController.php
index 3d43810b4d..4a890c4815 100644
--- a/app/Http/Controllers/Json/IntroController.php
+++ b/app/Http/Controllers/Json/IntroController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Json/ReconcileController.php b/app/Http/Controllers/Json/ReconcileController.php
index 28d8f3f425..b8f9491843 100644
--- a/app/Http/Controllers/Json/ReconcileController.php
+++ b/app/Http/Controllers/Json/ReconcileController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Json/RecurrenceController.php b/app/Http/Controllers/Json/RecurrenceController.php
index ab89502040..bfb544c2f3 100644
--- a/app/Http/Controllers/Json/RecurrenceController.php
+++ b/app/Http/Controllers/Json/RecurrenceController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Json/RuleController.php b/app/Http/Controllers/Json/RuleController.php
index dd7a2f8245..615cd76b66 100644
--- a/app/Http/Controllers/Json/RuleController.php
+++ b/app/Http/Controllers/Json/RuleController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\Json;
diff --git a/app/Http/Controllers/NewUserController.php b/app/Http/Controllers/NewUserController.php
index 61d7385bb6..b658217f87 100644
--- a/app/Http/Controllers/NewUserController.php
+++ b/app/Http/Controllers/NewUserController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/PiggyBankController.php b/app/Http/Controllers/PiggyBankController.php
index 518d9e74dd..4f0c5ea792 100644
--- a/app/Http/Controllers/PiggyBankController.php
+++ b/app/Http/Controllers/PiggyBankController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -89,14 +89,7 @@ class PiggyBankController extends Controller
$savedSoFar = $this->piggyRepos->getCurrentAmount($piggyBank);
$leftToSave = bcsub($piggyBank->targetamount, $savedSoFar);
$maxAmount = min($leftOnAccount, $leftToSave);
-
- // get currency:
- $currency = app('amount')->getDefaultCurrency();
- // TODO we can use getAccountCurrency() instead
- $currencyId = (int)$this->accountRepos->getMetaValue($piggyBank->account, 'currency_id');
- if ($currencyId > 0) {
- $currency = $this->currencyRepos->findNull($currencyId);
- }
+ $currency = $this->accountRepos->getAccountCurrency($piggyBank->account) ?? app('amount')->getDefaultCurrency();
return view('piggy-banks.add', compact('piggyBank', 'maxAmount', 'currency'));
}
@@ -116,14 +109,7 @@ class PiggyBankController extends Controller
$savedSoFar = $this->piggyRepos->getCurrentAmount($piggyBank);
$leftToSave = bcsub($piggyBank->targetamount, $savedSoFar);
$maxAmount = min($leftOnAccount, $leftToSave);
-
- // get currency:
- $currency = app('amount')->getDefaultCurrency();
- // TODO we can use getAccountCurrency() instead
- $currencyId = (int)$this->accountRepos->getMetaValue($piggyBank->account, 'currency_id');
- if ($currencyId > 0) {
- $currency = $this->currencyRepos->findNull($currencyId);
- }
+ $currency = $this->accountRepos->getAccountCurrency($piggyBank->account) ?? app('amount')->getDefaultCurrency();
return view('piggy-banks.add-mobile', compact('piggyBank', 'maxAmount', 'currency'));
}
@@ -292,12 +278,11 @@ class PiggyBankController extends Controller
*/
public function postAdd(Request $request, PiggyBank $piggyBank): RedirectResponse
{
- $amount = $request->get('amount') ?? '0';
- $currency = app('amount')->getDefaultCurrency();
- // TODO we can use getAccountCurrency() instead
- $currencyId = (int)$this->accountRepos->getMetaValue($piggyBank->account, 'currency_id');
- if ($currencyId > 0) {
- $currency = $this->currencyRepos->findNull($currencyId);
+ $amount = $request->get('amount') ?? '0';
+ $currency = $this->accountRepos->getAccountCurrency($piggyBank->account) ?? app('amount')->getDefaultCurrency();
+ // if amount is negative, make positive and continue:
+ if (-1 === bccomp($amount, '0')) {
+ $amount = bcmul($amount, '-1');
}
if ($this->piggyRepos->canAddAmount($piggyBank, $amount)) {
$this->piggyRepos->addAmount($piggyBank, $amount);
@@ -335,12 +320,11 @@ class PiggyBankController extends Controller
*/
public function postRemove(Request $request, PiggyBank $piggyBank): RedirectResponse
{
- $amount = $request->get('amount') ?? '0';
- $currency = app('amount')->getDefaultCurrency();
- // TODO we can use getAccountCurrency() instead
- $currencyId = (int)$this->accountRepos->getMetaValue($piggyBank->account, 'currency_id');
- if ($currencyId > 0) {
- $currency = $this->currencyRepos->findNull($currencyId);
+ $amount = $request->get('amount') ?? '0';
+ $currency = $this->accountRepos->getAccountCurrency($piggyBank->account) ?? app('amount')->getDefaultCurrency();
+ // if amount is negative, make positive and continue:
+ if (-1 === bccomp($amount, '0')) {
+ $amount = bcmul($amount, '-1');
}
if ($this->piggyRepos->canRemoveAmount($piggyBank, $amount)) {
$this->piggyRepos->removeAmount($piggyBank, $amount);
@@ -379,13 +363,7 @@ class PiggyBankController extends Controller
public function remove(PiggyBank $piggyBank)
{
$repetition = $this->piggyRepos->getRepetition($piggyBank);
- // get currency:
- $currency = app('amount')->getDefaultCurrency();
- // TODO we can use getAccountCurrency() instead
- $currencyId = (int)$this->accountRepos->getMetaValue($piggyBank->account, 'currency_id');
- if ($currencyId > 0) {
- $currency = $this->currencyRepos->findNull($currencyId);
- }
+ $currency = $this->accountRepos->getAccountCurrency($piggyBank->account) ?? app('amount')->getDefaultCurrency();
return view('piggy-banks.remove', compact('piggyBank', 'repetition', 'currency'));
}
@@ -400,14 +378,7 @@ class PiggyBankController extends Controller
public function removeMobile(PiggyBank $piggyBank)
{
$repetition = $this->piggyRepos->getRepetition($piggyBank);
- // get currency:
- $currency = app('amount')->getDefaultCurrency();
- // TODO we can use getAccountCurrency() instead
- $currencyId = (int)$this->accountRepos->getMetaValue($piggyBank->account, 'currency_id');
- if ($currencyId > 0) {
- $currency = $this->currencyRepos->findNull($currencyId);
- }
-
+ $currency = $this->accountRepos->getAccountCurrency($piggyBank->account) ?? app('amount')->getDefaultCurrency();
return view('piggy-banks.remove-mobile', compact('piggyBank', 'repetition', 'currency'));
}
diff --git a/app/Http/Controllers/Popup/ReportController.php b/app/Http/Controllers/Popup/ReportController.php
index 6915a6581e..11200f0849 100644
--- a/app/Http/Controllers/Popup/ReportController.php
+++ b/app/Http/Controllers/Popup/ReportController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/PreferencesController.php b/app/Http/Controllers/PreferencesController.php
index 7885276fb2..37a994712e 100644
--- a/app/Http/Controllers/PreferencesController.php
+++ b/app/Http/Controllers/PreferencesController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Profile/DataController.php b/app/Http/Controllers/Profile/DataController.php
new file mode 100644
index 0000000000..2a9f3bc735
--- /dev/null
+++ b/app/Http/Controllers/Profile/DataController.php
@@ -0,0 +1,89 @@
+.
+ */
+
+namespace FireflyIII\Http\Controllers\Profile;
+
+
+use FireflyIII\Http\Controllers\Controller;
+use FireflyIII\Repositories\Budget\AvailableBudgetRepositoryInterface;
+use FireflyIII\Repositories\Budget\BudgetLimitRepositoryInterface;
+use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
+use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
+use FireflyIII\Repositories\Tag\TagRepositoryInterface;
+use Illuminate\Http\RedirectResponse;
+
+/**
+ * Class DataController
+ */
+class DataController extends Controller
+{
+
+ /**
+ *
+ */
+ public function deleteBudgets(): RedirectResponse
+ {
+ /** @var AvailableBudgetRepositoryInterface $abRepository */
+ $abRepository = app(AvailableBudgetRepositoryInterface::class);
+ $abRepository->destroyAll();
+
+ /** @var BudgetLimitRepositoryInterface $blRepository */
+ $blRepository = app(BudgetLimitRepositoryInterface::class);
+ $blRepository->destroyAll();
+
+ /** @var BudgetRepositoryInterface $budgetRepository */
+ $budgetRepository = app(BudgetRepositoryInterface::class);
+ $budgetRepository->destroyAll();
+
+ session()->flash('success', trans('firefly.deleted_all_budgets'));
+
+ return redirect(route('profile.index'));
+ }
+
+ /**
+ *
+ */
+ public function deleteCategories(): RedirectResponse
+ {
+ /** @var CategoryRepositoryInterface $categoryRepos */
+ $categoryRepos = app(CategoryRepositoryInterface::class);
+ $categoryRepos->destroyAll();
+
+ session()->flash('success', trans('firefly.deleted_all_categories'));
+
+ return redirect(route('profile.index'));
+ }
+
+
+ /**
+ *
+ */
+ public function deleteTags(): RedirectResponse
+ {
+ /** @var TagRepositoryInterface $tagRepository */
+ $tagRepository = app(TagRepositoryInterface::class);
+ $tagRepository->destroyAll();
+
+ session()->flash('success', trans('firefly.deleted_all_tags'));
+
+ return redirect(route('profile.index'));
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php
index 49c70704f8..2c2aa1f2ab 100644
--- a/app/Http/Controllers/ProfileController.php
+++ b/app/Http/Controllers/ProfileController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Recurring/CreateController.php b/app/Http/Controllers/Recurring/CreateController.php
index 4606a6d6ac..b567a78c30 100644
--- a/app/Http/Controllers/Recurring/CreateController.php
+++ b/app/Http/Controllers/Recurring/CreateController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Recurring/DeleteController.php b/app/Http/Controllers/Recurring/DeleteController.php
index 5ad24fce6c..1077ae0495 100644
--- a/app/Http/Controllers/Recurring/DeleteController.php
+++ b/app/Http/Controllers/Recurring/DeleteController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Recurring/EditController.php b/app/Http/Controllers/Recurring/EditController.php
index ee14c94334..04f40d4a28 100644
--- a/app/Http/Controllers/Recurring/EditController.php
+++ b/app/Http/Controllers/Recurring/EditController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Recurring/IndexController.php b/app/Http/Controllers/Recurring/IndexController.php
index 4e45f5984e..a6fb67f286 100644
--- a/app/Http/Controllers/Recurring/IndexController.php
+++ b/app/Http/Controllers/Recurring/IndexController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpMethodParametersCountMismatchInspection */
declare(strict_types=1);
diff --git a/app/Http/Controllers/Recurring/ShowController.php b/app/Http/Controllers/Recurring/ShowController.php
index c0892aafe5..23f7db32f1 100644
--- a/app/Http/Controllers/Recurring/ShowController.php
+++ b/app/Http/Controllers/Recurring/ShowController.php
@@ -3,20 +3,20 @@
* ShowController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Report/AccountController.php b/app/Http/Controllers/Report/AccountController.php
index 2f7e9f524e..e43ad838c8 100644
--- a/app/Http/Controllers/Report/AccountController.php
+++ b/app/Http/Controllers/Report/AccountController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Report/BalanceController.php b/app/Http/Controllers/Report/BalanceController.php
index cf243e04b3..d3d7c79c3c 100644
--- a/app/Http/Controllers/Report/BalanceController.php
+++ b/app/Http/Controllers/Report/BalanceController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Report/BillController.php b/app/Http/Controllers/Report/BillController.php
index 939b35f447..7f36459fd6 100644
--- a/app/Http/Controllers/Report/BillController.php
+++ b/app/Http/Controllers/Report/BillController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\Report;
diff --git a/app/Http/Controllers/Report/BudgetController.php b/app/Http/Controllers/Report/BudgetController.php
index 2b3613a517..4412216bfa 100644
--- a/app/Http/Controllers/Report/BudgetController.php
+++ b/app/Http/Controllers/Report/BudgetController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -388,7 +388,7 @@ class BudgetController extends Controller
];
$noBudget = $this->nbRepository->sumExpenses($start, $end);
foreach ($noBudget as $noBudgetEntry) {
- $report['budgets'][0]['budget_limits'][] = [
+ $report['budgets'][0]['budget_limits'][] = [
'budget_limit_id' => null,
'start_date' => $start,
'end_date' => $end,
@@ -404,7 +404,8 @@ class BudgetController extends Controller
'currency_symbol' => $noBudgetEntry['currency_symbol'],
'currency_decimal_places' => $noBudgetEntry['currency_decimal_places'],
];
- $report['sums'][$noBudgetEntry['currency_id']]['spent'] = bcadd($report['sums'][$noBudgetEntry['currency_id']]['spent'], $noBudgetEntry['sum']);
+ $report['sums'][$noBudgetEntry['currency_id']]['spent']
+ = bcadd($report['sums'][$noBudgetEntry['currency_id']]['spent'] ?? '0', $noBudgetEntry['sum']);
}
// make percentages based on total amount.
@@ -480,10 +481,12 @@ class BudgetController extends Controller
$report = [];
foreach ($expenses as $currency) {
foreach ($currency['budgets'] as $budget) {
+ $count = 0;
foreach ($budget['transaction_journals'] as $journal) {
- $key = sprintf('%d-%d', $budget['id'], $currency['currency_id']);
- $dateKey = $journal['date']->format($keyFormat);
- $report[$key] = $report[$key] ?? [
+ $count++;
+ $key = sprintf('%d-%d', $budget['id'], $currency['currency_id']);
+ $dateKey = $journal['date']->format($keyFormat);
+ $report[$key] = $report[$key] ?? [
'id' => $budget['id'],
'name' => sprintf('%s (%s)', $budget['name'], $currency['currency_name']),
'sum' => '0',
@@ -494,9 +497,10 @@ class BudgetController extends Controller
'currency_decimal_places' => $currency['currency_decimal_places'],
'entries' => [],
];
- $report[$key] ['entries'][$dateKey] = $report[$key] ['entries'][$dateKey] ?? '0';
- $report[$key] ['entries'][$dateKey] = bcadd($journal['amount'], $report[$key] ['entries'][$dateKey]);
- $report[$key] ['sum'] = bcadd($report[$key] ['sum'], $journal['amount']);
+ $report[$key]['entries'][$dateKey] = $report[$key] ['entries'][$dateKey] ?? '0';
+ $report[$key]['entries'][$dateKey] = bcadd($journal['amount'], $report[$key] ['entries'][$dateKey]);
+ $report[$key]['sum'] = bcadd($report[$key] ['sum'], $journal['amount']);
+ $report[$key]['avg'] = bcdiv($report[$key]['sum'], (string)$count);
}
}
}
diff --git a/app/Http/Controllers/Report/CategoryController.php b/app/Http/Controllers/Report/CategoryController.php
index b071a15d05..7bcc71ef09 100644
--- a/app/Http/Controllers/Report/CategoryController.php
+++ b/app/Http/Controllers/Report/CategoryController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Report/DoubleController.php b/app/Http/Controllers/Report/DoubleController.php
index be34f9cea4..f5ebf4c8f4 100644
--- a/app/Http/Controllers/Report/DoubleController.php
+++ b/app/Http/Controllers/Report/DoubleController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Report/OperationsController.php b/app/Http/Controllers/Report/OperationsController.php
index 2bf4de6237..0f591409d5 100644
--- a/app/Http/Controllers/Report/OperationsController.php
+++ b/app/Http/Controllers/Report/OperationsController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Report/TagController.php b/app/Http/Controllers/Report/TagController.php
index fcf9c6afa0..c7694edc2c 100644
--- a/app/Http/Controllers/Report/TagController.php
+++ b/app/Http/Controllers/Report/TagController.php
@@ -3,20 +3,20 @@
* TagController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php
index f26f4680ec..2de04d6f17 100644
--- a/app/Http/Controllers/ReportController.php
+++ b/app/Http/Controllers/ReportController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection CallableParameterUseCaseInTypeContextInspection */
declare(strict_types=1);
diff --git a/app/Http/Controllers/Rule/CreateController.php b/app/Http/Controllers/Rule/CreateController.php
index c513838461..a655c17508 100644
--- a/app/Http/Controllers/Rule/CreateController.php
+++ b/app/Http/Controllers/Rule/CreateController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Rule/DeleteController.php b/app/Http/Controllers/Rule/DeleteController.php
index 61f605ef2f..c3b38d16ff 100644
--- a/app/Http/Controllers/Rule/DeleteController.php
+++ b/app/Http/Controllers/Rule/DeleteController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Rule/EditController.php b/app/Http/Controllers/Rule/EditController.php
index 4e33ddbcaa..ec60dfce0a 100644
--- a/app/Http/Controllers/Rule/EditController.php
+++ b/app/Http/Controllers/Rule/EditController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Rule/IndexController.php b/app/Http/Controllers/Rule/IndexController.php
index 7bba8ffa4c..03f865fc0c 100644
--- a/app/Http/Controllers/Rule/IndexController.php
+++ b/app/Http/Controllers/Rule/IndexController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Rule/SelectController.php b/app/Http/Controllers/Rule/SelectController.php
index 0ce060de02..cada198931 100644
--- a/app/Http/Controllers/Rule/SelectController.php
+++ b/app/Http/Controllers/Rule/SelectController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/RuleGroup/CreateController.php b/app/Http/Controllers/RuleGroup/CreateController.php
index b43bff8ea8..09fda77f04 100644
--- a/app/Http/Controllers/RuleGroup/CreateController.php
+++ b/app/Http/Controllers/RuleGroup/CreateController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\RuleGroup;
diff --git a/app/Http/Controllers/RuleGroup/DeleteController.php b/app/Http/Controllers/RuleGroup/DeleteController.php
index 19651ef127..d372342067 100644
--- a/app/Http/Controllers/RuleGroup/DeleteController.php
+++ b/app/Http/Controllers/RuleGroup/DeleteController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\RuleGroup;
diff --git a/app/Http/Controllers/RuleGroup/EditController.php b/app/Http/Controllers/RuleGroup/EditController.php
index aa80339d50..d1747dbdf7 100644
--- a/app/Http/Controllers/RuleGroup/EditController.php
+++ b/app/Http/Controllers/RuleGroup/EditController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\RuleGroup;
use FireflyIII\Http\Controllers\Controller;
@@ -125,8 +126,8 @@ class EditController extends Controller
public function update(RuleGroupFormRequest $request, RuleGroup $ruleGroup)
{
$data = [
- 'title' => $request->input('title'),
- 'description' => $request->input('description'),
+ 'title' => $request->string('title'),
+ 'description' => $request->nlString('description'),
'active' => 1 === (int)$request->input('active'),
];
diff --git a/app/Http/Controllers/RuleGroup/ExecutionController.php b/app/Http/Controllers/RuleGroup/ExecutionController.php
index c3a9fabafb..7d443f4bb7 100644
--- a/app/Http/Controllers/RuleGroup/ExecutionController.php
+++ b/app/Http/Controllers/RuleGroup/ExecutionController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\RuleGroup;
diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php
index f9a1a6986b..4d048b2a79 100644
--- a/app/Http/Controllers/SearchController.php
+++ b/app/Http/Controllers/SearchController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/System/CronController.php b/app/Http/Controllers/System/CronController.php
index d38c2f5987..914e724cd9 100644
--- a/app/Http/Controllers/System/CronController.php
+++ b/app/Http/Controllers/System/CronController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/System/InstallController.php b/app/Http/Controllers/System/InstallController.php
index f1f59582b6..db18ee218f 100644
--- a/app/Http/Controllers/System/InstallController.php
+++ b/app/Http/Controllers/System/InstallController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -68,6 +68,7 @@ class InstallController extends Controller
// there are 3 initial commands
'migrate' => ['--seed' => true, '--force' => true],
'firefly-iii:decrypt-all' => [],
+ 'firefly-iii:restore-oauth-keys' => [],
'generate-keys' => [], // an exception :(
// there are 13 upgrade commands.
@@ -85,7 +86,7 @@ class InstallController extends Controller
'firefly-iii:rename-account-meta' => [],
'firefly-iii:migrate-recurrence-meta' => [],
- // there are 14 verify commands.
+ // there are 15 verify commands.
'firefly-iii:fix-piggies' => [],
'firefly-iii:create-link-types' => [],
'firefly-iii:create-access-tokens' => [],
@@ -100,6 +101,7 @@ class InstallController extends Controller
'firefly-iii:fix-account-types' => [],
'firefly-iii:rename-meta-fields' => [],
'firefly-iii:fix-ob-currencies' => [],
+ 'firefly-iii:fix-long-descriptions' => [],
];
}
diff --git a/app/Http/Controllers/TagController.php b/app/Http/Controllers/TagController.php
index 30224198b3..a86db88a30 100644
--- a/app/Http/Controllers/TagController.php
+++ b/app/Http/Controllers/TagController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpMethodParametersCountMismatchInspection */
declare(strict_types=1);
diff --git a/app/Http/Controllers/Transaction/BulkController.php b/app/Http/Controllers/Transaction/BulkController.php
index 605ae91c2c..61e6785a43 100644
--- a/app/Http/Controllers/Transaction/BulkController.php
+++ b/app/Http/Controllers/Transaction/BulkController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Transaction/ConvertController.php b/app/Http/Controllers/Transaction/ConvertController.php
index b6faa17a7a..4aee86401b 100644
--- a/app/Http/Controllers/Transaction/ConvertController.php
+++ b/app/Http/Controllers/Transaction/ConvertController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Transaction/CreateController.php b/app/Http/Controllers/Transaction/CreateController.php
index bc00a4ce48..343064d33c 100644
--- a/app/Http/Controllers/Transaction/CreateController.php
+++ b/app/Http/Controllers/Transaction/CreateController.php
@@ -3,20 +3,20 @@
* CreateController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Transaction/DeleteController.php b/app/Http/Controllers/Transaction/DeleteController.php
index 205575e229..ae85603d34 100644
--- a/app/Http/Controllers/Transaction/DeleteController.php
+++ b/app/Http/Controllers/Transaction/DeleteController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\Transaction;
diff --git a/app/Http/Controllers/Transaction/EditController.php b/app/Http/Controllers/Transaction/EditController.php
index 0528ae51d7..2c0105b93c 100644
--- a/app/Http/Controllers/Transaction/EditController.php
+++ b/app/Http/Controllers/Transaction/EditController.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Controllers\Transaction;
diff --git a/app/Http/Controllers/Transaction/IndexController.php b/app/Http/Controllers/Transaction/IndexController.php
index 59bcafcebb..cfc8f9860b 100644
--- a/app/Http/Controllers/Transaction/IndexController.php
+++ b/app/Http/Controllers/Transaction/IndexController.php
@@ -3,20 +3,20 @@
* IndexController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Transaction/LinkController.php b/app/Http/Controllers/Transaction/LinkController.php
index c30a196af8..4ca76f1c65 100644
--- a/app/Http/Controllers/Transaction/LinkController.php
+++ b/app/Http/Controllers/Transaction/LinkController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -125,7 +125,7 @@ class LinkController extends Controller
if (null === $other) {
session()->flash('error', (string)trans('firefly.invalid_link_selection'));
- return redirect(route('transactions.show', [$journal->id]));
+ return redirect(route('transactions.show', [$journal->transaction_group_id]));
}
$alreadyLinked = $this->repository->findLink($journal, $other);
@@ -133,13 +133,13 @@ class LinkController extends Controller
if ($other->id === $journal->id) {
session()->flash('error', (string)trans('firefly.journals_link_to_self'));
- return redirect(route('transactions.show', [$journal->id]));
+ return redirect(route('transactions.show', [$journal->transaction_group_id]));
}
if ($alreadyLinked) {
session()->flash('error', (string)trans('firefly.journals_error_linked'));
- return redirect(route('transactions.show', [$journal->id]));
+ return redirect(route('transactions.show', [$journal->transaction_group_id]));
}
Log::debug(sprintf('Journal is %d, opposing is %d', $journal->id, $other->id));
$this->repository->storeLink($linkInfo, $other, $journal);
diff --git a/app/Http/Controllers/Transaction/MassController.php b/app/Http/Controllers/Transaction/MassController.php
index 6d8ef459ca..b5dff0f368 100644
--- a/app/Http/Controllers/Transaction/MassController.php
+++ b/app/Http/Controllers/Transaction/MassController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Controllers/Transaction/ShowController.php b/app/Http/Controllers/Transaction/ShowController.php
index 82f00f9987..01770c3656 100644
--- a/app/Http/Controllers/Transaction/ShowController.php
+++ b/app/Http/Controllers/Transaction/ShowController.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php
index d22cdd797f..7521b81e8c 100644
--- a/app/Http/Kernel.php
+++ b/app/Http/Kernel.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php
index ec0cfe3d76..e13ef021c0 100644
--- a/app/Http/Middleware/Authenticate.php
+++ b/app/Http/Middleware/Authenticate.php
@@ -2,22 +2,22 @@
/**
* Authenticate.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/Binder.php b/app/Http/Middleware/Binder.php
index aad7287a6a..03d286eb5a 100644
--- a/app/Http/Middleware/Binder.php
+++ b/app/Http/Middleware/Binder.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php
index d88e45a25b..c59feecd02 100644
--- a/app/Http/Middleware/EncryptCookies.php
+++ b/app/Http/Middleware/EncryptCookies.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/Installer.php b/app/Http/Middleware/Installer.php
index c0eb2a8ec9..9ea4ed2764 100644
--- a/app/Http/Middleware/Installer.php
+++ b/app/Http/Middleware/Installer.php
@@ -2,22 +2,22 @@
/**
* Installer.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/InterestingMessage.php b/app/Http/Middleware/InterestingMessage.php
index 0a3a854671..59907f0fdb 100644
--- a/app/Http/Middleware/InterestingMessage.php
+++ b/app/Http/Middleware/InterestingMessage.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Http\Middleware;
diff --git a/app/Http/Middleware/IsAdmin.php b/app/Http/Middleware/IsAdmin.php
index 2ac5804051..dae6428ca2 100644
--- a/app/Http/Middleware/IsAdmin.php
+++ b/app/Http/Middleware/IsAdmin.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/IsDemoUser.php b/app/Http/Middleware/IsDemoUser.php
index 35e63971d8..9fdeca83db 100644
--- a/app/Http/Middleware/IsDemoUser.php
+++ b/app/Http/Middleware/IsDemoUser.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/IsSandStormUser.php b/app/Http/Middleware/IsSandStormUser.php
index 397fe0d7bf..591e1e83e1 100644
--- a/app/Http/Middleware/IsSandStormUser.php
+++ b/app/Http/Middleware/IsSandStormUser.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/Range.php b/app/Http/Middleware/Range.php
index 892a29aae7..1734ce8aa0 100644
--- a/app/Http/Middleware/Range.php
+++ b/app/Http/Middleware/Range.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php
index fbd58bd583..e8b6831ca5 100644
--- a/app/Http/Middleware/RedirectIfAuthenticated.php
+++ b/app/Http/Middleware/RedirectIfAuthenticated.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/Sandstorm.php b/app/Http/Middleware/Sandstorm.php
index 65ec654e89..866dd54171 100644
--- a/app/Http/Middleware/Sandstorm.php
+++ b/app/Http/Middleware/Sandstorm.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
declare(strict_types=1);
diff --git a/app/Http/Middleware/SecureHeaders.php b/app/Http/Middleware/SecureHeaders.php
index 0edfcdba17..befbe644f6 100644
--- a/app/Http/Middleware/SecureHeaders.php
+++ b/app/Http/Middleware/SecureHeaders.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/StartFireflySession.php b/app/Http/Middleware/StartFireflySession.php
index 513f49b74c..077fa31fb9 100644
--- a/app/Http/Middleware/StartFireflySession.php
+++ b/app/Http/Middleware/StartFireflySession.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php
index 2503635f45..137a2a8ab5 100644
--- a/app/Http/Middleware/TrimStrings.php
+++ b/app/Http/Middleware/TrimStrings.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php
index 9da1ef8336..cb328a38b1 100644
--- a/app/Http/Middleware/TrustProxies.php
+++ b/app/Http/Middleware/TrustProxies.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php
index 5402419865..9fe2b81a62 100644
--- a/app/Http/Middleware/VerifyCsrfToken.php
+++ b/app/Http/Middleware/VerifyCsrfToken.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/AccountFormRequest.php b/app/Http/Requests/AccountFormRequest.php
index 8a143f45bc..a11ae83e92 100644
--- a/app/Http/Requests/AccountFormRequest.php
+++ b/app/Http/Requests/AccountFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -63,7 +63,7 @@ class AccountFormRequest extends Request
'opening_balance_date' => $this->date('opening_balance_date'),
'cc_type' => $this->string('cc_type'),
'cc_monthly_payment_date' => $this->string('cc_monthly_payment_date'),
- 'notes' => $this->string('notes'),
+ 'notes' => $this->nlString('notes'),
'interest' => $this->string('interest'),
'interest_period' => $this->string('interest_period'),
'include_net_worth' => '1',
diff --git a/app/Http/Requests/AttachmentFormRequest.php b/app/Http/Requests/AttachmentFormRequest.php
index 0469784687..f24835df38 100644
--- a/app/Http/Requests/AttachmentFormRequest.php
+++ b/app/Http/Requests/AttachmentFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/BillFormRequest.php b/app/Http/Requests/BillFormRequest.php
index 39fd332f74..1a9ca9132e 100644
--- a/app/Http/Requests/BillFormRequest.php
+++ b/app/Http/Requests/BillFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -56,7 +56,7 @@ class BillFormRequest extends Request
'date' => $this->date('date'),
'repeat_freq' => $this->string('repeat_freq'),
'skip' => $this->integer('skip'),
- 'notes' => $this->string('notes'),
+ 'notes' => $this->nlString('notes'),
'active' => $this->boolean('active'),
];
}
diff --git a/app/Http/Requests/BudgetFormRequest.php b/app/Http/Requests/BudgetFormRequest.php
index 089ece20af..ecc2e97e2b 100644
--- a/app/Http/Requests/BudgetFormRequest.php
+++ b/app/Http/Requests/BudgetFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/BudgetIncomeRequest.php b/app/Http/Requests/BudgetIncomeRequest.php
index af531bfab6..0110edcdd0 100644
--- a/app/Http/Requests/BudgetIncomeRequest.php
+++ b/app/Http/Requests/BudgetIncomeRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/BulkEditJournalRequest.php b/app/Http/Requests/BulkEditJournalRequest.php
index 2005c7f7e0..3802bcea3c 100644
--- a/app/Http/Requests/BulkEditJournalRequest.php
+++ b/app/Http/Requests/BulkEditJournalRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/CategoryFormRequest.php b/app/Http/Requests/CategoryFormRequest.php
index 1cef099368..0fe88c8cd8 100644
--- a/app/Http/Requests/CategoryFormRequest.php
+++ b/app/Http/Requests/CategoryFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/ConfigurationRequest.php b/app/Http/Requests/ConfigurationRequest.php
index 4846650bc1..23383da353 100644
--- a/app/Http/Requests/ConfigurationRequest.php
+++ b/app/Http/Requests/ConfigurationRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/CurrencyFormRequest.php b/app/Http/Requests/CurrencyFormRequest.php
index a7cfeecea5..45ceba1068 100644
--- a/app/Http/Requests/CurrencyFormRequest.php
+++ b/app/Http/Requests/CurrencyFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/DeleteAccountFormRequest.php b/app/Http/Requests/DeleteAccountFormRequest.php
index d97fba542e..54e09d8a20 100644
--- a/app/Http/Requests/DeleteAccountFormRequest.php
+++ b/app/Http/Requests/DeleteAccountFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/EmailFormRequest.php b/app/Http/Requests/EmailFormRequest.php
index 2357ecc1ac..66235085cb 100644
--- a/app/Http/Requests/EmailFormRequest.php
+++ b/app/Http/Requests/EmailFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/JournalLinkRequest.php b/app/Http/Requests/JournalLinkRequest.php
index aefb3a7cd0..cbffa10deb 100644
--- a/app/Http/Requests/JournalLinkRequest.php
+++ b/app/Http/Requests/JournalLinkRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
declare(strict_types=1);
diff --git a/app/Http/Requests/LinkTypeFormRequest.php b/app/Http/Requests/LinkTypeFormRequest.php
index 05d086a263..0819b018b3 100644
--- a/app/Http/Requests/LinkTypeFormRequest.php
+++ b/app/Http/Requests/LinkTypeFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/MassDeleteJournalRequest.php b/app/Http/Requests/MassDeleteJournalRequest.php
index fa325b204c..626350a6d4 100644
--- a/app/Http/Requests/MassDeleteJournalRequest.php
+++ b/app/Http/Requests/MassDeleteJournalRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/MassEditJournalRequest.php b/app/Http/Requests/MassEditJournalRequest.php
index 94467f0239..598f3c4e36 100644
--- a/app/Http/Requests/MassEditJournalRequest.php
+++ b/app/Http/Requests/MassEditJournalRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/NewUserFormRequest.php b/app/Http/Requests/NewUserFormRequest.php
index 68113fb60b..fa97f3663f 100644
--- a/app/Http/Requests/NewUserFormRequest.php
+++ b/app/Http/Requests/NewUserFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/PiggyBankFormRequest.php b/app/Http/Requests/PiggyBankFormRequest.php
index d09a4d8b7d..1fdc6f0ca0 100644
--- a/app/Http/Requests/PiggyBankFormRequest.php
+++ b/app/Http/Requests/PiggyBankFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/ProfileFormRequest.php b/app/Http/Requests/ProfileFormRequest.php
index aa060bd794..4839802822 100644
--- a/app/Http/Requests/ProfileFormRequest.php
+++ b/app/Http/Requests/ProfileFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/ReconciliationStoreRequest.php b/app/Http/Requests/ReconciliationStoreRequest.php
index 7a52cc109c..f082d05cc5 100644
--- a/app/Http/Requests/ReconciliationStoreRequest.php
+++ b/app/Http/Requests/ReconciliationStoreRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/RecurrenceFormRequest.php b/app/Http/Requests/RecurrenceFormRequest.php
index 7875b45fad..432cce807a 100644
--- a/app/Http/Requests/RecurrenceFormRequest.php
+++ b/app/Http/Requests/RecurrenceFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/ReportFormRequest.php b/app/Http/Requests/ReportFormRequest.php
index bc3931fea7..210a989c9c 100644
--- a/app/Http/Requests/ReportFormRequest.php
+++ b/app/Http/Requests/ReportFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/Request.php b/app/Http/Requests/Request.php
index 2cd541c3da..36c060f77a 100644
--- a/app/Http/Requests/Request.php
+++ b/app/Http/Requests/Request.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -224,6 +224,34 @@ class Request extends FormRequest
return app('steam')->cleanString((string)($this->get($field) ?? ''));
}
+ /**
+ * Return string value, but keep newlines.
+ *
+ * @param string $field
+ *
+ * @return string
+ */
+ public function nlString(string $field): string
+ {
+ return app('steam')->nlCleanString((string)($this->get($field) ?? ''));
+ }
+
+
+ /**
+ * Return string value, but keep newlines, or NULL if empty.
+ *
+ * @param string $field
+ *
+ * @return string
+ */
+ public function nullableNlString(string $field): ?string
+ {
+ if (!$this->has($field)) {
+ return null;
+ }
+ return app('steam')->nlCleanString((string)($this->get($field) ?? ''));
+ }
+
/**
* Parse and clean a string.
*
@@ -242,6 +270,24 @@ class Request extends FormRequest
}
+ /**
+ * Parse and clean a string, but keep the newlines.
+ *
+ * @param string|null $string
+ *
+ * @return string|null
+ */
+ public function nlStringFromValue(?string $string): ?string
+ {
+ if (null === $string) {
+ return null;
+ }
+ $result = app('steam')->nlCleanString($string);
+
+ return '' === $result ? null : $result;
+
+ }
+
/**
* Return date or NULL.
*
diff --git a/app/Http/Requests/RuleFormRequest.php b/app/Http/Requests/RuleFormRequest.php
index a8c5903c3f..7491f5ce3b 100644
--- a/app/Http/Requests/RuleFormRequest.php
+++ b/app/Http/Requests/RuleFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -53,7 +53,7 @@ class RuleFormRequest extends Request
'rule_group_id' => $this->integer('rule_group_id'),
'active' => $this->boolean('active'),
'trigger' => $this->string('trigger'),
- 'description' => $this->string('description'),
+ 'description' => $this->nlString('description'),
'stop_processing' => $this->boolean('stop_processing'),
'strict' => $this->boolean('strict'),
'triggers' => $this->getRuleTriggerData(),
diff --git a/app/Http/Requests/RuleGroupFormRequest.php b/app/Http/Requests/RuleGroupFormRequest.php
index 66531a33e6..0d2f5baf3d 100644
--- a/app/Http/Requests/RuleGroupFormRequest.php
+++ b/app/Http/Requests/RuleGroupFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -55,7 +55,7 @@ class RuleGroupFormRequest extends Request
return [
'title' => $this->string('title'),
- 'description' => $this->string('description'),
+ 'description' => $this->nlString('description'),
'active' => $active,
];
}
diff --git a/app/Http/Requests/SelectTransactionsRequest.php b/app/Http/Requests/SelectTransactionsRequest.php
index 74085b2806..7ec74d7d80 100644
--- a/app/Http/Requests/SelectTransactionsRequest.php
+++ b/app/Http/Requests/SelectTransactionsRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/TagFormRequest.php b/app/Http/Requests/TagFormRequest.php
index db1341cc44..428d9df23c 100644
--- a/app/Http/Requests/TagFormRequest.php
+++ b/app/Http/Requests/TagFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/TestRuleFormRequest.php b/app/Http/Requests/TestRuleFormRequest.php
index 61e0d7f34d..5256227ce1 100644
--- a/app/Http/Requests/TestRuleFormRequest.php
+++ b/app/Http/Requests/TestRuleFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/TokenFormRequest.php b/app/Http/Requests/TokenFormRequest.php
index c30cf5827e..46073e0c43 100644
--- a/app/Http/Requests/TokenFormRequest.php
+++ b/app/Http/Requests/TokenFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/UserFormRequest.php b/app/Http/Requests/UserFormRequest.php
index 65b2de6217..77e3d64e98 100644
--- a/app/Http/Requests/UserFormRequest.php
+++ b/app/Http/Requests/UserFormRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Http/Requests/UserRegistrationRequest.php b/app/Http/Requests/UserRegistrationRequest.php
index d69b8322ae..a8e69c19b4 100644
--- a/app/Http/Requests/UserRegistrationRequest.php
+++ b/app/Http/Requests/UserRegistrationRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Converter/Amount.php b/app/Import/Converter/Amount.php
index 5df450e838..1e6b1dc264 100644
--- a/app/Import/Converter/Amount.php
+++ b/app/Import/Converter/Amount.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Converter/AmountCredit.php b/app/Import/Converter/AmountCredit.php
index 877a68a0a8..374ae2b54a 100644
--- a/app/Import/Converter/AmountCredit.php
+++ b/app/Import/Converter/AmountCredit.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Converter/AmountDebit.php b/app/Import/Converter/AmountDebit.php
index f071569920..35c3cc2f0c 100644
--- a/app/Import/Converter/AmountDebit.php
+++ b/app/Import/Converter/AmountDebit.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Converter/AmountNegated.php b/app/Import/Converter/AmountNegated.php
index 79d0874695..724cafd3c4 100644
--- a/app/Import/Converter/AmountNegated.php
+++ b/app/Import/Converter/AmountNegated.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Converter/BankDebitCredit.php b/app/Import/Converter/BankDebitCredit.php
index 56ced2c60f..3e78057aca 100644
--- a/app/Import/Converter/BankDebitCredit.php
+++ b/app/Import/Converter/BankDebitCredit.php
@@ -3,20 +3,20 @@
* BankDebitCredit.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Converter/ConverterInterface.php b/app/Import/Converter/ConverterInterface.php
index 903929ba1d..228ddba2ab 100644
--- a/app/Import/Converter/ConverterInterface.php
+++ b/app/Import/Converter/ConverterInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/JobConfiguration/BunqJobConfiguration.php b/app/Import/JobConfiguration/BunqJobConfiguration.php
index 6f3b4a85cb..91d223d252 100644
--- a/app/Import/JobConfiguration/BunqJobConfiguration.php
+++ b/app/Import/JobConfiguration/BunqJobConfiguration.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/JobConfiguration/FakeJobConfiguration.php b/app/Import/JobConfiguration/FakeJobConfiguration.php
index 818aba3c18..c112a1d973 100644
--- a/app/Import/JobConfiguration/FakeJobConfiguration.php
+++ b/app/Import/JobConfiguration/FakeJobConfiguration.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/JobConfiguration/FileJobConfiguration.php b/app/Import/JobConfiguration/FileJobConfiguration.php
index 1a871ee5ca..4a4c6bb723 100644
--- a/app/Import/JobConfiguration/FileJobConfiguration.php
+++ b/app/Import/JobConfiguration/FileJobConfiguration.php
@@ -2,22 +2,22 @@
/**
* FileJobConfiguration.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/JobConfiguration/FinTSConfigurationSteps.php b/app/Import/JobConfiguration/FinTSConfigurationSteps.php
index cdb6265d80..e41051934f 100644
--- a/app/Import/JobConfiguration/FinTSConfigurationSteps.php
+++ b/app/Import/JobConfiguration/FinTSConfigurationSteps.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/JobConfiguration/FinTSJobConfiguration.php b/app/Import/JobConfiguration/FinTSJobConfiguration.php
index dfc9fdfa64..910c420cba 100644
--- a/app/Import/JobConfiguration/FinTSJobConfiguration.php
+++ b/app/Import/JobConfiguration/FinTSJobConfiguration.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/JobConfiguration/JobConfigurationInterface.php b/app/Import/JobConfiguration/JobConfigurationInterface.php
index 4ff58ae133..3b50e7b139 100644
--- a/app/Import/JobConfiguration/JobConfigurationInterface.php
+++ b/app/Import/JobConfiguration/JobConfigurationInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/JobConfiguration/SpectreJobConfiguration.php b/app/Import/JobConfiguration/SpectreJobConfiguration.php
index c0a3ebc0a2..8395bd89b4 100644
--- a/app/Import/JobConfiguration/SpectreJobConfiguration.php
+++ b/app/Import/JobConfiguration/SpectreJobConfiguration.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/JobConfiguration/YnabJobConfiguration.php b/app/Import/JobConfiguration/YnabJobConfiguration.php
index 8bf63dcbbe..56c2947da5 100644
--- a/app/Import/JobConfiguration/YnabJobConfiguration.php
+++ b/app/Import/JobConfiguration/YnabJobConfiguration.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Mapper/AssetAccountIbans.php b/app/Import/Mapper/AssetAccountIbans.php
index 2b8ab198e2..e46f5a59b2 100644
--- a/app/Import/Mapper/AssetAccountIbans.php
+++ b/app/Import/Mapper/AssetAccountIbans.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Mapper/AssetAccounts.php b/app/Import/Mapper/AssetAccounts.php
index e6b9f44467..d4a05f7a4c 100644
--- a/app/Import/Mapper/AssetAccounts.php
+++ b/app/Import/Mapper/AssetAccounts.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Mapper/Bills.php b/app/Import/Mapper/Bills.php
index dc0f6a3598..e033293324 100644
--- a/app/Import/Mapper/Bills.php
+++ b/app/Import/Mapper/Bills.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Mapper/Budgets.php b/app/Import/Mapper/Budgets.php
index f69e7ec23e..ba24188fee 100644
--- a/app/Import/Mapper/Budgets.php
+++ b/app/Import/Mapper/Budgets.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Mapper/Categories.php b/app/Import/Mapper/Categories.php
index 6c55aa53e8..870a9fabf2 100644
--- a/app/Import/Mapper/Categories.php
+++ b/app/Import/Mapper/Categories.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Mapper/MapperInterface.php b/app/Import/Mapper/MapperInterface.php
index 5ac042611e..9ea55112cc 100644
--- a/app/Import/Mapper/MapperInterface.php
+++ b/app/Import/Mapper/MapperInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Mapper/OpposingAccountIbans.php b/app/Import/Mapper/OpposingAccountIbans.php
index 6f3217521a..8b4bd73c41 100644
--- a/app/Import/Mapper/OpposingAccountIbans.php
+++ b/app/Import/Mapper/OpposingAccountIbans.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Mapper/OpposingAccounts.php b/app/Import/Mapper/OpposingAccounts.php
index b99193d00e..887814bc97 100644
--- a/app/Import/Mapper/OpposingAccounts.php
+++ b/app/Import/Mapper/OpposingAccounts.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Mapper/Tags.php b/app/Import/Mapper/Tags.php
index 90ce4b8a41..cac10626c8 100644
--- a/app/Import/Mapper/Tags.php
+++ b/app/Import/Mapper/Tags.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Mapper/TransactionCurrencies.php b/app/Import/Mapper/TransactionCurrencies.php
index 44c7ba5be8..00ceba92ee 100644
--- a/app/Import/Mapper/TransactionCurrencies.php
+++ b/app/Import/Mapper/TransactionCurrencies.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/MapperPreProcess/PreProcessorInterface.php b/app/Import/MapperPreProcess/PreProcessorInterface.php
index b577f605a6..0c32b0c37f 100644
--- a/app/Import/MapperPreProcess/PreProcessorInterface.php
+++ b/app/Import/MapperPreProcess/PreProcessorInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/MapperPreProcess/TagsComma.php b/app/Import/MapperPreProcess/TagsComma.php
index 1c54595a7a..5af9b5f050 100644
--- a/app/Import/MapperPreProcess/TagsComma.php
+++ b/app/Import/MapperPreProcess/TagsComma.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/MapperPreProcess/TagsSpace.php b/app/Import/MapperPreProcess/TagsSpace.php
index 92530ee887..fcea21d536 100644
--- a/app/Import/MapperPreProcess/TagsSpace.php
+++ b/app/Import/MapperPreProcess/TagsSpace.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Prerequisites/BunqPrerequisites.php b/app/Import/Prerequisites/BunqPrerequisites.php
index 3592cfe5f2..11ad98661d 100644
--- a/app/Import/Prerequisites/BunqPrerequisites.php
+++ b/app/Import/Prerequisites/BunqPrerequisites.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Prerequisites/FakePrerequisites.php b/app/Import/Prerequisites/FakePrerequisites.php
index dbe11a85cc..fc2756e303 100644
--- a/app/Import/Prerequisites/FakePrerequisites.php
+++ b/app/Import/Prerequisites/FakePrerequisites.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Prerequisites/FilePrerequisites.php b/app/Import/Prerequisites/FilePrerequisites.php
index 459a51ffd7..496c7ad966 100644
--- a/app/Import/Prerequisites/FilePrerequisites.php
+++ b/app/Import/Prerequisites/FilePrerequisites.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Prerequisites/PrerequisitesInterface.php b/app/Import/Prerequisites/PrerequisitesInterface.php
index f3f82ae5be..ce994296ba 100644
--- a/app/Import/Prerequisites/PrerequisitesInterface.php
+++ b/app/Import/Prerequisites/PrerequisitesInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Prerequisites/SpectrePrerequisites.php b/app/Import/Prerequisites/SpectrePrerequisites.php
index 997dd5e0d9..6ec2853b4d 100644
--- a/app/Import/Prerequisites/SpectrePrerequisites.php
+++ b/app/Import/Prerequisites/SpectrePrerequisites.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Prerequisites/YnabPrerequisites.php b/app/Import/Prerequisites/YnabPrerequisites.php
index 832baf2d3c..f89ef6b742 100644
--- a/app/Import/Prerequisites/YnabPrerequisites.php
+++ b/app/Import/Prerequisites/YnabPrerequisites.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Routine/BunqRoutine.php b/app/Import/Routine/BunqRoutine.php
index 7454940af8..4e38508664 100644
--- a/app/Import/Routine/BunqRoutine.php
+++ b/app/Import/Routine/BunqRoutine.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Routine/FakeRoutine.php b/app/Import/Routine/FakeRoutine.php
index 75ecc04011..16a83cd23b 100644
--- a/app/Import/Routine/FakeRoutine.php
+++ b/app/Import/Routine/FakeRoutine.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Routine/FileRoutine.php b/app/Import/Routine/FileRoutine.php
index c61f7afdac..c9a5ed333e 100644
--- a/app/Import/Routine/FileRoutine.php
+++ b/app/Import/Routine/FileRoutine.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Routine/FinTSRoutine.php b/app/Import/Routine/FinTSRoutine.php
index b05d32ce1d..b838615c75 100644
--- a/app/Import/Routine/FinTSRoutine.php
+++ b/app/Import/Routine/FinTSRoutine.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Routine/RoutineInterface.php b/app/Import/Routine/RoutineInterface.php
index bb7c4537fb..0f63f8257b 100644
--- a/app/Import/Routine/RoutineInterface.php
+++ b/app/Import/Routine/RoutineInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Routine/SpectreRoutine.php b/app/Import/Routine/SpectreRoutine.php
index 334d78f6f3..337bdf742d 100644
--- a/app/Import/Routine/SpectreRoutine.php
+++ b/app/Import/Routine/SpectreRoutine.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Routine/YnabRoutine.php b/app/Import/Routine/YnabRoutine.php
index 12aaf0fdeb..c754b3094a 100644
--- a/app/Import/Routine/YnabRoutine.php
+++ b/app/Import/Routine/YnabRoutine.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Specifics/AbnAmroDescription.php b/app/Import/Specifics/AbnAmroDescription.php
index 2773023e01..fa182515b1 100644
--- a/app/Import/Specifics/AbnAmroDescription.php
+++ b/app/Import/Specifics/AbnAmroDescription.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Specifics/Belfius.php b/app/Import/Specifics/Belfius.php
index 82c662b706..c072fedeb2 100644
--- a/app/Import/Specifics/Belfius.php
+++ b/app/Import/Specifics/Belfius.php
@@ -1,22 +1,22 @@
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Specifics/IngBelgium.php b/app/Import/Specifics/IngBelgium.php
index 1525a7699e..fcee30082c 100644
--- a/app/Import/Specifics/IngBelgium.php
+++ b/app/Import/Specifics/IngBelgium.php
@@ -1,22 +1,22 @@
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Specifics/IngDescription.php b/app/Import/Specifics/IngDescription.php
index 83966d76c8..f793dea909 100644
--- a/app/Import/Specifics/IngDescription.php
+++ b/app/Import/Specifics/IngDescription.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Specifics/PresidentsChoice.php b/app/Import/Specifics/PresidentsChoice.php
index 1fa71e1cf2..032ac3393c 100644
--- a/app/Import/Specifics/PresidentsChoice.php
+++ b/app/Import/Specifics/PresidentsChoice.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Specifics/RabobankDescription.php b/app/Import/Specifics/RabobankDescription.php
index 27cbdcaa78..a8181206e9 100644
--- a/app/Import/Specifics/RabobankDescription.php
+++ b/app/Import/Specifics/RabobankDescription.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Specifics/SnsDescription.php b/app/Import/Specifics/SnsDescription.php
index 3106075555..fc19e12e76 100644
--- a/app/Import/Specifics/SnsDescription.php
+++ b/app/Import/Specifics/SnsDescription.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Specifics/SpecificInterface.php b/app/Import/Specifics/SpecificInterface.php
index 70e028e0b1..d65f2e8865 100644
--- a/app/Import/Specifics/SpecificInterface.php
+++ b/app/Import/Specifics/SpecificInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Import/Storage/ImportArrayStorage.php b/app/Import/Storage/ImportArrayStorage.php
index 0c42ebf815..68e6d256d5 100644
--- a/app/Import/Storage/ImportArrayStorage.php
+++ b/app/Import/Storage/ImportArrayStorage.php
@@ -2,22 +2,22 @@
/**
* ImportArrayStorage.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Jobs/CreateRecurringTransactions.php b/app/Jobs/CreateRecurringTransactions.php
index 50548cf8ec..542c7956ee 100644
--- a/app/Jobs/CreateRecurringTransactions.php
+++ b/app/Jobs/CreateRecurringTransactions.php
@@ -2,47 +2,26 @@
/**
* CreateRecurringTransactions.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
-
-/**
- * CreateRecurringTransactions.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
- *
- * This file is part of Firefly III.
- *
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Firefly III is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
- */
-
namespace FireflyIII\Jobs;
use Carbon\Carbon;
diff --git a/app/Jobs/Job.php b/app/Jobs/Job.php
index 7de34f6460..0482bb0bd7 100644
--- a/app/Jobs/Job.php
+++ b/app/Jobs/Job.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Jobs/MailError.php b/app/Jobs/MailError.php
index aeb2546115..e6a3505a1f 100644
--- a/app/Jobs/MailError.php
+++ b/app/Jobs/MailError.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Mail/AccessTokenCreatedMail.php b/app/Mail/AccessTokenCreatedMail.php
index 9080d7503a..ed8119e457 100644
--- a/app/Mail/AccessTokenCreatedMail.php
+++ b/app/Mail/AccessTokenCreatedMail.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Mail/AdminTestMail.php b/app/Mail/AdminTestMail.php
index f132d0837c..f5a6475499 100644
--- a/app/Mail/AdminTestMail.php
+++ b/app/Mail/AdminTestMail.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Mail/ConfirmEmailChangeMail.php b/app/Mail/ConfirmEmailChangeMail.php
index 3ac01c4bbe..7f26efda70 100644
--- a/app/Mail/ConfirmEmailChangeMail.php
+++ b/app/Mail/ConfirmEmailChangeMail.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Mail/OAuthTokenCreatedMail.php b/app/Mail/OAuthTokenCreatedMail.php
index 4146b0cfff..431cc63ae4 100644
--- a/app/Mail/OAuthTokenCreatedMail.php
+++ b/app/Mail/OAuthTokenCreatedMail.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Mail/RegisteredUser.php b/app/Mail/RegisteredUser.php
index f56b689e6b..177f2959d0 100644
--- a/app/Mail/RegisteredUser.php
+++ b/app/Mail/RegisteredUser.php
@@ -2,22 +2,22 @@
/**
* RegisteredUser.php
- * Copyright (c) 2017 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Mail/ReportNewJournalsMail.php b/app/Mail/ReportNewJournalsMail.php
index 2d2f38319d..ef9f8c035c 100644
--- a/app/Mail/ReportNewJournalsMail.php
+++ b/app/Mail/ReportNewJournalsMail.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Mail/RequestedNewPassword.php b/app/Mail/RequestedNewPassword.php
index 53735fffa6..f2c52e599e 100644
--- a/app/Mail/RequestedNewPassword.php
+++ b/app/Mail/RequestedNewPassword.php
@@ -2,22 +2,22 @@
/**
* RequestedNewPassword.php
- * Copyright (c) 2017 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Mail/UndoEmailChangeMail.php b/app/Mail/UndoEmailChangeMail.php
index 4b73f0468d..61ae97f97b 100644
--- a/app/Mail/UndoEmailChangeMail.php
+++ b/app/Mail/UndoEmailChangeMail.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Account.php b/app/Models/Account.php
index a1ceafd595..998240fdf7 100644
--- a/app/Models/Account.php
+++ b/app/Models/Account.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/AccountMeta.php b/app/Models/AccountMeta.php
index 68448c391b..5e01051ac4 100644
--- a/app/Models/AccountMeta.php
+++ b/app/Models/AccountMeta.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/AccountType.php b/app/Models/AccountType.php
index cc20e8f501..f03e98b1fc 100644
--- a/app/Models/AccountType.php
+++ b/app/Models/AccountType.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Attachment.php b/app/Models/Attachment.php
index 2f5fcc94ed..b97021d994 100644
--- a/app/Models/Attachment.php
+++ b/app/Models/Attachment.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/AvailableBudget.php b/app/Models/AvailableBudget.php
index 9de4c31404..f94c8c6a13 100644
--- a/app/Models/AvailableBudget.php
+++ b/app/Models/AvailableBudget.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Bill.php b/app/Models/Bill.php
index b28d7b0c8c..935b0d8d76 100644
--- a/app/Models/Bill.php
+++ b/app/Models/Bill.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Budget.php b/app/Models/Budget.php
index b4b370edf4..666f367aa1 100644
--- a/app/Models/Budget.php
+++ b/app/Models/Budget.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -46,11 +46,7 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
* @property Carbon created_at
* @property Carbon updated_at
* @property User $user
- * @property \Illuminate\Support\Carbon|null $created_at
- * @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $deleted_at
- * @property bool $encrypted
- * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\BudgetLimit[] $budgetlimits
* @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\TransactionJournal[] $transactionJournals
* @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Transaction[] $transactions
* @method static bool|null forceDelete()
diff --git a/app/Models/BudgetLimit.php b/app/Models/BudgetLimit.php
index 02c304911a..bd59461517 100644
--- a/app/Models/BudgetLimit.php
+++ b/app/Models/BudgetLimit.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Category.php b/app/Models/Category.php
index d12c122acc..393036a4de 100644
--- a/app/Models/Category.php
+++ b/app/Models/Category.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Configuration.php b/app/Models/Configuration.php
index f3ad2c4f50..442ef2e6fe 100644
--- a/app/Models/Configuration.php
+++ b/app/Models/Configuration.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/CurrencyExchangeRate.php b/app/Models/CurrencyExchangeRate.php
index 0ef3320166..d47e32d284 100644
--- a/app/Models/CurrencyExchangeRate.php
+++ b/app/Models/CurrencyExchangeRate.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/ImportJob.php b/app/Models/ImportJob.php
index fb7aae31bd..4a829dc220 100644
--- a/app/Models/ImportJob.php
+++ b/app/Models/ImportJob.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/LinkType.php b/app/Models/LinkType.php
index 66176b37a4..ad354e48b3 100644
--- a/app/Models/LinkType.php
+++ b/app/Models/LinkType.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Note.php b/app/Models/Note.php
index 94732a1242..d3887e5a8e 100644
--- a/app/Models/Note.php
+++ b/app/Models/Note.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/PiggyBank.php b/app/Models/PiggyBank.php
index e637dd6c63..27e5f76d3f 100644
--- a/app/Models/PiggyBank.php
+++ b/app/Models/PiggyBank.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/PiggyBankEvent.php b/app/Models/PiggyBankEvent.php
index 88097add6b..d626bbbd1a 100644
--- a/app/Models/PiggyBankEvent.php
+++ b/app/Models/PiggyBankEvent.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/PiggyBankRepetition.php b/app/Models/PiggyBankRepetition.php
index 046950d561..e10d2215fa 100644
--- a/app/Models/PiggyBankRepetition.php
+++ b/app/Models/PiggyBankRepetition.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Preference.php b/app/Models/Preference.php
index 5e3853bc8f..acc726fd00 100644
--- a/app/Models/Preference.php
+++ b/app/Models/Preference.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Recurrence.php b/app/Models/Recurrence.php
index 7d54432d7b..9633b6b92e 100644
--- a/app/Models/Recurrence.php
+++ b/app/Models/Recurrence.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/RecurrenceMeta.php b/app/Models/RecurrenceMeta.php
index 8f0a470334..bc4059fefe 100644
--- a/app/Models/RecurrenceMeta.php
+++ b/app/Models/RecurrenceMeta.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/RecurrenceRepetition.php b/app/Models/RecurrenceRepetition.php
index c8780cacfe..4c0ca9be35 100644
--- a/app/Models/RecurrenceRepetition.php
+++ b/app/Models/RecurrenceRepetition.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/RecurrenceTransaction.php b/app/Models/RecurrenceTransaction.php
index c47411b4e1..f32002341d 100644
--- a/app/Models/RecurrenceTransaction.php
+++ b/app/Models/RecurrenceTransaction.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/RecurrenceTransactionMeta.php b/app/Models/RecurrenceTransactionMeta.php
index 26edaa174e..5bbdb17c87 100644
--- a/app/Models/RecurrenceTransactionMeta.php
+++ b/app/Models/RecurrenceTransactionMeta.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Role.php b/app/Models/Role.php
index 489e55e4c2..6857ec3d57 100644
--- a/app/Models/Role.php
+++ b/app/Models/Role.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Rule.php b/app/Models/Rule.php
index e459eb4677..a64eaa9dba 100644
--- a/app/Models/Rule.php
+++ b/app/Models/Rule.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/RuleAction.php b/app/Models/RuleAction.php
index 0b7b2dd227..8f419df89b 100644
--- a/app/Models/RuleAction.php
+++ b/app/Models/RuleAction.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/RuleGroup.php b/app/Models/RuleGroup.php
index 1686ed5bc0..b91689cc14 100644
--- a/app/Models/RuleGroup.php
+++ b/app/Models/RuleGroup.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/RuleTrigger.php b/app/Models/RuleTrigger.php
index ea5d64f655..627f93ada1 100644
--- a/app/Models/RuleTrigger.php
+++ b/app/Models/RuleTrigger.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Tag.php b/app/Models/Tag.php
index 9d52dd2e2e..9a4c9ca263 100644
--- a/app/Models/Tag.php
+++ b/app/Models/Tag.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/Transaction.php b/app/Models/Transaction.php
index 9259fabb6f..cb9993171d 100644
--- a/app/Models/Transaction.php
+++ b/app/Models/Transaction.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/TransactionCurrency.php b/app/Models/TransactionCurrency.php
index eb5e50d23d..5e84812250 100644
--- a/app/Models/TransactionCurrency.php
+++ b/app/Models/TransactionCurrency.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/TransactionGroup.php b/app/Models/TransactionGroup.php
index 3a1fe2546f..e16207c705 100644
--- a/app/Models/TransactionGroup.php
+++ b/app/Models/TransactionGroup.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/TransactionJournal.php b/app/Models/TransactionJournal.php
index adaa9ed71f..1bfaba5065 100644
--- a/app/Models/TransactionJournal.php
+++ b/app/Models/TransactionJournal.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/TransactionJournalLink.php b/app/Models/TransactionJournalLink.php
index 981290c6ea..b753239b7a 100644
--- a/app/Models/TransactionJournalLink.php
+++ b/app/Models/TransactionJournalLink.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/TransactionJournalMeta.php b/app/Models/TransactionJournalMeta.php
index 6706d299f3..6d4fa0255b 100644
--- a/app/Models/TransactionJournalMeta.php
+++ b/app/Models/TransactionJournalMeta.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Models/TransactionType.php b/app/Models/TransactionType.php
index bc7c565bdc..cada008f78 100644
--- a/app/Models/TransactionType.php
+++ b/app/Models/TransactionType.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/AccountServiceProvider.php b/app/Providers/AccountServiceProvider.php
index 8398327a3b..f3f3180cf4 100644
--- a/app/Providers/AccountServiceProvider.php
+++ b/app/Providers/AccountServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/AdminServiceProvider.php b/app/Providers/AdminServiceProvider.php
index 6886cd67e4..1c2384ece9 100644
--- a/app/Providers/AdminServiceProvider.php
+++ b/app/Providers/AdminServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php
index 2d64950f07..06403a4b31 100644
--- a/app/Providers/AppServiceProvider.php
+++ b/app/Providers/AppServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/AttachmentServiceProvider.php b/app/Providers/AttachmentServiceProvider.php
index 62c998b74d..fda5964599 100644
--- a/app/Providers/AttachmentServiceProvider.php
+++ b/app/Providers/AttachmentServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php
index ede7bf8398..ac632892c4 100644
--- a/app/Providers/AuthServiceProvider.php
+++ b/app/Providers/AuthServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/BillServiceProvider.php b/app/Providers/BillServiceProvider.php
index 3cd590e359..8c13f33426 100644
--- a/app/Providers/BillServiceProvider.php
+++ b/app/Providers/BillServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php
index 845be09666..a6848f4db2 100644
--- a/app/Providers/BroadcastServiceProvider.php
+++ b/app/Providers/BroadcastServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/BudgetServiceProvider.php b/app/Providers/BudgetServiceProvider.php
index 7e7f4124dc..a5074df15f 100644
--- a/app/Providers/BudgetServiceProvider.php
+++ b/app/Providers/BudgetServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/CategoryServiceProvider.php b/app/Providers/CategoryServiceProvider.php
index 7e10655a1d..1f2cf6aee6 100644
--- a/app/Providers/CategoryServiceProvider.php
+++ b/app/Providers/CategoryServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/CurrencyServiceProvider.php b/app/Providers/CurrencyServiceProvider.php
index 70044405b5..a13b4ac530 100644
--- a/app/Providers/CurrencyServiceProvider.php
+++ b/app/Providers/CurrencyServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php
index c5bf2a20fa..7fb107201e 100644
--- a/app/Providers/EventServiceProvider.php
+++ b/app/Providers/EventServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/FireflyServiceProvider.php b/app/Providers/FireflyServiceProvider.php
index 7965366c02..f8564bfc1e 100644
--- a/app/Providers/FireflyServiceProvider.php
+++ b/app/Providers/FireflyServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/FireflySessionProvider.php b/app/Providers/FireflySessionProvider.php
index b89cc40ba0..26168daa4e 100644
--- a/app/Providers/FireflySessionProvider.php
+++ b/app/Providers/FireflySessionProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/ImportServiceProvider.php b/app/Providers/ImportServiceProvider.php
index 81154dbb71..7149413fd3 100644
--- a/app/Providers/ImportServiceProvider.php
+++ b/app/Providers/ImportServiceProvider.php
@@ -3,20 +3,20 @@
* ImportServiceProvider.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/JournalServiceProvider.php b/app/Providers/JournalServiceProvider.php
index 590583c2ec..cfe32af044 100644
--- a/app/Providers/JournalServiceProvider.php
+++ b/app/Providers/JournalServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/PiggyBankServiceProvider.php b/app/Providers/PiggyBankServiceProvider.php
index cdae76e58e..53d8c2cbba 100644
--- a/app/Providers/PiggyBankServiceProvider.php
+++ b/app/Providers/PiggyBankServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/RecurringServiceProvider.php b/app/Providers/RecurringServiceProvider.php
index d41f54e743..98f9a98b3c 100644
--- a/app/Providers/RecurringServiceProvider.php
+++ b/app/Providers/RecurringServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php
index 050d063971..9a7494ac18 100644
--- a/app/Providers/RouteServiceProvider.php
+++ b/app/Providers/RouteServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/RuleGroupServiceProvider.php b/app/Providers/RuleGroupServiceProvider.php
index 7eff95c5b4..ce6da2e22a 100644
--- a/app/Providers/RuleGroupServiceProvider.php
+++ b/app/Providers/RuleGroupServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/RuleServiceProvider.php b/app/Providers/RuleServiceProvider.php
index 007a66a5ee..09fa15d9ee 100644
--- a/app/Providers/RuleServiceProvider.php
+++ b/app/Providers/RuleServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/SearchServiceProvider.php b/app/Providers/SearchServiceProvider.php
index 872b4190f2..8b195f5823 100644
--- a/app/Providers/SearchServiceProvider.php
+++ b/app/Providers/SearchServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/SessionServiceProvider.php b/app/Providers/SessionServiceProvider.php
index 9ccdc0c769..0619cebe6e 100644
--- a/app/Providers/SessionServiceProvider.php
+++ b/app/Providers/SessionServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Providers/TagServiceProvider.php b/app/Providers/TagServiceProvider.php
index f023309ab8..bbf3c439b3 100644
--- a/app/Providers/TagServiceProvider.php
+++ b/app/Providers/TagServiceProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Account/AccountRepository.php b/app/Repositories/Account/AccountRepository.php
index ef4ddfd295..73de3a9a02 100644
--- a/app/Repositories/Account/AccountRepository.php
+++ b/app/Repositories/Account/AccountRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Account/AccountRepositoryInterface.php b/app/Repositories/Account/AccountRepositoryInterface.php
index 9ba74d6b52..54793896ca 100644
--- a/app/Repositories/Account/AccountRepositoryInterface.php
+++ b/app/Repositories/Account/AccountRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Account/AccountTasker.php b/app/Repositories/Account/AccountTasker.php
index 6eea25d1de..ce5cc2d693 100644
--- a/app/Repositories/Account/AccountTasker.php
+++ b/app/Repositories/Account/AccountTasker.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Account/AccountTaskerInterface.php b/app/Repositories/Account/AccountTaskerInterface.php
index 7364170bb8..794ad6342a 100644
--- a/app/Repositories/Account/AccountTaskerInterface.php
+++ b/app/Repositories/Account/AccountTaskerInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Account/OperationsRepository.php b/app/Repositories/Account/OperationsRepository.php
index 72ac493973..4073adcbed 100644
--- a/app/Repositories/Account/OperationsRepository.php
+++ b/app/Repositories/Account/OperationsRepository.php
@@ -3,20 +3,20 @@
* OperationsRepository.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Account/OperationsRepositoryInterface.php b/app/Repositories/Account/OperationsRepositoryInterface.php
index d6ee9c79e4..509ddd3d8e 100644
--- a/app/Repositories/Account/OperationsRepositoryInterface.php
+++ b/app/Repositories/Account/OperationsRepositoryInterface.php
@@ -3,20 +3,20 @@
* OperationsRepositoryInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Attachment/AttachmentRepository.php b/app/Repositories/Attachment/AttachmentRepository.php
index 88cf9a2745..ec5f7f3760 100644
--- a/app/Repositories/Attachment/AttachmentRepository.php
+++ b/app/Repositories/Attachment/AttachmentRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Attachment/AttachmentRepositoryInterface.php b/app/Repositories/Attachment/AttachmentRepositoryInterface.php
index 653640a4f0..3bb973c921 100644
--- a/app/Repositories/Attachment/AttachmentRepositoryInterface.php
+++ b/app/Repositories/Attachment/AttachmentRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Bill/BillRepository.php b/app/Repositories/Bill/BillRepository.php
index 137c219d57..2b19fb0413 100644
--- a/app/Repositories/Bill/BillRepository.php
+++ b/app/Repositories/Bill/BillRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -686,4 +686,12 @@ class BillRepository implements BillRepositoryInterface
return $service->update($bill, $data);
}
+
+ /**
+ * @param Bill $bill
+ */
+ public function unlinkAll(Bill $bill): void
+ {
+ $this->user->transactionJournals()->where('bill_id', $bill->id)->update(['bill_id' => null]);
+ }
}
diff --git a/app/Repositories/Bill/BillRepositoryInterface.php b/app/Repositories/Bill/BillRepositoryInterface.php
index 310c4addf5..6df333e44a 100644
--- a/app/Repositories/Bill/BillRepositoryInterface.php
+++ b/app/Repositories/Bill/BillRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -33,6 +33,12 @@ use Illuminate\Support\Collection;
*/
interface BillRepositoryInterface
{
+
+ /**
+ * @param Bill $bill
+ */
+ public function unlinkAll(Bill $bill): void;
+
/**
* @param Bill $bill
*
diff --git a/app/Repositories/Budget/AvailableBudgetRepository.php b/app/Repositories/Budget/AvailableBudgetRepository.php
index 41c63a05dc..6a3bfde237 100644
--- a/app/Repositories/Budget/AvailableBudgetRepository.php
+++ b/app/Repositories/Budget/AvailableBudgetRepository.php
@@ -3,20 +3,20 @@
* AvailableBudgetRepository.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -138,8 +138,8 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface
{
$return = [];
$availableBudgets = $this->user->availableBudgets()
- ->where('start_date', $start->format('Y-m-d 00:00:00'))
- ->where('end_date', $end->format('Y-m-d 00:00:00'))->get();
+ ->where('start_date', $start->format('Y-m-d'))
+ ->where('end_date', $end->format('Y-m-d'))->get();
/** @var AvailableBudget $availableBudget */
foreach ($availableBudgets as $availableBudget) {
$return[$availableBudget->transaction_currency_id] = $availableBudget->amount;
@@ -282,4 +282,12 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface
return $availableBudget;
}
+
+ /**
+ * Delete all available budgets.
+ */
+ public function destroyAll(): void
+ {
+ $this->user->availableBudgets()->delete();
+ }
}
\ No newline at end of file
diff --git a/app/Repositories/Budget/AvailableBudgetRepositoryInterface.php b/app/Repositories/Budget/AvailableBudgetRepositoryInterface.php
index 7076e01923..b7b67abb69 100644
--- a/app/Repositories/Budget/AvailableBudgetRepositoryInterface.php
+++ b/app/Repositories/Budget/AvailableBudgetRepositoryInterface.php
@@ -3,20 +3,20 @@
* AvailableBudgetRepositoryInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -34,6 +34,12 @@ use Illuminate\Support\Collection;
*/
interface AvailableBudgetRepositoryInterface
{
+
+ /**
+ * Delete all available budgets.
+ */
+ public function destroyAll(): void;
+
/**
* @param AvailableBudget $availableBudget
*/
diff --git a/app/Repositories/Budget/BudgetLimitRepository.php b/app/Repositories/Budget/BudgetLimitRepository.php
index 9c8a1b63fa..3dfdec3e40 100644
--- a/app/Repositories/Budget/BudgetLimitRepository.php
+++ b/app/Repositories/Budget/BudgetLimitRepository.php
@@ -3,20 +3,20 @@
* BudgetLimitRepository.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -69,12 +69,15 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface
public function budgeted(Carbon $start, Carbon $end, TransactionCurrency $currency, ?Collection $budgets = null): string
{
$query = BudgetLimit
- ::where('start_date', $start->format('Y-m-d 00:00:00'))
- ->where('end_date', $end->format('Y-m-d 00:00:00'))
- ->where('transaction_currency_id', $currency->id);
+ ::leftJoin('budgets', 'budgets.id', '=', 'budget_limits.budget_id')
+ ->where('budget_limits.start_date', $start->format('Y-m-d 00:00:00'))
+ ->where('budget_limits.end_date', $end->format('Y-m-d 00:00:00'))
+ ->where('budget_limits.transaction_currency_id', $currency->id)
+ ->where('budgets.user_id', $this->user->id);
if (null !== $budgets && $budgets->count() > 0) {
- $query->whereIn('budget_id', $budgets->pluck('id')->toArray());
+ $query->whereIn('budget_limits.budget_id', $budgets->pluck('id')->toArray());
}
+
$set = $query->get(['budget_limits.*']);
$result = '0';
/** @var BudgetLimit $budgetLimit */
@@ -447,4 +450,16 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface
return $limit;
}
+
+ /**
+ * Destroy all budget limits.
+ */
+ public function destroyAll(): void
+ {
+ $budgets = $this->user->budgets()->get();
+ /** @var Budget $budget */
+ foreach ($budgets as $budget) {
+ $budget->budgetlimits()->delete();
+ }
+ }
}
\ No newline at end of file
diff --git a/app/Repositories/Budget/BudgetLimitRepositoryInterface.php b/app/Repositories/Budget/BudgetLimitRepositoryInterface.php
index a9a795d08c..e494868b91 100644
--- a/app/Repositories/Budget/BudgetLimitRepositoryInterface.php
+++ b/app/Repositories/Budget/BudgetLimitRepositoryInterface.php
@@ -3,20 +3,20 @@
* BudgetLimitRepositoryInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -35,6 +35,12 @@ use Illuminate\Support\Collection;
*/
interface BudgetLimitRepositoryInterface
{
+
+ /**
+ * Destroy all budget limits.
+ */
+ public function destroyAll(): void;
+
/**
* Tells you which amount has been budgeted (for the given budgets)
* in the selected query. Returns a positive amount as a string.
diff --git a/app/Repositories/Budget/BudgetRepository.php b/app/Repositories/Budget/BudgetRepository.php
index 3e912b5441..453e437e88 100644
--- a/app/Repositories/Budget/BudgetRepository.php
+++ b/app/Repositories/Budget/BudgetRepository.php
@@ -1,31 +1,33 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
namespace FireflyIII\Repositories\Budget;
use Carbon\Carbon;
+use DB;
use Exception;
use FireflyIII\Models\Budget;
use FireflyIII\Models\BudgetLimit;
+use FireflyIII\Models\RecurrenceTransactionMeta;
use FireflyIII\Models\RuleAction;
use FireflyIII\Models\RuleTrigger;
use FireflyIII\Services\Internal\Destroy\BudgetDestroyService;
@@ -220,7 +222,8 @@ class BudgetRepository implements BudgetRepositoryInterface
public function getInactiveBudgets(): Collection
{
/** @var Collection $set */
- $set = $this->user->budgets()->orderBy('order', 'DESC')
+ $set = $this->user->budgets()
+ ->orderBy('order', 'DESC')
->orderBy('name', 'ASC')->where('active', 0)->get();
return $set;
@@ -238,6 +241,8 @@ class BudgetRepository implements BudgetRepositoryInterface
if ('' !== $query) {
$search->where('name', 'LIKE', sprintf('%%%s%%', $query));
}
+ $search->orderBy('order', 'DESC')
+ ->orderBy('name', 'ASC')->where('active', 1);
return $search->get();
}
@@ -338,4 +343,20 @@ class BudgetRepository implements BudgetRepositoryInterface
Log::debug(sprintf('Updated trigger %d: %s', $trigger->id, $trigger->trigger_value));
}
}
+
+ /**
+ * Destroy all budgets.
+ */
+ public function destroyAll(): void
+ {
+ $budgets = $this->getBudgets();
+ /** @var Budget $budget */
+ foreach ($budgets as $budget) {
+ DB::table('budget_transaction')->where('budget_id', $budget->id)->delete();
+ DB::table('budget_transaction_journal')->where('budget_id', $budget->id)->delete();
+ RecurrenceTransactionMeta::where('name', 'budget_id')->where('value', $budget->id)->delete();
+ RuleAction::where('action_type', 'set_budget')->where('action_value', $budget->id)->delete();
+ $budget->delete();
+ }
+ }
}
diff --git a/app/Repositories/Budget/BudgetRepositoryInterface.php b/app/Repositories/Budget/BudgetRepositoryInterface.php
index 4597bd1599..90e5a4a6de 100644
--- a/app/Repositories/Budget/BudgetRepositoryInterface.php
+++ b/app/Repositories/Budget/BudgetRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -32,6 +32,12 @@ use Illuminate\Support\Collection;
*/
interface BudgetRepositoryInterface
{
+ /**
+ * Destroy all budgets.
+ */
+ public function destroyAll(): void;
+
+
/**
* @return bool
*/
diff --git a/app/Repositories/Budget/NoBudgetRepository.php b/app/Repositories/Budget/NoBudgetRepository.php
index ec3bddbbb7..32cfd88249 100644
--- a/app/Repositories/Budget/NoBudgetRepository.php
+++ b/app/Repositories/Budget/NoBudgetRepository.php
@@ -3,20 +3,20 @@
* NoBudgetRepository.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Budget/NoBudgetRepositoryInterface.php b/app/Repositories/Budget/NoBudgetRepositoryInterface.php
index 2c96c43c9e..b652323c9e 100644
--- a/app/Repositories/Budget/NoBudgetRepositoryInterface.php
+++ b/app/Repositories/Budget/NoBudgetRepositoryInterface.php
@@ -3,20 +3,20 @@
* NoBudgetRepositoryInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Budget/OperationsRepository.php b/app/Repositories/Budget/OperationsRepository.php
index 4ac417931a..08489cb71e 100644
--- a/app/Repositories/Budget/OperationsRepository.php
+++ b/app/Repositories/Budget/OperationsRepository.php
@@ -3,20 +3,20 @@
* OperationsRepository.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Budget/OperationsRepositoryInterface.php b/app/Repositories/Budget/OperationsRepositoryInterface.php
index b6c8ca3d68..4b6b55e2f6 100644
--- a/app/Repositories/Budget/OperationsRepositoryInterface.php
+++ b/app/Repositories/Budget/OperationsRepositoryInterface.php
@@ -3,20 +3,20 @@
* OperationsRepositoryInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Category/CategoryRepository.php b/app/Repositories/Category/CategoryRepository.php
index 0151345d26..f1f20c0427 100644
--- a/app/Repositories/Category/CategoryRepository.php
+++ b/app/Repositories/Category/CategoryRepository.php
@@ -1,30 +1,33 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
namespace FireflyIII\Repositories\Category;
use Carbon\Carbon;
+use DB;
use FireflyIII\Factory\CategoryFactory;
use FireflyIII\Models\Category;
+use FireflyIII\Models\RecurrenceTransactionMeta;
+use FireflyIII\Models\RuleAction;
use FireflyIII\Services\Internal\Destroy\CategoryDestroyService;
use FireflyIII\Services\Internal\Update\CategoryUpdateService;
use FireflyIII\User;
@@ -347,4 +350,19 @@ class CategoryRepository implements CategoryRepositoryInterface
return null;
}
+ /**
+ * Delete all categories.
+ */
+ public function destroyAll(): void
+ {
+ $categories = $this->getCategories();
+ /** @var Category $category */
+ foreach ($categories as $category) {
+ DB::table('category_transaction')->where('category_id', $category->id)->delete();
+ DB::table('category_transaction_journal')->where('category_id', $category->id)->delete();
+ RecurrenceTransactionMeta::where('name', 'category_id')->where('value', $category->id)->delete();
+ RuleAction::where('action_type', 'set_category')->where('action_value', $category->name)->delete();
+ $category->delete();
+ }
+ }
}
diff --git a/app/Repositories/Category/CategoryRepositoryInterface.php b/app/Repositories/Category/CategoryRepositoryInterface.php
index 4f3e33cd10..a72f520223 100644
--- a/app/Repositories/Category/CategoryRepositoryInterface.php
+++ b/app/Repositories/Category/CategoryRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -32,6 +32,10 @@ use Illuminate\Support\Collection;
*/
interface CategoryRepositoryInterface
{
+ /**
+ * Delete all categories.
+ */
+ public function destroyAll(): void;
/**
* @param Category $category
diff --git a/app/Repositories/Category/NoCategoryRepository.php b/app/Repositories/Category/NoCategoryRepository.php
index 84af542d6a..4f0c1c9fb2 100644
--- a/app/Repositories/Category/NoCategoryRepository.php
+++ b/app/Repositories/Category/NoCategoryRepository.php
@@ -3,20 +3,20 @@
* NoCategoryRepository.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Category/NoCategoryRepositoryInterface.php b/app/Repositories/Category/NoCategoryRepositoryInterface.php
index 3881b263e7..6f3cd80b3f 100644
--- a/app/Repositories/Category/NoCategoryRepositoryInterface.php
+++ b/app/Repositories/Category/NoCategoryRepositoryInterface.php
@@ -3,20 +3,20 @@
* NoCategoryRepositoryInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Category/OperationsRepository.php b/app/Repositories/Category/OperationsRepository.php
index 0853ce6fcc..4e05810a46 100644
--- a/app/Repositories/Category/OperationsRepository.php
+++ b/app/Repositories/Category/OperationsRepository.php
@@ -3,20 +3,20 @@
* OperationsRepository.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -254,7 +254,7 @@ class OperationsRepository implements OperationsRepositoryInterface
'currency_name' => $journal['currency_name'],
'currency_symbol' => $journal['currency_symbol'],
'currency_code' => $journal['currency_code'],
- 'currency_decimal_places' => $journal['currency_decimal_places'],
+ 'currency_decimal_places' => (int)$journal['currency_decimal_places'],
];
$array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], app('steam')->negative($journal['amount']));
}
diff --git a/app/Repositories/Category/OperationsRepositoryInterface.php b/app/Repositories/Category/OperationsRepositoryInterface.php
index 0d11cfa73d..adcc832c6b 100644
--- a/app/Repositories/Category/OperationsRepositoryInterface.php
+++ b/app/Repositories/Category/OperationsRepositoryInterface.php
@@ -3,20 +3,20 @@
* OperationsRepositoryInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Currency/CurrencyRepository.php b/app/Repositories/Currency/CurrencyRepository.php
index 9ef3de89d9..ddbc21e05e 100644
--- a/app/Repositories/Currency/CurrencyRepository.php
+++ b/app/Repositories/Currency/CurrencyRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Currency/CurrencyRepositoryInterface.php b/app/Repositories/Currency/CurrencyRepositoryInterface.php
index 5b0832832b..d5e850be84 100644
--- a/app/Repositories/Currency/CurrencyRepositoryInterface.php
+++ b/app/Repositories/Currency/CurrencyRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/ImportJob/ImportJobRepository.php b/app/Repositories/ImportJob/ImportJobRepository.php
index c17a4cd4f2..a48ba7133f 100644
--- a/app/Repositories/ImportJob/ImportJobRepository.php
+++ b/app/Repositories/ImportJob/ImportJobRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/ImportJob/ImportJobRepositoryInterface.php b/app/Repositories/ImportJob/ImportJobRepositoryInterface.php
index 980421554e..a12687a857 100644
--- a/app/Repositories/ImportJob/ImportJobRepositoryInterface.php
+++ b/app/Repositories/ImportJob/ImportJobRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Journal/JournalAPIRepository.php b/app/Repositories/Journal/JournalAPIRepository.php
index 1dccb71327..958942b717 100644
--- a/app/Repositories/Journal/JournalAPIRepository.php
+++ b/app/Repositories/Journal/JournalAPIRepository.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Repositories\Journal;
use FireflyIII\Models\PiggyBankEvent;
diff --git a/app/Repositories/Journal/JournalAPIRepositoryInterface.php b/app/Repositories/Journal/JournalAPIRepositoryInterface.php
index 1c1c597dae..bb3256c5b9 100644
--- a/app/Repositories/Journal/JournalAPIRepositoryInterface.php
+++ b/app/Repositories/Journal/JournalAPIRepositoryInterface.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Repositories\Journal;
use FireflyIII\Models\Transaction;
diff --git a/app/Repositories/Journal/JournalCLIRepository.php b/app/Repositories/Journal/JournalCLIRepository.php
index a965211466..90c1cacb23 100644
--- a/app/Repositories/Journal/JournalCLIRepository.php
+++ b/app/Repositories/Journal/JournalCLIRepository.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Repositories\Journal;
diff --git a/app/Repositories/Journal/JournalCLIRepositoryInterface.php b/app/Repositories/Journal/JournalCLIRepositoryInterface.php
index 3027a7d1c6..9635258f3c 100644
--- a/app/Repositories/Journal/JournalCLIRepositoryInterface.php
+++ b/app/Repositories/Journal/JournalCLIRepositoryInterface.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Repositories\Journal;
use Carbon\Carbon;
diff --git a/app/Repositories/Journal/JournalRepository.php b/app/Repositories/Journal/JournalRepository.php
index 375417358f..f51a24ec7f 100644
--- a/app/Repositories/Journal/JournalRepository.php
+++ b/app/Repositories/Journal/JournalRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Journal/JournalRepositoryInterface.php b/app/Repositories/Journal/JournalRepositoryInterface.php
index 68fe9fe49b..af2a752612 100644
--- a/app/Repositories/Journal/JournalRepositoryInterface.php
+++ b/app/Repositories/Journal/JournalRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/LinkType/LinkTypeRepository.php b/app/Repositories/LinkType/LinkTypeRepository.php
index 14daa155dd..f69a747703 100644
--- a/app/Repositories/LinkType/LinkTypeRepository.php
+++ b/app/Repositories/LinkType/LinkTypeRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/LinkType/LinkTypeRepositoryInterface.php b/app/Repositories/LinkType/LinkTypeRepositoryInterface.php
index 85c37c4644..8a22f9efd8 100644
--- a/app/Repositories/LinkType/LinkTypeRepositoryInterface.php
+++ b/app/Repositories/LinkType/LinkTypeRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/PiggyBank/PiggyBankRepository.php b/app/Repositories/PiggyBank/PiggyBankRepository.php
index a69ef887f3..fb6227d609 100644
--- a/app/Repositories/PiggyBank/PiggyBankRepository.php
+++ b/app/Repositories/PiggyBank/PiggyBankRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -28,7 +28,9 @@ use FireflyIII\Models\Note;
use FireflyIII\Models\PiggyBank;
use FireflyIII\Models\PiggyBankEvent;
use FireflyIII\Models\PiggyBankRepetition;
+use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal;
+use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\User;
use Illuminate\Support\Collection;
@@ -102,8 +104,16 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
$savedSoFar = (string)$this->getRepetition($piggyBank)->currentamount;
$leftToSave = bcsub($piggyBank->targetamount, $savedSoFar);
$maxAmount = (string)min(round($leftOnAccount, 12), round($leftToSave, 12));
+ $compare = bccomp($amount, $maxAmount);
+ $result = $compare <= 0;
+
+ Log::debug(sprintf('Left on account: %s', $leftOnAccount));
+ Log::debug(sprintf('Saved so far: %s', $savedSoFar));
+ Log::debug(sprintf('Left to save: %s', $leftToSave));
+ Log::debug(sprintf('Maximum amount: %s', $maxAmount));
+ Log::debug(sprintf('Compare <= 0? %d, so %s', $compare, var_export($result, true)));
- return bccomp($amount, $maxAmount) <= 0;
+ return $result;
}
/**
@@ -295,29 +305,72 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
*/
public function getExactAmount(PiggyBank $piggyBank, PiggyBankRepetition $repetition, TransactionJournal $journal): string
{
- /** @var JournalRepositoryInterface $repos */
- $repos = app(JournalRepositoryInterface::class);
- $repos->setUser($this->user);
+ Log::debug(sprintf('Now in getExactAmount(%d, %d, %d)', $piggyBank->id, $repetition->id, $journal->id));
+
+ $operator = null;
+ /** @var JournalRepositoryInterface $journalRepost */
+ $journalRepost = app(JournalRepositoryInterface::class);
+ $journalRepost->setUser($this->user);
+
+ /** @var AccountRepositoryInterface $accountRepos */
+ $accountRepos = app(AccountRepositoryInterface::class);
+ $accountRepos->setUser($this->user);
+
+ $defaultCurrency = app('amount')->getDefaultCurrencyByUser($this->user);
+ $piggyBankCurrency = $accountRepos->getAccountCurrency($piggyBank->account) ?? $defaultCurrency;
+
+ Log::debug(sprintf('Piggy bank #%d currency is %s', $piggyBank->id, $piggyBankCurrency->code));
+
+ /** @var Transaction $source */
+ $source = $journal->transactions()->with(['Account'])->where('amount', '<', 0)->first();
+ /** @var Transaction $destination */
+ $destination = $journal->transactions()->with(['Account'])->where('amount', '>', 0)->first();
+
+ // matches source, which means amount will be removed from piggy:
+ if ($source->account_id === $piggyBank->account_id) {
+ $operator = 'negative';
+ $currency = $accountRepos->getAccountCurrency($source->account) ?? $defaultCurrency;
+ Log::debug(sprintf('Currency will draw money out of piggy bank. Source currency is %s', $currency->code));
+ }
+
+ // matches destination, which means amount will be added to piggy.
+ if ($destination->account_id === $piggyBank->account_id) {
+ $operator = 'positive';
+ $currency = $accountRepos->getAccountCurrency($destination->account) ?? $defaultCurrency;
+ Log::debug(sprintf('Currency will add money to piggy bank. Destination currency is %s', $currency->code));
+ }
+ if (null === $operator || null === $currency) {
+ return '0';
+ }
+ // currency of the account + the piggy bank currency are almost the same.
+ // which amount from the transaction matches?
+ // $currency->id === $piggyBankCurrency->id
+ $amount = null;
+ if ($source->transaction_currency_id === $currency->id) {
+ Log::debug('Use normal amount');
+ $amount = app('steam')->$operator($source->amount);
+ }
+ if ($source->foreign_currency_id === $currency->id) {
+ Log::debug('Use foreign amount');
+ $amount = app('steam')->$operator($source->foreign_amount);
+ }
+ if (null === $amount) {
+ return '0';
+ }
+
+ Log::debug(sprintf('The currency is %s and the amount is %s', $currency->code, $amount));
+
- $amount = $repos->getJournalTotal($journal);
- $sources = $repos->getJournalSourceAccounts($journal)->pluck('id')->toArray();
$room = bcsub((string)$piggyBank->targetamount, (string)$repetition->currentamount);
$compare = bcmul($repetition->currentamount, '-1');
Log::debug(sprintf('Will add/remove %f to piggy bank #%d ("%s")', $amount, $piggyBank->id, $piggyBank->name));
- // if piggy account matches source account, the amount is positive
- if (in_array($piggyBank->account_id, $sources, true)) {
- $amount = bcmul($amount, '-1');
- Log::debug(sprintf('Account #%d is the source, so will remove amount from piggy bank.', $piggyBank->account_id));
- }
-
// if the amount is positive, make sure it fits in piggy bank:
if (1 === bccomp($amount, '0') && bccomp($room, $amount) === -1) {
// amount is positive and $room is smaller than $amount
Log::debug(sprintf('Room in piggy bank for extra money is %f', $room));
Log::debug(sprintf('There is NO room to add %f to piggy bank #%d ("%s")', $amount, $piggyBank->id, $piggyBank->name));
Log::debug(sprintf('New amount is %f', $room));
-
return $room;
}
@@ -326,11 +379,10 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
Log::debug(sprintf('Max amount to remove is %f', $repetition->currentamount));
Log::debug(sprintf('Cannot remove %f from piggy bank #%d ("%s")', $amount, $piggyBank->id, $piggyBank->name));
Log::debug(sprintf('New amount is %f', $compare));
-
return $compare;
}
- return $amount;
+ return (string)$amount;
}
/**
diff --git a/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php b/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php
index fe9b044184..fd82dc2c29 100644
--- a/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php
+++ b/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Recurring/RecurringRepository.php b/app/Repositories/Recurring/RecurringRepository.php
index 7cf6fbba9b..7dcad34ad5 100644
--- a/app/Repositories/Recurring/RecurringRepository.php
+++ b/app/Repositories/Recurring/RecurringRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -41,6 +41,7 @@ use FireflyIII\Services\Internal\Destroy\RecurrenceDestroyService;
use FireflyIII\Services\Internal\Update\RecurrenceUpdateService;
use FireflyIII\Support\Repositories\Recurring\CalculateRangeOccurrences;
use FireflyIII\Support\Repositories\Recurring\CalculateXOccurrences;
+use FireflyIII\Support\Repositories\Recurring\CalculateXOccurrencesSince;
use FireflyIII\Support\Repositories\Recurring\FiltersWeekends;
use FireflyIII\User;
use Illuminate\Pagination\LengthAwarePaginator;
@@ -52,7 +53,7 @@ use Log;
*/
class RecurringRepository implements RecurringRepositoryInterface
{
- use CalculateRangeOccurrences, CalculateXOccurrences, FiltersWeekends;
+ use CalculateRangeOccurrences, CalculateXOccurrences, CalculateXOccurrencesSince, FiltersWeekends;
/** @var User */
private $user;
@@ -496,4 +497,44 @@ class RecurringRepository implements RecurringRepositoryInterface
return $service->update($recurrence, $data);
}
+
+ /**
+ * Calculate the next X iterations starting on the date given in $date.
+ * Returns an array of Carbon objects.
+ *
+ * Only returns them of they are after $afterDate
+ *
+ * @param RecurrenceRepetition $repetition
+ * @param Carbon $date
+ * @param Carbon $afterDate
+ * @param int $count
+ *
+ * @return array
+ * @throws FireflyException
+ */
+ public function getXOccurrencesSince(RecurrenceRepetition $repetition, Carbon $date, Carbon $afterDate, int $count): array
+ {
+ $skipMod = $repetition->repetition_skip + 1;
+ $occurrences = [];
+ if ('daily' === $repetition->repetition_type) {
+ $occurrences = $this->getXDailyOccurrencesSince($date, $afterDate, $count, $skipMod);
+ }
+ if ('weekly' === $repetition->repetition_type) {
+ $occurrences = $this->getXWeeklyOccurrencesSince($date, $afterDate, $count, $skipMod, $repetition->repetition_moment);
+ }
+ if ('monthly' === $repetition->repetition_type) {
+ $occurrences = $this->getXMonthlyOccurrencesSince($date, $afterDate, $count, $skipMod, $repetition->repetition_moment);
+ }
+ if ('ndom' === $repetition->repetition_type) {
+ $occurrences = $this->getXNDomOccurrencesSince($date, $afterDate, $count, $skipMod, $repetition->repetition_moment);
+ }
+ if ('yearly' === $repetition->repetition_type) {
+ $occurrences = $this->getXYearlyOccurrencesSince($date, $afterDate, $count, $skipMod, $repetition->repetition_moment);
+ }
+
+ // filter out all the weekend days:
+ $occurrences = $this->filterWeekends($repetition, $occurrences);
+
+ return $occurrences;
+ }
}
diff --git a/app/Repositories/Recurring/RecurringRepositoryInterface.php b/app/Repositories/Recurring/RecurringRepositoryInterface.php
index b18caa5e93..440bda4d93 100644
--- a/app/Repositories/Recurring/RecurringRepositoryInterface.php
+++ b/app/Repositories/Recurring/RecurringRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -163,6 +163,22 @@ interface RecurringRepositoryInterface
*/
public function getXOccurrences(RecurrenceRepetition $repetition, Carbon $date, int $count): array;
+ /**
+ * Calculate the next X iterations starting on the date given in $date.
+ * Returns an array of Carbon objects.
+ *
+ * Only returns them of they are after $afterDate
+ *
+ * @param RecurrenceRepetition $repetition
+ * @param Carbon $date
+ * @param Carbon $afterDate
+ * @param int $count
+ *
+ * @throws FireflyException
+ * @return array
+ */
+ public function getXOccurrencesSince(RecurrenceRepetition $repetition, Carbon $date,Carbon $afterDate, int $count): array;
+
/**
* Parse the repetition in a string that is user readable.
*
diff --git a/app/Repositories/Rule/RuleRepository.php b/app/Repositories/Rule/RuleRepository.php
index 459657b814..99f24784df 100644
--- a/app/Repositories/Rule/RuleRepository.php
+++ b/app/Repositories/Rule/RuleRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Rule/RuleRepositoryInterface.php b/app/Repositories/Rule/RuleRepositoryInterface.php
index 7a105bd681..5de0158e30 100644
--- a/app/Repositories/Rule/RuleRepositoryInterface.php
+++ b/app/Repositories/Rule/RuleRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/RuleGroup/RuleGroupRepository.php b/app/Repositories/RuleGroup/RuleGroupRepository.php
index d27ee4c073..d7dd813900 100644
--- a/app/Repositories/RuleGroup/RuleGroupRepository.php
+++ b/app/Repositories/RuleGroup/RuleGroupRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/RuleGroup/RuleGroupRepositoryInterface.php b/app/Repositories/RuleGroup/RuleGroupRepositoryInterface.php
index 45847bb7c4..0055d58a23 100644
--- a/app/Repositories/RuleGroup/RuleGroupRepositoryInterface.php
+++ b/app/Repositories/RuleGroup/RuleGroupRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Tag/OperationsRepository.php b/app/Repositories/Tag/OperationsRepository.php
index bbdaf52097..64f5c0e0b8 100644
--- a/app/Repositories/Tag/OperationsRepository.php
+++ b/app/Repositories/Tag/OperationsRepository.php
@@ -3,20 +3,20 @@
* OperationsRepository.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Tag/OperationsRepositoryInterface.php b/app/Repositories/Tag/OperationsRepositoryInterface.php
index 5bca16897d..1736647845 100644
--- a/app/Repositories/Tag/OperationsRepositoryInterface.php
+++ b/app/Repositories/Tag/OperationsRepositoryInterface.php
@@ -3,20 +3,20 @@
* OperationsRepositoryInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/Tag/TagRepository.php b/app/Repositories/Tag/TagRepository.php
index 71c0048669..330f22f137 100644
--- a/app/Repositories/Tag/TagRepository.php
+++ b/app/Repositories/Tag/TagRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -486,4 +486,17 @@ class TagRepository implements TagRepositoryInterface
return $tagQuery->get(['tags.id', 'tags.tag','tags.created_at', DB::raw('SUM(transactions.amount) as amount_sum')]);
}
+
+ /**
+ * Destroy all tags.
+ */
+ public function destroyAll(): void
+ {
+ $tags = $this->get();
+ /** @var Tag $tag */
+ foreach ($tags as $tag) {
+ DB::table('tag_transaction_journal')->where('tag_id', $tag->id)->delete();
+ $tag->delete();
+ }
+ }
}
diff --git a/app/Repositories/Tag/TagRepositoryInterface.php b/app/Repositories/Tag/TagRepositoryInterface.php
index 93e31a5e9c..d0986822dd 100644
--- a/app/Repositories/Tag/TagRepositoryInterface.php
+++ b/app/Repositories/Tag/TagRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -32,6 +32,11 @@ use Illuminate\Support\Collection;
*/
interface TagRepositoryInterface
{
+ /**
+ * Destroy all tags.
+ */
+ public function destroyAll(): void;
+
/**
* @return int
*/
diff --git a/app/Repositories/TransactionGroup/TransactionGroupRepository.php b/app/Repositories/TransactionGroup/TransactionGroupRepository.php
index 5870bcea5b..3e4289e0f3 100644
--- a/app/Repositories/TransactionGroup/TransactionGroupRepository.php
+++ b/app/Repositories/TransactionGroup/TransactionGroupRepository.php
@@ -3,20 +3,20 @@
* TransactionGroupRepository.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/TransactionGroup/TransactionGroupRepositoryInterface.php b/app/Repositories/TransactionGroup/TransactionGroupRepositoryInterface.php
index d39a45a98e..d184aa8f27 100644
--- a/app/Repositories/TransactionGroup/TransactionGroupRepositoryInterface.php
+++ b/app/Repositories/TransactionGroup/TransactionGroupRepositoryInterface.php
@@ -3,20 +3,20 @@
* TransactionGroupRepositoryInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/TransactionType/TransactionTypeRepository.php b/app/Repositories/TransactionType/TransactionTypeRepository.php
index c325ae104a..8597c41662 100644
--- a/app/Repositories/TransactionType/TransactionTypeRepository.php
+++ b/app/Repositories/TransactionType/TransactionTypeRepository.php
@@ -3,20 +3,20 @@
* TransactionTypeRepository.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/TransactionType/TransactionTypeRepositoryInterface.php b/app/Repositories/TransactionType/TransactionTypeRepositoryInterface.php
index b8332bfa7d..3830f69f0c 100644
--- a/app/Repositories/TransactionType/TransactionTypeRepositoryInterface.php
+++ b/app/Repositories/TransactionType/TransactionTypeRepositoryInterface.php
@@ -3,20 +3,20 @@
* TransactionTypeRepositoryInterface.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/User/UserRepository.php b/app/Repositories/User/UserRepository.php
index 7b035c8f6b..321959e9d2 100644
--- a/app/Repositories/User/UserRepository.php
+++ b/app/Repositories/User/UserRepository.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Repositories/User/UserRepositoryInterface.php b/app/Repositories/User/UserRepositoryInterface.php
index 5f7043b46d..4e8fa38446 100644
--- a/app/Repositories/User/UserRepositoryInterface.php
+++ b/app/Repositories/User/UserRepositoryInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Rules/BelongsUser.php b/app/Rules/BelongsUser.php
index eb1b518a74..d83d61a405 100644
--- a/app/Rules/BelongsUser.php
+++ b/app/Rules/BelongsUser.php
@@ -2,22 +2,22 @@
/**
* BelongsUser.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Rules/IsAssetAccountId.php b/app/Rules/IsAssetAccountId.php
index 292035144a..0e717842b2 100644
--- a/app/Rules/IsAssetAccountId.php
+++ b/app/Rules/IsAssetAccountId.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Rules/IsBoolean.php b/app/Rules/IsBoolean.php
index c40e8ce1f8..923b0b46a1 100644
--- a/app/Rules/IsBoolean.php
+++ b/app/Rules/IsBoolean.php
@@ -2,22 +2,22 @@
/**
* IsBoolean.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Rules/IsDateOrTime.php b/app/Rules/IsDateOrTime.php
index f942e8206b..b6547d9cb2 100644
--- a/app/Rules/IsDateOrTime.php
+++ b/app/Rules/IsDateOrTime.php
@@ -4,20 +4,20 @@
* IsDateOrTime.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Rules/IsValidAttachmentModel.php b/app/Rules/IsValidAttachmentModel.php
index 132c3fae26..84dea3ce21 100644
--- a/app/Rules/IsValidAttachmentModel.php
+++ b/app/Rules/IsValidAttachmentModel.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Rules/LessThanPiggyTarget.php b/app/Rules/LessThanPiggyTarget.php
index 0afea016ea..90fbd4d83a 100644
--- a/app/Rules/LessThanPiggyTarget.php
+++ b/app/Rules/LessThanPiggyTarget.php
@@ -1,4 +1,23 @@
.
+ */
namespace FireflyIII\Rules;
diff --git a/app/Rules/UniqueIban.php b/app/Rules/UniqueIban.php
index 3f1b178704..091597d36a 100644
--- a/app/Rules/UniqueIban.php
+++ b/app/Rules/UniqueIban.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Rules/ValidJournals.php b/app/Rules/ValidJournals.php
index 719d112a8d..adcc9c1245 100644
--- a/app/Rules/ValidJournals.php
+++ b/app/Rules/ValidJournals.php
@@ -4,20 +4,20 @@
* ValidJournals.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Rules/ValidRecurrenceRepetitionType.php b/app/Rules/ValidRecurrenceRepetitionType.php
index 00e66ff56b..104c489832 100644
--- a/app/Rules/ValidRecurrenceRepetitionType.php
+++ b/app/Rules/ValidRecurrenceRepetitionType.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Rules/ValidRecurrenceRepetitionValue.php b/app/Rules/ValidRecurrenceRepetitionValue.php
index 18e207c328..9c587542c0 100644
--- a/app/Rules/ValidRecurrenceRepetitionValue.php
+++ b/app/Rules/ValidRecurrenceRepetitionValue.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Rules/ZeroOrMore.php b/app/Rules/ZeroOrMore.php
index 444f5fb195..cd1885c098 100644
--- a/app/Rules/ZeroOrMore.php
+++ b/app/Rules/ZeroOrMore.php
@@ -2,22 +2,22 @@
/**
* ZeroOrMore.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Bunq/ApiContext.php b/app/Services/Bunq/ApiContext.php
index 37b1c9f77c..e4740f0c3f 100644
--- a/app/Services/Bunq/ApiContext.php
+++ b/app/Services/Bunq/ApiContext.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Bunq/MonetaryAccount.php b/app/Services/Bunq/MonetaryAccount.php
index 9163e70039..3f1b905b8b 100644
--- a/app/Services/Bunq/MonetaryAccount.php
+++ b/app/Services/Bunq/MonetaryAccount.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Bunq/Payment.php b/app/Services/Bunq/Payment.php
index b01d57fbd1..4ec2980a88 100644
--- a/app/Services/Bunq/Payment.php
+++ b/app/Services/Bunq/Payment.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Currency/ExchangeRateInterface.php b/app/Services/Currency/ExchangeRateInterface.php
index 8d97a6cc47..46f647f54d 100644
--- a/app/Services/Currency/ExchangeRateInterface.php
+++ b/app/Services/Currency/ExchangeRateInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Currency/FixerIOv2.php b/app/Services/Currency/FixerIOv2.php
index 6ad748efd9..02e7eb17f1 100644
--- a/app/Services/Currency/FixerIOv2.php
+++ b/app/Services/Currency/FixerIOv2.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Currency/RatesApiIOv1.php b/app/Services/Currency/RatesApiIOv1.php
index 369b6b1651..d67c434d37 100644
--- a/app/Services/Currency/RatesApiIOv1.php
+++ b/app/Services/Currency/RatesApiIOv1.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Github/Object/GithubObject.php b/app/Services/Github/Object/GithubObject.php
index 0b83f4bf58..0277c4a3b1 100644
--- a/app/Services/Github/Object/GithubObject.php
+++ b/app/Services/Github/Object/GithubObject.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Github/Object/Release.php b/app/Services/Github/Object/Release.php
index 7a9ab20e94..23dbdf5e0c 100644
--- a/app/Services/Github/Object/Release.php
+++ b/app/Services/Github/Object/Release.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Github/Request/GithubRequest.php b/app/Services/Github/Request/GithubRequest.php
index fc3552a18c..ee2d3cd47c 100644
--- a/app/Services/Github/Request/GithubRequest.php
+++ b/app/Services/Github/Request/GithubRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Github/Request/UpdateRequest.php b/app/Services/Github/Request/UpdateRequest.php
index 6a5fae2116..0c35b057fb 100644
--- a/app/Services/Github/Request/UpdateRequest.php
+++ b/app/Services/Github/Request/UpdateRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/IP/IPRetrievalInterface.php b/app/Services/IP/IPRetrievalInterface.php
index f8a36580b4..a2f3bdab04 100644
--- a/app/Services/IP/IPRetrievalInterface.php
+++ b/app/Services/IP/IPRetrievalInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/IP/IpifyOrg.php b/app/Services/IP/IpifyOrg.php
index 80851c9e5e..25750dc7ba 100644
--- a/app/Services/IP/IpifyOrg.php
+++ b/app/Services/IP/IpifyOrg.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Destroy/AccountDestroyService.php b/app/Services/Internal/Destroy/AccountDestroyService.php
index 9d71351eb4..feb01191d7 100644
--- a/app/Services/Internal/Destroy/AccountDestroyService.php
+++ b/app/Services/Internal/Destroy/AccountDestroyService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Destroy/BillDestroyService.php b/app/Services/Internal/Destroy/BillDestroyService.php
index 4b256c8f89..7c1c043d34 100644
--- a/app/Services/Internal/Destroy/BillDestroyService.php
+++ b/app/Services/Internal/Destroy/BillDestroyService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Destroy/BudgetDestroyService.php b/app/Services/Internal/Destroy/BudgetDestroyService.php
index 0f7d9eb828..c3b574c3fb 100644
--- a/app/Services/Internal/Destroy/BudgetDestroyService.php
+++ b/app/Services/Internal/Destroy/BudgetDestroyService.php
@@ -3,20 +3,20 @@
* BudgetDestroyService.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Destroy/CategoryDestroyService.php b/app/Services/Internal/Destroy/CategoryDestroyService.php
index 936a1dff78..39dd766e6e 100644
--- a/app/Services/Internal/Destroy/CategoryDestroyService.php
+++ b/app/Services/Internal/Destroy/CategoryDestroyService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Destroy/CurrencyDestroyService.php b/app/Services/Internal/Destroy/CurrencyDestroyService.php
index 9964b081d4..a4b04f96fd 100644
--- a/app/Services/Internal/Destroy/CurrencyDestroyService.php
+++ b/app/Services/Internal/Destroy/CurrencyDestroyService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Destroy/JournalDestroyService.php b/app/Services/Internal/Destroy/JournalDestroyService.php
index 7d70c6b540..74c19b0536 100644
--- a/app/Services/Internal/Destroy/JournalDestroyService.php
+++ b/app/Services/Internal/Destroy/JournalDestroyService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Destroy/RecurrenceDestroyService.php b/app/Services/Internal/Destroy/RecurrenceDestroyService.php
index b7fc3d8233..465aa4efc7 100644
--- a/app/Services/Internal/Destroy/RecurrenceDestroyService.php
+++ b/app/Services/Internal/Destroy/RecurrenceDestroyService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Destroy/TransactionGroupDestroyService.php b/app/Services/Internal/Destroy/TransactionGroupDestroyService.php
index 44cc335255..fce68f60b1 100644
--- a/app/Services/Internal/Destroy/TransactionGroupDestroyService.php
+++ b/app/Services/Internal/Destroy/TransactionGroupDestroyService.php
@@ -3,20 +3,20 @@
* TransactionGroupDestroyService.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Support/AccountServiceTrait.php b/app/Services/Internal/Support/AccountServiceTrait.php
index 3491205ce5..e5949853de 100644
--- a/app/Services/Internal/Support/AccountServiceTrait.php
+++ b/app/Services/Internal/Support/AccountServiceTrait.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Support/BillServiceTrait.php b/app/Services/Internal/Support/BillServiceTrait.php
index eb1f9dc992..4249be7889 100644
--- a/app/Services/Internal/Support/BillServiceTrait.php
+++ b/app/Services/Internal/Support/BillServiceTrait.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Support/JournalServiceTrait.php b/app/Services/Internal/Support/JournalServiceTrait.php
index 4764ec1874..d990cb13c8 100644
--- a/app/Services/Internal/Support/JournalServiceTrait.php
+++ b/app/Services/Internal/Support/JournalServiceTrait.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Support/RecurringTransactionTrait.php b/app/Services/Internal/Support/RecurringTransactionTrait.php
index d1475c815b..86c26cb7b2 100644
--- a/app/Services/Internal/Support/RecurringTransactionTrait.php
+++ b/app/Services/Internal/Support/RecurringTransactionTrait.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Support/TransactionTypeTrait.php b/app/Services/Internal/Support/TransactionTypeTrait.php
index e877e3be76..e5bc19efbb 100644
--- a/app/Services/Internal/Support/TransactionTypeTrait.php
+++ b/app/Services/Internal/Support/TransactionTypeTrait.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Update/AccountUpdateService.php b/app/Services/Internal/Update/AccountUpdateService.php
index 487bdab988..3d3c36f591 100644
--- a/app/Services/Internal/Update/AccountUpdateService.php
+++ b/app/Services/Internal/Update/AccountUpdateService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Update/BillUpdateService.php b/app/Services/Internal/Update/BillUpdateService.php
index f3bb7ff8ed..2b79a6e44d 100644
--- a/app/Services/Internal/Update/BillUpdateService.php
+++ b/app/Services/Internal/Update/BillUpdateService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Update/CategoryUpdateService.php b/app/Services/Internal/Update/CategoryUpdateService.php
index b3c176e65b..13da6c92eb 100644
--- a/app/Services/Internal/Update/CategoryUpdateService.php
+++ b/app/Services/Internal/Update/CategoryUpdateService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Update/CurrencyUpdateService.php b/app/Services/Internal/Update/CurrencyUpdateService.php
index ef5fa2393e..390e0f9475 100644
--- a/app/Services/Internal/Update/CurrencyUpdateService.php
+++ b/app/Services/Internal/Update/CurrencyUpdateService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Update/GroupUpdateService.php b/app/Services/Internal/Update/GroupUpdateService.php
index 129e55df89..040579f654 100644
--- a/app/Services/Internal/Update/GroupUpdateService.php
+++ b/app/Services/Internal/Update/GroupUpdateService.php
@@ -3,20 +3,20 @@
* GroupUpdateService.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Update/JournalUpdateService.php b/app/Services/Internal/Update/JournalUpdateService.php
index be0114e0f6..0749979076 100644
--- a/app/Services/Internal/Update/JournalUpdateService.php
+++ b/app/Services/Internal/Update/JournalUpdateService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Internal/Update/RecurrenceUpdateService.php b/app/Services/Internal/Update/RecurrenceUpdateService.php
index 14bbce26a2..bb3c9a748c 100644
--- a/app/Services/Internal/Update/RecurrenceUpdateService.php
+++ b/app/Services/Internal/Update/RecurrenceUpdateService.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Password/PwndVerifierV2.php b/app/Services/Password/PwndVerifierV2.php
index 571e8277fb..dcd7b40cef 100644
--- a/app/Services/Password/PwndVerifierV2.php
+++ b/app/Services/Password/PwndVerifierV2.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Password/PwndVerifierV3.php b/app/Services/Password/PwndVerifierV3.php
index 96d5fadf88..2a95d54541 100644
--- a/app/Services/Password/PwndVerifierV3.php
+++ b/app/Services/Password/PwndVerifierV3.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Services\Password;
diff --git a/app/Services/Password/Verifier.php b/app/Services/Password/Verifier.php
index 9bc4b164e9..4af2bc7c88 100644
--- a/app/Services/Password/Verifier.php
+++ b/app/Services/Password/Verifier.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Exception/DuplicatedCustomerException.php b/app/Services/Spectre/Exception/DuplicatedCustomerException.php
index 2bbdc668b4..3af2d78509 100644
--- a/app/Services/Spectre/Exception/DuplicatedCustomerException.php
+++ b/app/Services/Spectre/Exception/DuplicatedCustomerException.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Exception/SpectreException.php b/app/Services/Spectre/Exception/SpectreException.php
index b96c244325..cbab2c7cd6 100644
--- a/app/Services/Spectre/Exception/SpectreException.php
+++ b/app/Services/Spectre/Exception/SpectreException.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Exception/WrongRequestFormatException.php b/app/Services/Spectre/Exception/WrongRequestFormatException.php
index ba9a3be93c..e196c9f031 100644
--- a/app/Services/Spectre/Exception/WrongRequestFormatException.php
+++ b/app/Services/Spectre/Exception/WrongRequestFormatException.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Object/Account.php b/app/Services/Spectre/Object/Account.php
index 5270360736..600530e356 100644
--- a/app/Services/Spectre/Object/Account.php
+++ b/app/Services/Spectre/Object/Account.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Object/Attempt.php b/app/Services/Spectre/Object/Attempt.php
index 210ad00088..c89f7a9855 100644
--- a/app/Services/Spectre/Object/Attempt.php
+++ b/app/Services/Spectre/Object/Attempt.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Object/Customer.php b/app/Services/Spectre/Object/Customer.php
index 3376db8daf..a539be4921 100644
--- a/app/Services/Spectre/Object/Customer.php
+++ b/app/Services/Spectre/Object/Customer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Object/Holder.php b/app/Services/Spectre/Object/Holder.php
index 87389e714f..a9cec67c0f 100644
--- a/app/Services/Spectre/Object/Holder.php
+++ b/app/Services/Spectre/Object/Holder.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Object/Login.php b/app/Services/Spectre/Object/Login.php
index 23b120e0a9..3c7d653d4d 100644
--- a/app/Services/Spectre/Object/Login.php
+++ b/app/Services/Spectre/Object/Login.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Object/SpectreObject.php b/app/Services/Spectre/Object/SpectreObject.php
index 57ecdb686e..e31b4035e4 100644
--- a/app/Services/Spectre/Object/SpectreObject.php
+++ b/app/Services/Spectre/Object/SpectreObject.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Object/Token.php b/app/Services/Spectre/Object/Token.php
index 42c1263db2..54502556de 100644
--- a/app/Services/Spectre/Object/Token.php
+++ b/app/Services/Spectre/Object/Token.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Object/Transaction.php b/app/Services/Spectre/Object/Transaction.php
index 82167913e5..8b5476fad0 100644
--- a/app/Services/Spectre/Object/Transaction.php
+++ b/app/Services/Spectre/Object/Transaction.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Object/TransactionExtra.php b/app/Services/Spectre/Object/TransactionExtra.php
index 652bd9025c..9a881410da 100644
--- a/app/Services/Spectre/Object/TransactionExtra.php
+++ b/app/Services/Spectre/Object/TransactionExtra.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Request/CreateTokenRequest.php b/app/Services/Spectre/Request/CreateTokenRequest.php
index 83e1aaab03..edd8d6ed40 100644
--- a/app/Services/Spectre/Request/CreateTokenRequest.php
+++ b/app/Services/Spectre/Request/CreateTokenRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Request/ListAccountsRequest.php b/app/Services/Spectre/Request/ListAccountsRequest.php
index 9df314c2ae..306d3afc7d 100644
--- a/app/Services/Spectre/Request/ListAccountsRequest.php
+++ b/app/Services/Spectre/Request/ListAccountsRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Request/ListCustomersRequest.php b/app/Services/Spectre/Request/ListCustomersRequest.php
index 823cb55ff5..fc3c58c4d9 100644
--- a/app/Services/Spectre/Request/ListCustomersRequest.php
+++ b/app/Services/Spectre/Request/ListCustomersRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Request/ListLoginsRequest.php b/app/Services/Spectre/Request/ListLoginsRequest.php
index 70f3097eda..d98f0657fd 100644
--- a/app/Services/Spectre/Request/ListLoginsRequest.php
+++ b/app/Services/Spectre/Request/ListLoginsRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Request/ListTransactionsRequest.php b/app/Services/Spectre/Request/ListTransactionsRequest.php
index cd9c5ad1e9..058f877377 100644
--- a/app/Services/Spectre/Request/ListTransactionsRequest.php
+++ b/app/Services/Spectre/Request/ListTransactionsRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Request/NewCustomerRequest.php b/app/Services/Spectre/Request/NewCustomerRequest.php
index f6c31f9932..00fb659b0f 100644
--- a/app/Services/Spectre/Request/NewCustomerRequest.php
+++ b/app/Services/Spectre/Request/NewCustomerRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Spectre/Request/SpectreRequest.php b/app/Services/Spectre/Request/SpectreRequest.php
index f07a5e175e..3f2a4d1bef 100644
--- a/app/Services/Spectre/Request/SpectreRequest.php
+++ b/app/Services/Spectre/Request/SpectreRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Ynab/Request/GetAccountsRequest.php b/app/Services/Ynab/Request/GetAccountsRequest.php
index c4e4e83bae..b9849e0313 100644
--- a/app/Services/Ynab/Request/GetAccountsRequest.php
+++ b/app/Services/Ynab/Request/GetAccountsRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Ynab/Request/GetBudgetsRequest.php b/app/Services/Ynab/Request/GetBudgetsRequest.php
index 03691de2d5..04cd92eb94 100644
--- a/app/Services/Ynab/Request/GetBudgetsRequest.php
+++ b/app/Services/Ynab/Request/GetBudgetsRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Ynab/Request/GetTransactionsRequest.php b/app/Services/Ynab/Request/GetTransactionsRequest.php
index cc02d9c40b..21191005b3 100644
--- a/app/Services/Ynab/Request/GetTransactionsRequest.php
+++ b/app/Services/Ynab/Request/GetTransactionsRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Services/Ynab/Request/YnabRequest.php b/app/Services/Ynab/Request/YnabRequest.php
index c538100db2..e767265ec2 100644
--- a/app/Services/Ynab/Request/YnabRequest.php
+++ b/app/Services/Ynab/Request/YnabRequest.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Amount.php b/app/Support/Amount.php
index 82183dfea1..696373795d 100644
--- a/app/Support/Amount.php
+++ b/app/Support/Amount.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Binder/AccountList.php b/app/Support/Binder/AccountList.php
index a64b0c43b4..4e32bfd6e2 100644
--- a/app/Support/Binder/AccountList.php
+++ b/app/Support/Binder/AccountList.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -55,8 +55,8 @@ class AccountList implements BinderInterface
->where('account_types.type', AccountType::ASSET)
->orderBy('accounts.name', 'ASC')
->get(['accounts.*']);
- //Log::debug(sprintf('Collection length is %d', $collection->count()));
}
+
if ('allAssetAccounts' !== $value) {
$incoming = array_map('\intval', explode(',', $value));
$list = array_merge(array_unique($incoming), [0]);
diff --git a/app/Support/Binder/BinderInterface.php b/app/Support/Binder/BinderInterface.php
index 3488867ba1..68b920cdac 100644
--- a/app/Support/Binder/BinderInterface.php
+++ b/app/Support/Binder/BinderInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Binder/BudgetList.php b/app/Support/Binder/BudgetList.php
index d846318390..ddd8973aa7 100644
--- a/app/Support/Binder/BudgetList.php
+++ b/app/Support/Binder/BudgetList.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -43,8 +43,15 @@ class BudgetList implements BinderInterface
*/
public static function routeBinder(string $value, Route $route): Collection
{
- //Log::debug(sprintf('Now in BudgetList::routeBinder("%s")', $value));
if (auth()->check()) {
+
+ if ('allBudgets' === $value) {
+ return auth()->user()->budgets()->where('active', 1)
+ ->orderBy('order', 'ASC')
+ ->orderBy('name', 'ASC')
+ ->get();
+ }
+
$list = array_unique(array_map('\intval', explode(',', $value)));
// @codeCoverageIgnoreStart
diff --git a/app/Support/Binder/CLIToken.php b/app/Support/Binder/CLIToken.php
index 65c40b9d57..9e6dfe3d5e 100644
--- a/app/Support/Binder/CLIToken.php
+++ b/app/Support/Binder/CLIToken.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Binder/CategoryList.php b/app/Support/Binder/CategoryList.php
index c68d75823d..fc34c09c7a 100644
--- a/app/Support/Binder/CategoryList.php
+++ b/app/Support/Binder/CategoryList.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -43,6 +43,12 @@ class CategoryList implements BinderInterface
public static function routeBinder(string $value, Route $route): Collection
{
if (auth()->check()) {
+ if ('allCategories' === $value) {
+ return auth()->user()->categories()
+ ->orderBy('name', 'ASC')
+ ->get();
+ }
+
$list = array_unique(array_map('\intval', explode(',', $value)));
if (0 === count($list)) {
throw new NotFoundHttpException; // @codeCoverageIgnore
diff --git a/app/Support/Binder/ConfigurationName.php b/app/Support/Binder/ConfigurationName.php
index 9fdb3c0e0d..03af6a5185 100644
--- a/app/Support/Binder/ConfigurationName.php
+++ b/app/Support/Binder/ConfigurationName.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Binder/CurrencyCode.php b/app/Support/Binder/CurrencyCode.php
index 1240a4cc8a..1c2cec6dba 100644
--- a/app/Support/Binder/CurrencyCode.php
+++ b/app/Support/Binder/CurrencyCode.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Binder/Date.php b/app/Support/Binder/Date.php
index 0d42bd2704..a05f673a28 100644
--- a/app/Support/Binder/Date.php
+++ b/app/Support/Binder/Date.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Binder/ImportProvider.php b/app/Support/Binder/ImportProvider.php
index 98d39a4122..4703b29911 100644
--- a/app/Support/Binder/ImportProvider.php
+++ b/app/Support/Binder/ImportProvider.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Binder/JournalList.php b/app/Support/Binder/JournalList.php
index 8abc85ed24..e63e8cbd9d 100644
--- a/app/Support/Binder/JournalList.php
+++ b/app/Support/Binder/JournalList.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Binder/TagList.php b/app/Support/Binder/TagList.php
index 62d64dd568..b647ff4bc8 100644
--- a/app/Support/Binder/TagList.php
+++ b/app/Support/Binder/TagList.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -44,6 +44,14 @@ class TagList implements BinderInterface
public static function routeBinder(string $value, Route $route): Collection
{
if (auth()->check()) {
+
+ if ('allTags' === $value) {
+ return auth()->user()->tags()
+ ->orderBy('tag', 'ASC')
+ ->get();
+ }
+
+
$list = array_unique(array_map('\strtolower', explode(',', $value)));
Log::debug('List of tags is', $list);
// @codeCoverageIgnoreStart
diff --git a/app/Support/Binder/TagOrId.php b/app/Support/Binder/TagOrId.php
index 8873dd5eac..d8f4123bea 100644
--- a/app/Support/Binder/TagOrId.php
+++ b/app/Support/Binder/TagOrId.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/CacheProperties.php b/app/Support/CacheProperties.php
index b25a4f520e..0b434ec101 100644
--- a/app/Support/CacheProperties.php
+++ b/app/Support/CacheProperties.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Chart/Category/WholePeriodChartGenerator.php b/app/Support/Chart/Category/WholePeriodChartGenerator.php
index 21dcf7d3c9..2ab967da5d 100644
--- a/app/Support/Chart/Category/WholePeriodChartGenerator.php
+++ b/app/Support/Chart/Category/WholePeriodChartGenerator.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Support\Chart\Category;
use Carbon\Carbon;
diff --git a/app/Support/ChartColour.php b/app/Support/ChartColour.php
index 8b1c4d1d47..0b6a7971f0 100644
--- a/app/Support/ChartColour.php
+++ b/app/Support/ChartColour.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Cronjobs/AbstractCronjob.php b/app/Support/Cronjobs/AbstractCronjob.php
index 37d2fbd0a8..2cb42052d2 100644
--- a/app/Support/Cronjobs/AbstractCronjob.php
+++ b/app/Support/Cronjobs/AbstractCronjob.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Cronjobs/RecurringCronjob.php b/app/Support/Cronjobs/RecurringCronjob.php
index 863a9670fc..7a5c206509 100644
--- a/app/Support/Cronjobs/RecurringCronjob.php
+++ b/app/Support/Cronjobs/RecurringCronjob.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Domain.php b/app/Support/Domain.php
index 3cc6f62acd..14d4f22f2e 100644
--- a/app/Support/Domain.php
+++ b/app/Support/Domain.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/ExpandedForm.php b/app/Support/ExpandedForm.php
index 5f5c49e4da..9b36485fbb 100644
--- a/app/Support/ExpandedForm.php
+++ b/app/Support/ExpandedForm.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Facades/AccountForm.php b/app/Support/Facades/AccountForm.php
index a9e8924286..40aa6dc609 100644
--- a/app/Support/Facades/AccountForm.php
+++ b/app/Support/Facades/AccountForm.php
@@ -3,20 +3,20 @@
* AccountForm.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Facades/Amount.php b/app/Support/Facades/Amount.php
index 7593ce0ce2..8843effd49 100644
--- a/app/Support/Facades/Amount.php
+++ b/app/Support/Facades/Amount.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Facades/CurrencyForm.php b/app/Support/Facades/CurrencyForm.php
index b2760568d7..8d62ac661b 100644
--- a/app/Support/Facades/CurrencyForm.php
+++ b/app/Support/Facades/CurrencyForm.php
@@ -3,20 +3,20 @@
* CurrencyForm.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Facades/ExpandedForm.php b/app/Support/Facades/ExpandedForm.php
index d82ae7fd96..9367efe2be 100644
--- a/app/Support/Facades/ExpandedForm.php
+++ b/app/Support/Facades/ExpandedForm.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Facades/FireflyConfig.php b/app/Support/Facades/FireflyConfig.php
index 92c941e4eb..4745ba9566 100644
--- a/app/Support/Facades/FireflyConfig.php
+++ b/app/Support/Facades/FireflyConfig.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Facades/Navigation.php b/app/Support/Facades/Navigation.php
index 49e1a22e62..452112a795 100644
--- a/app/Support/Facades/Navigation.php
+++ b/app/Support/Facades/Navigation.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Facades/PiggyBankForm.php b/app/Support/Facades/PiggyBankForm.php
index a454b571dc..cea008ba0e 100644
--- a/app/Support/Facades/PiggyBankForm.php
+++ b/app/Support/Facades/PiggyBankForm.php
@@ -3,20 +3,20 @@
* PiggyBankForm.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Facades/Preferences.php b/app/Support/Facades/Preferences.php
index 92887c269e..626c76a91f 100644
--- a/app/Support/Facades/Preferences.php
+++ b/app/Support/Facades/Preferences.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Facades/RuleForm.php b/app/Support/Facades/RuleForm.php
index 1df324e057..3200e6c715 100644
--- a/app/Support/Facades/RuleForm.php
+++ b/app/Support/Facades/RuleForm.php
@@ -3,20 +3,20 @@
* RuleForm.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Facades/Steam.php b/app/Support/Facades/Steam.php
index 1de7ed92f1..c3e979f6e2 100644
--- a/app/Support/Facades/Steam.php
+++ b/app/Support/Facades/Steam.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/FinTS/FinTS.php b/app/Support/FinTS/FinTS.php
index 3eec3de973..28abb672eb 100644
--- a/app/Support/FinTS/FinTS.php
+++ b/app/Support/FinTS/FinTS.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/FinTS/MetadataParser.php b/app/Support/FinTS/MetadataParser.php
index 7b22363f45..ab6eac660a 100644
--- a/app/Support/FinTS/MetadataParser.php
+++ b/app/Support/FinTS/MetadataParser.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/FireflyConfig.php b/app/Support/FireflyConfig.php
index 94a7c058ff..6806d6a0b9 100644
--- a/app/Support/FireflyConfig.php
+++ b/app/Support/FireflyConfig.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -54,6 +54,16 @@ class FireflyConfig
}
}
+ /**
+ * @param string $name
+ *
+ * @return bool
+ */
+ public function has(string $name): bool
+ {
+ return Configuration::where('name', $name)->count() === 1;
+ }
+
/**
* @param string $name
* @param mixed $default
diff --git a/app/Support/Form/AccountForm.php b/app/Support/Form/AccountForm.php
index 75ee52d1b3..7c5555e7fa 100644
--- a/app/Support/Form/AccountForm.php
+++ b/app/Support/Form/AccountForm.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Support\Form;
diff --git a/app/Support/Form/CurrencyForm.php b/app/Support/Form/CurrencyForm.php
index 60dff2f040..b240297119 100644
--- a/app/Support/Form/CurrencyForm.php
+++ b/app/Support/Form/CurrencyForm.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Support\Form;
diff --git a/app/Support/Form/FormSupport.php b/app/Support/Form/FormSupport.php
index 9a10ddeaed..945022956a 100644
--- a/app/Support/Form/FormSupport.php
+++ b/app/Support/Form/FormSupport.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Support\Form;
use Carbon\Carbon;
diff --git a/app/Support/Form/PiggyBankForm.php b/app/Support/Form/PiggyBankForm.php
index e899d953b3..fcf9f7a714 100644
--- a/app/Support/Form/PiggyBankForm.php
+++ b/app/Support/Form/PiggyBankForm.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Support\Form;
diff --git a/app/Support/Form/RuleForm.php b/app/Support/Form/RuleForm.php
index 2851b36581..067880c54c 100644
--- a/app/Support/Form/RuleForm.php
+++ b/app/Support/Form/RuleForm.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Support\Form;
diff --git a/app/Support/Http/Api/AccountFilter.php b/app/Support/Http/Api/AccountFilter.php
index 70fc6da847..b4b6d5b6a3 100644
--- a/app/Support/Http/Api/AccountFilter.php
+++ b/app/Support/Http/Api/AccountFilter.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Api/ApiSupport.php b/app/Support/Http/Api/ApiSupport.php
index 4f7db333cc..1c33a686a2 100644
--- a/app/Support/Http/Api/ApiSupport.php
+++ b/app/Support/Http/Api/ApiSupport.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\Support\Http\Api;
use FireflyIII\Models\Account;
diff --git a/app/Support/Http/Api/TransactionFilter.php b/app/Support/Http/Api/TransactionFilter.php
index 07147161da..0e68da5a6c 100644
--- a/app/Support/Http/Api/TransactionFilter.php
+++ b/app/Support/Http/Api/TransactionFilter.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/AugumentData.php b/app/Support/Http/Controllers/AugumentData.php
index 9cf29a83fd..73c3b75ea7 100644
--- a/app/Support/Http/Controllers/AugumentData.php
+++ b/app/Support/Http/Controllers/AugumentData.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/BasicDataSupport.php b/app/Support/Http/Controllers/BasicDataSupport.php
index 50fcf84a9d..bd18d1529b 100644
--- a/app/Support/Http/Controllers/BasicDataSupport.php
+++ b/app/Support/Http/Controllers/BasicDataSupport.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/ChartGeneration.php b/app/Support/Http/Controllers/ChartGeneration.php
index 3931e9870c..7e966fb681 100644
--- a/app/Support/Http/Controllers/ChartGeneration.php
+++ b/app/Support/Http/Controllers/ChartGeneration.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/CreateStuff.php b/app/Support/Http/Controllers/CreateStuff.php
index ca8ce86963..1bb0829870 100644
--- a/app/Support/Http/Controllers/CreateStuff.php
+++ b/app/Support/Http/Controllers/CreateStuff.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/CronRunner.php b/app/Support/Http/Controllers/CronRunner.php
index 3bbb3d34c0..eac8bb010f 100644
--- a/app/Support/Http/Controllers/CronRunner.php
+++ b/app/Support/Http/Controllers/CronRunner.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/DateCalculation.php b/app/Support/Http/Controllers/DateCalculation.php
index 4f44ec8f42..21be7687c3 100644
--- a/app/Support/Http/Controllers/DateCalculation.php
+++ b/app/Support/Http/Controllers/DateCalculation.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/GetConfigurationData.php b/app/Support/Http/Controllers/GetConfigurationData.php
index 49c3d558d0..e29352e7e3 100644
--- a/app/Support/Http/Controllers/GetConfigurationData.php
+++ b/app/Support/Http/Controllers/GetConfigurationData.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/ModelInformation.php b/app/Support/Http/Controllers/ModelInformation.php
index 771ab35033..597cbaff16 100644
--- a/app/Support/Http/Controllers/ModelInformation.php
+++ b/app/Support/Http/Controllers/ModelInformation.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/PeriodOverview.php b/app/Support/Http/Controllers/PeriodOverview.php
index ce045bf2ea..24b6006e8b 100644
--- a/app/Support/Http/Controllers/PeriodOverview.php
+++ b/app/Support/Http/Controllers/PeriodOverview.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/RenderPartialViews.php b/app/Support/Http/Controllers/RenderPartialViews.php
index 20c12b79d5..9177ca3f7a 100644
--- a/app/Support/Http/Controllers/RenderPartialViews.php
+++ b/app/Support/Http/Controllers/RenderPartialViews.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/RequestInformation.php b/app/Support/Http/Controllers/RequestInformation.php
index c2dad6d4ec..33f723b2a2 100644
--- a/app/Support/Http/Controllers/RequestInformation.php
+++ b/app/Support/Http/Controllers/RequestInformation.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/RuleManagement.php b/app/Support/Http/Controllers/RuleManagement.php
index d27aba4151..8964248f7b 100644
--- a/app/Support/Http/Controllers/RuleManagement.php
+++ b/app/Support/Http/Controllers/RuleManagement.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/TransactionCalculation.php b/app/Support/Http/Controllers/TransactionCalculation.php
index cb2dbe5456..18fe85a3f0 100644
--- a/app/Support/Http/Controllers/TransactionCalculation.php
+++ b/app/Support/Http/Controllers/TransactionCalculation.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Http/Controllers/UserNavigation.php b/app/Support/Http/Controllers/UserNavigation.php
index cd920f738c..6d49b4bb7f 100644
--- a/app/Support/Http/Controllers/UserNavigation.php
+++ b/app/Support/Http/Controllers/UserNavigation.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -29,6 +29,7 @@ use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionType;
+use Illuminate\Support\Str;
use Illuminate\Support\ViewErrorBag;
use Log;
@@ -237,17 +238,12 @@ trait UserNavigation
{
$return = null;
/** @var ViewErrorBag $errors */
- $errors = session()->get('errors');
- if (null === $errors || (null !== $errors && 0 === $errors->count())) {
+ $errors = session()->get('errors');
+ $forbidden = ['json'];
+ if ((null === $errors || (null !== $errors && 0 === $errors->count())) && !Str::contains($return, $forbidden)) {
$return = app('url')->previous();
-
- // TODO URL might not be one we *want* to remember.
-
session()->put($identifier, $return);
- //Log::debug(sprintf('Will put previous URI in cache under key %s: %s', $identifier, $url));
- //return;
}
- //Log::debug(sprintf('The users session contains errors somehow so we will not remember the URI!: %s', var_export($errors, true)));
return $return;
}
}
diff --git a/app/Support/Import/Information/GetSpectreCustomerTrait.php b/app/Support/Import/Information/GetSpectreCustomerTrait.php
index 9f065359fc..fe3f7ad964 100644
--- a/app/Support/Import/Information/GetSpectreCustomerTrait.php
+++ b/app/Support/Import/Information/GetSpectreCustomerTrait.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Information/GetSpectreTokenTrait.php b/app/Support/Import/Information/GetSpectreTokenTrait.php
index e29c10f19f..e12558de37 100644
--- a/app/Support/Import/Information/GetSpectreTokenTrait.php
+++ b/app/Support/Import/Information/GetSpectreTokenTrait.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Bunq/BunqJobConfigurationInterface.php b/app/Support/Import/JobConfiguration/Bunq/BunqJobConfigurationInterface.php
index dcf86bffec..cbd82be38d 100644
--- a/app/Support/Import/JobConfiguration/Bunq/BunqJobConfigurationInterface.php
+++ b/app/Support/Import/JobConfiguration/Bunq/BunqJobConfigurationInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Bunq/ChooseAccountsHandler.php b/app/Support/Import/JobConfiguration/Bunq/ChooseAccountsHandler.php
index c991c27777..2ba864ae46 100644
--- a/app/Support/Import/JobConfiguration/Bunq/ChooseAccountsHandler.php
+++ b/app/Support/Import/JobConfiguration/Bunq/ChooseAccountsHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Bunq/NewBunqJobHandler.php b/app/Support/Import/JobConfiguration/Bunq/NewBunqJobHandler.php
index a0e9116bde..65136b2d83 100644
--- a/app/Support/Import/JobConfiguration/Bunq/NewBunqJobHandler.php
+++ b/app/Support/Import/JobConfiguration/Bunq/NewBunqJobHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/File/ConfigureMappingHandler.php b/app/Support/Import/JobConfiguration/File/ConfigureMappingHandler.php
index 5e71b017ce..74b61992f9 100644
--- a/app/Support/Import/JobConfiguration/File/ConfigureMappingHandler.php
+++ b/app/Support/Import/JobConfiguration/File/ConfigureMappingHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/File/ConfigureRolesHandler.php b/app/Support/Import/JobConfiguration/File/ConfigureRolesHandler.php
index a5fa035884..5087b6731a 100644
--- a/app/Support/Import/JobConfiguration/File/ConfigureRolesHandler.php
+++ b/app/Support/Import/JobConfiguration/File/ConfigureRolesHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/File/ConfigureUploadHandler.php b/app/Support/Import/JobConfiguration/File/ConfigureUploadHandler.php
index 473e6b9bfc..89c413aafe 100644
--- a/app/Support/Import/JobConfiguration/File/ConfigureUploadHandler.php
+++ b/app/Support/Import/JobConfiguration/File/ConfigureUploadHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/File/FileConfigurationInterface.php b/app/Support/Import/JobConfiguration/File/FileConfigurationInterface.php
index 3597ec4206..493a52e22b 100644
--- a/app/Support/Import/JobConfiguration/File/FileConfigurationInterface.php
+++ b/app/Support/Import/JobConfiguration/File/FileConfigurationInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/File/NewFileJobHandler.php b/app/Support/Import/JobConfiguration/File/NewFileJobHandler.php
index 6ce648d5aa..bb17a40e89 100644
--- a/app/Support/Import/JobConfiguration/File/NewFileJobHandler.php
+++ b/app/Support/Import/JobConfiguration/File/NewFileJobHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
diff --git a/app/Support/Import/JobConfiguration/FinTS/ChooseAccountHandler.php b/app/Support/Import/JobConfiguration/FinTS/ChooseAccountHandler.php
index e657526d8d..58f00856d5 100644
--- a/app/Support/Import/JobConfiguration/FinTS/ChooseAccountHandler.php
+++ b/app/Support/Import/JobConfiguration/FinTS/ChooseAccountHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/FinTS/FinTSConfigurationInterface.php b/app/Support/Import/JobConfiguration/FinTS/FinTSConfigurationInterface.php
index 8e5233219e..205d2d78b2 100644
--- a/app/Support/Import/JobConfiguration/FinTS/FinTSConfigurationInterface.php
+++ b/app/Support/Import/JobConfiguration/FinTS/FinTSConfigurationInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/FinTS/NewFinTSJobHandler.php b/app/Support/Import/JobConfiguration/FinTS/NewFinTSJobHandler.php
index 2757ba313b..882d39b260 100644
--- a/app/Support/Import/JobConfiguration/FinTS/NewFinTSJobHandler.php
+++ b/app/Support/Import/JobConfiguration/FinTS/NewFinTSJobHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Spectre/AuthenticatedHandler.php b/app/Support/Import/JobConfiguration/Spectre/AuthenticatedHandler.php
index 7dba930c40..1c5ef5ea76 100644
--- a/app/Support/Import/JobConfiguration/Spectre/AuthenticatedHandler.php
+++ b/app/Support/Import/JobConfiguration/Spectre/AuthenticatedHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Spectre/ChooseAccountsHandler.php b/app/Support/Import/JobConfiguration/Spectre/ChooseAccountsHandler.php
index 2255c29329..e1ea7cc868 100644
--- a/app/Support/Import/JobConfiguration/Spectre/ChooseAccountsHandler.php
+++ b/app/Support/Import/JobConfiguration/Spectre/ChooseAccountsHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Spectre/ChooseLoginHandler.php b/app/Support/Import/JobConfiguration/Spectre/ChooseLoginHandler.php
index e0ed2b6bf0..2db5aa5bcf 100644
--- a/app/Support/Import/JobConfiguration/Spectre/ChooseLoginHandler.php
+++ b/app/Support/Import/JobConfiguration/Spectre/ChooseLoginHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Spectre/DoAuthenticateHandler.php b/app/Support/Import/JobConfiguration/Spectre/DoAuthenticateHandler.php
index f92510c875..2328365784 100644
--- a/app/Support/Import/JobConfiguration/Spectre/DoAuthenticateHandler.php
+++ b/app/Support/Import/JobConfiguration/Spectre/DoAuthenticateHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Spectre/NewSpectreJobHandler.php b/app/Support/Import/JobConfiguration/Spectre/NewSpectreJobHandler.php
index efe55c1fd2..f9ce0943ab 100644
--- a/app/Support/Import/JobConfiguration/Spectre/NewSpectreJobHandler.php
+++ b/app/Support/Import/JobConfiguration/Spectre/NewSpectreJobHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Spectre/SpectreJobConfigurationInterface.php b/app/Support/Import/JobConfiguration/Spectre/SpectreJobConfigurationInterface.php
index 1abc2cc9c9..ea4ed8e67b 100644
--- a/app/Support/Import/JobConfiguration/Spectre/SpectreJobConfigurationInterface.php
+++ b/app/Support/Import/JobConfiguration/Spectre/SpectreJobConfigurationInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Ynab/NewYnabJobHandler.php b/app/Support/Import/JobConfiguration/Ynab/NewYnabJobHandler.php
index 06e38d875d..ebbe5bef57 100644
--- a/app/Support/Import/JobConfiguration/Ynab/NewYnabJobHandler.php
+++ b/app/Support/Import/JobConfiguration/Ynab/NewYnabJobHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Ynab/SelectAccountsHandler.php b/app/Support/Import/JobConfiguration/Ynab/SelectAccountsHandler.php
index 0c23723baa..5cab275ee6 100644
--- a/app/Support/Import/JobConfiguration/Ynab/SelectAccountsHandler.php
+++ b/app/Support/Import/JobConfiguration/Ynab/SelectAccountsHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Ynab/SelectBudgetHandler.php b/app/Support/Import/JobConfiguration/Ynab/SelectBudgetHandler.php
index 1a40058833..6abc94bac7 100644
--- a/app/Support/Import/JobConfiguration/Ynab/SelectBudgetHandler.php
+++ b/app/Support/Import/JobConfiguration/Ynab/SelectBudgetHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/JobConfiguration/Ynab/YnabJobConfigurationInterface.php b/app/Support/Import/JobConfiguration/Ynab/YnabJobConfigurationInterface.php
index 37d96bb6c7..0032814472 100644
--- a/app/Support/Import/JobConfiguration/Ynab/YnabJobConfigurationInterface.php
+++ b/app/Support/Import/JobConfiguration/Ynab/YnabJobConfigurationInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Placeholder/ColumnValue.php b/app/Support/Import/Placeholder/ColumnValue.php
index b55cd00a67..159043ddfd 100644
--- a/app/Support/Import/Placeholder/ColumnValue.php
+++ b/app/Support/Import/Placeholder/ColumnValue.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Placeholder/ImportTransaction.php b/app/Support/Import/Placeholder/ImportTransaction.php
index 3882ba8066..11f1d81db4 100644
--- a/app/Support/Import/Placeholder/ImportTransaction.php
+++ b/app/Support/Import/Placeholder/ImportTransaction.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Bunq/PaymentConverter.php b/app/Support/Import/Routine/Bunq/PaymentConverter.php
index c6928d062d..543bc3f3dc 100644
--- a/app/Support/Import/Routine/Bunq/PaymentConverter.php
+++ b/app/Support/Import/Routine/Bunq/PaymentConverter.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Bunq/StageImportDataHandler.php b/app/Support/Import/Routine/Bunq/StageImportDataHandler.php
index 5581066fd6..defcfed343 100644
--- a/app/Support/Import/Routine/Bunq/StageImportDataHandler.php
+++ b/app/Support/Import/Routine/Bunq/StageImportDataHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Bunq/StageNewHandler.php b/app/Support/Import/Routine/Bunq/StageNewHandler.php
index 836c7f48d0..0ef14ce318 100644
--- a/app/Support/Import/Routine/Bunq/StageNewHandler.php
+++ b/app/Support/Import/Routine/Bunq/StageNewHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Fake/StageAhoyHandler.php b/app/Support/Import/Routine/Fake/StageAhoyHandler.php
index b7084e0423..3a143d8df2 100644
--- a/app/Support/Import/Routine/Fake/StageAhoyHandler.php
+++ b/app/Support/Import/Routine/Fake/StageAhoyHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Fake/StageFinalHandler.php b/app/Support/Import/Routine/Fake/StageFinalHandler.php
index 35f2a98b8c..6a2a84363e 100644
--- a/app/Support/Import/Routine/Fake/StageFinalHandler.php
+++ b/app/Support/Import/Routine/Fake/StageFinalHandler.php
@@ -2,22 +2,22 @@
/**
* StageFinalHandler.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Fake/StageNewHandler.php b/app/Support/Import/Routine/Fake/StageNewHandler.php
index 111378042a..18d21a666d 100644
--- a/app/Support/Import/Routine/Fake/StageNewHandler.php
+++ b/app/Support/Import/Routine/Fake/StageNewHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/File/AssetAccountMapper.php b/app/Support/Import/Routine/File/AssetAccountMapper.php
index 1ed799959f..58f27631f1 100644
--- a/app/Support/Import/Routine/File/AssetAccountMapper.php
+++ b/app/Support/Import/Routine/File/AssetAccountMapper.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/File/CSVProcessor.php b/app/Support/Import/Routine/File/CSVProcessor.php
index e5b295af2a..e41c1252c4 100644
--- a/app/Support/Import/Routine/File/CSVProcessor.php
+++ b/app/Support/Import/Routine/File/CSVProcessor.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/File/CurrencyMapper.php b/app/Support/Import/Routine/File/CurrencyMapper.php
index fcb589b909..73d1e9721f 100644
--- a/app/Support/Import/Routine/File/CurrencyMapper.php
+++ b/app/Support/Import/Routine/File/CurrencyMapper.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/File/FileProcessorInterface.php b/app/Support/Import/Routine/File/FileProcessorInterface.php
index 13f6dfffd8..a6cdecfd12 100644
--- a/app/Support/Import/Routine/File/FileProcessorInterface.php
+++ b/app/Support/Import/Routine/File/FileProcessorInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/File/ImportableConverter.php b/app/Support/Import/Routine/File/ImportableConverter.php
index f4235d91f8..5681bce30b 100644
--- a/app/Support/Import/Routine/File/ImportableConverter.php
+++ b/app/Support/Import/Routine/File/ImportableConverter.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/File/ImportableCreator.php b/app/Support/Import/Routine/File/ImportableCreator.php
index e400e4282d..1b0bb83703 100644
--- a/app/Support/Import/Routine/File/ImportableCreator.php
+++ b/app/Support/Import/Routine/File/ImportableCreator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/File/LineReader.php b/app/Support/Import/Routine/File/LineReader.php
index ac0185248f..c1f07d3d34 100644
--- a/app/Support/Import/Routine/File/LineReader.php
+++ b/app/Support/Import/Routine/File/LineReader.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/File/MappedValuesValidator.php b/app/Support/Import/Routine/File/MappedValuesValidator.php
index ba0833aa23..48d54db256 100644
--- a/app/Support/Import/Routine/File/MappedValuesValidator.php
+++ b/app/Support/Import/Routine/File/MappedValuesValidator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/File/MappingConverger.php b/app/Support/Import/Routine/File/MappingConverger.php
index 41bb5eae54..d81b0e0555 100644
--- a/app/Support/Import/Routine/File/MappingConverger.php
+++ b/app/Support/Import/Routine/File/MappingConverger.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/File/OFXProcessor.php b/app/Support/Import/Routine/File/OFXProcessor.php
index 4e14fb139f..faa13d380e 100644
--- a/app/Support/Import/Routine/File/OFXProcessor.php
+++ b/app/Support/Import/Routine/File/OFXProcessor.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/File/OpposingAccountMapper.php b/app/Support/Import/Routine/File/OpposingAccountMapper.php
index c65c35c6f0..2354e24ee3 100644
--- a/app/Support/Import/Routine/File/OpposingAccountMapper.php
+++ b/app/Support/Import/Routine/File/OpposingAccountMapper.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/FinTS/StageImportDataHandler.php b/app/Support/Import/Routine/FinTS/StageImportDataHandler.php
index 8094f77d97..9a67b5c56d 100644
--- a/app/Support/Import/Routine/FinTS/StageImportDataHandler.php
+++ b/app/Support/Import/Routine/FinTS/StageImportDataHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Spectre/StageAuthenticatedHandler.php b/app/Support/Import/Routine/Spectre/StageAuthenticatedHandler.php
index 3e5af0dbee..e85f94f735 100644
--- a/app/Support/Import/Routine/Spectre/StageAuthenticatedHandler.php
+++ b/app/Support/Import/Routine/Spectre/StageAuthenticatedHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Spectre/StageImportDataHandler.php b/app/Support/Import/Routine/Spectre/StageImportDataHandler.php
index f63618b648..9e28f98f3b 100644
--- a/app/Support/Import/Routine/Spectre/StageImportDataHandler.php
+++ b/app/Support/Import/Routine/Spectre/StageImportDataHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Spectre/StageNewHandler.php b/app/Support/Import/Routine/Spectre/StageNewHandler.php
index 7cb0d4795f..09c2132ef5 100644
--- a/app/Support/Import/Routine/Spectre/StageNewHandler.php
+++ b/app/Support/Import/Routine/Spectre/StageNewHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Ynab/GetAccountsHandler.php b/app/Support/Import/Routine/Ynab/GetAccountsHandler.php
index 998f6354ce..5f4c774f4e 100644
--- a/app/Support/Import/Routine/Ynab/GetAccountsHandler.php
+++ b/app/Support/Import/Routine/Ynab/GetAccountsHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Ynab/ImportDataHandler.php b/app/Support/Import/Routine/Ynab/ImportDataHandler.php
index 55ef817a99..6ff5afce4b 100644
--- a/app/Support/Import/Routine/Ynab/ImportDataHandler.php
+++ b/app/Support/Import/Routine/Ynab/ImportDataHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Ynab/StageGetAccessHandler.php b/app/Support/Import/Routine/Ynab/StageGetAccessHandler.php
index dafcb89bfa..bff2fc8ebb 100644
--- a/app/Support/Import/Routine/Ynab/StageGetAccessHandler.php
+++ b/app/Support/Import/Routine/Ynab/StageGetAccessHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Ynab/StageGetBudgetsHandler.php b/app/Support/Import/Routine/Ynab/StageGetBudgetsHandler.php
index 70142c5083..9da284bc2b 100644
--- a/app/Support/Import/Routine/Ynab/StageGetBudgetsHandler.php
+++ b/app/Support/Import/Routine/Ynab/StageGetBudgetsHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Ynab/StageGetTransactionsHandler.php b/app/Support/Import/Routine/Ynab/StageGetTransactionsHandler.php
index 37e0f16dcf..ef02fc2323 100644
--- a/app/Support/Import/Routine/Ynab/StageGetTransactionsHandler.php
+++ b/app/Support/Import/Routine/Ynab/StageGetTransactionsHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Import/Routine/Ynab/StageMatchAccountsHandler.php b/app/Support/Import/Routine/Ynab/StageMatchAccountsHandler.php
index 5e0293f456..087d5a6644 100644
--- a/app/Support/Import/Routine/Ynab/StageMatchAccountsHandler.php
+++ b/app/Support/Import/Routine/Ynab/StageMatchAccountsHandler.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Logging/AuditLogger.php b/app/Support/Logging/AuditLogger.php
index 9895f1017d..c3119919a8 100644
--- a/app/Support/Logging/AuditLogger.php
+++ b/app/Support/Logging/AuditLogger.php
@@ -4,20 +4,20 @@
* AuditLogger.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Logging/AuditProcessor.php b/app/Support/Logging/AuditProcessor.php
index 831fd6099b..7da6aa111d 100644
--- a/app/Support/Logging/AuditProcessor.php
+++ b/app/Support/Logging/AuditProcessor.php
@@ -4,20 +4,20 @@
* AuditProcessor.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Navigation.php b/app/Support/Navigation.php
index 66209f668f..17811fe6b4 100644
--- a/app/Support/Navigation.php
+++ b/app/Support/Navigation.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/NullArrayObject.php b/app/Support/NullArrayObject.php
index eaa7978555..c5d76237b4 100644
--- a/app/Support/NullArrayObject.php
+++ b/app/Support/NullArrayObject.php
@@ -3,20 +3,20 @@
* NullArrayObject.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Preferences.php b/app/Support/Preferences.php
index 279fc3f77e..29891bd9e0 100644
--- a/app/Support/Preferences.php
+++ b/app/Support/Preferences.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Repositories/Recurring/CalculateRangeOccurrences.php b/app/Support/Repositories/Recurring/CalculateRangeOccurrences.php
index 3662fa1622..9b35a294be 100644
--- a/app/Support/Repositories/Recurring/CalculateRangeOccurrences.php
+++ b/app/Support/Repositories/Recurring/CalculateRangeOccurrences.php
@@ -4,20 +4,20 @@
* CalculateRangeOccurrences.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Repositories/Recurring/CalculateXOccurrences.php b/app/Support/Repositories/Recurring/CalculateXOccurrences.php
index 7f223c5cca..c5f9013532 100644
--- a/app/Support/Repositories/Recurring/CalculateXOccurrences.php
+++ b/app/Support/Repositories/Recurring/CalculateXOccurrences.php
@@ -4,20 +4,20 @@
* CalculateXOccurrences.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Repositories/Recurring/CalculateXOccurrencesSince.php b/app/Support/Repositories/Recurring/CalculateXOccurrencesSince.php
new file mode 100644
index 0000000000..e914198a78
--- /dev/null
+++ b/app/Support/Repositories/Recurring/CalculateXOccurrencesSince.php
@@ -0,0 +1,225 @@
+.
+ */
+
+declare(strict_types=1);
+
+namespace FireflyIII\Support\Repositories\Recurring;
+
+
+use Carbon\Carbon;
+
+/**
+ * Class CalculateXOccurrencesSince
+ */
+trait CalculateXOccurrencesSince
+{
+
+ /**
+ * Calculates the number of daily occurrences for a recurring transaction, starting at the date, until $count is reached. It will skip
+ * over $skipMod -1 recurrences.
+ *
+ * @param Carbon $date
+ * @param Carbon $afterDate
+ * @param int $count
+ * @param int $skipMod
+ *
+ * @return array
+ */
+ protected function getXDailyOccurrencesSince(Carbon $date, Carbon $afterDate, int $count, int $skipMod): array
+ {
+ $return = [];
+ $mutator = clone $date;
+ $total = 0;
+ $attempts = 0;
+ while ($total < $count) {
+ if (0 === $attempts % $skipMod && $mutator->gt($afterDate)) {
+ $return[] = clone $mutator;
+ $total++;
+ }
+ $mutator->addDay();
+ $attempts++;
+ }
+
+ return $return;
+ }
+
+
+ /**
+ * Calculates the number of monthly occurrences for a recurring transaction, starting at the date, until $count is reached. It will skip
+ * over $skipMod -1 recurrences.
+ *
+ * @param Carbon $date
+ * @param Carbon $afterDate
+ * @param int $count
+ * @param int $skipMod
+ * @param string $moment
+ *
+ * @return array
+ */
+ protected function getXMonthlyOccurrencesSince(Carbon $date, Carbon $afterDate, int $count, int $skipMod, string $moment): array
+ {
+ $return = [];
+ $mutator = clone $date;
+ $total = 0;
+ $attempts = 0;
+ $dayOfMonth = (int)$moment;
+ if ($mutator->day > $dayOfMonth) {
+ // day has passed already, add a month.
+ $mutator->addMonth();
+ }
+
+ while ($total < $count) {
+ $domCorrected = min($dayOfMonth, $mutator->daysInMonth);
+ $mutator->day = $domCorrected;
+ if (0 === $attempts % $skipMod && $mutator->gte($afterDate)) {
+ $return[] = clone $mutator;
+ $total++;
+ }
+ $attempts++;
+ $mutator->endOfMonth()->addDay();
+ }
+
+ return $return;
+ }
+
+
+ /**
+ * Calculates the number of NDOM occurrences for a recurring transaction, starting at the date, until $count is reached. It will skip
+ * over $skipMod -1 recurrences.
+ *
+ * @param Carbon $date
+ * @param Carbon $afterDate
+ * @param int $count
+ * @param int $skipMod
+ * @param string $moment
+ *
+ * @return array
+ */
+ protected function getXNDomOccurrencesSince(Carbon $date, Carbon $afterDate, int $count, int $skipMod, string $moment): array
+ {
+ $return = [];
+ $total = 0;
+ $attempts = 0;
+ $mutator = clone $date;
+ $mutator->addDay(); // always assume today has passed.
+ $mutator->startOfMonth();
+ // this feels a bit like a cop out but why reinvent the wheel?
+ $counters = [1 => 'first', 2 => 'second', 3 => 'third', 4 => 'fourth', 5 => 'fifth',];
+ $daysOfWeek = [1 => 'Monday', 2 => 'Tuesday', 3 => 'Wednesday', 4 => 'Thursday', 5 => 'Friday', 6 => 'Saturday', 7 => 'Sunday',];
+ $parts = explode(',', $moment);
+
+ while ($total < $count) {
+ $string = sprintf('%s %s of %s %s', $counters[$parts[0]], $daysOfWeek[$parts[1]], $mutator->format('F'), $mutator->format('Y'));
+ $newCarbon = new Carbon($string);
+ if (0 === $attempts % $skipMod && $mutator->gte($afterDate)) {
+ $return[] = clone $newCarbon;
+ $total++;
+ }
+ $attempts++;
+ $mutator->endOfMonth()->addDay();
+ }
+
+ return $return;
+ }
+
+
+ /**
+ * Calculates the number of weekly occurrences for a recurring transaction, starting at the date, until $count is reached. It will skip
+ * over $skipMod -1 recurrences.
+ *
+ * @param Carbon $date
+ * @param Carbon $afterDate
+ * @param int $count
+ * @param int $skipMod
+ * @param string $moment
+ *
+ * @return array
+ */
+ protected function getXWeeklyOccurrencesSince(Carbon $date, Carbon $afterDate, int $count, int $skipMod, string $moment): array
+ {
+ $return = [];
+ $total = 0;
+ $attempts = 0;
+ $mutator = clone $date;
+ // monday = 1
+ // sunday = 7
+ $mutator->addDay(); // always assume today has passed.
+ $dayOfWeek = (int)$moment;
+ if ($mutator->dayOfWeekIso > $dayOfWeek) {
+ // day has already passed this week, add one week:
+ $mutator->addWeek();
+ }
+ // today is wednesday (3), expected is friday (5): add two days.
+ // today is friday (5), expected is monday (1), subtract four days.
+ $dayDifference = $dayOfWeek - $mutator->dayOfWeekIso;
+ $mutator->addDays($dayDifference);
+
+ while ($total < $count) {
+ if (0 === $attempts % $skipMod && $mutator->gte($afterDate)) {
+ $return[] = clone $mutator;
+ $total++;
+ }
+ $attempts++;
+ $mutator->addWeek();
+ }
+
+ return $return;
+ }
+
+
+ /**
+ * Calculates the number of yearly occurrences for a recurring transaction, starting at the date, until $count is reached. It will skip
+ * over $skipMod -1 recurrences.
+ *
+ * @param Carbon $date
+ * @param Carbon $afterDate
+ * @param int $count
+ * @param int $skipMod
+ * @param string $moment
+ *
+ * @return array
+ */
+ protected function getXYearlyOccurrencesSince(Carbon $date, Carbon $afterDate, int $count, int $skipMod, string $moment): array
+ {
+ $return = [];
+ $mutator = clone $date;
+ $total = 0;
+ $attempts = 0;
+ $date = new Carbon($moment);
+ $date->year = $mutator->year;
+ if ($mutator > $date) {
+ $date->addYear();
+ }
+ $obj = clone $date;
+ while ($total < $count) {
+ if (0 === $attempts % $skipMod && $mutator->gte($afterDate)) {
+ $return[] = clone $obj;
+ $total++;
+ }
+ $obj->addYears(1);
+ $attempts++;
+ }
+
+ return $return;
+
+ }
+}
diff --git a/app/Support/Repositories/Recurring/FiltersWeekends.php b/app/Support/Repositories/Recurring/FiltersWeekends.php
index ace2b1bddc..c55d9318fc 100644
--- a/app/Support/Repositories/Recurring/FiltersWeekends.php
+++ b/app/Support/Repositories/Recurring/FiltersWeekends.php
@@ -4,20 +4,20 @@
* FiltersWeekends.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Search/AccountSearch.php b/app/Support/Search/AccountSearch.php
new file mode 100644
index 0000000000..94a6434597
--- /dev/null
+++ b/app/Support/Search/AccountSearch.php
@@ -0,0 +1,146 @@
+.
+ */
+
+namespace FireflyIII\Support\Search;
+
+
+use FireflyIII\User;
+use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Support\Collection;
+
+/**
+ * Class AccountSearch
+ */
+class AccountSearch implements GenericSearchInterface
+{
+ /** @var string */
+ public const SEARCH_ALL = 'all';
+ /** @var string */
+ public const SEARCH_NAME = 'name';
+ /** @var string */
+ public const SEARCH_IBAN = 'iban';
+ /** @var string */
+ public const SEARCH_NUMBER = 'number';
+ /** @var string */
+ public const SEARCH_ID = 'id';
+
+ /** @var string */
+ private $field;
+ /** @var string */
+ private $query;
+ /** @var array */
+ private $types;
+
+ /** @var User */
+ private $user;
+
+ public function __construct()
+ {
+ $this->types = [];
+ }
+
+ /**
+ * @return Collection
+ */
+ public function search(): Collection
+ {
+
+ $query = $this->user->accounts()
+ ->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id')
+ ->leftJoin('account_meta', 'accounts.id', '=', 'account_meta.account_id')
+ ->whereIn('account_types.type', $this->types);
+ $like = sprintf('%%%s%%', $this->query);
+ $originalQuery = $this->query;
+ switch ($this->field) {
+ case self::SEARCH_ALL:
+ $query->where(
+ static function (Builder $q) use ($like) {
+ $q->where('accounts.id', 'LIKE', $like);
+ $q->orWhere('accounts.name', 'LIKE', $like);
+ $q->orWhere('accounts.iban', 'LIKE', $like);
+ }
+ );
+ // meta data:
+ $query->orWhere(
+ static function (Builder $q) use ($originalQuery) {
+ $json = json_encode($originalQuery, JSON_THROW_ON_ERROR);
+ $q->where('account_meta.name', 'account_number');
+ $q->where('account_meta.data', $json);
+ }
+ );
+ break;
+ case self::SEARCH_ID:
+ $query->where('accounts.id', '=', (int)$originalQuery);
+ break;
+ case self::SEARCH_NAME:
+ $query->where('accounts.name', 'LIKE', $like);
+ break;
+ case self::SEARCH_IBAN:
+ $query->where('accounts.iban', 'LIKE', $like);
+ break;
+ case self::SEARCH_NUMBER:
+ // meta data:
+ $query->Where(
+ static function (Builder $q) use ($originalQuery) {
+ $json = json_encode($originalQuery, JSON_THROW_ON_ERROR);
+ $q->where('account_meta.name', 'account_number');
+ $q->where('account_meta.data', $json);
+ }
+ );
+ break;
+ }
+
+ return $query->get(['accounts.*']);
+ }
+
+ /**
+ * @param string $field
+ */
+ public function setField(string $field): void
+ {
+ $this->field = $field;
+ }
+
+ /**
+ * @param string $query
+ */
+ public function setQuery(string $query): void
+ {
+ $this->query = $query;
+ }
+
+ /**
+ * @param array $types
+ */
+ public function setTypes(array $types): void
+ {
+ $this->types = $types;
+ }
+
+ /**
+ * @param User $user
+ */
+ public function setUser(User $user): void
+ {
+ $this->user = $user;
+ }
+
+}
\ No newline at end of file
diff --git a/app/Support/Search/GenericSearchInterface.php b/app/Support/Search/GenericSearchInterface.php
new file mode 100644
index 0000000000..47dacfbbdd
--- /dev/null
+++ b/app/Support/Search/GenericSearchInterface.php
@@ -0,0 +1,28 @@
+.
+ */
+
+namespace FireflyIII\Support\Search;
+
+
+interface GenericSearchInterface
+{
+
+}
\ No newline at end of file
diff --git a/app/Support/Search/Search.php b/app/Support/Search/Search.php
index 099a4b57f9..8455c720e0 100644
--- a/app/Support/Search/Search.php
+++ b/app/Support/Search/Search.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -121,11 +121,11 @@ class Search implements SearchInterface
*/
public function parseQuery(string $query): void
{
- $filteredQuery = $query;
- $this->originalQuery = $query;
- $pattern = '/[a-z_]*:[0-9a-z-.]*/i';
+ $filteredQuery = app('steam')->cleanString($query);
+ $this->originalQuery = $filteredQuery;
+ $pattern = '/[[:alpha:]_]*:"?[\p{L}_-]*"?/ui';
$matches = [];
- preg_match_all($pattern, $query, $matches);
+ preg_match_all($pattern, $filteredQuery, $matches);
foreach ($matches[0] as $match) {
$this->extractModifier($match);
@@ -288,6 +288,16 @@ class Search implements SearchInterface
$after = new Carbon($modifier['value']);
$collector->setAfter($after);
break;
+ case 'created_at':
+ Log::debug(sprintf('Set "%s" using collector with value "%s"', $modifier['type'], $modifier['value']));
+ $createdAt = new Carbon($modifier['value']);
+ $collector->setCreatedAt($createdAt);
+ break;
+ case 'updated_at':
+ Log::debug(sprintf('Set "%s" using collector with value "%s"', $modifier['type'], $modifier['value']));
+ $updatedAt = new Carbon($modifier['value']);
+ $collector->setUpdatedAt($updatedAt);
+ break;
}
}
$collector->setAccounts($totalAccounts);
@@ -304,6 +314,7 @@ class Search implements SearchInterface
if (2 === count($parts) && '' !== trim((string)$parts[1]) && '' !== trim((string)$parts[0])) {
$type = trim((string)$parts[0]);
$value = trim((string)$parts[1]);
+ $value = trim(trim($value, '"\''));
if (in_array($type, $this->validModifiers, true)) {
// filter for valid type
$this->modifiers->push(['type' => $type, 'value' => $value]);
diff --git a/app/Support/Search/SearchInterface.php b/app/Support/Search/SearchInterface.php
index f3f45511f6..f9431dfecc 100644
--- a/app/Support/Search/SearchInterface.php
+++ b/app/Support/Search/SearchInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Search/TransactionSearch.php b/app/Support/Search/TransactionSearch.php
new file mode 100644
index 0000000000..e8ab4998cd
--- /dev/null
+++ b/app/Support/Search/TransactionSearch.php
@@ -0,0 +1,30 @@
+.
+ */
+
+namespace FireflyIII\Support\Search;
+
+/**
+ * Class TransactionSearch
+ */
+class TransactionSearch implements GenericSearchInterface
+{
+
+}
\ No newline at end of file
diff --git a/app/Support/Steam.php b/app/Support/Steam.php
index 425c3efe2a..05965e52a6 100644
--- a/app/Support/Steam.php
+++ b/app/Support/Steam.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -389,6 +389,69 @@ class Steam
return trim($string);
}
+ /**
+ * Remove weird chars from strings, but keep newlines and tabs.
+ *
+ * @param string $string
+ *
+ * @return string
+ */
+ public function nlCleanString(string $string): string
+ {
+ $search = [
+ "\u{0001}", // start of heading
+ "\u{0002}", // start of text
+ "\u{0003}", // end of text
+ "\u{0004}", // end of transmission
+ "\u{0005}", // enquiry
+ "\u{0006}", // ACK
+ "\u{0007}", // BEL
+ "\u{0008}", // backspace
+ "\u{000E}", // shift out
+ "\u{000F}", // shift in
+ "\u{0010}", // data link escape
+ "\u{0011}", // DC1
+ "\u{0012}", // DC2
+ "\u{0013}", // DC3
+ "\u{0014}", // DC4
+ "\u{0015}", // NAK
+ "\u{0016}", // SYN
+ "\u{0017}", // ETB
+ "\u{0018}", // CAN
+ "\u{0019}", // EM
+ "\u{001A}", // SUB
+ "\u{001B}", // escape
+ "\u{001C}", // file separator
+ "\u{001D}", // group separator
+ "\u{001E}", // record separator
+ "\u{001F}", // unit separator
+ "\u{007F}", // DEL
+ "\u{00A0}", // non-breaking space
+ "\u{1680}", // ogham space mark
+ "\u{180E}", // mongolian vowel separator
+ "\u{2000}", // en quad
+ "\u{2001}", // em quad
+ "\u{2002}", // en space
+ "\u{2003}", // em space
+ "\u{2004}", // three-per-em space
+ "\u{2005}", // four-per-em space
+ "\u{2006}", // six-per-em space
+ "\u{2007}", // figure space
+ "\u{2008}", // punctuation space
+ "\u{2009}", // thin space
+ "\u{200A}", // hair space
+ "\u{200B}", // zero width space
+ "\u{202F}", // narrow no-break space
+ "\u{3000}", // ideographic space
+ "\u{FEFF}", // zero width no -break space
+ ];
+ $replace = "\x20"; // plain old normal space
+ $string = str_replace($search, $replace, $string);
+ $string = str_replace("\r", '', $string);
+
+ return trim($string);
+ }
+
/**
* @param array $accounts
*
diff --git a/app/Support/Twig/AmountFormat.php b/app/Support/Twig/AmountFormat.php
index 9385b681d7..b9119702c6 100644
--- a/app/Support/Twig/AmountFormat.php
+++ b/app/Support/Twig/AmountFormat.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Twig/General.php b/app/Support/Twig/General.php
index 69415cd78c..b59782fa66 100644
--- a/app/Support/Twig/General.php
+++ b/app/Support/Twig/General.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Twig/Rule.php b/app/Support/Twig/Rule.php
index c40c8097bd..89e54705aa 100644
--- a/app/Support/Twig/Rule.php
+++ b/app/Support/Twig/Rule.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Twig/TransactionGroupTwig.php b/app/Support/Twig/TransactionGroupTwig.php
index de46620276..83d04d206b 100644
--- a/app/Support/Twig/TransactionGroupTwig.php
+++ b/app/Support/Twig/TransactionGroupTwig.php
@@ -3,20 +3,20 @@
* TransactionGroupTwig.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Support/Twig/Translation.php b/app/Support/Twig/Translation.php
index a1c0c8eead..fe433b8d91 100644
--- a/app/Support/Twig/Translation.php
+++ b/app/Support/Twig/Translation.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/ActionInterface.php b/app/TransactionRules/Actions/ActionInterface.php
index 71967d7e76..8e0767f64d 100644
--- a/app/TransactionRules/Actions/ActionInterface.php
+++ b/app/TransactionRules/Actions/ActionInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/AddTag.php b/app/TransactionRules/Actions/AddTag.php
index 252afd1f8e..ded71d7f67 100644
--- a/app/TransactionRules/Actions/AddTag.php
+++ b/app/TransactionRules/Actions/AddTag.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/AppendDescription.php b/app/TransactionRules/Actions/AppendDescription.php
index 887620a62a..7426c18ee3 100644
--- a/app/TransactionRules/Actions/AppendDescription.php
+++ b/app/TransactionRules/Actions/AppendDescription.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/AppendNotes.php b/app/TransactionRules/Actions/AppendNotes.php
index b1ff09df5c..628994aeb1 100644
--- a/app/TransactionRules/Actions/AppendNotes.php
+++ b/app/TransactionRules/Actions/AppendNotes.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/ClearBudget.php b/app/TransactionRules/Actions/ClearBudget.php
index 4d0ae7f241..4921f4abaf 100644
--- a/app/TransactionRules/Actions/ClearBudget.php
+++ b/app/TransactionRules/Actions/ClearBudget.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/ClearCategory.php b/app/TransactionRules/Actions/ClearCategory.php
index 90ee273feb..be93463fa1 100644
--- a/app/TransactionRules/Actions/ClearCategory.php
+++ b/app/TransactionRules/Actions/ClearCategory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/ClearNotes.php b/app/TransactionRules/Actions/ClearNotes.php
index b5f4f1a114..a8da29f4b5 100644
--- a/app/TransactionRules/Actions/ClearNotes.php
+++ b/app/TransactionRules/Actions/ClearNotes.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/ConvertToDeposit.php b/app/TransactionRules/Actions/ConvertToDeposit.php
index a5b49ee83c..fc8357f796 100644
--- a/app/TransactionRules/Actions/ConvertToDeposit.php
+++ b/app/TransactionRules/Actions/ConvertToDeposit.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/ConvertToTransfer.php b/app/TransactionRules/Actions/ConvertToTransfer.php
index 6194cc8a24..3631c3664b 100644
--- a/app/TransactionRules/Actions/ConvertToTransfer.php
+++ b/app/TransactionRules/Actions/ConvertToTransfer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/ConvertToWithdrawal.php b/app/TransactionRules/Actions/ConvertToWithdrawal.php
index 63546b2d65..05ec04b45e 100644
--- a/app/TransactionRules/Actions/ConvertToWithdrawal.php
+++ b/app/TransactionRules/Actions/ConvertToWithdrawal.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/LinkToBill.php b/app/TransactionRules/Actions/LinkToBill.php
index e51fb72f34..ba4ac1c5a9 100644
--- a/app/TransactionRules/Actions/LinkToBill.php
+++ b/app/TransactionRules/Actions/LinkToBill.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/PrependDescription.php b/app/TransactionRules/Actions/PrependDescription.php
index 23b5153402..840c30983c 100644
--- a/app/TransactionRules/Actions/PrependDescription.php
+++ b/app/TransactionRules/Actions/PrependDescription.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/PrependNotes.php b/app/TransactionRules/Actions/PrependNotes.php
index 4cb7802769..8a574d46e1 100644
--- a/app/TransactionRules/Actions/PrependNotes.php
+++ b/app/TransactionRules/Actions/PrependNotes.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/RemoveAllTags.php b/app/TransactionRules/Actions/RemoveAllTags.php
index 85ab97668d..ab7f5121a1 100644
--- a/app/TransactionRules/Actions/RemoveAllTags.php
+++ b/app/TransactionRules/Actions/RemoveAllTags.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/RemoveTag.php b/app/TransactionRules/Actions/RemoveTag.php
index 301a34baad..74caf5c0f0 100644
--- a/app/TransactionRules/Actions/RemoveTag.php
+++ b/app/TransactionRules/Actions/RemoveTag.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/SetBudget.php b/app/TransactionRules/Actions/SetBudget.php
index 2782647000..2c2f91b0e7 100644
--- a/app/TransactionRules/Actions/SetBudget.php
+++ b/app/TransactionRules/Actions/SetBudget.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/SetCategory.php b/app/TransactionRules/Actions/SetCategory.php
index 6daeef7fba..60b3f6e6a0 100644
--- a/app/TransactionRules/Actions/SetCategory.php
+++ b/app/TransactionRules/Actions/SetCategory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/SetDescription.php b/app/TransactionRules/Actions/SetDescription.php
index ff703d0e32..11a8e90d2b 100644
--- a/app/TransactionRules/Actions/SetDescription.php
+++ b/app/TransactionRules/Actions/SetDescription.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/SetDestinationAccount.php b/app/TransactionRules/Actions/SetDestinationAccount.php
index fc9e03b411..9446752b7f 100644
--- a/app/TransactionRules/Actions/SetDestinationAccount.php
+++ b/app/TransactionRules/Actions/SetDestinationAccount.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/SetNotes.php b/app/TransactionRules/Actions/SetNotes.php
index e4193e5c6e..4168433388 100644
--- a/app/TransactionRules/Actions/SetNotes.php
+++ b/app/TransactionRules/Actions/SetNotes.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Actions/SetSourceAccount.php b/app/TransactionRules/Actions/SetSourceAccount.php
index a131be87f3..8b3940f407 100644
--- a/app/TransactionRules/Actions/SetSourceAccount.php
+++ b/app/TransactionRules/Actions/SetSourceAccount.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Engine/RuleEngine.php b/app/TransactionRules/Engine/RuleEngine.php
index 2a0bcc4796..e8e0470f7f 100644
--- a/app/TransactionRules/Engine/RuleEngine.php
+++ b/app/TransactionRules/Engine/RuleEngine.php
@@ -1,25 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
namespace FireflyIII\TransactionRules\Engine;
use FireflyIII\Exceptions\FireflyException;
diff --git a/app/TransactionRules/Factory/ActionFactory.php b/app/TransactionRules/Factory/ActionFactory.php
index f9864c0e5d..8d2050700d 100644
--- a/app/TransactionRules/Factory/ActionFactory.php
+++ b/app/TransactionRules/Factory/ActionFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Factory/TriggerFactory.php b/app/TransactionRules/Factory/TriggerFactory.php
index 9af587d3c9..abeff803be 100644
--- a/app/TransactionRules/Factory/TriggerFactory.php
+++ b/app/TransactionRules/Factory/TriggerFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Processor.php b/app/TransactionRules/Processor.php
index 511f1676be..313aa291fc 100644
--- a/app/TransactionRules/Processor.php
+++ b/app/TransactionRules/Processor.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/TransactionMatcher.php b/app/TransactionRules/TransactionMatcher.php
index 34c45143d6..90d073828f 100644
--- a/app/TransactionRules/TransactionMatcher.php
+++ b/app/TransactionRules/TransactionMatcher.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/AbstractTrigger.php b/app/TransactionRules/Triggers/AbstractTrigger.php
index f4c2afab91..1b6b2df351 100644
--- a/app/TransactionRules/Triggers/AbstractTrigger.php
+++ b/app/TransactionRules/Triggers/AbstractTrigger.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/AmountExactly.php b/app/TransactionRules/Triggers/AmountExactly.php
index 5ecba6a6b4..08d616bec1 100644
--- a/app/TransactionRules/Triggers/AmountExactly.php
+++ b/app/TransactionRules/Triggers/AmountExactly.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/AmountLess.php b/app/TransactionRules/Triggers/AmountLess.php
index bad0c9708e..42d411c877 100644
--- a/app/TransactionRules/Triggers/AmountLess.php
+++ b/app/TransactionRules/Triggers/AmountLess.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/AmountMore.php b/app/TransactionRules/Triggers/AmountMore.php
index c57eaf9621..1d10eccad3 100644
--- a/app/TransactionRules/Triggers/AmountMore.php
+++ b/app/TransactionRules/Triggers/AmountMore.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/BudgetIs.php b/app/TransactionRules/Triggers/BudgetIs.php
index bc48a87c58..c0a755ff33 100644
--- a/app/TransactionRules/Triggers/BudgetIs.php
+++ b/app/TransactionRules/Triggers/BudgetIs.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/CategoryIs.php b/app/TransactionRules/Triggers/CategoryIs.php
index ddce55d936..2c5599b66c 100644
--- a/app/TransactionRules/Triggers/CategoryIs.php
+++ b/app/TransactionRules/Triggers/CategoryIs.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/CurrencyIs.php b/app/TransactionRules/Triggers/CurrencyIs.php
index 03fdc9b5b6..aeb9c12462 100644
--- a/app/TransactionRules/Triggers/CurrencyIs.php
+++ b/app/TransactionRules/Triggers/CurrencyIs.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/DescriptionContains.php b/app/TransactionRules/Triggers/DescriptionContains.php
index a991101a4e..c730e4bc49 100644
--- a/app/TransactionRules/Triggers/DescriptionContains.php
+++ b/app/TransactionRules/Triggers/DescriptionContains.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/DescriptionEnds.php b/app/TransactionRules/Triggers/DescriptionEnds.php
index d9215798ce..9ca8ecaef4 100644
--- a/app/TransactionRules/Triggers/DescriptionEnds.php
+++ b/app/TransactionRules/Triggers/DescriptionEnds.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/DescriptionIs.php b/app/TransactionRules/Triggers/DescriptionIs.php
index 49876e0b73..c80ad094e9 100644
--- a/app/TransactionRules/Triggers/DescriptionIs.php
+++ b/app/TransactionRules/Triggers/DescriptionIs.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/DescriptionStarts.php b/app/TransactionRules/Triggers/DescriptionStarts.php
index 77c665c711..fb1f6167b0 100644
--- a/app/TransactionRules/Triggers/DescriptionStarts.php
+++ b/app/TransactionRules/Triggers/DescriptionStarts.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/FromAccountContains.php b/app/TransactionRules/Triggers/FromAccountContains.php
index c3665a806c..8f9323d488 100644
--- a/app/TransactionRules/Triggers/FromAccountContains.php
+++ b/app/TransactionRules/Triggers/FromAccountContains.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/FromAccountEnds.php b/app/TransactionRules/Triggers/FromAccountEnds.php
index 2dc567e935..9b9d08ce0c 100644
--- a/app/TransactionRules/Triggers/FromAccountEnds.php
+++ b/app/TransactionRules/Triggers/FromAccountEnds.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/FromAccountIs.php b/app/TransactionRules/Triggers/FromAccountIs.php
index aa8b214fdf..7dc767f008 100644
--- a/app/TransactionRules/Triggers/FromAccountIs.php
+++ b/app/TransactionRules/Triggers/FromAccountIs.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/FromAccountStarts.php b/app/TransactionRules/Triggers/FromAccountStarts.php
index 7cdc74e752..502347cb5a 100644
--- a/app/TransactionRules/Triggers/FromAccountStarts.php
+++ b/app/TransactionRules/Triggers/FromAccountStarts.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/HasAnyBudget.php b/app/TransactionRules/Triggers/HasAnyBudget.php
index 89b451412d..7b1fa018e0 100644
--- a/app/TransactionRules/Triggers/HasAnyBudget.php
+++ b/app/TransactionRules/Triggers/HasAnyBudget.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/HasAnyCategory.php b/app/TransactionRules/Triggers/HasAnyCategory.php
index d27f34fb8c..d935142ba5 100644
--- a/app/TransactionRules/Triggers/HasAnyCategory.php
+++ b/app/TransactionRules/Triggers/HasAnyCategory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/HasAnyTag.php b/app/TransactionRules/Triggers/HasAnyTag.php
index a58ca924a3..06af0d784e 100644
--- a/app/TransactionRules/Triggers/HasAnyTag.php
+++ b/app/TransactionRules/Triggers/HasAnyTag.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/HasAttachment.php b/app/TransactionRules/Triggers/HasAttachment.php
index ec6601b0d1..f07ead0c3e 100644
--- a/app/TransactionRules/Triggers/HasAttachment.php
+++ b/app/TransactionRules/Triggers/HasAttachment.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/HasNoBudget.php b/app/TransactionRules/Triggers/HasNoBudget.php
index a313ba75ce..67b46e8342 100644
--- a/app/TransactionRules/Triggers/HasNoBudget.php
+++ b/app/TransactionRules/Triggers/HasNoBudget.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/HasNoCategory.php b/app/TransactionRules/Triggers/HasNoCategory.php
index d986832e65..e55491affc 100644
--- a/app/TransactionRules/Triggers/HasNoCategory.php
+++ b/app/TransactionRules/Triggers/HasNoCategory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/HasNoTag.php b/app/TransactionRules/Triggers/HasNoTag.php
index 9077ef1ad7..9cda146096 100644
--- a/app/TransactionRules/Triggers/HasNoTag.php
+++ b/app/TransactionRules/Triggers/HasNoTag.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/NotesAny.php b/app/TransactionRules/Triggers/NotesAny.php
index 02cce26d53..466144eaa2 100644
--- a/app/TransactionRules/Triggers/NotesAny.php
+++ b/app/TransactionRules/Triggers/NotesAny.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/NotesAre.php b/app/TransactionRules/Triggers/NotesAre.php
index 5989d7236c..8b0c8e1cec 100644
--- a/app/TransactionRules/Triggers/NotesAre.php
+++ b/app/TransactionRules/Triggers/NotesAre.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/NotesContain.php b/app/TransactionRules/Triggers/NotesContain.php
index 4c3eef2ff7..9c15c359e9 100644
--- a/app/TransactionRules/Triggers/NotesContain.php
+++ b/app/TransactionRules/Triggers/NotesContain.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/NotesEmpty.php b/app/TransactionRules/Triggers/NotesEmpty.php
index d1d18e3544..0c87624aa7 100644
--- a/app/TransactionRules/Triggers/NotesEmpty.php
+++ b/app/TransactionRules/Triggers/NotesEmpty.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/NotesEnd.php b/app/TransactionRules/Triggers/NotesEnd.php
index ebead68e0f..d8f8bcd5bc 100644
--- a/app/TransactionRules/Triggers/NotesEnd.php
+++ b/app/TransactionRules/Triggers/NotesEnd.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/NotesStart.php b/app/TransactionRules/Triggers/NotesStart.php
index 2ba1d5df11..403c8dc68a 100644
--- a/app/TransactionRules/Triggers/NotesStart.php
+++ b/app/TransactionRules/Triggers/NotesStart.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/TagIs.php b/app/TransactionRules/Triggers/TagIs.php
index 48bfa3841d..cd57497720 100644
--- a/app/TransactionRules/Triggers/TagIs.php
+++ b/app/TransactionRules/Triggers/TagIs.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/ToAccountContains.php b/app/TransactionRules/Triggers/ToAccountContains.php
index 0206db1afb..bd88d52e4b 100644
--- a/app/TransactionRules/Triggers/ToAccountContains.php
+++ b/app/TransactionRules/Triggers/ToAccountContains.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/ToAccountEnds.php b/app/TransactionRules/Triggers/ToAccountEnds.php
index 3026ea6afa..44faac5d47 100644
--- a/app/TransactionRules/Triggers/ToAccountEnds.php
+++ b/app/TransactionRules/Triggers/ToAccountEnds.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/ToAccountIs.php b/app/TransactionRules/Triggers/ToAccountIs.php
index ca6486db3d..a70adc31b3 100644
--- a/app/TransactionRules/Triggers/ToAccountIs.php
+++ b/app/TransactionRules/Triggers/ToAccountIs.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/ToAccountStarts.php b/app/TransactionRules/Triggers/ToAccountStarts.php
index 861e36d983..9d8df60b9d 100644
--- a/app/TransactionRules/Triggers/ToAccountStarts.php
+++ b/app/TransactionRules/Triggers/ToAccountStarts.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/TransactionType.php b/app/TransactionRules/Triggers/TransactionType.php
index 8aa6699155..004801913f 100644
--- a/app/TransactionRules/Triggers/TransactionType.php
+++ b/app/TransactionRules/Triggers/TransactionType.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/TriggerInterface.php b/app/TransactionRules/Triggers/TriggerInterface.php
index 45b24847ba..1fecddee7c 100644
--- a/app/TransactionRules/Triggers/TriggerInterface.php
+++ b/app/TransactionRules/Triggers/TriggerInterface.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/TransactionRules/Triggers/UserAction.php b/app/TransactionRules/Triggers/UserAction.php
index f54ac107dd..d31bffef1e 100644
--- a/app/TransactionRules/Triggers/UserAction.php
+++ b/app/TransactionRules/Triggers/UserAction.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/AbstractTransformer.php b/app/Transformers/AbstractTransformer.php
index 1ad57a7af3..965062da85 100644
--- a/app/Transformers/AbstractTransformer.php
+++ b/app/Transformers/AbstractTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/AccountTransformer.php b/app/Transformers/AccountTransformer.php
index c360ee651a..ff39d13405 100644
--- a/app/Transformers/AccountTransformer.php
+++ b/app/Transformers/AccountTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/AttachmentTransformer.php b/app/Transformers/AttachmentTransformer.php
index f7c16b80e2..b524b63a80 100644
--- a/app/Transformers/AttachmentTransformer.php
+++ b/app/Transformers/AttachmentTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/AvailableBudgetTransformer.php b/app/Transformers/AvailableBudgetTransformer.php
index ca3ccd2f1d..58ac130bc5 100644
--- a/app/Transformers/AvailableBudgetTransformer.php
+++ b/app/Transformers/AvailableBudgetTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/BillTransformer.php b/app/Transformers/BillTransformer.php
index a51133c94c..e73fa5d2cc 100644
--- a/app/Transformers/BillTransformer.php
+++ b/app/Transformers/BillTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/BudgetLimitTransformer.php b/app/Transformers/BudgetLimitTransformer.php
index 65b8772b10..fe9ec53a02 100644
--- a/app/Transformers/BudgetLimitTransformer.php
+++ b/app/Transformers/BudgetLimitTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/BudgetTransformer.php b/app/Transformers/BudgetTransformer.php
index 7243ac9e7a..10204d0150 100644
--- a/app/Transformers/BudgetTransformer.php
+++ b/app/Transformers/BudgetTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -26,6 +26,7 @@ namespace FireflyIII\Transformers;
use FireflyIII\Models\Budget;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
+use FireflyIII\Repositories\Budget\OperationsRepositoryInterface;
use Illuminate\Support\Collection;
use Log;
@@ -34,7 +35,8 @@ use Log;
*/
class BudgetTransformer extends AbstractTransformer
{
- private $repository;
+ /** @var OperationsRepositoryInterface */
+ private $opsRepository;
/**
* BudgetTransformer constructor.
@@ -43,7 +45,7 @@ class BudgetTransformer extends AbstractTransformer
*/
public function __construct()
{
- $this->repository = app(BudgetRepositoryInterface::class);
+ $this->opsRepository = app(OperationsRepositoryInterface::class);
if ('testing' === config('app.env')) {
Log::warning(sprintf('%s should not be instantiated in the TEST environment!', get_class($this)));
}
@@ -58,12 +60,12 @@ class BudgetTransformer extends AbstractTransformer
*/
public function transform(Budget $budget): array
{
- $this->repository->setUser($budget->user);
+ $this->opsRepository->setUser($budget->user);
$start = $this->parameters->get('start');
$end = $this->parameters->get('end');
$spent = [];
if (null !== $start && null !== $end) {
- $spent = $this->repository->spentInPeriodMc(new Collection([$budget]), new Collection, $start, $end);
+ $spent = array_values($this->opsRepository->sumExpenses($start, $end, null, new Collection([$budget])));
}
$data = [
diff --git a/app/Transformers/CategoryTransformer.php b/app/Transformers/CategoryTransformer.php
index bc22a2f793..cb4ff9f7d2 100644
--- a/app/Transformers/CategoryTransformer.php
+++ b/app/Transformers/CategoryTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/CurrencyExchangeRateTransformer.php b/app/Transformers/CurrencyExchangeRateTransformer.php
index 45e6585dd1..7e7afeecb6 100644
--- a/app/Transformers/CurrencyExchangeRateTransformer.php
+++ b/app/Transformers/CurrencyExchangeRateTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/CurrencyTransformer.php b/app/Transformers/CurrencyTransformer.php
index fb7a26c151..18d1b0721b 100644
--- a/app/Transformers/CurrencyTransformer.php
+++ b/app/Transformers/CurrencyTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/ImportJobTransformer.php b/app/Transformers/ImportJobTransformer.php
index addfd0b180..74077dd081 100644
--- a/app/Transformers/ImportJobTransformer.php
+++ b/app/Transformers/ImportJobTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/LinkTypeTransformer.php b/app/Transformers/LinkTypeTransformer.php
index 7bb00626d0..009b8b7930 100644
--- a/app/Transformers/LinkTypeTransformer.php
+++ b/app/Transformers/LinkTypeTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/PiggyBankEventTransformer.php b/app/Transformers/PiggyBankEventTransformer.php
index 22211b28b3..a0bd1eda5e 100644
--- a/app/Transformers/PiggyBankEventTransformer.php
+++ b/app/Transformers/PiggyBankEventTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -84,7 +84,10 @@ class PiggyBankEventTransformer extends AbstractTransformer
// get associated journal and transaction, if any:
$journalId = (int)$event->transaction_journal_id;
-
+ $groupId = null;
+ if (0 !== $journalId) {
+ $groupId = (int)$event->transactionJournal->transaction_group_id;
+ }
$data = [
'id' => (int)$event->id,
'created_at' => $event->created_at->toAtomString(),
@@ -95,6 +98,7 @@ class PiggyBankEventTransformer extends AbstractTransformer
'currency_symbol' => $currency->symbol,
'currency_decimal_places' => $currency->decimal_places,
'transaction_journal_id' => $journalId,
+ 'transaction_group_id' => $groupId,
'links' => [
[
'rel' => 'self',
diff --git a/app/Transformers/PiggyBankTransformer.php b/app/Transformers/PiggyBankTransformer.php
index 35fe31dfdd..cedbd94ffb 100644
--- a/app/Transformers/PiggyBankTransformer.php
+++ b/app/Transformers/PiggyBankTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/PreferenceTransformer.php b/app/Transformers/PreferenceTransformer.php
index d817891987..7fdf7079bb 100644
--- a/app/Transformers/PreferenceTransformer.php
+++ b/app/Transformers/PreferenceTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/RecurrenceTransformer.php b/app/Transformers/RecurrenceTransformer.php
index 4bb67238e7..ce11746c12 100644
--- a/app/Transformers/RecurrenceTransformer.php
+++ b/app/Transformers/RecurrenceTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -125,9 +125,6 @@ class RecurrenceTransformer extends AbstractTransformer
private function getRepetitions(Recurrence $recurrence): array
{
$fromDate = $recurrence->latest_date ?? $recurrence->first_date;
- // date in the past? use today:
- $today = new Carbon;
- $fromDate = $fromDate->lte($today) ? $today : $fromDate;
$return = [];
/** @var RecurrenceRepetition $repetition */
@@ -145,7 +142,7 @@ class RecurrenceTransformer extends AbstractTransformer
];
// get the (future) occurrences for this specific type of repetition:
- $occurrences = $this->repository->getXOccurrences($repetition, $fromDate, 5);
+ $occurrences = $this->repository->getXOccurrencesSince($repetition, $fromDate, new Carbon, 5);
/** @var Carbon $carbon */
foreach ($occurrences as $carbon) {
$repetitionArray['occurrences'][] = $carbon->format('Y-m-d');
diff --git a/app/Transformers/RuleGroupTransformer.php b/app/Transformers/RuleGroupTransformer.php
index 0aea33dcfb..3fac706a77 100644
--- a/app/Transformers/RuleGroupTransformer.php
+++ b/app/Transformers/RuleGroupTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/RuleTransformer.php b/app/Transformers/RuleTransformer.php
index fb66aac7eb..a18a4dbac2 100644
--- a/app/Transformers/RuleTransformer.php
+++ b/app/Transformers/RuleTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/TagTransformer.php b/app/Transformers/TagTransformer.php
index 1b35ac4676..7e11c8d2fd 100644
--- a/app/Transformers/TagTransformer.php
+++ b/app/Transformers/TagTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/TransactionGroupTransformer.php b/app/Transformers/TransactionGroupTransformer.php
index f0052840ad..a681377f8c 100644
--- a/app/Transformers/TransactionGroupTransformer.php
+++ b/app/Transformers/TransactionGroupTransformer.php
@@ -3,20 +3,20 @@
* TransactionGroupTransformer.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -227,7 +227,7 @@ class TransactionGroupTransformer extends AbstractTransformer
'category_name' => $category ? $category->name : null,
'bill_id' => $journal->bill_id ?: null,
- 'bill_name' => $journal->bill_id ? $journal->bill->name : null,
+ 'bill_name' => $journal->bill ? $journal->bill->name : null,
'reconciled' => $source->reconciled,
'notes' => $this->groupRepos->getNoteText($journal->id),
diff --git a/app/Transformers/TransactionLinkTransformer.php b/app/Transformers/TransactionLinkTransformer.php
index 9b104f894e..204e5d7cd2 100644
--- a/app/Transformers/TransactionLinkTransformer.php
+++ b/app/Transformers/TransactionLinkTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Transformers/UserTransformer.php b/app/Transformers/UserTransformer.php
index bd6b797ef6..aacbe32e9f 100644
--- a/app/Transformers/UserTransformer.php
+++ b/app/Transformers/UserTransformer.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/User.php b/app/User.php
index cc609c62fd..9e97bc60c5 100644
--- a/app/User.php
+++ b/app/User.php
@@ -2,22 +2,22 @@
/**
* User.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Validation/AccountValidator.php b/app/Validation/AccountValidator.php
index 9a894427e3..9721bca282 100644
--- a/app/Validation/AccountValidator.php
+++ b/app/Validation/AccountValidator.php
@@ -3,20 +3,20 @@
* AccountValidator.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Validation/FireflyValidator.php b/app/Validation/FireflyValidator.php
index 1f9206d5c1..f8f0792e06 100644
--- a/app/Validation/FireflyValidator.php
+++ b/app/Validation/FireflyValidator.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Validation/RecurrenceValidation.php b/app/Validation/RecurrenceValidation.php
index afd71782c0..ad10bdf9e1 100644
--- a/app/Validation/RecurrenceValidation.php
+++ b/app/Validation/RecurrenceValidation.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/app/Validation/TransactionValidation.php b/app/Validation/TransactionValidation.php
index 233ada5a3c..640e218c90 100644
--- a/app/Validation/TransactionValidation.php
+++ b/app/Validation/TransactionValidation.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -96,7 +96,7 @@ trait TransactionValidation
foreach ($transactions as $index => $transaction) {
$originalType = $this->getOriginalType((int)($transaction['transaction_journal_id'] ?? 0));
- $originalData = $this->getOriginalData($transaction['transaction_journal_id'] ?? 0);
+ $originalData = $this->getOriginalData((int)($transaction['transaction_journal_id'] ?? 0));
$transactionType = $transaction['type'] ?? $originalType;
$accountValidator->setTransactionType($transactionType);
diff --git a/bootstrap/app.php b/bootstrap/app.php
index a2f85126e0..79783c3441 100644
--- a/bootstrap/app.php
+++ b/bootstrap/app.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/changelog.md b/changelog.md
index 206746fe47..190aab3939 100644
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,64 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
+## [4.8.1.2 (API 0.10.3)] - 2019-10-05
+
+Firefly III v4.8.1.2 and onwards are licensed under the GNU Affero General
+Public License. This will not meaningfully change Firefly III. This
+particular license has some extra provisions that protect web-applications
+such as this one. You can read the full license on the website of GNU.
+
+https://www.gnu.org/licenses/agpl-3.0.html
+
+### Added
+- [Issue 2589](https://github.com/firefly-iii/firefly-iii/issues/2589) Can now search using `created_on:2019-10-22` and `updated_on:2019-10-22`.
+- [Issue 2494](https://github.com/firefly-iii/firefly-iii/issues/2494) Add account balance to the dropdown.
+- [Issue 2603](https://github.com/firefly-iii/firefly-iii/issues/2603) New keywords for reports.
+- [Issue 2618](https://github.com/firefly-iii/firefly-iii/issues/2618) Page navigation in the footer of transaction lists.
+- Option in your profile to delete meta-data from your administration.
+- Add average to some reports.
+
+### Changed
+- [Issue 2593](https://github.com/firefly-iii/firefly-iii/issues/2593) The budget overview is now fully multi-currency.
+- [Issue 2613](https://github.com/firefly-iii/firefly-iii/issues/2613) Improved Mailgun configuration options.
+- [Issue 2510](https://github.com/firefly-iii/firefly-iii/issues/2510) Maximum transaction description length is 1000 now.
+- [Issue 2616](https://github.com/firefly-iii/firefly-iii/issues/2616) Docker instances should remember their OAuth tokens and keys better (even after a restart)
+- [Issue 2675](https://github.com/firefly-iii/firefly-iii/issues/2675) Some spelling in the English is fixed.
+
+### Removed
+- [Issue 2677](https://github.com/firefly-iii/firefly-iii/issues/2677) Superfluous help popup.
+
+### Fixed
+- [Issue 2572](https://github.com/firefly-iii/firefly-iii/issues/2572) Sometimes users would get 404's after deleting stuff.
+- [Issue 2587](https://github.com/firefly-iii/firefly-iii/issues/2587) Users would be redirected to JSON endpoints.
+- [Issue 2596](https://github.com/firefly-iii/firefly-iii/issues/2596) Could not remove the last tag from a transaction.
+- [Issue 2598](https://github.com/firefly-iii/firefly-iii/issues/2598) Fix an issue where foreign amounts were displayed incorrectly.
+- [Issue 2599](https://github.com/firefly-iii/firefly-iii/issues/2599) Could add negative amounts to piggy banks and game the system.
+- [Issue 2560](https://github.com/firefly-iii/firefly-iii/issues/2560) Search supports møre chäracters.
+- [Issue 2626](https://github.com/firefly-iii/firefly-iii/issues/2626) Budgets would display amounts with too many decimals.
+- [Issue 2629](https://github.com/firefly-iii/firefly-iii/issues/2629) [issue 2639](https://github.com/firefly-iii/firefly-iii/issues/2639) [issue 2640](https://github.com/firefly-iii/firefly-iii/issues/2640) [issue 2643](https://github.com/firefly-iii/firefly-iii/issues/2643) Line-breaks were not properly rendered in markdown.
+- [Issue 2623](https://github.com/firefly-iii/firefly-iii/issues/2623) Budget spent line would make the start of the month twice.
+- [Issue 2624](https://github.com/firefly-iii/firefly-iii/issues/2624) Editing a budget would redirect you to the wrong page.
+- [Issue 2633](https://github.com/firefly-iii/firefly-iii/issues/2633) New transaction form sorts budgets wrong.
+- [Issue 2567](https://github.com/firefly-iii/firefly-iii/issues/2567) Could not unlink bills.
+- [Issue 2647](https://github.com/firefly-iii/firefly-iii/issues/2647) Date issue in category overview
+- [Issue 2657](https://github.com/firefly-iii/firefly-iii/issues/2657) Possible fix for issue with transaction overview.
+- [Issue 2658](https://github.com/firefly-iii/firefly-iii/issues/2658) Fixed overview of recurring transactions.
+- [Issue 2480](https://github.com/firefly-iii/firefly-iii/issues/2480) SQLite can't handle a lot of variables so big update queries are now executed in chunks.
+- [Issue 2683](https://github.com/firefly-iii/firefly-iii/issues/2683) Link to the wrong transaction.
+
+
+### Security
+- [Issue 2687](https://github.com/firefly-iii/firefly-iii/issues/2687) Budget overview shows budget limit totals for all users, not just the logged-in user.
+
+### API
+- [Issue 2609](https://github.com/firefly-iii/firefly-iii/issues/2609) Summary endpoint would not always give the correct results.
+- [Issue 2638](https://github.com/firefly-iii/firefly-iii/issues/2638) Link to correct journal in API.
+- [Issue 2606](https://github.com/firefly-iii/firefly-iii/issues/2606) Budget endpoint gave error.
+- [Issue 2637](https://github.com/firefly-iii/firefly-iii/issues/2637) Transaction / piggy bank event endpoint now returns results.
+- An undocumented end point that allows you to search for accounts. Still a bit experimental.
+ Use: /api/v1/search/accounts?query=something&field=all (all,iban,id,number)
+
## [4.8.1.1 (API 0.10.2)] - 2019-09-12
### Changed
diff --git a/composer.json b/composer.json
index 663fcc7014..15a472a168 100644
--- a/composer.json
+++ b/composer.json
@@ -34,7 +34,7 @@
"transfers",
"management"
],
- "license": "GPL-3.0-or-later",
+ "license": "AGPL-3.0-or-later",
"homepage": "https://github.com/firefly-iii/firefly-iii",
"type": "project",
"readme": "readme.md",
@@ -163,9 +163,11 @@
"@php artisan firefly-iii:fix-account-types",
"@php artisan firefly-iii:rename-meta-fields",
"@php artisan firefly-iii:fix-ob-currencies",
+ "@php artisan firefly-iii:fix-long-descriptions",
"@php artisan firefly-iii:report-empty-objects",
"@php artisan firefly-iii:report-sum",
+ "@php artisan firefly-iii:restore-oauth-keys",
"@php artisan firefly:instructions update",
"@php artisan passport:install"
diff --git a/composer.lock b/composer.lock
index a907afa871..61d1d6f7f5 100644
--- a/composer.lock
+++ b/composer.lock
@@ -8,16 +8,16 @@
"packages": [
{
"name": "adldap2/adldap2",
- "version": "v10.1.0",
+ "version": "v10.1.1",
"source": {
"type": "git",
"url": "https://github.com/Adldap2/Adldap2.git",
- "reference": "c5e58490e78e2356f867596dd9d31098f3ad2444"
+ "reference": "9252328a3fb8ea7be7194fd0d956e40ce3e51149"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Adldap2/Adldap2/zipball/c5e58490e78e2356f867596dd9d31098f3ad2444",
- "reference": "c5e58490e78e2356f867596dd9d31098f3ad2444",
+ "url": "https://api.github.com/repos/Adldap2/Adldap2/zipball/9252328a3fb8ea7be7194fd0d956e40ce3e51149",
+ "reference": "9252328a3fb8ea7be7194fd0d956e40ce3e51149",
"shasum": ""
},
"require": {
@@ -63,7 +63,7 @@
"ldap",
"windows"
],
- "time": "2019-09-03T15:41:15+00:00"
+ "time": "2019-09-24T13:06:16+00:00"
},
{
"name": "adldap2/adldap2-laravel",
@@ -171,12 +171,12 @@
"source": {
"type": "git",
"url": "https://github.com/bunq/sdk_php.git",
- "reference": "cfde75f644e5105a8634b0cd9a891c49c50b0e28"
+ "reference": "9f4ce9a3f1027936e2253bd75534a3e12fed55ae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bunq/sdk_php/zipball/cfde75f644e5105a8634b0cd9a891c49c50b0e28",
- "reference": "cfde75f644e5105a8634b0cd9a891c49c50b0e28",
+ "url": "https://api.github.com/repos/bunq/sdk_php/zipball/9f4ce9a3f1027936e2253bd75534a3e12fed55ae",
+ "reference": "9f4ce9a3f1027936e2253bd75534a3e12fed55ae",
"shasum": ""
},
"require": {
@@ -227,7 +227,7 @@
"payment",
"sepa"
],
- "time": "2019-09-10T15:00:27+00:00"
+ "time": "2019-09-16T07:15:00+00:00"
},
{
"name": "danhunsaker/laravel-flysystem-others",
@@ -1522,16 +1522,16 @@
},
{
"name": "laravel/passport",
- "version": "v7.4.1",
+ "version": "v7.5.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/passport.git",
- "reference": "cc39dc6a36ebf5926906eb5ad3c62dba50c9bbd0"
+ "reference": "663e720a6d15e8ec70bf5309f774439a110efc89"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/passport/zipball/cc39dc6a36ebf5926906eb5ad3c62dba50c9bbd0",
- "reference": "cc39dc6a36ebf5926906eb5ad3c62dba50c9bbd0",
+ "url": "https://api.github.com/repos/laravel/passport/zipball/663e720a6d15e8ec70bf5309f774439a110efc89",
+ "reference": "663e720a6d15e8ec70bf5309f774439a110efc89",
"shasum": ""
},
"require": {
@@ -1589,7 +1589,7 @@
"oauth",
"passport"
],
- "time": "2019-09-10T19:55:34+00:00"
+ "time": "2019-09-24T20:59:35+00:00"
},
{
"name": "laravelcollective/html",
@@ -1786,16 +1786,16 @@
},
{
"name": "league/csv",
- "version": "9.3.0",
+ "version": "9.4.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/csv.git",
- "reference": "d16f85d1f958a765844db4bc7174017edf2dd637"
+ "reference": "e7225b6cc853942caef1c9c4d8889b716c34bc04"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/csv/zipball/d16f85d1f958a765844db4bc7174017edf2dd637",
- "reference": "d16f85d1f958a765844db4bc7174017edf2dd637",
+ "url": "https://api.github.com/repos/thephpleague/csv/zipball/e7225b6cc853942caef1c9c4d8889b716c34bc04",
+ "reference": "e7225b6cc853942caef1c9c4d8889b716c34bc04",
"shasum": ""
},
"require": {
@@ -1836,9 +1836,9 @@
"authors": [
{
"name": "Ignace Nyamagana Butera",
- "role": "Developer",
"email": "nyamsprod@gmail.com",
- "homepage": "https://github.com/nyamsprod/"
+ "homepage": "https://github.com/nyamsprod/",
+ "role": "Developer"
}
],
"description": "Csv data manipulation made easy in PHP",
@@ -1851,7 +1851,7 @@
"read",
"write"
],
- "time": "2019-07-30T14:39:11+00:00"
+ "time": "2019-10-02T18:32:54+00:00"
},
{
"name": "league/event",
@@ -2035,16 +2035,16 @@
},
{
"name": "league/flysystem-sftp",
- "version": "1.0.20",
+ "version": "1.0.21",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-sftp.git",
- "reference": "518ac7dc9e80ca55ab6c3cebc8bccb4c2a5af302"
+ "reference": "4c2f2fcc4da251127c315d37eb3dfa5e94658df0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem-sftp/zipball/518ac7dc9e80ca55ab6c3cebc8bccb4c2a5af302",
- "reference": "518ac7dc9e80ca55ab6c3cebc8bccb4c2a5af302",
+ "url": "https://api.github.com/repos/thephpleague/flysystem-sftp/zipball/4c2f2fcc4da251127c315d37eb3dfa5e94658df0",
+ "reference": "4c2f2fcc4da251127c315d37eb3dfa5e94658df0",
"shasum": ""
},
"require": {
@@ -2073,7 +2073,7 @@
}
],
"description": "Flysystem adapter for SFTP",
- "time": "2019-06-07T20:54:19+00:00"
+ "time": "2019-09-19T09:11:05+00:00"
},
{
"name": "league/fractal",
@@ -2372,16 +2372,16 @@
},
{
"name": "nesbot/carbon",
- "version": "2.24.0",
+ "version": "2.25.0",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "934459c5ac0658bc765ad1e53512c7c77adcac29"
+ "reference": "b70da677101cca7b584c7489770d2677c2733593"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/934459c5ac0658bc765ad1e53512c7c77adcac29",
- "reference": "934459c5ac0658bc765ad1e53512c7c77adcac29",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/b70da677101cca7b584c7489770d2677c2733593",
+ "reference": "b70da677101cca7b584c7489770d2677c2733593",
"shasum": ""
},
"require": {
@@ -2428,14 +2428,14 @@
"homepage": "http://github.com/kylekatarnls"
}
],
- "description": "A API extension for DateTime that supports 281 different languages.",
+ "description": "An API extension for DateTime that supports 281 different languages.",
"homepage": "http://carbon.nesbot.com",
"keywords": [
"date",
"datetime",
"time"
],
- "time": "2019-08-31T16:37:55+00:00"
+ "time": "2019-09-30T16:22:22+00:00"
},
{
"name": "opis/closure",
@@ -2657,16 +2657,16 @@
},
{
"name": "phpseclib/phpseclib",
- "version": "2.0.21",
+ "version": "2.0.23",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "9f1287e68b3f283339a9f98f67515dd619e5bf9d"
+ "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/9f1287e68b3f283339a9f98f67515dd619e5bf9d",
- "reference": "9f1287e68b3f283339a9f98f67515dd619e5bf9d",
+ "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c78eb5058d5bb1a183133c36d4ba5b6675dfa099",
+ "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099",
"shasum": ""
},
"require": {
@@ -2700,28 +2700,28 @@
"authors": [
{
"name": "Jim Wigginton",
- "role": "Lead Developer",
- "email": "terrafrost@php.net"
+ "email": "terrafrost@php.net",
+ "role": "Lead Developer"
},
{
"name": "Patrick Monnerat",
- "role": "Developer",
- "email": "pm@datasphere.ch"
+ "email": "pm@datasphere.ch",
+ "role": "Developer"
},
{
"name": "Andreas Fischer",
- "role": "Developer",
- "email": "bantu@phpbb.com"
+ "email": "bantu@phpbb.com",
+ "role": "Developer"
},
{
"name": "Hans-Jürgen Petrich",
- "role": "Developer",
- "email": "petrich@tronic-media.com"
+ "email": "petrich@tronic-media.com",
+ "role": "Developer"
},
{
"name": "Graham Campbell",
- "role": "Developer",
- "email": "graham@alt-three.com"
+ "email": "graham@alt-three.com",
+ "role": "Developer"
}
],
"description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
@@ -2745,20 +2745,20 @@
"x.509",
"x509"
],
- "time": "2019-07-12T12:53:49+00:00"
+ "time": "2019-09-17T03:41:22+00:00"
},
{
"name": "pragmarx/google2fa",
- "version": "v6.0.0",
+ "version": "v6.1.0",
"source": {
"type": "git",
"url": "https://github.com/antonioribeiro/google2fa.git",
- "reference": "03f6fb65aaccc21d6f70969db652316ad003b83d"
+ "reference": "0ea122e0d1ba197e867888a623059ae1a7fe43b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/03f6fb65aaccc21d6f70969db652316ad003b83d",
- "reference": "03f6fb65aaccc21d6f70969db652316ad003b83d",
+ "url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/0ea122e0d1ba197e867888a623059ae1a7fe43b6",
+ "reference": "0ea122e0d1ba197e867888a623059ae1a7fe43b6",
"shasum": ""
},
"require": {
@@ -2801,20 +2801,20 @@
"Two Factor Authentication",
"google2fa"
],
- "time": "2019-09-11T19:19:55+00:00"
+ "time": "2019-09-23T18:30:35+00:00"
},
{
"name": "pragmarx/google2fa-laravel",
- "version": "v1.1.1",
+ "version": "v1.2.0",
"source": {
"type": "git",
"url": "https://github.com/antonioribeiro/google2fa-laravel.git",
- "reference": "3b14f1fa2753c7f9bb5abb6504601662d836d104"
+ "reference": "6e43058759963ac15202008f204ef8c996b6ec0d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/antonioribeiro/google2fa-laravel/zipball/3b14f1fa2753c7f9bb5abb6504601662d836d104",
- "reference": "3b14f1fa2753c7f9bb5abb6504601662d836d104",
+ "url": "https://api.github.com/repos/antonioribeiro/google2fa-laravel/zipball/6e43058759963ac15202008f204ef8c996b6ec0d",
+ "reference": "6e43058759963ac15202008f204ef8c996b6ec0d",
"shasum": ""
},
"require": {
@@ -2872,7 +2872,7 @@
"google2fa",
"laravel"
],
- "time": "2019-09-13T02:06:13+00:00"
+ "time": "2019-09-30T17:17:12+00:00"
},
{
"name": "pragmarx/google2fa-qrcode",
@@ -5046,16 +5046,16 @@
},
{
"name": "tightenco/collect",
- "version": "v6.0.2",
+ "version": "v6.1.0",
"source": {
"type": "git",
"url": "https://github.com/tightenco/collect.git",
- "reference": "e35230cde9e682881e9ac27105d0f26c32eca6d6"
+ "reference": "8f56fad98222f8fe8c008cbae449f687e331444a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tightenco/collect/zipball/e35230cde9e682881e9ac27105d0f26c32eca6d6",
- "reference": "e35230cde9e682881e9ac27105d0f26c32eca6d6",
+ "url": "https://api.github.com/repos/tightenco/collect/zipball/8f56fad98222f8fe8c008cbae449f687e331444a",
+ "reference": "8f56fad98222f8fe8c008cbae449f687e331444a",
"shasum": ""
},
"require": {
@@ -5092,7 +5092,7 @@
"collection",
"laravel"
],
- "time": "2019-09-09T14:07:34+00:00"
+ "time": "2019-10-02T19:55:13+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@@ -6085,16 +6085,16 @@
},
{
"name": "mockery/mockery",
- "version": "1.2.3",
+ "version": "1.2.4",
"source": {
"type": "git",
"url": "https://github.com/mockery/mockery.git",
- "reference": "4eff936d83eb809bde2c57a3cea0ee9643769031"
+ "reference": "b3453f75fd23d9fd41685f2148f4abeacabc6405"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mockery/mockery/zipball/4eff936d83eb809bde2c57a3cea0ee9643769031",
- "reference": "4eff936d83eb809bde2c57a3cea0ee9643769031",
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/b3453f75fd23d9fd41685f2148f4abeacabc6405",
+ "reference": "b3453f75fd23d9fd41685f2148f4abeacabc6405",
"shasum": ""
},
"require": {
@@ -6108,7 +6108,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.2.x-dev"
}
},
"autoload": {
@@ -6146,7 +6146,7 @@
"test double",
"testing"
],
- "time": "2019-08-07T15:01:07+00:00"
+ "time": "2019-09-30T08:30:27+00:00"
},
{
"name": "myclabs/deep-copy",
@@ -6450,22 +6450,22 @@
},
{
"name": "phpspec/prophecy",
- "version": "1.8.1",
+ "version": "1.9.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76"
+ "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76",
- "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203",
+ "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.0.2",
"php": "^5.3|^7.0",
- "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
+ "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0",
"sebastian/comparator": "^1.1|^2.0|^3.0",
"sebastian/recursion-context": "^1.0|^2.0|^3.0"
},
@@ -6509,20 +6509,20 @@
"spy",
"stub"
],
- "time": "2019-06-13T12:50:23+00:00"
+ "time": "2019-10-03T11:07:50+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "7.0.7",
+ "version": "7.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "7743bbcfff2a907e9ee4a25be13d0f8ec5e73800"
+ "reference": "aa0d179a13284c7420fc281fc32750e6cc7c9e2f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7743bbcfff2a907e9ee4a25be13d0f8ec5e73800",
- "reference": "7743bbcfff2a907e9ee4a25be13d0f8ec5e73800",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/aa0d179a13284c7420fc281fc32750e6cc7c9e2f",
+ "reference": "aa0d179a13284c7420fc281fc32750e6cc7c9e2f",
"shasum": ""
},
"require": {
@@ -6531,7 +6531,7 @@
"php": "^7.2",
"phpunit/php-file-iterator": "^2.0.2",
"phpunit/php-text-template": "^1.2.1",
- "phpunit/php-token-stream": "^3.1.0",
+ "phpunit/php-token-stream": "^3.1.1",
"sebastian/code-unit-reverse-lookup": "^1.0.1",
"sebastian/environment": "^4.2.2",
"sebastian/version": "^2.0.1",
@@ -6572,7 +6572,7 @@
"testing",
"xunit"
],
- "time": "2019-07-25T05:31:54+00:00"
+ "time": "2019-09-17T06:24:36+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -6716,16 +6716,16 @@
},
{
"name": "phpunit/php-token-stream",
- "version": "3.1.0",
+ "version": "3.1.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a"
+ "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e899757bb3df5ff6e95089132f32cd59aac2220a",
- "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff",
+ "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff",
"shasum": ""
},
"require": {
@@ -6761,20 +6761,20 @@
"keywords": [
"tokenizer"
],
- "time": "2019-07-25T05:29:42+00:00"
+ "time": "2019-09-17T06:23:10+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "8.3.4",
+ "version": "8.4.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36"
+ "reference": "57e5e77b62086033528ee1f4063ae03035f57894"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e31cce0cf4499c0ccdbbb211a3280d36ab341e36",
- "reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/57e5e77b62086033528ee1f4063ae03035f57894",
+ "reference": "57e5e77b62086033528ee1f4063ae03035f57894",
"shasum": ""
},
"require": {
@@ -6797,7 +6797,7 @@
"sebastian/comparator": "^3.0.2",
"sebastian/diff": "^3.0.2",
"sebastian/environment": "^4.2.2",
- "sebastian/exporter": "^3.1.0",
+ "sebastian/exporter": "^3.1.1",
"sebastian/global-state": "^3.0.0",
"sebastian/object-enumerator": "^3.0.3",
"sebastian/resource-operations": "^2.0.1",
@@ -6818,7 +6818,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "8.3-dev"
+ "dev-master": "8.4-dev"
}
},
"autoload": {
@@ -6844,7 +6844,7 @@
"testing",
"xunit"
],
- "time": "2019-08-11T06:56:55+00:00"
+ "time": "2019-10-04T03:12:25+00:00"
},
{
"name": "roave/security-advisories",
@@ -6852,12 +6852,12 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
- "reference": "ea693fa060702164985511acc3ceb5389c9ac761"
+ "reference": "3a9ab646603efdccb4f7c4acbb3b36974ef257d8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/ea693fa060702164985511acc3ceb5389c9ac761",
- "reference": "ea693fa060702164985511acc3ceb5389c9ac761",
+ "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/3a9ab646603efdccb4f7c4acbb3b36974ef257d8",
+ "reference": "3a9ab646603efdccb4f7c4acbb3b36974ef257d8",
"shasum": ""
},
"conflict": {
@@ -6881,6 +6881,7 @@
"contao/core-bundle": ">=4,<4.4.39|>=4.5,<4.7.5",
"contao/listing-bundle": ">=4,<4.4.8",
"contao/newsletter-bundle": ">=4,<4.1",
+ "datadog/dd-trace": ">=0.30,<0.30.2",
"david-garcia/phpwhois": "<=4.3.1",
"doctrine/annotations": ">=1,<1.2.7",
"doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2",
@@ -6968,6 +6969,7 @@
"spoonity/tcpdf": "<6.2.22",
"squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1",
"stormpath/sdk": ">=0,<9.9.99",
+ "studio-42/elfinder": "<2.1.48",
"swiftmailer/swiftmailer": ">=4,<5.4.5",
"sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2",
"sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1",
@@ -7054,12 +7056,12 @@
"authors": [
{
"name": "Marco Pivetta",
- "role": "maintainer",
- "email": "ocramius@gmail.com"
+ "email": "ocramius@gmail.com",
+ "role": "maintainer"
}
],
"description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
- "time": "2019-07-18T15:17:58+00:00"
+ "time": "2019-09-26T17:56:56+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@@ -7281,16 +7283,16 @@
},
{
"name": "sebastian/exporter",
- "version": "3.1.1",
+ "version": "3.1.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "06a9a5947f47b3029d76118eb5c22802e5869687"
+ "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/06a9a5947f47b3029d76118eb5c22802e5869687",
- "reference": "06a9a5947f47b3029d76118eb5c22802e5869687",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e",
+ "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e",
"shasum": ""
},
"require": {
@@ -7344,7 +7346,7 @@
"export",
"exporter"
],
- "time": "2019-08-11T12:43:14+00:00"
+ "time": "2019-09-14T09:02:43+00:00"
},
{
"name": "sebastian/global-state",
@@ -7852,8 +7854,8 @@
"authors": [
{
"name": "Arne Blankerts",
- "role": "Developer",
- "email": "arne@blankerts.de"
+ "email": "arne@blankerts.de",
+ "role": "Developer"
}
],
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
diff --git a/config/app.php b/config/app.php
index 7d8097079a..ea73a65bbf 100644
--- a/config/app.php
+++ b/config/app.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
diff --git a/config/auth.php b/config/auth.php
index 66afef9de3..51dec785b8 100644
--- a/config/auth.php
+++ b/config/auth.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/breadcrumbs.php b/config/breadcrumbs.php
index 716bb21787..328c967aba 100644
--- a/config/breadcrumbs.php
+++ b/config/breadcrumbs.php
@@ -2,22 +2,22 @@
/**
* breadcrumbs.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/broadcasting.php b/config/broadcasting.php
index 8d6ebe7ee5..9d0f5a4a65 100644
--- a/config/broadcasting.php
+++ b/config/broadcasting.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/cache.php b/config/cache.php
index 414ea33ea6..7f1f21a20e 100644
--- a/config/cache.php
+++ b/config/cache.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/csv.php b/config/csv.php
index 7c9c8c650e..66a84e6a4a 100644
--- a/config/csv.php
+++ b/config/csv.php
@@ -2,22 +2,22 @@
/**
* csv.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/database.php b/config/database.php
index 734cab0082..41f4802a17 100644
--- a/config/database.php
+++ b/config/database.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/filesystems.php b/config/filesystems.php
index ef78fbf9de..93a605319e 100644
--- a/config/filesystems.php
+++ b/config/filesystems.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/firefly.php b/config/firefly.php
index e8360c6472..8ee8fec212 100644
--- a/config/firefly.php
+++ b/config/firefly.php
@@ -3,22 +3,22 @@
/**
* firefly.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -125,8 +125,8 @@ return [
'is_demo_site' => false,
],
'encryption' => null === env('USE_ENCRYPTION') || env('USE_ENCRYPTION') === true,
- 'version' => '4.8.1.1',
- 'api_version' => '0.10.2',
+ 'version' => '4.8.1.2',
+ 'api_version' => '0.10.3',
'db_version' => 11,
'maxUploadSize' => 15242880,
'send_error_message' => env('SEND_ERROR_MESSAGE', true),
@@ -519,7 +519,8 @@ return [
'default_currency' => 'EUR',
'default_language' => 'en_US',
'search_modifiers' => ['amount_is', 'amount', 'amount_max', 'amount_min', 'amount_less', 'amount_more', 'source', 'destination', 'category',
- 'budget', 'bill', 'type', 'date', 'date_before', 'date_after', 'on', 'before', 'after','from','to','tag'],
+ 'budget', 'bill', 'type', 'date', 'date_before', 'date_after', 'on', 'before', 'after', 'from', 'to', 'tag', 'created_at',
+ 'updated_at'],
// TODO notes has_attachments
'cer_providers' => [
diff --git a/config/google2fa.php b/config/google2fa.php
index 1fb2eb584f..77ad41f01b 100644
--- a/config/google2fa.php
+++ b/config/google2fa.php
@@ -1,4 +1,24 @@
.
+ */
+
declare(strict_types=1);
return [
diff --git a/config/hashing.php b/config/hashing.php
index daecb9634d..cee3e9da82 100644
--- a/config/hashing.php
+++ b/config/hashing.php
@@ -2,22 +2,22 @@
/**
* hashing.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/ide-helper.php b/config/ide-helper.php
index 359c51a770..35969b1c04 100644
--- a/config/ide-helper.php
+++ b/config/ide-helper.php
@@ -1,4 +1,24 @@
.
+ */
+
declare(strict_types=1);
return array(
diff --git a/config/import.php b/config/import.php
index 63ebef185c..1b53756344 100644
--- a/config/import.php
+++ b/config/import.php
@@ -2,22 +2,22 @@
/**
* import.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/intro.php b/config/intro.php
index a18f7604b3..3316812a1e 100644
--- a/config/intro.php
+++ b/config/intro.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -44,7 +44,6 @@ return [
'transactions_create_withdrawal' => [
'source' => ['element' => 'input[name="source[]"]'],
'destination' => ['element' => 'input[name="destination[]"]'],
- 'foreign_currency' => ['element' => 'select[name="foreign_currency[]"]'],
'more_meta' => ['element' => 'input[name="category[]"]'],
'split_add' => ['element' => '.split_add_btn'],
],
@@ -52,7 +51,6 @@ return [
'transactions_create_deposit' => [
'source' => ['element' => 'input[name="source[]"]'],
'destination' => ['element' => 'input[name="destination[]"]'],
- 'foreign_currency' => ['element' => 'select[name="foreign_currency[]"]'],
'more_meta' => ['element' => 'input[name="category[]"]'],
'split_add' => ['element' => '.split_add_btn'],
],
@@ -60,7 +58,6 @@ return [
'transactions_create_transfer' => [
'source' => ['element' => 'input[name="source[]"]'],
'destination' => ['element' => 'input[name="destination[]"]'],
- 'foreign_currency' => ['element' => 'select[name="foreign_currency[]"]'],
'more_meta' => ['element' => 'input[name="category[]"]'],
'split_add' => ['element' => '.split_add_btn'],
],
diff --git a/config/ldap.php b/config/ldap.php
index 3a387a214d..60bb706910 100644
--- a/config/ldap.php
+++ b/config/ldap.php
@@ -1,23 +1,23 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/ldap_auth.php b/config/ldap_auth.php
index 886fff15dc..1af2374d80 100644
--- a/config/ldap_auth.php
+++ b/config/ldap_auth.php
@@ -1,23 +1,23 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/logging.php b/config/logging.php
index 5c5d39ec08..80dd12fbb5 100644
--- a/config/logging.php
+++ b/config/logging.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
diff --git a/config/mail.php b/config/mail.php
index 5a782feed8..1d3df1977c 100644
--- a/config/mail.php
+++ b/config/mail.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/queue.php b/config/queue.php
index eddc6dae49..52589eabd2 100644
--- a/config/queue.php
+++ b/config/queue.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/services.php b/config/services.php
index d72eea32f3..00f85558db 100644
--- a/config/services.php
+++ b/config/services.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -38,6 +38,7 @@ return [
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
+ 'endpoint' => env('MAILGUN_ENDPOINT','api.mailgun.net'),
'secret' => env('MAILGUN_SECRET'),
],
diff --git a/config/session.php b/config/session.php
index a478a0cde3..02a90bcfdc 100644
--- a/config/session.php
+++ b/config/session.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/twigbridge.php b/config/twigbridge.php
index 4665015956..d2d56e9b92 100644
--- a/config/twigbridge.php
+++ b/config/twigbridge.php
@@ -1,27 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
use TwigBridge\Extension\Laravel\Auth;
use TwigBridge\Extension\Laravel\Config;
use TwigBridge\Extension\Laravel\Dump;
diff --git a/config/upgrade.php b/config/upgrade.php
index e008b05467..e552c3ec0c 100644
--- a/config/upgrade.php
+++ b/config/upgrade.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/config/view.php b/config/view.php
index 3e6bfec586..38fcab4c2c 100644
--- a/config/view.php
+++ b/config/view.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/factories/AccountFactory.php b/database/factories/AccountFactory.php
index 1601c82d16..01181d931e 100644
--- a/database/factories/AccountFactory.php
+++ b/database/factories/AccountFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/factories/ModelFactory.php b/database/factories/ModelFactory.php
index 97018e321b..ab15bc1126 100644
--- a/database/factories/ModelFactory.php
+++ b/database/factories/ModelFactory.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php
index 6b0f9fcbe8..a587cc83cd 100644
--- a/database/factories/UserFactory.php
+++ b/database/factories/UserFactory.php
@@ -2,46 +2,26 @@
/**
* UserFactory.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
-/**
- * UserFactory.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
- *
- * This file is part of Firefly III.
- *
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Firefly III is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
- */
-
use Faker\Generator as Faker;
/*
diff --git a/database/migrations/2016_06_16_000000_create_support_tables.php b/database/migrations/2016_06_16_000000_create_support_tables.php
index a5f0f1cad0..26498ac210 100644
--- a/database/migrations/2016_06_16_000000_create_support_tables.php
+++ b/database/migrations/2016_06_16_000000_create_support_tables.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2016_06_16_000001_create_users_table.php b/database/migrations/2016_06_16_000001_create_users_table.php
index 14c749f908..fa21ab9b94 100644
--- a/database/migrations/2016_06_16_000001_create_users_table.php
+++ b/database/migrations/2016_06_16_000001_create_users_table.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2016_06_16_000002_create_main_tables.php b/database/migrations/2016_06_16_000002_create_main_tables.php
index 96d580a757..3f4745a097 100644
--- a/database/migrations/2016_06_16_000002_create_main_tables.php
+++ b/database/migrations/2016_06_16_000002_create_main_tables.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2016_08_25_091522_changes_for_3101.php b/database/migrations/2016_08_25_091522_changes_for_3101.php
index ae5910f131..3edec7cf73 100644
--- a/database/migrations/2016_08_25_091522_changes_for_3101.php
+++ b/database/migrations/2016_08_25_091522_changes_for_3101.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2016_09_12_121359_fix_nullables.php b/database/migrations/2016_09_12_121359_fix_nullables.php
index 7c7b77a308..e7233a7d67 100644
--- a/database/migrations/2016_09_12_121359_fix_nullables.php
+++ b/database/migrations/2016_09_12_121359_fix_nullables.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2016_10_09_150037_expand_transactions_table.php b/database/migrations/2016_10_09_150037_expand_transactions_table.php
index 10e2dbf9e7..16661ff3b6 100644
--- a/database/migrations/2016_10_09_150037_expand_transactions_table.php
+++ b/database/migrations/2016_10_09_150037_expand_transactions_table.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2016_10_22_075804_changes_for_v410.php b/database/migrations/2016_10_22_075804_changes_for_v410.php
index 132f350b32..e5b296ac68 100644
--- a/database/migrations/2016_10_22_075804_changes_for_v410.php
+++ b/database/migrations/2016_10_22_075804_changes_for_v410.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2016_11_24_210552_changes_for_v420.php b/database/migrations/2016_11_24_210552_changes_for_v420.php
index 456c9d60b9..9c6c473b9e 100644
--- a/database/migrations/2016_11_24_210552_changes_for_v420.php
+++ b/database/migrations/2016_11_24_210552_changes_for_v420.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2016_12_22_150431_changes_for_v430.php b/database/migrations/2016_12_22_150431_changes_for_v430.php
index 8ddf113b4f..9c7e6ba858 100644
--- a/database/migrations/2016_12_22_150431_changes_for_v430.php
+++ b/database/migrations/2016_12_22_150431_changes_for_v430.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2016_12_28_203205_changes_for_v431.php b/database/migrations/2016_12_28_203205_changes_for_v431.php
index c2e38429da..e05bfbec6b 100644
--- a/database/migrations/2016_12_28_203205_changes_for_v431.php
+++ b/database/migrations/2016_12_28_203205_changes_for_v431.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2017_04_13_163623_changes_for_v440.php b/database/migrations/2017_04_13_163623_changes_for_v440.php
index e6175553a0..4d9edcc29e 100644
--- a/database/migrations/2017_04_13_163623_changes_for_v440.php
+++ b/database/migrations/2017_04_13_163623_changes_for_v440.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
@@ -39,13 +39,14 @@ class ChangesForV440 extends Migration
Schema::table(
'transactions',
- function (Blueprint $table) {
-
- // cannot drop foreign keys in SQLite:
- if ('sqlite' !== config('database.default')) {
- $table->dropForeign('transactions_transaction_currency_id_foreign');
+ static function (Blueprint $table) {
+ if (Schema::hasColumn('transactions', 'transaction_currency_id')) {
+ // cannot drop foreign keys in SQLite:
+ if ('sqlite' !== config('database.default')) {
+ $table->dropForeign('transactions_transaction_currency_id_foreign');
+ }
+ $table->dropColumn('transaction_currency_id');
}
- $table->dropColumn('transaction_currency_id');
}
);
}
@@ -60,7 +61,7 @@ class ChangesForV440 extends Migration
if (!Schema::hasTable('currency_exchange_rates')) {
Schema::create(
'currency_exchange_rates',
- function (Blueprint $table) {
+ static function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
$table->softDeletes();
@@ -80,9 +81,11 @@ class ChangesForV440 extends Migration
Schema::table(
'transactions',
- function (Blueprint $table) {
+ static function (Blueprint $table) {
+ if (!Schema::hasColumn('transactions', 'transaction_currency_id')) {
$table->integer('transaction_currency_id', false, true)->after('description')->nullable();
$table->foreign('transaction_currency_id')->references('id')->on('transaction_currencies')->onDelete('set null');
+ }
}
);
}
diff --git a/database/migrations/2017_06_02_105232_changes_for_v450.php b/database/migrations/2017_06_02_105232_changes_for_v450.php
index ea9224f416..5fdfd50cb6 100644
--- a/database/migrations/2017_06_02_105232_changes_for_v450.php
+++ b/database/migrations/2017_06_02_105232_changes_for_v450.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2017_08_20_062014_changes_for_v470.php b/database/migrations/2017_08_20_062014_changes_for_v470.php
index 9088da2593..413391d4ac 100644
--- a/database/migrations/2017_08_20_062014_changes_for_v470.php
+++ b/database/migrations/2017_08_20_062014_changes_for_v470.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2017_11_04_170844_changes_for_v470a.php b/database/migrations/2017_11_04_170844_changes_for_v470a.php
index b9d2ebb20e..74a4697bb0 100644
--- a/database/migrations/2017_11_04_170844_changes_for_v470a.php
+++ b/database/migrations/2017_11_04_170844_changes_for_v470a.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2018_01_01_000001_create_oauth_auth_codes_table.php b/database/migrations/2018_01_01_000001_create_oauth_auth_codes_table.php
index 267a06ad60..e1ea41a67f 100644
--- a/database/migrations/2018_01_01_000001_create_oauth_auth_codes_table.php
+++ b/database/migrations/2018_01_01_000001_create_oauth_auth_codes_table.php
@@ -2,22 +2,22 @@
/**
* 2018_01_01_000001_create_oauth_auth_codes_table.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2018_01_01_000002_create_oauth_access_tokens_table.php b/database/migrations/2018_01_01_000002_create_oauth_access_tokens_table.php
index 4053b05755..704cf2ac7b 100644
--- a/database/migrations/2018_01_01_000002_create_oauth_access_tokens_table.php
+++ b/database/migrations/2018_01_01_000002_create_oauth_access_tokens_table.php
@@ -2,22 +2,22 @@
/**
* 2018_01_01_000002_create_oauth_access_tokens_table.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2018_01_01_000003_create_oauth_refresh_tokens_table.php b/database/migrations/2018_01_01_000003_create_oauth_refresh_tokens_table.php
index 3c4d530283..0a698a7fc7 100644
--- a/database/migrations/2018_01_01_000003_create_oauth_refresh_tokens_table.php
+++ b/database/migrations/2018_01_01_000003_create_oauth_refresh_tokens_table.php
@@ -2,22 +2,22 @@
/**
* 2018_01_01_000003_create_oauth_refresh_tokens_table.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2018_01_01_000004_create_oauth_clients_table.php b/database/migrations/2018_01_01_000004_create_oauth_clients_table.php
index 1a6ceec6b8..ab64c523ce 100644
--- a/database/migrations/2018_01_01_000004_create_oauth_clients_table.php
+++ b/database/migrations/2018_01_01_000004_create_oauth_clients_table.php
@@ -2,22 +2,22 @@
/**
* 2018_01_01_000004_create_oauth_clients_table.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2018_01_01_000005_create_oauth_personal_access_clients_table.php b/database/migrations/2018_01_01_000005_create_oauth_personal_access_clients_table.php
index 2e3db54ff2..8413033738 100644
--- a/database/migrations/2018_01_01_000005_create_oauth_personal_access_clients_table.php
+++ b/database/migrations/2018_01_01_000005_create_oauth_personal_access_clients_table.php
@@ -2,22 +2,22 @@
/**
* 2018_01_01_000005_create_oauth_personal_access_clients_table.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2018_03_19_141348_changes_for_v472.php b/database/migrations/2018_03_19_141348_changes_for_v472.php
index c116a65207..a8072f2721 100644
--- a/database/migrations/2018_03_19_141348_changes_for_v472.php
+++ b/database/migrations/2018_03_19_141348_changes_for_v472.php
@@ -2,22 +2,22 @@
/**
* 2018_03_19_141348_changes_for_v472.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2018_04_07_210913_changes_for_v473.php b/database/migrations/2018_04_07_210913_changes_for_v473.php
index a9813b2da0..ea0d2cfb06 100644
--- a/database/migrations/2018_04_07_210913_changes_for_v473.php
+++ b/database/migrations/2018_04_07_210913_changes_for_v473.php
@@ -2,22 +2,22 @@
/**
* 2018_04_07_210913_changes_for_v473.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2018_04_29_174524_changes_for_v474.php b/database/migrations/2018_04_29_174524_changes_for_v474.php
index d68542d6f8..6bf1eacbc4 100644
--- a/database/migrations/2018_04_29_174524_changes_for_v474.php
+++ b/database/migrations/2018_04_29_174524_changes_for_v474.php
@@ -2,22 +2,22 @@
/**
* 2018_04_29_174524_changes_for_v474.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2018_06_08_200526_changes_for_v475.php b/database/migrations/2018_06_08_200526_changes_for_v475.php
index 5a5e1a0acc..2baf9a08aa 100644
--- a/database/migrations/2018_06_08_200526_changes_for_v475.php
+++ b/database/migrations/2018_06_08_200526_changes_for_v475.php
@@ -2,22 +2,22 @@
/**
* 2018_06_08_200526_changes_for_v475.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2018_09_05_195147_changes_for_v477.php b/database/migrations/2018_09_05_195147_changes_for_v477.php
index 67777c6733..eb59ab3ed9 100644
--- a/database/migrations/2018_09_05_195147_changes_for_v477.php
+++ b/database/migrations/2018_09_05_195147_changes_for_v477.php
@@ -2,22 +2,22 @@
/**
* 2018_09_05_195147_changes_for_v477.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2018_11_06_172532_changes_for_v479.php b/database/migrations/2018_11_06_172532_changes_for_v479.php
index a0498d5b36..2cc7cb650a 100644
--- a/database/migrations/2018_11_06_172532_changes_for_v479.php
+++ b/database/migrations/2018_11_06_172532_changes_for_v479.php
@@ -2,22 +2,22 @@
/**
* 2018_11_06_172532_changes_for_v479.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2019_01_28_193833_changes_for_v4710.php b/database/migrations/2019_01_28_193833_changes_for_v4710.php
index 35326ec98d..956ec2aa45 100644
--- a/database/migrations/2019_01_28_193833_changes_for_v4710.php
+++ b/database/migrations/2019_01_28_193833_changes_for_v4710.php
@@ -4,20 +4,20 @@
* 2019_01_28_193833_changes_for_v4710.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2019_02_05_055516_changes_for_v4711.php b/database/migrations/2019_02_05_055516_changes_for_v4711.php
index 3a9f3a385a..cdf1097095 100644
--- a/database/migrations/2019_02_05_055516_changes_for_v4711.php
+++ b/database/migrations/2019_02_05_055516_changes_for_v4711.php
@@ -4,20 +4,20 @@
* 2019_02_05_055516_changes_for_v4711.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/migrations/2019_02_11_170529_changes_for_v4712.php b/database/migrations/2019_02_11_170529_changes_for_v4712.php
index fc50fedf0b..29aeb36343 100644
--- a/database/migrations/2019_02_11_170529_changes_for_v4712.php
+++ b/database/migrations/2019_02_11_170529_changes_for_v4712.php
@@ -1,27 +1,26 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
diff --git a/database/migrations/2019_03_11_223700_fix_ldap_configuration.php b/database/migrations/2019_03_11_223700_fix_ldap_configuration.php
index eae1fc10a0..ae745a1154 100644
--- a/database/migrations/2019_03_11_223700_fix_ldap_configuration.php
+++ b/database/migrations/2019_03_11_223700_fix_ldap_configuration.php
@@ -1,27 +1,27 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
+
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
diff --git a/database/migrations/2019_03_22_183214_changes_for_v480.php b/database/migrations/2019_03_22_183214_changes_for_v480.php
index 69266c5029..a60c0027a0 100644
--- a/database/migrations/2019_03_22_183214_changes_for_v480.php
+++ b/database/migrations/2019_03_22_183214_changes_for_v480.php
@@ -1,27 +1,27 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
+declare(strict_types=1);
+
+
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
diff --git a/database/seeds/AccountTypeSeeder.php b/database/seeds/AccountTypeSeeder.php
index 8755f50bd1..fc6aa246c1 100644
--- a/database/seeds/AccountTypeSeeder.php
+++ b/database/seeds/AccountTypeSeeder.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/seeds/ConfigSeeder.php b/database/seeds/ConfigSeeder.php
index f9323bcba0..c8d8198aec 100644
--- a/database/seeds/ConfigSeeder.php
+++ b/database/seeds/ConfigSeeder.php
@@ -3,22 +3,22 @@
/**
* ConfigSeeder.php
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
use FireflyIII\Models\Configuration;
diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php
index 32cdf152a5..f4838194fa 100644
--- a/database/seeds/DatabaseSeeder.php
+++ b/database/seeds/DatabaseSeeder.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/seeds/LinkTypeSeeder.php b/database/seeds/LinkTypeSeeder.php
index 01a23cdfe4..6c9fe4c566 100644
--- a/database/seeds/LinkTypeSeeder.php
+++ b/database/seeds/LinkTypeSeeder.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/seeds/PermissionSeeder.php b/database/seeds/PermissionSeeder.php
index d1c22f991c..045748b1fc 100644
--- a/database/seeds/PermissionSeeder.php
+++ b/database/seeds/PermissionSeeder.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/seeds/TransactionCurrencySeeder.php b/database/seeds/TransactionCurrencySeeder.php
index cd5a57ad3c..524f5e788a 100644
--- a/database/seeds/TransactionCurrencySeeder.php
+++ b/database/seeds/TransactionCurrencySeeder.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/database/seeds/TransactionTypeSeeder.php b/database/seeds/TransactionTypeSeeder.php
index 6769754551..1cfbdb1063 100644
--- a/database/seeds/TransactionTypeSeeder.php
+++ b/database/seeds/TransactionTypeSeeder.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
declare(strict_types=1);
diff --git a/public/browserconfig.xml b/public/browserconfig.xml
index 65cf42916d..a1d1233ac1 100644
--- a/public/browserconfig.xml
+++ b/public/browserconfig.xml
@@ -1,22 +1,22 @@
diff --git a/public/index.php b/public/index.php
index 1a28dc9bab..9fc7560e07 100644
--- a/public/index.php
+++ b/public/index.php
@@ -1,22 +1,22 @@
.
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/**
diff --git a/public/v1/css/app.css b/public/v1/css/app.css
index 8971d6c324..46021e11dc 100644
--- a/public/v1/css/app.css
+++ b/public/v1/css/app.css
@@ -1,2 +1,22 @@
+/*
+ * app.css
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
+ *
+ * This file is part of Firefly III (https://github.com/firefly-iii).
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
/* TODO REMOVE ME */
diff --git a/public/v1/css/firefly.css b/public/v1/css/firefly.css
index 92ef770452..a4fff20c5c 100644
--- a/public/v1/css/firefly.css
+++ b/public/v1/css/firefly.css
@@ -1,21 +1,21 @@
/*
* firefly.css
- * Copyright (c) 2017 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
diff --git a/public/v1/css/gf-roboto.css b/public/v1/css/gf-roboto.css
index 68d0f61ccd..4707b0268d 100644
--- a/public/v1/css/gf-roboto.css
+++ b/public/v1/css/gf-roboto.css
@@ -1,21 +1,21 @@
/*
* gf-roboto.css
- * Copyright (c) 2018 thegrumpydictator@gmail.com
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/* cyrillic-ext */
diff --git a/public/v1/css/gf-source.css b/public/v1/css/gf-source.css
index 1f95488861..cdda1532b1 100644
--- a/public/v1/css/gf-source.css
+++ b/public/v1/css/gf-source.css
@@ -1,21 +1,21 @@
/*
- * google-fonts.css
- * Copyright (c) 2017 thegrumpydictator@gmail.com
+ * gf-source.css
+ * Copyright (c) 2019 thegrumpydictator@gmail.com
*
- * This file is part of Firefly III.
+ * This file is part of Firefly III (https://github.com/firefly-iii).
*
- * Firefly III is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
- * Firefly III is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with Firefly III. If not, see .
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
*/
/* cyrillic-ext */
diff --git a/public/v1/js/app.js b/public/v1/js/app.js
index 2a595503ca..e8de5cf27e 100644
--- a/public/v1/js/app.js
+++ b/public/v1/js/app.js
@@ -1 +1 @@
-!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=17)}([function(t,e,n){"use strict";var r=n(10),i=n(24),o=Object.prototype.toString;function a(t){return"[object Array]"===o.call(t)}function s(t){return null!==t&&"object"==typeof t}function c(t){return"[object Function]"===o.call(t)}function u(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),a(t))for(var n=0,r=t.length;n=200&&t<300}};c.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],function(t){c.headers[t]={}}),r.forEach(["post","put","patch"],function(t){c.headers[t]=r.merge(o)}),t.exports=c}).call(this,n(11))},function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=function(t,e){var n=t[1]||"",r=t[3];if(!r)return n;if(e&&"function"==typeof btoa){var i=(a=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),o=r.sources.map(function(t){return"/*# sourceURL="+r.sourceRoot+t+" */"});return[n].concat(o).concat([i]).join("\n")}var a;return[n].join("\n")}(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i=0&&l.splice(e,1)}function m(t){var e=document.createElement("style");if(void 0===t.attrs.type&&(t.attrs.type="text/css"),void 0===t.attrs.nonce){var r=function(){0;return n.nc}();r&&(t.attrs.nonce=r)}return g(e,t.attrs),h(t,e),e}function g(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function y(t,e){var n,r,i,o;if(e.transform&&t.css){if(!(o="function"==typeof e.transform?e.transform(t.css):e.transform.default(t.css)))return function(){};t.css=o}if(e.singleton){var a=u++;n=c||(c=m(e)),r=b.bind(null,n,a,!1),i=b.bind(null,n,a,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(t){var e=document.createElement("link");return void 0===t.attrs.type&&(t.attrs.type="text/css"),t.attrs.rel="stylesheet",g(e,t.attrs),h(t,e),e}(e),r=function(t,e,n){var r=n.css,i=n.sourceMap,o=void 0===e.convertToAbsoluteUrls&&i;(e.convertToAbsoluteUrls||o)&&(r=f(r));i&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([r],{type:"text/css"}),s=t.href;t.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,e),i=function(){v(n),n.href&&URL.revokeObjectURL(n.href)}):(n=m(e),r=function(t,e){var n=e.css,r=e.media;r&&t.setAttribute("media",r);if(t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,n),i=function(){v(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else i()}}t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(e=e||{}).attrs="object"==typeof e.attrs?e.attrs:{},e.singleton||"boolean"==typeof e.singleton||(e.singleton=a()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=p(t,e);return d(n,e),function(t){for(var r=[],i=0;i1)for(var n=1;nn.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i div[data-v-61d92e31] {\n cursor: pointer;\n padding: 3px 6px;\n width: 100%;\n}\n.ti-selected-item[data-v-61d92e31] {\n background-color: #5C6BC0;\n color: #fff;\n}\n',"",{version:3,sources:["C:/Users/johan/dev/vue-tags-input/vue-tags-input/C:/Users/johan/dev/vue-tags-input/vue-tags-input/vue-tags-input.scss"],names:[],mappings:"AAAA;EACE,uBAAuB;EACvB,mCAA8C;EAC9C,+JAAuM;EACvM,oBAAoB;EACpB,mBAAmB;CAAE;AAEvB;EACE,kCAAkC;EAClC,YAAY;EACZ,mBAAmB;EACnB,oBAAoB;EACpB,qBAAqB;EACrB,qBAAqB;EACrB,eAAe;EACf,oCAAoC;EACpC,mCAAmC;CAAE;AAEvC;EACE,iBAAiB;CAAE;AAErB;EACE,iBAAiB;CAAE;AAErB;EACE,iBAAiB;CAAE;AAErB;EACE,YAAY;EACZ,aAAa;EACb,sBAAsB;CAAE;AAE1B;EACE,uBAAuB;CAAE;AAE3B;EACE,cAAc;CAAE;AAElB;EACE,8BAA8B;CAAE;AAElC;EACE,iBAAiB;EACjB,mBAAmB;EACnB,uBAAuB;CAAE;AAE3B;EACE,aAAa;CAAE;AACf;IACE,gBAAgB;CAAE;AAEtB;EACE,uBAAuB;EACvB,cAAc;EACd,aAAa;EACb,gBAAgB;CAAE;AAEpB;EACE,cAAc;EACd,gBAAgB;EAChB,YAAY;EACZ,iBAAiB;CAAE;AAErB;EACE,0BAA0B;EAC1B,YAAY;EACZ,mBAAmB;EACnB,cAAc;EACd,iBAAiB;EACjB,YAAY;EACZ,iBAAiB;CAAE;AACnB;IACE,cAAc;CAAE;AAClB;IACE,cAAc;IACd,oBAAoB;CAAE;AACxB;IACE,mBAAmB;CAAE;AACvB;IACE,mBAAmB;CAAE;AACvB;IACE,mBAAmB;IACnB,mBAAmB;IACnB,YAAY;IACZ,iBAAiB;CAAE;AACrB;IACE,iBAAiB;IACjB,cAAc;IACd,oBAAoB;IACpB,kBAAkB;CAAE;AACpB;MACE,gBAAgB;CAAE;AACtB;IACE,kBAAkB;CAAE;AACtB;IACE,0BAA0B;CAAE;AAEhC;EACE,cAAc;EACd,eAAe;EACf,iBAAiB;EACjB,YAAY;EACZ,iBAAiB;CAAE;AACnB;IACE,eAAe;IACf,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,YAAY;CAAE;AAElB;EACE,qBAAqB;CAAE;AAEzB;EACE,uBAAuB;EACvB,iBAAiB;EACjB,mBAAmB;EACnB,YAAY;EACZ,uBAAuB;EACvB,YAAY;CAAE;AAEhB;EACE,gBAAgB;EAChB,iBAAiB;EACjB,YAAY;CAAE;AAEhB;EACE,0BAA0B;EAC1B,YAAY;CAAE",file:"vue-tags-input.scss?vue&type=style&index=0&id=61d92e31&lang=scss&scoped=true&",sourcesContent:['@font-face {\n font-family: \'icomoon\';\n src: url("./assets/fonts/icomoon.eot?7grlse");\n src: url("./assets/fonts/icomoon.eot?7grlse#iefix") format("embedded-opentype"), url("./assets/fonts/icomoon.ttf?7grlse") format("truetype"), url("./assets/fonts/icomoon.woff?7grlse") format("woff");\n font-weight: normal;\n font-style: normal; }\n\n[class^="ti-icon-"], [class*=" ti-icon-"] {\n font-family: \'icomoon\' !important;\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n.ti-icon-check:before {\n content: "\\e902"; }\n\n.ti-icon-close:before {\n content: "\\e901"; }\n\n.ti-icon-undo:before {\n content: "\\e900"; }\n\nul {\n margin: 0px;\n padding: 0px;\n list-style-type: none; }\n\n*, *:before, *:after {\n box-sizing: border-box; }\n\ninput:focus {\n outline: none; }\n\ninput[disabled] {\n background-color: transparent; }\n\n.vue-tags-input {\n max-width: 450px;\n position: relative;\n background-color: #fff; }\n\ndiv.vue-tags-input.disabled {\n opacity: 0.5; }\n div.vue-tags-input.disabled * {\n cursor: default; }\n\n.ti-input {\n border: 1px solid #ccc;\n display: flex;\n padding: 4px;\n flex-wrap: wrap; }\n\n.ti-tags {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n line-height: 1em; }\n\n.ti-tag {\n background-color: #5C6BC0;\n color: #fff;\n border-radius: 2px;\n display: flex;\n padding: 3px 5px;\n margin: 2px;\n font-size: .85em; }\n .ti-tag:focus {\n outline: none; }\n .ti-tag .ti-content {\n display: flex;\n align-items: center; }\n .ti-tag .ti-tag-center {\n position: relative; }\n .ti-tag span {\n line-height: .85em; }\n .ti-tag span.ti-hidden {\n padding-left: 14px;\n visibility: hidden;\n height: 0px;\n white-space: pre; }\n .ti-tag .ti-actions {\n margin-left: 2px;\n display: flex;\n align-items: center;\n font-size: 1.15em; }\n .ti-tag .ti-actions i {\n cursor: pointer; }\n .ti-tag:last-child {\n margin-right: 4px; }\n .ti-tag.ti-invalid, .ti-tag.ti-tag.ti-deletion-mark {\n background-color: #e54d42; }\n\n.ti-new-tag-input-wrapper {\n display: flex;\n flex: 1 0 auto;\n padding: 3px 5px;\n margin: 2px;\n font-size: .85em; }\n .ti-new-tag-input-wrapper input {\n flex: 1 0 auto;\n min-width: 100px;\n border: none;\n padding: 0px;\n margin: 0px; }\n\n.ti-new-tag-input {\n line-height: initial; }\n\n.ti-autocomplete {\n border: 1px solid #ccc;\n border-top: none;\n position: absolute;\n width: 100%;\n background-color: #fff;\n z-index: 20; }\n\n.ti-item > div {\n cursor: pointer;\n padding: 3px 6px;\n width: 100%; }\n\n.ti-selected-item {\n background-color: #5C6BC0;\n color: #fff; }\n'],sourceRoot:""}])},function(t,e,n){"use strict";t.exports=function(t){return"string"!=typeof t?t:(/^['"].*['"]$/.test(t)&&(t=t.slice(1,-1)),/["'() \t\n]/.test(t)?'"'+t.replace(/"/g,'\\"').replace(/\n/g,"\\n")+'"':t)}},function(t,e){t.exports="data:font/ttf;base64,AAEAAAALAIAAAwAwT1MvMg8SBawAAAC8AAAAYGNtYXAXVtKJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZqWfozAAAAF4AAAA/GhlYWQPxZgIAAACdAAAADZoaGVhB4ADyAAAAqwAAAAkaG10eBIAAb4AAALQAAAAHGxvY2EAkgDiAAAC7AAAABBtYXhwAAkAHwAAAvwAAAAgbmFtZZlKCfsAAAMcAAABhnBvc3QAAwAAAAAEpAAAACAAAwOAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6QL//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAFYBAQO+AoEAHAAAATIXHgEXFhcHJicuAScmIyIGBxchERc2Nz4BNzYCFkpDQ28pKRdkECAfVTM0OT9wLZz+gJgdIiJLKSgCVRcYUjg5QiAzKys+ERIrJZoBgJoZFRQcCAgAAQDWAIEDKgLVAAsAAAEHFwcnByc3JzcXNwMq7u487u487u487u4Cme7uPO7uPO7uPO7uAAEAkgCBA4ACvQAFAAAlARcBJzcBgAHEPP4A7jz5AcQ8/gDuPAAAAAABAAAAAAAAH8nTUV8PPPUACwQAAAAAANZ1KhsAAAAA1nUqGwAAAAADvgLVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAO+AAEAAAAAAAAAAAAAAAAAAAAHBAAAAAAAAAAAAAAAAgAAAAQAAFYEAADWBAAAkgAAAAAACgAUAB4AUABqAH4AAQAAAAcAHQABAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGljb21vb24AaQBjAG8AbQBvAG8AblZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGljb21vb24AaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AblJlZ3VsYXIAUgBlAGcAdQBsAGEAcmljb21vb24AaQBjAG8AbQBvAG8AbkZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="},function(t,e){t.exports="data:font/woff;base64,d09GRgABAAAAAAUQAAsAAAAABMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDxIFrGNtYXAAAAFoAAAAVAAAAFQXVtKJZ2FzcAAAAbwAAAAIAAAACAAAABBnbHlmAAABxAAAAPwAAAD8pZ+jMGhlYWQAAALAAAAANgAAADYPxZgIaGhlYQAAAvgAAAAkAAAAJAeAA8hobXR4AAADHAAAABwAAAAcEgABvmxvY2EAAAM4AAAAEAAAABAAkgDibWF4cAAAA0gAAAAgAAAAIAAJAB9uYW1lAAADaAAAAYYAAAGGmUoJ+3Bvc3QAAATwAAAAIAAAACAAAwAAAAMDgAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6QIDwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADgAAAAKAAgAAgACAAEAIOkC//3//wAAAAAAIOkA//3//wAB/+MXBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQBWAQEDvgKBABwAAAEyFx4BFxYXByYnLgEnJiMiBgcXIREXNjc+ATc2AhZKQ0NvKSkXZBAgH1UzNDk/cC2c/oCYHSIiSykoAlUXGFI4OUIgMysrPhESKyWaAYCaGRUUHAgIAAEA1gCBAyoC1QALAAABBxcHJwcnNyc3FzcDKu7uPO7uPO7uPO7uApnu7jzu7jzu7jzu7gABAJIAgQOAAr0ABQAAJQEXASc3AYABxDz+AO48+QHEPP4A7jwAAAAAAQAAAAAAAB/J01FfDzz1AAsEAAAAAADWdSobAAAAANZ1KhsAAAAAA74C1QAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADvgABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABWBAAA1gQAAJIAAAAAAAoAFAAeAFAAagB+AAEAAAAHAB0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAHAAAAAQAAAAAAAgAHAGAAAQAAAAAAAwAHADYAAQAAAAAABAAHAHUAAQAAAAAABQALABUAAQAAAAAABgAHAEsAAQAAAAAACgAaAIoAAwABBAkAAQAOAAcAAwABBAkAAgAOAGcAAwABBAkAAwAOAD0AAwABBAkABAAOAHwAAwABBAkABQAWACAAAwABBAkABgAOAFIAAwABBAkACgA0AKRpY29tb29uAGkAYwBvAG0AbwBvAG5WZXJzaW9uIDEuMABWAGUAcgBzAGkAbwBuACAAMQAuADBpY29tb29uAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG5SZWd1bGFyAFIAZQBnAHUAbABhAHJpY29tb29uAGkAYwBvAG0AbwBvAG5Gb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},function(t,e,n){"use strict";n.r(e);var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vue-tags-input",class:[{"ti-disabled":t.disabled},{"ti-focus":t.focused}]},[n("div",{staticClass:"ti-input"},[t.tagsCopy?n("ul",{staticClass:"ti-tags"},[t._l(t.tagsCopy,function(e,r){return n("li",{key:r,staticClass:"ti-tag",class:[{"ti-editing":t.tagsEditStatus[r]},e.tiClasses,e.classes,{"ti-deletion-mark":t.isMarked(r)}],style:e.style,attrs:{tabindex:"0"},on:{click:function(n){return t.$emit("tag-clicked",{tag:e,index:r})}}},[n("div",{staticClass:"ti-content"},[t.$scopedSlots["tag-left"]?n("div",{staticClass:"ti-tag-left"},[t._t("tag-left",null,{tag:e,index:r,edit:t.tagsEditStatus[r],performSaveEdit:t.performSaveTag,performDelete:t.performDeleteTag,performCancelEdit:t.cancelEdit,performOpenEdit:t.performEditTag,deletionMark:t.isMarked(r)})],2):t._e(),t._v(" "),n("div",{ref:"tagCenter",refInFor:!0,staticClass:"ti-tag-center"},[t.$scopedSlots["tag-center"]?t._e():n("span",{class:{"ti-hidden":t.tagsEditStatus[r]},on:{click:function(e){return t.performEditTag(r)}}},[t._v(t._s(e.text))]),t._v(" "),t.$scopedSlots["tag-center"]?t._e():n("tag-input",{attrs:{scope:{edit:t.tagsEditStatus[r],maxlength:t.maxlength,tag:e,index:r,validateTag:t.createChangedTag,performCancelEdit:t.cancelEdit,performSaveEdit:t.performSaveTag}}}),t._v(" "),t._t("tag-center",null,{tag:e,index:r,maxlength:t.maxlength,edit:t.tagsEditStatus[r],performSaveEdit:t.performSaveTag,performDelete:t.performDeleteTag,performCancelEdit:t.cancelEdit,validateTag:t.createChangedTag,performOpenEdit:t.performEditTag,deletionMark:t.isMarked(r)})],2),t._v(" "),t.$scopedSlots["tag-right"]?n("div",{staticClass:"ti-tag-right"},[t._t("tag-right",null,{tag:e,index:r,edit:t.tagsEditStatus[r],performSaveEdit:t.performSaveTag,performDelete:t.performDeleteTag,performCancelEdit:t.cancelEdit,performOpenEdit:t.performEditTag,deletionMark:t.isMarked(r)})],2):t._e()]),t._v(" "),n("div",{staticClass:"ti-actions"},[t.$scopedSlots["tag-actions"]?t._e():n("i",{directives:[{name:"show",rawName:"v-show",value:t.tagsEditStatus[r],expression:"tagsEditStatus[index]"}],staticClass:"ti-icon-undo",on:{click:function(e){return t.cancelEdit(r)}}}),t._v(" "),t.$scopedSlots["tag-actions"]?t._e():n("i",{directives:[{name:"show",rawName:"v-show",value:!t.tagsEditStatus[r],expression:"!tagsEditStatus[index]"}],staticClass:"ti-icon-close",on:{click:function(e){return t.performDeleteTag(r)}}}),t._v(" "),t.$scopedSlots["tag-actions"]?t._t("tag-actions",null,{tag:e,index:r,edit:t.tagsEditStatus[r],performSaveEdit:t.performSaveTag,performDelete:t.performDeleteTag,performCancelEdit:t.cancelEdit,performOpenEdit:t.performEditTag,deletionMark:t.isMarked(r)}):t._e()],2)])}),t._v(" "),n("li",{staticClass:"ti-new-tag-input-wrapper"},[n("input",t._b({ref:"newTagInput",staticClass:"ti-new-tag-input",class:[t.createClasses(t.newTag,t.tags,t.validation,t.isDuplicate)],attrs:{placeholder:t.placeholder,maxlength:t.maxlength,disabled:t.disabled,type:"text",size:"1"},domProps:{value:t.newTag},on:{keydown:[function(e){return t.performAddTags(t.filteredAutocompleteItems[t.selectedItem]||t.newTag,e)},function(e){return e.type.indexOf("key")||8===e.keyCode?t.invokeDelete(e):null},function(e){return e.type.indexOf("key")||9===e.keyCode?t.performBlur(e):null},function(e){return e.type.indexOf("key")||38===e.keyCode?t.selectItem(e,"before"):null},function(e){return e.type.indexOf("key")||40===e.keyCode?t.selectItem(e,"after"):null}],paste:t.addTagsFromPaste,input:t.updateNewTag,blur:function(e){return t.$emit("blur",e)},focus:function(e){t.focused=!0,t.$emit("focus",e)},click:function(e){!t.addOnlyFromAutocomplete&&(t.selectedItem=null)}}},"input",t.$attrs,!1))])],2):t._e()]),t._v(" "),t._t("between-elements"),t._v(" "),t.autocompleteOpen?n("div",{staticClass:"ti-autocomplete",on:{mouseout:function(e){t.selectedItem=null}}},[t._t("autocomplete-header"),t._v(" "),n("ul",t._l(t.filteredAutocompleteItems,function(e,r){return n("li",{key:r,staticClass:"ti-item",class:[e.tiClasses,e.classes,{"ti-selected-item":t.isSelected(r)}],style:e.style,on:{mouseover:function(e){!t.disabled&&(t.selectedItem=r)}}},[t.$scopedSlots["autocomplete-item"]?t._t("autocomplete-item",null,{item:e,index:r,performAdd:function(e){return t.performAddTags(e,void 0,"autocomplete")},selected:t.isSelected(r)}):n("div",{on:{click:function(n){return t.performAddTags(e,void 0,"autocomplete")}}},[t._v("\n "+t._s(e.text)+"\n ")])],2)}),0),t._v(" "),t._t("autocomplete-footer")],2):t._e()],2)};r._withStripped=!0;var i=n(5),o=n.n(i),a=function(t){return JSON.parse(JSON.stringify(t))},s=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3?arguments[3]:void 0;void 0===t.text&&(t={text:t});var i=function(t,e){return n.filter(function(e){var n=t.text;return"string"==typeof e.rule?!new RegExp(e.rule).test(n):e.rule instanceof RegExp?!e.rule.test(n):"[object Function]"==={}.toString.call(e.rule)?e.rule(t):void 0}).map(function(t){return t.classes})}(t),o=function(t,e){for(var n=0;n1?n-1:0),i=1;i1?e-1:0),r=1;r=this.autocompleteMinLength&&this.filteredAutocompleteItems.length>0&&this.focused},filteredAutocompleteItems:function(){var t=this,e=this.autocompleteItems.map(function(e){return c(e,t.tags,t.validation,t.isDuplicate)});return this.autocompleteFilterDuplicates?e.filter(this.duplicateFilter):e}},methods:{createClasses:s,getSelectedIndex:function(t){var e=this.filteredAutocompleteItems,n=this.selectedItem,r=e.length-1;if(0!==e.length)return null===n?0:"before"===t&&0===n?r:"after"===t&&n===r?0:"after"===t?n+1:n-1},selectDefaultItem:function(){this.addOnlyFromAutocomplete&&this.filteredAutocompleteItems.length>0?this.selectedItem=0:this.selectedItem=null},selectItem:function(t,e){t.preventDefault(),this.selectedItem=this.getSelectedIndex(e)},isSelected:function(t){return this.selectedItem===t},isMarked:function(t){return this.deletionMark===t},invokeDelete:function(){var t=this;if(this.deleteOnBackspace&&!(this.newTag.length>0)){var e=this.tagsCopy.length-1;null===this.deletionMark?(this.deletionMarkTime=setTimeout(function(){return t.deletionMark=null},1e3),this.deletionMark=e):this.performDeleteTag(e)}},addTagsFromPaste:function(){var t=this;this.addFromPaste&&setTimeout(function(){return t.performAddTags(t.newTag)},10)},performEditTag:function(t){var e=this;this.allowEditTags&&(this._events["before-editing-tag"]||this.editTag(t),this.$emit("before-editing-tag",{index:t,tag:this.tagsCopy[t],editTag:function(){return e.editTag(t)}}))},editTag:function(t){this.allowEditTags&&(this.toggleEditMode(t),this.focus(t))},toggleEditMode:function(t){this.allowEditTags&&!this.disabled&&this.$set(this.tagsEditStatus,t,!this.tagsEditStatus[t])},createChangedTag:function(t,e){var n=this.tagsCopy[t];n.text=e?e.target.value:this.tagsCopy[t].text,this.$set(this.tagsCopy,t,c(n,this.tagsCopy,this.validation,this.isDuplicate))},focus:function(t){var e=this;this.$nextTick(function(){var n=e.$refs.tagCenter[t].querySelector("input.ti-tag-input");n&&n.focus()})},quote:function(t){return t.replace(/([()[{*+.$^\\|?])/g,"\\$1")},cancelEdit:function(t){this.tags[t]&&(this.tagsCopy[t]=a(c(this.tags[t],this.tags,this.validation,this.isDuplicate)),this.$set(this.tagsEditStatus,t,!1))},hasForbiddingAddRule:function(t){var e=this;return t.some(function(t){var n=e.validation.find(function(e){return t===e.classes});return!!n&&n.disableAdd})},createTagTexts:function(t){var e=this,n=new RegExp(this.separators.map(function(t){return e.quote(t)}).join("|"));return t.split(n).map(function(t){return{text:t}})},performDeleteTag:function(t){var e=this;this._events["before-deleting-tag"]||this.deleteTag(t),this.$emit("before-deleting-tag",{index:t,tag:this.tagsCopy[t],deleteTag:function(){return e.deleteTag(t)}})},deleteTag:function(t){this.disabled||(this.deletionMark=null,clearTimeout(this.deletionMarkTime),this.tagsCopy.splice(t,1),this._events["update:tags"]&&this.$emit("update:tags",this.tagsCopy),this.$emit("tags-changed",this.tagsCopy))},noTriggerKey:function(t,e){var n=-1!==this[e].indexOf(t.keyCode)||-1!==this[e].indexOf(t.key);return n&&t.preventDefault(),!n},performAddTags:function(t,e,n){var r=this;if(!(this.disabled||e&&this.noTriggerKey(e,"addOnKey"))){var i=[];"object"===y(t)&&(i=[t]),"string"==typeof t&&(i=this.createTagTexts(t)),(i=i.filter(function(t){return t.text.trim().length>0})).forEach(function(t){t=c(t,r.tags,r.validation,r.isDuplicate),r._events["before-adding-tag"]||r.addTag(t,n),r.$emit("before-adding-tag",{tag:t,addTag:function(){return r.addTag(t,n)}})})}},duplicateFilter:function(t){return this.isDuplicate?!this.isDuplicate(this.tagsCopy,t):!this.tagsCopy.find(function(e){return e.text===t.text})},addTag:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"new-tag-input",r=this.filteredAutocompleteItems.map(function(t){return t.text});this.addOnlyFromAutocomplete&&-1===r.indexOf(t.text)||this.$nextTick(function(){return e.maxTags&&e.maxTags<=e.tagsCopy.length?e.$emit("max-tags-reached",t):e.avoidAddingDuplicates&&!e.duplicateFilter(t)?e.$emit("adding-duplicate",t):void(e.hasForbiddingAddRule(t.tiClasses)||(e.$emit("input",""),e.tagsCopy.push(t),e._events["update:tags"]&&e.$emit("update:tags",e.tagsCopy),"autocomplete"===n&&e.$refs.newTagInput.focus(),e.$emit("tags-changed",e.tagsCopy)))})},performSaveTag:function(t,e){var n=this,r=this.tagsCopy[t];this.disabled||e&&this.noTriggerKey(e,"addOnKey")||0!==r.text.trim().length&&(this._events["before-saving-tag"]||this.saveTag(t,r),this.$emit("before-saving-tag",{index:t,tag:r,saveTag:function(){return n.saveTag(t,r)}}))},saveTag:function(t,e){if(this.avoidAddingDuplicates){var n=a(this.tagsCopy),r=n.splice(t,1)[0];if(this.isDuplicate?this.isDuplicate(n,r):-1!==n.map(function(t){return t.text}).indexOf(r.text))return this.$emit("saving-duplicate",e)}this.hasForbiddingAddRule(e.tiClasses)||(this.$set(this.tagsCopy,t,e),this.toggleEditMode(t),this._events["update:tags"]&&this.$emit("update:tags",this.tagsCopy),this.$emit("tags-changed",this.tagsCopy))},tagsEqual:function(){var t=this;return!this.tagsCopy.some(function(e,n){return!o()(e,t.tags[n])})},updateNewTag:function(t){var e=t.target.value;this.newTag=e,this.$emit("input",e)},initTags:function(){this.tagsCopy=u(this.tags,this.validation,this.isDuplicate),this.tagsEditStatus=a(this.tags).map(function(){return!1}),this._events["update:tags"]&&!this.tagsEqual()&&this.$emit("update:tags",this.tagsCopy)},blurredOnClick:function(t){this.$el.contains(t.target)||this.$el.contains(document.activeElement)||this.performBlur(t)},performBlur:function(){this.addOnBlur&&this.focused&&this.performAddTags(this.newTag),this.focused=!1}},watch:{value:function(t){this.addOnlyFromAutocomplete||(this.selectedItem=null),this.newTag=t},tags:{handler:function(){this.initTags()},deep:!0},autocompleteOpen:"selectDefaultItem"},created:function(){this.newTag=this.value,this.initTags()},mounted:function(){this.selectDefaultItem(),document.addEventListener("click",this.blurredOnClick)},destroyed:function(){document.removeEventListener("click",this.blurredOnClick)}},_=(n(9),d(A,r,[],!1,null,"61d92e31",null));_.options.__file="vue-tags-input/vue-tags-input.vue";var b=_.exports;n.d(e,"VueTagsInput",function(){return b}),n.d(e,"createClasses",function(){return s}),n.d(e,"createTag",function(){return c}),n.d(e,"createTags",function(){return u}),n.d(e,"TagInput",function(){return h}),b.install=function(t){return t.component(b.name,b)},"undefined"!=typeof window&&window.Vue&&window.Vue.use(b),e.default=b}])},function(t,e,n){t.exports=n(50)},function(t,e,n){window._=n(19);try{window.$=window.jQuery=n(21),n(22)}catch(t){}window.axios=n(9),window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";var r=document.head.querySelector('meta[name="csrf-token"]');r?window.axios.defaults.headers.common["X-CSRF-TOKEN"]=r.content:console.error("CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token")},function(t,e,n){(function(t,r){var i;(function(){var o,a=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",c="Expected a function",u="__lodash_hash_undefined__",l=500,f="__lodash_placeholder__",d=1,p=2,h=4,v=1,m=2,g=1,y=2,A=4,_=8,b=16,w=32,x=64,C=128,T=256,k=512,E=30,$="...",S=800,B=16,D=1,O=2,I=1/0,N=9007199254740991,j=17976931348623157e292,P=NaN,R=4294967295,L=R-1,M=R>>>1,F=[["ary",C],["bind",g],["bindKey",y],["curry",_],["curryRight",b],["flip",k],["partial",w],["partialRight",x],["rearg",T]],H="[object Arguments]",U="[object Array]",z="[object AsyncFunction]",q="[object Boolean]",W="[object Date]",V="[object DOMException]",Q="[object Error]",Y="[object Function]",G="[object GeneratorFunction]",K="[object Map]",J="[object Number]",Z="[object Null]",X="[object Object]",tt="[object Proxy]",et="[object RegExp]",nt="[object Set]",rt="[object String]",it="[object Symbol]",ot="[object Undefined]",at="[object WeakMap]",st="[object WeakSet]",ct="[object ArrayBuffer]",ut="[object DataView]",lt="[object Float32Array]",ft="[object Float64Array]",dt="[object Int8Array]",pt="[object Int16Array]",ht="[object Int32Array]",vt="[object Uint8Array]",mt="[object Uint8ClampedArray]",gt="[object Uint16Array]",yt="[object Uint32Array]",At=/\b__p \+= '';/g,_t=/\b(__p \+=) '' \+/g,bt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,wt=/&(?:amp|lt|gt|quot|#39);/g,xt=/[&<>"']/g,Ct=RegExp(wt.source),Tt=RegExp(xt.source),kt=/<%-([\s\S]+?)%>/g,Et=/<%([\s\S]+?)%>/g,$t=/<%=([\s\S]+?)%>/g,St=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Bt=/^\w*$/,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ot=/[\\^$.*+?()[\]{}|]/g,It=RegExp(Ot.source),Nt=/^\s+|\s+$/g,jt=/^\s+/,Pt=/\s+$/,Rt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Lt=/\{\n\/\* \[wrapped with (.+)\] \*/,Mt=/,? & /,Ft=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ht=/\\(\\)?/g,Ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,zt=/\w*$/,qt=/^[-+]0x[0-9a-f]+$/i,Wt=/^0b[01]+$/i,Vt=/^\[object .+?Constructor\]$/,Qt=/^0o[0-7]+$/i,Yt=/^(?:0|[1-9]\d*)$/,Gt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Kt=/($^)/,Jt=/['\n\r\u2028\u2029\\]/g,Zt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Xt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",te="[\\ud800-\\udfff]",ee="["+Xt+"]",ne="["+Zt+"]",re="\\d+",ie="[\\u2700-\\u27bf]",oe="[a-z\\xdf-\\xf6\\xf8-\\xff]",ae="[^\\ud800-\\udfff"+Xt+re+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",se="\\ud83c[\\udffb-\\udfff]",ce="[^\\ud800-\\udfff]",ue="(?:\\ud83c[\\udde6-\\uddff]){2}",le="[\\ud800-\\udbff][\\udc00-\\udfff]",fe="[A-Z\\xc0-\\xd6\\xd8-\\xde]",de="(?:"+oe+"|"+ae+")",pe="(?:"+fe+"|"+ae+")",he="(?:"+ne+"|"+se+")"+"?",ve="[\\ufe0e\\ufe0f]?"+he+("(?:\\u200d(?:"+[ce,ue,le].join("|")+")[\\ufe0e\\ufe0f]?"+he+")*"),me="(?:"+[ie,ue,le].join("|")+")"+ve,ge="(?:"+[ce+ne+"?",ne,ue,le,te].join("|")+")",ye=RegExp("['’]","g"),Ae=RegExp(ne,"g"),_e=RegExp(se+"(?="+se+")|"+ge+ve,"g"),be=RegExp([fe+"?"+oe+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[ee,fe,"$"].join("|")+")",pe+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[ee,fe+de,"$"].join("|")+")",fe+"?"+de+"+(?:['’](?:d|ll|m|re|s|t|ve))?",fe+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",re,me].join("|"),"g"),we=RegExp("[\\u200d\\ud800-\\udfff"+Zt+"\\ufe0e\\ufe0f]"),xe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ce=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Te=-1,ke={};ke[lt]=ke[ft]=ke[dt]=ke[pt]=ke[ht]=ke[vt]=ke[mt]=ke[gt]=ke[yt]=!0,ke[H]=ke[U]=ke[ct]=ke[q]=ke[ut]=ke[W]=ke[Q]=ke[Y]=ke[K]=ke[J]=ke[X]=ke[et]=ke[nt]=ke[rt]=ke[at]=!1;var Ee={};Ee[H]=Ee[U]=Ee[ct]=Ee[ut]=Ee[q]=Ee[W]=Ee[lt]=Ee[ft]=Ee[dt]=Ee[pt]=Ee[ht]=Ee[K]=Ee[J]=Ee[X]=Ee[et]=Ee[nt]=Ee[rt]=Ee[it]=Ee[vt]=Ee[mt]=Ee[gt]=Ee[yt]=!0,Ee[Q]=Ee[Y]=Ee[at]=!1;var $e={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Se=parseFloat,Be=parseInt,De="object"==typeof t&&t&&t.Object===Object&&t,Oe="object"==typeof self&&self&&self.Object===Object&&self,Ie=De||Oe||Function("return this")(),Ne=e&&!e.nodeType&&e,je=Ne&&"object"==typeof r&&r&&!r.nodeType&&r,Pe=je&&je.exports===Ne,Re=Pe&&De.process,Le=function(){try{var t=je&&je.require&&je.require("util").types;return t||Re&&Re.binding&&Re.binding("util")}catch(t){}}(),Me=Le&&Le.isArrayBuffer,Fe=Le&&Le.isDate,He=Le&&Le.isMap,Ue=Le&&Le.isRegExp,ze=Le&&Le.isSet,qe=Le&&Le.isTypedArray;function We(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function Ve(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i-1}function Ze(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function bn(t,e){for(var n=t.length;n--&&cn(e,t[n],0)>-1;);return n}var wn=pn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n",ſ:"s"}),xn=pn({"&":"&","<":"<",">":">",'"':""","'":"'"});function Cn(t){return"\\"+$e[t]}function Tn(t){return we.test(t)}function kn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function En(t,e){return function(n){return t(e(n))}}function $n(t,e){for(var n=-1,r=t.length,i=0,o=[];++n",""":'"',"'":"'"});var Nn=function t(e){var n,r=(e=null==e?Ie:Nn.defaults(Ie.Object(),e,Nn.pick(Ie,Ce))).Array,i=e.Date,Zt=e.Error,Xt=e.Function,te=e.Math,ee=e.Object,ne=e.RegExp,re=e.String,ie=e.TypeError,oe=r.prototype,ae=Xt.prototype,se=ee.prototype,ce=e["__core-js_shared__"],ue=ae.toString,le=se.hasOwnProperty,fe=0,de=(n=/[^.]+$/.exec(ce&&ce.keys&&ce.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",pe=se.toString,he=ue.call(ee),ve=Ie._,me=ne("^"+ue.call(le).replace(Ot,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ge=Pe?e.Buffer:o,_e=e.Symbol,we=e.Uint8Array,$e=ge?ge.allocUnsafe:o,De=En(ee.getPrototypeOf,ee),Oe=ee.create,Ne=se.propertyIsEnumerable,je=oe.splice,Re=_e?_e.isConcatSpreadable:o,Le=_e?_e.iterator:o,on=_e?_e.toStringTag:o,pn=function(){try{var t=Mo(ee,"defineProperty");return t({},"",{}),t}catch(t){}}(),jn=e.clearTimeout!==Ie.clearTimeout&&e.clearTimeout,Pn=i&&i.now!==Ie.Date.now&&i.now,Rn=e.setTimeout!==Ie.setTimeout&&e.setTimeout,Ln=te.ceil,Mn=te.floor,Fn=ee.getOwnPropertySymbols,Hn=ge?ge.isBuffer:o,Un=e.isFinite,zn=oe.join,qn=En(ee.keys,ee),Wn=te.max,Vn=te.min,Qn=i.now,Yn=e.parseInt,Gn=te.random,Kn=oe.reverse,Jn=Mo(e,"DataView"),Zn=Mo(e,"Map"),Xn=Mo(e,"Promise"),tr=Mo(e,"Set"),er=Mo(e,"WeakMap"),nr=Mo(ee,"create"),rr=er&&new er,ir={},or=fa(Jn),ar=fa(Zn),sr=fa(Xn),cr=fa(tr),ur=fa(er),lr=_e?_e.prototype:o,fr=lr?lr.valueOf:o,dr=lr?lr.toString:o;function pr(t){if($s(t)&&!gs(t)&&!(t instanceof gr)){if(t instanceof mr)return t;if(le.call(t,"__wrapped__"))return da(t)}return new mr(t)}var hr=function(){function t(){}return function(e){if(!Es(e))return{};if(Oe)return Oe(e);t.prototype=e;var n=new t;return t.prototype=o,n}}();function vr(){}function mr(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=o}function gr(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=R,this.__views__=[]}function yr(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function jr(t,e,n,r,i,a){var s,c=e&d,u=e&p,l=e&h;if(n&&(s=i?n(t,r,i,a):n(t)),s!==o)return s;if(!Es(t))return t;var f=gs(t);if(f){if(s=function(t){var e=t.length,n=new t.constructor(e);e&&"string"==typeof t[0]&&le.call(t,"index")&&(n.index=t.index,n.input=t.input);return n}(t),!c)return no(t,s)}else{var v=Uo(t),m=v==Y||v==G;if(bs(t))return Ki(t,c);if(v==X||v==H||m&&!i){if(s=u||m?{}:qo(t),!c)return u?function(t,e){return ro(t,Ho(t),e)}(t,function(t,e){return t&&ro(e,oc(e),t)}(s,t)):function(t,e){return ro(t,Fo(t),e)}(t,Dr(s,t))}else{if(!Ee[v])return i?t:{};s=function(t,e,n){var r=t.constructor;switch(e){case ct:return Ji(t);case q:case W:return new r(+t);case ut:return function(t,e){var n=e?Ji(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case lt:case ft:case dt:case pt:case ht:case vt:case mt:case gt:case yt:return Zi(t,n);case K:return new r;case J:case rt:return new r(t);case et:return function(t){var e=new t.constructor(t.source,zt.exec(t));return e.lastIndex=t.lastIndex,e}(t);case nt:return new r;case it:return i=t,fr?ee(fr.call(i)):{}}var i}(t,v,c)}}a||(a=new wr);var g=a.get(t);if(g)return g;a.set(t,s),Is(t)?t.forEach(function(r){s.add(jr(r,e,n,r,t,a))}):Ss(t)&&t.forEach(function(r,i){s.set(i,jr(r,e,n,i,t,a))});var y=f?o:(l?u?Oo:Do:u?oc:ic)(t);return Qe(y||t,function(r,i){y&&(r=t[i=r]),$r(s,i,jr(r,e,n,i,t,a))}),s}function Pr(t,e,n){var r=n.length;if(null==t)return!r;for(t=ee(t);r--;){var i=n[r],a=e[i],s=t[i];if(s===o&&!(i in t)||!a(s))return!1}return!0}function Rr(t,e,n){if("function"!=typeof t)throw new ie(c);return ia(function(){t.apply(o,n)},e)}function Lr(t,e,n,r){var i=-1,o=Je,s=!0,c=t.length,u=[],l=e.length;if(!c)return u;n&&(e=Xe(e,gn(n))),r?(o=Ze,s=!1):e.length>=a&&(o=An,s=!1,e=new br(e));t:for(;++i-1},Ar.prototype.set=function(t,e){var n=this.__data__,r=Sr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},_r.prototype.clear=function(){this.size=0,this.__data__={hash:new yr,map:new(Zn||Ar),string:new yr}},_r.prototype.delete=function(t){var e=Ro(this,t).delete(t);return this.size-=e?1:0,e},_r.prototype.get=function(t){return Ro(this,t).get(t)},_r.prototype.has=function(t){return Ro(this,t).has(t)},_r.prototype.set=function(t,e){var n=Ro(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},br.prototype.add=br.prototype.push=function(t){return this.__data__.set(t,u),this},br.prototype.has=function(t){return this.__data__.has(t)},wr.prototype.clear=function(){this.__data__=new Ar,this.size=0},wr.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},wr.prototype.get=function(t){return this.__data__.get(t)},wr.prototype.has=function(t){return this.__data__.has(t)},wr.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Ar){var r=n.__data__;if(!Zn||r.length0&&n(s)?e>1?qr(s,e-1,n,r,i):tn(i,s):r||(i[i.length]=s)}return i}var Wr=so(),Vr=so(!0);function Qr(t,e){return t&&Wr(t,e,ic)}function Yr(t,e){return t&&Vr(t,e,ic)}function Gr(t,e){return Ke(e,function(e){return Cs(t[e])})}function Kr(t,e){for(var n=0,r=(e=Vi(e,t)).length;null!=t&&ne}function ti(t,e){return null!=t&&le.call(t,e)}function ei(t,e){return null!=t&&e in ee(t)}function ni(t,e,n){for(var i=n?Ze:Je,a=t[0].length,s=t.length,c=s,u=r(s),l=1/0,f=[];c--;){var d=t[c];c&&e&&(d=Xe(d,gn(e))),l=Vn(d.length,l),u[c]=!n&&(e||a>=120&&d.length>=120)?new br(c&&d):o}d=t[0];var p=-1,h=u[0];t:for(;++p=s)return c;var u=n[r];return c*("desc"==u?-1:1)}}return t.index-e.index}(t,e,n)})}function yi(t,e,n){for(var r=-1,i=e.length,o={};++r-1;)s!==t&&je.call(s,c,1),je.call(t,c,1);return t}function _i(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;Vo(i)?je.call(t,i,1):Li(t,i)}}return t}function bi(t,e){return t+Mn(Gn()*(e-t+1))}function wi(t,e){var n="";if(!t||e<1||e>N)return n;do{e%2&&(n+=t),(e=Mn(e/2))&&(t+=t)}while(e);return n}function xi(t,e){return oa(ta(t,e,Bc),t+"")}function Ci(t){return Cr(pc(t))}function Ti(t,e){var n=pc(t);return ca(n,Nr(e,0,n.length))}function ki(t,e,n,r){if(!Es(t))return t;for(var i=-1,a=(e=Vi(e,t)).length,s=a-1,c=t;null!=c&&++io?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var a=r(o);++i>>1,a=t[o];null!==a&&!js(a)&&(n?a<=e:a=a){var l=e?null:xo(t);if(l)return Sn(l);s=!1,i=An,u=new br}else u=e?[]:c;t:for(;++r=r?t:Bi(t,e,n)}var Gi=jn||function(t){return Ie.clearTimeout(t)};function Ki(t,e){if(e)return t.slice();var n=t.length,r=$e?$e(n):new t.constructor(n);return t.copy(r),r}function Ji(t){var e=new t.constructor(t.byteLength);return new we(e).set(new we(t)),e}function Zi(t,e){var n=e?Ji(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Xi(t,e){if(t!==e){var n=t!==o,r=null===t,i=t==t,a=js(t),s=e!==o,c=null===e,u=e==e,l=js(e);if(!c&&!l&&!a&&t>e||a&&s&&u&&!c&&!l||r&&s&&u||!n&&u||!i)return 1;if(!r&&!a&&!l&&t1?n[i-1]:o,s=i>2?n[2]:o;for(a=t.length>3&&"function"==typeof a?(i--,a):o,s&&Qo(n[0],n[1],s)&&(a=i<3?o:a,i=1),e=ee(e);++r-1?i[a?e[s]:s]:o}}function po(t){return Bo(function(e){var n=e.length,r=n,i=mr.prototype.thru;for(t&&e.reverse();r--;){var a=e[r];if("function"!=typeof a)throw new ie(c);if(i&&!s&&"wrapper"==No(a))var s=new mr([],!0)}for(r=s?r:n;++r1&&_.reverse(),d&&lc))return!1;var l=a.get(t);if(l&&a.get(e))return l==e;var f=-1,d=!0,p=n&m?new br:o;for(a.set(t,e),a.set(e,t);++f-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Rt,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return Qe(F,function(n){var r="_."+n[0];e&n[1]&&!Je(t,r)&&t.push(r)}),t.sort()}(function(t){var e=t.match(Lt);return e?e[1].split(Mt):[]}(r),n)))}function sa(t){var e=0,n=0;return function(){var r=Qn(),i=B-(r-n);if(n=r,i>0){if(++e>=S)return arguments[0]}else e=0;return t.apply(o,arguments)}}function ca(t,e){var n=-1,r=t.length,i=r-1;for(e=e===o?r:e;++n1?t[e-1]:o;return n="function"==typeof n?(t.pop(),n):o,Oa(t,n)});function Ma(t){var e=pr(t);return e.__chain__=!0,e}function Fa(t,e){return e(t)}var Ha=Bo(function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return Ir(e,t)};return!(e>1||this.__actions__.length)&&r instanceof gr&&Vo(n)?((r=r.slice(n,+n+(e?1:0))).__actions__.push({func:Fa,args:[i],thisArg:o}),new mr(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(o),t})):this.thru(i)});var Ua=io(function(t,e,n){le.call(t,n)?++t[n]:Or(t,n,1)});var za=fo(ma),qa=fo(ga);function Wa(t,e){return(gs(t)?Qe:Mr)(t,Po(e,3))}function Va(t,e){return(gs(t)?Ye:Fr)(t,Po(e,3))}var Qa=io(function(t,e,n){le.call(t,n)?t[n].push(e):Or(t,n,[e])});var Ya=xi(function(t,e,n){var i=-1,o="function"==typeof e,a=As(t)?r(t.length):[];return Mr(t,function(t){a[++i]=o?We(e,t,n):ri(t,e,n)}),a}),Ga=io(function(t,e,n){Or(t,n,e)});function Ka(t,e){return(gs(t)?Xe:di)(t,Po(e,3))}var Ja=io(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]});var Za=xi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Qo(t,e[0],e[1])?e=[]:n>2&&Qo(e[0],e[1],e[2])&&(e=[e[0]]),gi(t,qr(e,1),[])}),Xa=Pn||function(){return Ie.Date.now()};function ts(t,e,n){return e=n?o:e,e=t&&null==e?t.length:e,To(t,C,o,o,o,o,e)}function es(t,e){var n;if("function"!=typeof e)throw new ie(c);return t=Hs(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=o),n}}var ns=xi(function(t,e,n){var r=g;if(n.length){var i=$n(n,jo(ns));r|=w}return To(t,r,e,n,i)}),rs=xi(function(t,e,n){var r=g|y;if(n.length){var i=$n(n,jo(rs));r|=w}return To(e,r,t,n,i)});function is(t,e,n){var r,i,a,s,u,l,f=0,d=!1,p=!1,h=!0;if("function"!=typeof t)throw new ie(c);function v(e){var n=r,a=i;return r=i=o,f=e,s=t.apply(a,n)}function m(t){var n=t-l;return l===o||n>=e||n<0||p&&t-f>=a}function g(){var t=Xa();if(m(t))return y(t);u=ia(g,function(t){var n=e-(t-l);return p?Vn(n,a-(t-f)):n}(t))}function y(t){return u=o,h&&r?v(t):(r=i=o,s)}function A(){var t=Xa(),n=m(t);if(r=arguments,i=this,l=t,n){if(u===o)return function(t){return f=t,u=ia(g,e),d?v(t):s}(l);if(p)return Gi(u),u=ia(g,e),v(l)}return u===o&&(u=ia(g,e)),s}return e=zs(e)||0,Es(n)&&(d=!!n.leading,a=(p="maxWait"in n)?Wn(zs(n.maxWait)||0,e):a,h="trailing"in n?!!n.trailing:h),A.cancel=function(){u!==o&&Gi(u),f=0,r=l=i=u=o},A.flush=function(){return u===o?s:y(Xa())},A}var os=xi(function(t,e){return Rr(t,1,e)}),as=xi(function(t,e,n){return Rr(t,zs(e)||0,n)});function ss(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ie(c);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(ss.Cache||_r),n}function cs(t){if("function"!=typeof t)throw new ie(c);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}ss.Cache=_r;var us=Qi(function(t,e){var n=(e=1==e.length&&gs(e[0])?Xe(e[0],gn(Po())):Xe(qr(e,1),gn(Po()))).length;return xi(function(r){for(var i=-1,o=Vn(r.length,n);++i=e}),ms=ii(function(){return arguments}())?ii:function(t){return $s(t)&&le.call(t,"callee")&&!Ne.call(t,"callee")},gs=r.isArray,ys=Me?gn(Me):function(t){return $s(t)&&Zr(t)==ct};function As(t){return null!=t&&ks(t.length)&&!Cs(t)}function _s(t){return $s(t)&&As(t)}var bs=Hn||zc,ws=Fe?gn(Fe):function(t){return $s(t)&&Zr(t)==W};function xs(t){if(!$s(t))return!1;var e=Zr(t);return e==Q||e==V||"string"==typeof t.message&&"string"==typeof t.name&&!Ds(t)}function Cs(t){if(!Es(t))return!1;var e=Zr(t);return e==Y||e==G||e==z||e==tt}function Ts(t){return"number"==typeof t&&t==Hs(t)}function ks(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=N}function Es(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function $s(t){return null!=t&&"object"==typeof t}var Ss=He?gn(He):function(t){return $s(t)&&Uo(t)==K};function Bs(t){return"number"==typeof t||$s(t)&&Zr(t)==J}function Ds(t){if(!$s(t)||Zr(t)!=X)return!1;var e=De(t);if(null===e)return!0;var n=le.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&ue.call(n)==he}var Os=Ue?gn(Ue):function(t){return $s(t)&&Zr(t)==et};var Is=ze?gn(ze):function(t){return $s(t)&&Uo(t)==nt};function Ns(t){return"string"==typeof t||!gs(t)&&$s(t)&&Zr(t)==rt}function js(t){return"symbol"==typeof t||$s(t)&&Zr(t)==it}var Ps=qe?gn(qe):function(t){return $s(t)&&ks(t.length)&&!!ke[Zr(t)]};var Rs=_o(fi),Ls=_o(function(t,e){return t<=e});function Ms(t){if(!t)return[];if(As(t))return Ns(t)?On(t):no(t);if(Le&&t[Le])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[Le]());var e=Uo(t);return(e==K?kn:e==nt?Sn:pc)(t)}function Fs(t){return t?(t=zs(t))===I||t===-I?(t<0?-1:1)*j:t==t?t:0:0===t?t:0}function Hs(t){var e=Fs(t),n=e%1;return e==e?n?e-n:e:0}function Us(t){return t?Nr(Hs(t),0,R):0}function zs(t){if("number"==typeof t)return t;if(js(t))return P;if(Es(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Es(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Nt,"");var n=Wt.test(t);return n||Qt.test(t)?Be(t.slice(2),n?2:8):qt.test(t)?P:+t}function qs(t){return ro(t,oc(t))}function Ws(t){return null==t?"":Pi(t)}var Vs=oo(function(t,e){if(Jo(e)||As(e))ro(e,ic(e),t);else for(var n in e)le.call(e,n)&&$r(t,n,e[n])}),Qs=oo(function(t,e){ro(e,oc(e),t)}),Ys=oo(function(t,e,n,r){ro(e,oc(e),t,r)}),Gs=oo(function(t,e,n,r){ro(e,ic(e),t,r)}),Ks=Bo(Ir);var Js=xi(function(t,e){t=ee(t);var n=-1,r=e.length,i=r>2?e[2]:o;for(i&&Qo(e[0],e[1],i)&&(r=1);++n1),e}),ro(t,Oo(t),n),r&&(n=jr(n,d|p|h,$o));for(var i=e.length;i--;)Li(n,e[i]);return n});var uc=Bo(function(t,e){return null==t?{}:function(t,e){return yi(t,e,function(e,n){return tc(t,n)})}(t,e)});function lc(t,e){if(null==t)return{};var n=Xe(Oo(t),function(t){return[t]});return e=Po(e),yi(t,n,function(t,n){return e(t,n[0])})}var fc=Co(ic),dc=Co(oc);function pc(t){return null==t?[]:yn(t,ic(t))}var hc=uo(function(t,e,n){return e=e.toLowerCase(),t+(n?vc(e):e)});function vc(t){return xc(Ws(t).toLowerCase())}function mc(t){return(t=Ws(t))&&t.replace(Gt,wn).replace(Ae,"")}var gc=uo(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),yc=uo(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),Ac=co("toLowerCase");var _c=uo(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()});var bc=uo(function(t,e,n){return t+(n?" ":"")+xc(e)});var wc=uo(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),xc=co("toUpperCase");function Cc(t,e,n){return t=Ws(t),(e=n?o:e)===o?function(t){return xe.test(t)}(t)?function(t){return t.match(be)||[]}(t):function(t){return t.match(Ft)||[]}(t):t.match(e)||[]}var Tc=xi(function(t,e){try{return We(t,o,e)}catch(t){return xs(t)?t:new Zt(t)}}),kc=Bo(function(t,e){return Qe(e,function(e){e=la(e),Or(t,e,ns(t[e],t))}),t});function Ec(t){return function(){return t}}var $c=po(),Sc=po(!0);function Bc(t){return t}function Dc(t){return ci("function"==typeof t?t:jr(t,d))}var Oc=xi(function(t,e){return function(n){return ri(n,t,e)}}),Ic=xi(function(t,e){return function(n){return ri(t,n,e)}});function Nc(t,e,n){var r=ic(e),i=Gr(e,r);null!=n||Es(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=Gr(e,ic(e)));var o=!(Es(n)&&"chain"in n&&!n.chain),a=Cs(t);return Qe(i,function(n){var r=e[n];t[n]=r,a&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__),i=n.__actions__=no(this.__actions__);return i.push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,tn([this.value()],arguments))})}),t}function jc(){}var Pc=go(Xe),Rc=go(Ge),Lc=go(rn);function Mc(t){return Yo(t)?dn(la(t)):function(t){return function(e){return Kr(e,t)}}(t)}var Fc=Ao(),Hc=Ao(!0);function Uc(){return[]}function zc(){return!1}var qc=mo(function(t,e){return t+e},0),Wc=wo("ceil"),Vc=mo(function(t,e){return t/e},1),Qc=wo("floor");var Yc,Gc=mo(function(t,e){return t*e},1),Kc=wo("round"),Jc=mo(function(t,e){return t-e},0);return pr.after=function(t,e){if("function"!=typeof e)throw new ie(c);return t=Hs(t),function(){if(--t<1)return e.apply(this,arguments)}},pr.ary=ts,pr.assign=Vs,pr.assignIn=Qs,pr.assignInWith=Ys,pr.assignWith=Gs,pr.at=Ks,pr.before=es,pr.bind=ns,pr.bindAll=kc,pr.bindKey=rs,pr.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return gs(t)?t:[t]},pr.chain=Ma,pr.chunk=function(t,e,n){e=(n?Qo(t,e,n):e===o)?1:Wn(Hs(e),0);var i=null==t?0:t.length;if(!i||e<1)return[];for(var a=0,s=0,c=r(Ln(i/e));ai?0:i+n),(r=r===o||r>i?i:Hs(r))<0&&(r+=i),r=n>r?0:Us(r);n>>0)?(t=Ws(t))&&("string"==typeof e||null!=e&&!Os(e))&&!(e=Pi(e))&&Tn(t)?Yi(On(t),0,n):t.split(e,n):[]},pr.spread=function(t,e){if("function"!=typeof t)throw new ie(c);return e=null==e?0:Wn(Hs(e),0),xi(function(n){var r=n[e],i=Yi(n,0,e);return r&&tn(i,r),We(t,this,i)})},pr.tail=function(t){var e=null==t?0:t.length;return e?Bi(t,1,e):[]},pr.take=function(t,e,n){return t&&t.length?Bi(t,0,(e=n||e===o?1:Hs(e))<0?0:e):[]},pr.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?Bi(t,(e=r-(e=n||e===o?1:Hs(e)))<0?0:e,r):[]},pr.takeRightWhile=function(t,e){return t&&t.length?Fi(t,Po(e,3),!1,!0):[]},pr.takeWhile=function(t,e){return t&&t.length?Fi(t,Po(e,3)):[]},pr.tap=function(t,e){return e(t),t},pr.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new ie(c);return Es(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),is(t,e,{leading:r,maxWait:e,trailing:i})},pr.thru=Fa,pr.toArray=Ms,pr.toPairs=fc,pr.toPairsIn=dc,pr.toPath=function(t){return gs(t)?Xe(t,la):js(t)?[t]:no(ua(Ws(t)))},pr.toPlainObject=qs,pr.transform=function(t,e,n){var r=gs(t),i=r||bs(t)||Ps(t);if(e=Po(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:Es(t)&&Cs(o)?hr(De(t)):{}}return(i?Qe:Qr)(t,function(t,r,i){return e(n,t,r,i)}),n},pr.unary=function(t){return ts(t,1)},pr.union=$a,pr.unionBy=Sa,pr.unionWith=Ba,pr.uniq=function(t){return t&&t.length?Ri(t):[]},pr.uniqBy=function(t,e){return t&&t.length?Ri(t,Po(e,2)):[]},pr.uniqWith=function(t,e){return e="function"==typeof e?e:o,t&&t.length?Ri(t,o,e):[]},pr.unset=function(t,e){return null==t||Li(t,e)},pr.unzip=Da,pr.unzipWith=Oa,pr.update=function(t,e,n){return null==t?t:Mi(t,e,Wi(n))},pr.updateWith=function(t,e,n,r){return r="function"==typeof r?r:o,null==t?t:Mi(t,e,Wi(n),r)},pr.values=pc,pr.valuesIn=function(t){return null==t?[]:yn(t,oc(t))},pr.without=Ia,pr.words=Cc,pr.wrap=function(t,e){return ls(Wi(e),t)},pr.xor=Na,pr.xorBy=ja,pr.xorWith=Pa,pr.zip=Ra,pr.zipObject=function(t,e){return zi(t||[],e||[],$r)},pr.zipObjectDeep=function(t,e){return zi(t||[],e||[],ki)},pr.zipWith=La,pr.entries=fc,pr.entriesIn=dc,pr.extend=Qs,pr.extendWith=Ys,Nc(pr,pr),pr.add=qc,pr.attempt=Tc,pr.camelCase=hc,pr.capitalize=vc,pr.ceil=Wc,pr.clamp=function(t,e,n){return n===o&&(n=e,e=o),n!==o&&(n=(n=zs(n))==n?n:0),e!==o&&(e=(e=zs(e))==e?e:0),Nr(zs(t),e,n)},pr.clone=function(t){return jr(t,h)},pr.cloneDeep=function(t){return jr(t,d|h)},pr.cloneDeepWith=function(t,e){return jr(t,d|h,e="function"==typeof e?e:o)},pr.cloneWith=function(t,e){return jr(t,h,e="function"==typeof e?e:o)},pr.conformsTo=function(t,e){return null==e||Pr(t,e,ic(e))},pr.deburr=mc,pr.defaultTo=function(t,e){return null==t||t!=t?e:t},pr.divide=Vc,pr.endsWith=function(t,e,n){t=Ws(t),e=Pi(e);var r=t.length,i=n=n===o?r:Nr(Hs(n),0,r);return(n-=e.length)>=0&&t.slice(n,i)==e},pr.eq=ps,pr.escape=function(t){return(t=Ws(t))&&Tt.test(t)?t.replace(xt,xn):t},pr.escapeRegExp=function(t){return(t=Ws(t))&&It.test(t)?t.replace(Ot,"\\$&"):t},pr.every=function(t,e,n){var r=gs(t)?Ge:Hr;return n&&Qo(t,e,n)&&(e=o),r(t,Po(e,3))},pr.find=za,pr.findIndex=ma,pr.findKey=function(t,e){return an(t,Po(e,3),Qr)},pr.findLast=qa,pr.findLastIndex=ga,pr.findLastKey=function(t,e){return an(t,Po(e,3),Yr)},pr.floor=Qc,pr.forEach=Wa,pr.forEachRight=Va,pr.forIn=function(t,e){return null==t?t:Wr(t,Po(e,3),oc)},pr.forInRight=function(t,e){return null==t?t:Vr(t,Po(e,3),oc)},pr.forOwn=function(t,e){return t&&Qr(t,Po(e,3))},pr.forOwnRight=function(t,e){return t&&Yr(t,Po(e,3))},pr.get=Xs,pr.gt=hs,pr.gte=vs,pr.has=function(t,e){return null!=t&&zo(t,e,ti)},pr.hasIn=tc,pr.head=Aa,pr.identity=Bc,pr.includes=function(t,e,n,r){t=As(t)?t:pc(t),n=n&&!r?Hs(n):0;var i=t.length;return n<0&&(n=Wn(i+n,0)),Ns(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&cn(t,e,n)>-1},pr.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Hs(n);return i<0&&(i=Wn(r+i,0)),cn(t,e,i)},pr.inRange=function(t,e,n){return e=Fs(e),n===o?(n=e,e=0):n=Fs(n),function(t,e,n){return t>=Vn(e,n)&&t=-N&&t<=N},pr.isSet=Is,pr.isString=Ns,pr.isSymbol=js,pr.isTypedArray=Ps,pr.isUndefined=function(t){return t===o},pr.isWeakMap=function(t){return $s(t)&&Uo(t)==at},pr.isWeakSet=function(t){return $s(t)&&Zr(t)==st},pr.join=function(t,e){return null==t?"":zn.call(t,e)},pr.kebabCase=gc,pr.last=xa,pr.lastIndexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r;return n!==o&&(i=(i=Hs(n))<0?Wn(r+i,0):Vn(i,r-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,i):sn(t,ln,i,!0)},pr.lowerCase=yc,pr.lowerFirst=Ac,pr.lt=Rs,pr.lte=Ls,pr.max=function(t){return t&&t.length?Ur(t,Bc,Xr):o},pr.maxBy=function(t,e){return t&&t.length?Ur(t,Po(e,2),Xr):o},pr.mean=function(t){return fn(t,Bc)},pr.meanBy=function(t,e){return fn(t,Po(e,2))},pr.min=function(t){return t&&t.length?Ur(t,Bc,fi):o},pr.minBy=function(t,e){return t&&t.length?Ur(t,Po(e,2),fi):o},pr.stubArray=Uc,pr.stubFalse=zc,pr.stubObject=function(){return{}},pr.stubString=function(){return""},pr.stubTrue=function(){return!0},pr.multiply=Gc,pr.nth=function(t,e){return t&&t.length?mi(t,Hs(e)):o},pr.noConflict=function(){return Ie._===this&&(Ie._=ve),this},pr.noop=jc,pr.now=Xa,pr.pad=function(t,e,n){t=Ws(t);var r=(e=Hs(e))?Dn(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return yo(Mn(i),n)+t+yo(Ln(i),n)},pr.padEnd=function(t,e,n){t=Ws(t);var r=(e=Hs(e))?Dn(t):0;return e&&re){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Gn();return Vn(t+i*(e-t+Se("1e-"+((i+"").length-1))),e)}return bi(t,e)},pr.reduce=function(t,e,n){var r=gs(t)?en:hn,i=arguments.length<3;return r(t,Po(e,4),n,i,Mr)},pr.reduceRight=function(t,e,n){var r=gs(t)?nn:hn,i=arguments.length<3;return r(t,Po(e,4),n,i,Fr)},pr.repeat=function(t,e,n){return e=(n?Qo(t,e,n):e===o)?1:Hs(e),wi(Ws(t),e)},pr.replace=function(){var t=arguments,e=Ws(t[0]);return t.length<3?e:e.replace(t[1],t[2])},pr.result=function(t,e,n){var r=-1,i=(e=Vi(e,t)).length;for(i||(i=1,t=o);++rN)return[];var n=R,r=Vn(t,R);e=Po(e),t-=R;for(var i=mn(r,e);++n=a)return t;var c=n-Dn(r);if(c<1)return r;var u=s?Yi(s,0,c).join(""):t.slice(0,c);if(i===o)return u+r;if(s&&(c+=u.length-c),Os(i)){if(t.slice(c).search(i)){var l,f=u;for(i.global||(i=ne(i.source,Ws(zt.exec(i))+"g")),i.lastIndex=0;l=i.exec(f);)var d=l.index;u=u.slice(0,d===o?c:d)}}else if(t.indexOf(Pi(i),c)!=c){var p=u.lastIndexOf(i);p>-1&&(u=u.slice(0,p))}return u+r},pr.unescape=function(t){return(t=Ws(t))&&Ct.test(t)?t.replace(wt,In):t},pr.uniqueId=function(t){var e=++fe;return Ws(t)+e},pr.upperCase=wc,pr.upperFirst=xc,pr.each=Wa,pr.eachRight=Va,pr.first=Aa,Nc(pr,(Yc={},Qr(pr,function(t,e){le.call(pr.prototype,e)||(Yc[e]=t)}),Yc),{chain:!1}),pr.VERSION="4.17.15",Qe(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){pr[t].placeholder=pr}),Qe(["drop","take"],function(t,e){gr.prototype[t]=function(n){n=n===o?1:Wn(Hs(n),0);var r=this.__filtered__&&!e?new gr(this):this.clone();return r.__filtered__?r.__takeCount__=Vn(n,r.__takeCount__):r.__views__.push({size:Vn(n,R),type:t+(r.__dir__<0?"Right":"")}),r},gr.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Qe(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==D||3==n;gr.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Po(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),Qe(["head","last"],function(t,e){var n="take"+(e?"Right":"");gr.prototype[t]=function(){return this[n](1).value()[0]}}),Qe(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");gr.prototype[t]=function(){return this.__filtered__?new gr(this):this[n](1)}}),gr.prototype.compact=function(){return this.filter(Bc)},gr.prototype.find=function(t){return this.filter(t).head()},gr.prototype.findLast=function(t){return this.reverse().find(t)},gr.prototype.invokeMap=xi(function(t,e){return"function"==typeof t?new gr(this):this.map(function(n){return ri(n,t,e)})}),gr.prototype.reject=function(t){return this.filter(cs(Po(t)))},gr.prototype.slice=function(t,e){t=Hs(t);var n=this;return n.__filtered__&&(t>0||e<0)?new gr(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==o&&(n=(e=Hs(e))<0?n.dropRight(-e):n.take(e-t)),n)},gr.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},gr.prototype.toArray=function(){return this.take(R)},Qr(gr.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=pr[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);i&&(pr.prototype[e]=function(){var e=this.__wrapped__,s=r?[1]:arguments,c=e instanceof gr,u=s[0],l=c||gs(e),f=function(t){var e=i.apply(pr,tn([t],s));return r&&d?e[0]:e};l&&n&&"function"==typeof u&&1!=u.length&&(c=l=!1);var d=this.__chain__,p=!!this.__actions__.length,h=a&&!d,v=c&&!p;if(!a&&l){e=v?e:new gr(this);var m=t.apply(e,s);return m.__actions__.push({func:Fa,args:[f],thisArg:o}),new mr(m,d)}return h&&v?t.apply(this,s):(m=this.thru(f),h?r?m.value()[0]:m.value():m)})}),Qe(["pop","push","shift","sort","splice","unshift"],function(t){var e=oe[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);pr.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(gs(i)?i:[],t)}return this[n](function(n){return e.apply(gs(n)?n:[],t)})}}),Qr(gr.prototype,function(t,e){var n=pr[e];if(n){var r=n.name+"";le.call(ir,r)||(ir[r]=[]),ir[r].push({name:e,func:n})}}),ir[ho(o,y).name]=[{name:"wrapper",func:o}],gr.prototype.clone=function(){var t=new gr(this.__wrapped__);return t.__actions__=no(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=no(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=no(this.__views__),t},gr.prototype.reverse=function(){if(this.__filtered__){var t=new gr(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},gr.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=gs(t),r=e<0,i=n?t.length:0,o=function(t,e,n){var r=-1,i=n.length;for(;++r=this.__values__.length;return{done:t,value:t?o:this.__values__[this.__index__++]}},pr.prototype.plant=function(t){for(var e,n=this;n instanceof vr;){var r=da(n);r.__index__=0,r.__values__=o,e?i.__wrapped__=r:e=r;var i=r;n=n.__wrapped__}return i.__wrapped__=t,e},pr.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof gr){var e=t;return this.__actions__.length&&(e=new gr(this)),(e=e.reverse()).__actions__.push({func:Fa,args:[Ea],thisArg:o}),new mr(e,this.__chain__)}return this.thru(Ea)},pr.prototype.toJSON=pr.prototype.valueOf=pr.prototype.value=function(){return Hi(this.__wrapped__,this.__actions__)},pr.prototype.first=pr.prototype.head,Le&&(pr.prototype[Le]=function(){return this}),pr}();Ie._=Nn,(i=function(){return Nn}.call(e,n,e,r))===o||(r.exports=i)}).call(this)}).call(this,n(2),n(20)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){var r;!function(e,n){"use strict";"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,function(n,i){"use strict";var o=[],a=n.document,s=Object.getPrototypeOf,c=o.slice,u=o.concat,l=o.push,f=o.indexOf,d={},p=d.toString,h=d.hasOwnProperty,v=h.toString,m=v.call(Object),g={},y=function(t){return"function"==typeof t&&"number"!=typeof t.nodeType},A=function(t){return null!=t&&t===t.window},_={type:!0,src:!0,nonce:!0,noModule:!0};function b(t,e,n){var r,i,o=(n=n||a).createElement("script");if(o.text=t,e)for(r in _)(i=e[r]||e.getAttribute&&e.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?d[p.call(t)]||"object":typeof t}var x=function(t,e){return new x.fn.init(t,e)},C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function T(t){var e=!!t&&"length"in t&&t.length,n=w(t);return!y(t)&&!A(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}x.fn=x.prototype={jquery:"3.4.1",constructor:x,length:0,toArray:function(){return c.call(this)},get:function(t){return null==t?c.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=x.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return x.each(this,t)},map:function(t){return this.pushStack(x.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack(c.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n+~]|"+R+")"+R+"*"),W=new RegExp(R+"|>"),V=new RegExp(F),Q=new RegExp("^"+L+"$"),Y={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},G=/HTML$/i,K=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,X=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,tt=/[+~]/,et=new RegExp("\\\\([\\da-f]{1,6}"+R+"?|("+R+")|.)","ig"),nt=function(t,e,n){var r="0x"+e-65536;return r!=r||n?e:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},rt=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,it=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},ot=function(){d()},at=_t(function(t){return!0===t.disabled&&"fieldset"===t.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{I.apply(B=N.call(b.childNodes),b.childNodes),B[b.childNodes.length].nodeType}catch(t){I={apply:B.length?function(t,e){O.apply(t,N.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}function st(t,e,r,i){var o,s,u,l,f,h,g,y=e&&e.ownerDocument,w=e?e.nodeType:9;if(r=r||[],"string"!=typeof t||!t||1!==w&&9!==w&&11!==w)return r;if(!i&&((e?e.ownerDocument||e:b)!==p&&d(e),e=e||p,v)){if(11!==w&&(f=X.exec(t)))if(o=f[1]){if(9===w){if(!(u=e.getElementById(o)))return r;if(u.id===o)return r.push(u),r}else if(y&&(u=y.getElementById(o))&&A(e,u)&&u.id===o)return r.push(u),r}else{if(f[2])return I.apply(r,e.getElementsByTagName(t)),r;if((o=f[3])&&n.getElementsByClassName&&e.getElementsByClassName)return I.apply(r,e.getElementsByClassName(o)),r}if(n.qsa&&!E[t+" "]&&(!m||!m.test(t))&&(1!==w||"object"!==e.nodeName.toLowerCase())){if(g=t,y=e,1===w&&W.test(t)){for((l=e.getAttribute("id"))?l=l.replace(rt,it):e.setAttribute("id",l=_),s=(h=a(t)).length;s--;)h[s]="#"+l+" "+At(h[s]);g=h.join(","),y=tt.test(t)&>(e.parentNode)||e}try{return I.apply(r,y.querySelectorAll(g)),r}catch(e){E(t,!0)}finally{l===_&&e.removeAttribute("id")}}}return c(t.replace(U,"$1"),e,r,i)}function ct(){var t=[];return function e(n,i){return t.push(n+" ")>r.cacheLength&&delete e[t.shift()],e[n+" "]=i}}function ut(t){return t[_]=!0,t}function lt(t){var e=p.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function ft(t,e){for(var n=t.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=e}function dt(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function pt(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function ht(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function vt(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&at(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function mt(t){return ut(function(e){return e=+e,ut(function(n,r){for(var i,o=t([],n.length,e),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function gt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in n=st.support={},o=st.isXML=function(t){var e=t.namespaceURI,n=(t.ownerDocument||t).documentElement;return!G.test(e||n&&n.nodeName||"HTML")},d=st.setDocument=function(t){var e,i,a=t?t.ownerDocument||t:b;return a!==p&&9===a.nodeType&&a.documentElement?(h=(p=a).documentElement,v=!o(p),b!==p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",ot,!1):i.attachEvent&&i.attachEvent("onunload",ot)),n.attributes=lt(function(t){return t.className="i",!t.getAttribute("className")}),n.getElementsByTagName=lt(function(t){return t.appendChild(p.createComment("")),!t.getElementsByTagName("*").length}),n.getElementsByClassName=Z.test(p.getElementsByClassName),n.getById=lt(function(t){return h.appendChild(t).id=_,!p.getElementsByName||!p.getElementsByName(_).length}),n.getById?(r.filter.ID=function(t){var e=t.replace(et,nt);return function(t){return t.getAttribute("id")===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&v){var n=e.getElementById(t);return n?[n]:[]}}):(r.filter.ID=function(t){var e=t.replace(et,nt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&v){var n,r,i,o=e.getElementById(t);if(o){if((n=o.getAttributeNode("id"))&&n.value===t)return[o];for(i=e.getElementsByName(t),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===t)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&v)return e.getElementsByClassName(t)},g=[],m=[],(n.qsa=Z.test(p.querySelectorAll))&&(lt(function(t){h.appendChild(t).innerHTML="",t.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+R+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||m.push("\\["+R+"*(?:value|"+P+")"),t.querySelectorAll("[id~="+_+"-]").length||m.push("~="),t.querySelectorAll(":checked").length||m.push(":checked"),t.querySelectorAll("a#"+_+"+*").length||m.push(".#.+[+~]")}),lt(function(t){t.innerHTML="";var e=p.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&m.push("name"+R+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),h.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),m.push(",.*:")})),(n.matchesSelector=Z.test(y=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&<(function(t){n.disconnectedMatch=y.call(t,"*"),y.call(t,"[s!='']:x"),g.push("!=",F)}),m=m.length&&new RegExp(m.join("|")),g=g.length&&new RegExp(g.join("|")),e=Z.test(h.compareDocumentPosition),A=e||Z.test(h.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},$=e?function(t,e){if(t===e)return f=!0,0;var r=!t.compareDocumentPosition-!e.compareDocumentPosition;return r||(1&(r=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!n.sortDetached&&e.compareDocumentPosition(t)===r?t===p||t.ownerDocument===b&&A(b,t)?-1:e===p||e.ownerDocument===b&&A(b,e)?1:l?j(l,t)-j(l,e):0:4&r?-1:1)}:function(t,e){if(t===e)return f=!0,0;var n,r=0,i=t.parentNode,o=e.parentNode,a=[t],s=[e];if(!i||!o)return t===p?-1:e===p?1:i?-1:o?1:l?j(l,t)-j(l,e):0;if(i===o)return dt(t,e);for(n=t;n=n.parentNode;)a.unshift(n);for(n=e;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?dt(a[r],s[r]):a[r]===b?-1:s[r]===b?1:0},p):p},st.matches=function(t,e){return st(t,null,null,e)},st.matchesSelector=function(t,e){if((t.ownerDocument||t)!==p&&d(t),n.matchesSelector&&v&&!E[e+" "]&&(!g||!g.test(e))&&(!m||!m.test(e)))try{var r=y.call(t,e);if(r||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(t){E(e,!0)}return st(e,p,null,[t]).length>0},st.contains=function(t,e){return(t.ownerDocument||t)!==p&&d(t),A(t,e)},st.attr=function(t,e){(t.ownerDocument||t)!==p&&d(t);var i=r.attrHandle[e.toLowerCase()],o=i&&S.call(r.attrHandle,e.toLowerCase())?i(t,e,!v):void 0;return void 0!==o?o:n.attributes||!v?t.getAttribute(e):(o=t.getAttributeNode(e))&&o.specified?o.value:null},st.escape=function(t){return(t+"").replace(rt,it)},st.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},st.uniqueSort=function(t){var e,r=[],i=0,o=0;if(f=!n.detectDuplicates,l=!n.sortStable&&t.slice(0),t.sort($),f){for(;e=t[o++];)e===t[o]&&(i=r.push(o));for(;i--;)t.splice(r[i],1)}return l=null,t},i=st.getText=function(t){var e,n="",r=0,o=t.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=i(t)}else if(3===o||4===o)return t.nodeValue}else for(;e=t[r++];)n+=i(e);return n},(r=st.selectors={cacheLength:50,createPseudo:ut,match:Y,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(et,nt),t[3]=(t[3]||t[4]||t[5]||"").replace(et,nt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||st.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&st.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return Y.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&V.test(n)&&(e=a(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(et,nt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=C[t+" "];return e||(e=new RegExp("(^|"+R+")"+t+"("+R+"|$)"))&&C(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,e,n){return function(r){var i=st.attr(r,t);return null==i?"!="===e:!e||(i+="","="===e?i===n:"!="===e?i!==n:"^="===e?n&&0===i.indexOf(n):"*="===e?n&&i.indexOf(n)>-1:"$="===e?n&&i.slice(-n.length)===n:"~="===e?(" "+i.replace(H," ")+" ").indexOf(n)>-1:"|="===e&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),a="last"!==t.slice(-4),s="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,c){var u,l,f,d,p,h,v=o!==a?"nextSibling":"previousSibling",m=e.parentNode,g=s&&e.nodeName.toLowerCase(),y=!c&&!s,A=!1;if(m){if(o){for(;v;){for(d=e;d=d[v];)if(s?d.nodeName.toLowerCase()===g:1===d.nodeType)return!1;h=v="only"===t&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&y){for(A=(p=(u=(l=(f=(d=m)[_]||(d[_]={}))[d.uniqueID]||(f[d.uniqueID]={}))[t]||[])[0]===w&&u[1])&&u[2],d=p&&m.childNodes[p];d=++p&&d&&d[v]||(A=p=0)||h.pop();)if(1===d.nodeType&&++A&&d===e){l[t]=[w,p,A];break}}else if(y&&(A=p=(u=(l=(f=(d=e)[_]||(d[_]={}))[d.uniqueID]||(f[d.uniqueID]={}))[t]||[])[0]===w&&u[1]),!1===A)for(;(d=++p&&d&&d[v]||(A=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==g:1!==d.nodeType)||!++A||(y&&((l=(f=d[_]||(d[_]={}))[d.uniqueID]||(f[d.uniqueID]={}))[t]=[w,A]),d!==e)););return(A-=i)===r||A%r==0&&A/r>=0}}},PSEUDO:function(t,e){var n,i=r.pseudos[t]||r.setFilters[t.toLowerCase()]||st.error("unsupported pseudo: "+t);return i[_]?i(e):i.length>1?(n=[t,t,"",e],r.setFilters.hasOwnProperty(t.toLowerCase())?ut(function(t,n){for(var r,o=i(t,e),a=o.length;a--;)t[r=j(t,o[a])]=!(n[r]=o[a])}):function(t){return i(t,0,n)}):i}},pseudos:{not:ut(function(t){var e=[],n=[],r=s(t.replace(U,"$1"));return r[_]?ut(function(t,e,n,i){for(var o,a=r(t,null,i,[]),s=t.length;s--;)(o=a[s])&&(t[s]=!(e[s]=o))}):function(t,i,o){return e[0]=t,r(e,null,o,n),e[0]=null,!n.pop()}}),has:ut(function(t){return function(e){return st(t,e).length>0}}),contains:ut(function(t){return t=t.replace(et,nt),function(e){return(e.textContent||i(e)).indexOf(t)>-1}}),lang:ut(function(t){return Q.test(t||"")||st.error("unsupported lang: "+t),t=t.replace(et,nt).toLowerCase(),function(e){var n;do{if(n=v?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===h},focus:function(t){return t===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:vt(!1),disabled:vt(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!r.pseudos.empty(t)},header:function(t){return J.test(t.nodeName)},input:function(t){return K.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:mt(function(){return[0]}),last:mt(function(t,e){return[e-1]}),eq:mt(function(t,e,n){return[n<0?n+e:n]}),even:mt(function(t,e){for(var n=0;ne?e:n;--r>=0;)t.push(r);return t}),gt:mt(function(t,e,n){for(var r=n<0?n+e:n;++r1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function wt(t,e,n,r,i){for(var o,a=[],s=0,c=t.length,u=null!=e;s-1&&(o[u]=!(a[u]=f))}}else g=wt(g===a?g.splice(h,g.length):g),i?i(null,a,g,c):I.apply(a,g)})}function Ct(t){for(var e,n,i,o=t.length,a=r.relative[t[0].type],s=a||r.relative[" "],c=a?1:0,l=_t(function(t){return t===e},s,!0),f=_t(function(t){return j(e,t)>-1},s,!0),d=[function(t,n,r){var i=!a&&(r||n!==u)||((e=n).nodeType?l(t,n,r):f(t,n,r));return e=null,i}];c1&&bt(d),c>1&&At(t.slice(0,c-1).concat({value:" "===t[c-2].type?"*":""})).replace(U,"$1"),n,c0,i=t.length>0,o=function(o,a,s,c,l){var f,h,m,g=0,y="0",A=o&&[],_=[],b=u,x=o||i&&r.find.TAG("*",l),C=w+=null==b?1:Math.random()||.1,T=x.length;for(l&&(u=a===p||a||l);y!==T&&null!=(f=x[y]);y++){if(i&&f){for(h=0,a||f.ownerDocument===p||(d(f),s=!v);m=t[h++];)if(m(f,a||p,s)){c.push(f);break}l&&(w=C)}n&&((f=!m&&f)&&g--,o&&A.push(f))}if(g+=y,n&&y!==g){for(h=0;m=e[h++];)m(A,_,a,s);if(o){if(g>0)for(;y--;)A[y]||_[y]||(_[y]=D.call(c));_=wt(_)}I.apply(c,_),l&&!o&&_.length>0&&g+e.length>1&&st.uniqueSort(c)}return l&&(w=C,u=b),A};return n?ut(o):o}(o,i))).selector=t}return s},c=st.select=function(t,e,n,i){var o,c,u,l,f,d="function"==typeof t&&t,p=!i&&a(t=d.selector||t);if(n=n||[],1===p.length){if((c=p[0]=p[0].slice(0)).length>2&&"ID"===(u=c[0]).type&&9===e.nodeType&&v&&r.relative[c[1].type]){if(!(e=(r.find.ID(u.matches[0].replace(et,nt),e)||[])[0]))return n;d&&(e=e.parentNode),t=t.slice(c.shift().value.length)}for(o=Y.needsContext.test(t)?0:c.length;o--&&(u=c[o],!r.relative[l=u.type]);)if((f=r.find[l])&&(i=f(u.matches[0].replace(et,nt),tt.test(c[0].type)&>(e.parentNode)||e))){if(c.splice(o,1),!(t=i.length&&At(c)))return I.apply(n,i),n;break}}return(d||s(t,p))(i,e,!v,n,!e||tt.test(t)&>(e.parentNode)||e),n},n.sortStable=_.split("").sort($).join("")===_,n.detectDuplicates=!!f,d(),n.sortDetached=lt(function(t){return 1&t.compareDocumentPosition(p.createElement("fieldset"))}),lt(function(t){return t.innerHTML="","#"===t.firstChild.getAttribute("href")})||ft("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),n.attributes&<(function(t){return t.innerHTML="",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||ft("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),lt(function(t){return null==t.getAttribute("disabled")})||ft(P,function(t,e,n){var r;if(!n)return!0===t[e]?e.toLowerCase():(r=t.getAttributeNode(e))&&r.specified?r.value:null}),st}(n);x.find=k,x.expr=k.selectors,x.expr[":"]=x.expr.pseudos,x.uniqueSort=x.unique=k.uniqueSort,x.text=k.getText,x.isXMLDoc=k.isXML,x.contains=k.contains,x.escapeSelector=k.escape;var E=function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&x(t).is(n))break;r.push(t)}return r},$=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},S=x.expr.match.needsContext;function B(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function O(t,e,n){return y(e)?x.grep(t,function(t,r){return!!e.call(t,r,t)!==n}):e.nodeType?x.grep(t,function(t){return t===e!==n}):"string"!=typeof e?x.grep(t,function(t){return f.call(e,t)>-1!==n}):x.filter(e,t,n)}x.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?x.find.matchesSelector(r,t)?[r]:[]:x.find.matches(t,x.grep(e,function(t){return 1===t.nodeType}))},x.fn.extend({find:function(t){var e,n,r=this.length,i=this;if("string"!=typeof t)return this.pushStack(x(t).filter(function(){for(e=0;e1?x.uniqueSort(n):n},filter:function(t){return this.pushStack(O(this,t||[],!1))},not:function(t){return this.pushStack(O(this,t||[],!0))},is:function(t){return!!O(this,"string"==typeof t&&S.test(t)?x(t):t||[],!1).length}});var I,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(x.fn.init=function(t,e,n){var r,i;if(!t)return this;if(n=n||I,"string"==typeof t){if(!(r="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:N.exec(t))||!r[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(r[1]){if(e=e instanceof x?e[0]:e,x.merge(this,x.parseHTML(r[1],e&&e.nodeType?e.ownerDocument||e:a,!0)),D.test(r[1])&&x.isPlainObject(e))for(r in e)y(this[r])?this[r](e[r]):this.attr(r,e[r]);return this}return(i=a.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):y(t)?void 0!==n.ready?n.ready(t):t(x):x.makeArray(t,this)}).prototype=x.fn,I=x(a);var j=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};function R(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}x.fn.extend({has:function(t){var e=x(t,this),n=e.length;return this.filter(function(){for(var t=0;t-1:1===n.nodeType&&x.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?x.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?f.call(x(t),this[0]):f.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(x.uniqueSort(x.merge(this.get(),x(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),x.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return E(t,"parentNode")},parentsUntil:function(t,e,n){return E(t,"parentNode",n)},next:function(t){return R(t,"nextSibling")},prev:function(t){return R(t,"previousSibling")},nextAll:function(t){return E(t,"nextSibling")},prevAll:function(t){return E(t,"previousSibling")},nextUntil:function(t,e,n){return E(t,"nextSibling",n)},prevUntil:function(t,e,n){return E(t,"previousSibling",n)},siblings:function(t){return $((t.parentNode||{}).firstChild,t)},children:function(t){return $(t.firstChild)},contents:function(t){return void 0!==t.contentDocument?t.contentDocument:(B(t,"template")&&(t=t.content||t),x.merge([],t.childNodes))}},function(t,e){x.fn[t]=function(n,r){var i=x.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(P[t]||x.uniqueSort(i),j.test(t)&&i.reverse()),this.pushStack(i)}});var L=/[^\x20\t\r\n\f]+/g;function M(t){return t}function F(t){throw t}function H(t,e,n,r){var i;try{t&&y(i=t.promise)?i.call(t).done(e).fail(n):t&&y(i=t.then)?i.call(t,e,n):e.apply(void 0,[t].slice(r))}catch(t){n.apply(void 0,[t])}}x.Callbacks=function(t){t="string"==typeof t?function(t){var e={};return x.each(t.match(L)||[],function(t,n){e[n]=!0}),e}(t):x.extend({},t);var e,n,r,i,o=[],a=[],s=-1,c=function(){for(i=i||t.once,r=e=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--}),this},has:function(t){return t?x.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||e||(o=n=""),this},locked:function(){return!!i},fireWith:function(t,n){return i||(n=[t,(n=n||[]).slice?n.slice():n],a.push(n),e||c()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!r}};return u},x.extend({Deferred:function(t){var e=[["notify","progress",x.Callbacks("memory"),x.Callbacks("memory"),2],["resolve","done",x.Callbacks("once memory"),x.Callbacks("once memory"),0,"resolved"],["reject","fail",x.Callbacks("once memory"),x.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(t){return i.then(null,t)},pipe:function(){var t=arguments;return x.Deferred(function(n){x.each(e,function(e,r){var i=y(t[r[4]])&&t[r[4]];o[r[1]](function(){var t=i&&i.apply(this,arguments);t&&y(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[t]:arguments)})}),t=null}).promise()},then:function(t,r,i){var o=0;function a(t,e,r,i){return function(){var s=this,c=arguments,u=function(){var n,u;if(!(t=o&&(r!==F&&(s=void 0,c=[n]),e.rejectWith(s,c))}};t?l():(x.Deferred.getStackHook&&(l.stackTrace=x.Deferred.getStackHook()),n.setTimeout(l))}}return x.Deferred(function(n){e[0][3].add(a(0,n,y(i)?i:M,n.notifyWith)),e[1][3].add(a(0,n,y(t)?t:M)),e[2][3].add(a(0,n,y(r)?r:F))}).promise()},promise:function(t){return null!=t?x.extend(t,i):i}},o={};return x.each(e,function(t,n){var a=n[2],s=n[5];i[n[1]]=a.add,s&&a.add(function(){r=s},e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),a.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(t){var e=arguments.length,n=e,r=Array(n),i=c.call(arguments),o=x.Deferred(),a=function(t){return function(n){r[t]=this,i[t]=arguments.length>1?c.call(arguments):n,--e||o.resolveWith(r,i)}};if(e<=1&&(H(t,o.done(a(n)).resolve,o.reject,!e),"pending"===o.state()||y(i[n]&&i[n].then)))return o.then();for(;n--;)H(i[n],a(n),o.reject);return o.promise()}});var U=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;x.Deferred.exceptionHook=function(t,e){n.console&&n.console.warn&&t&&U.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},x.readyException=function(t){n.setTimeout(function(){throw t})};var z=x.Deferred();function q(){a.removeEventListener("DOMContentLoaded",q),n.removeEventListener("load",q),x.ready()}x.fn.ready=function(t){return z.then(t).catch(function(t){x.readyException(t)}),this},x.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--x.readyWait:x.isReady)||(x.isReady=!0,!0!==t&&--x.readyWait>0||z.resolveWith(a,[x]))}}),x.ready.then=z.then,"complete"===a.readyState||"loading"!==a.readyState&&!a.documentElement.doScroll?n.setTimeout(x.ready):(a.addEventListener("DOMContentLoaded",q),n.addEventListener("load",q));var W=function(t,e,n,r,i,o,a){var s=0,c=t.length,u=null==n;if("object"===w(n))for(s in i=!0,n)W(t,e,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,y(r)||(a=!0),u&&(a?(e.call(t,r),e=null):(u=e,e=function(t,e,n){return u.call(x(t),n)})),e))for(;s1,null,!0)},removeData:function(t){return this.each(function(){X.remove(this,t)})}}),x.extend({queue:function(t,e,n){var r;if(t)return e=(e||"fx")+"queue",r=Z.get(t,e),n&&(!r||Array.isArray(n)?r=Z.access(t,e,x.makeArray(n)):r.push(n)),r||[]},dequeue:function(t,e){e=e||"fx";var n=x.queue(t,e),r=n.length,i=n.shift(),o=x._queueHooks(t,e);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,function(){x.dequeue(t,e)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return Z.get(t,n)||Z.access(t,n,{empty:x.Callbacks("once memory").add(function(){Z.remove(t,[e+"queue",n])})})}}),x.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length\x20\t\r\n\f]*)/i,gt=/^$|^module$|\/(?:java|ecma)script/i,yt={option:[1,""],thead:[1,"
","
"],col:[2,"
","
"],tr:[2,"
","
"],td:[3,"
","
"],_default:[0,"",""]};function At(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&B(t,e)?x.merge([t],n):n}function _t(t,e){for(var n=0,r=t.length;n-1)i&&i.push(o);else if(u=st(o),a=At(f.appendChild(o),"script"),u&&_t(a),n)for(l=0;o=a[l++];)gt.test(o.type||"")&&n.push(o);return f}bt=a.createDocumentFragment().appendChild(a.createElement("div")),(wt=a.createElement("input")).setAttribute("type","radio"),wt.setAttribute("checked","checked"),wt.setAttribute("name","t"),bt.appendChild(wt),g.checkClone=bt.cloneNode(!0).cloneNode(!0).lastChild.checked,bt.innerHTML="",g.noCloneChecked=!!bt.cloneNode(!0).lastChild.defaultValue;var Tt=/^key/,kt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Et=/^([^.]*)(?:\.(.+)|)/;function $t(){return!0}function St(){return!1}function Bt(t,e){return t===function(){try{return a.activeElement}catch(t){}}()==("focus"===e)}function Dt(t,e,n,r,i,o){var a,s;if("object"==typeof e){for(s in"string"!=typeof n&&(r=r||n,n=void 0),e)Dt(t,s,n,r,e[s],o);return t}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=St;else if(!i)return t;return 1===o&&(a=i,(i=function(t){return x().off(t),a.apply(this,arguments)}).guid=a.guid||(a.guid=x.guid++)),t.each(function(){x.event.add(this,e,i,r,n)})}function Ot(t,e,n){n?(Z.set(t,e,!1),x.event.add(t,e,{namespace:!1,handler:function(t){var r,i,o=Z.get(this,e);if(1&t.isTrigger&&this[e]){if(o.length)(x.event.special[e]||{}).delegateType&&t.stopPropagation();else if(o=c.call(arguments),Z.set(this,e,o),r=n(this,e),this[e](),o!==(i=Z.get(this,e))||r?Z.set(this,e,!1):i={},o!==i)return t.stopImmediatePropagation(),t.preventDefault(),i.value}else o.length&&(Z.set(this,e,{value:x.event.trigger(x.extend(o[0],x.Event.prototype),o.slice(1),this)}),t.stopImmediatePropagation())}})):void 0===Z.get(t,e)&&x.event.add(t,e,$t)}x.event={global:{},add:function(t,e,n,r,i){var o,a,s,c,u,l,f,d,p,h,v,m=Z.get(t);if(m)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&x.find.matchesSelector(at,i),n.guid||(n.guid=x.guid++),(c=m.events)||(c=m.events={}),(a=m.handle)||(a=m.handle=function(e){return void 0!==x&&x.event.triggered!==e.type?x.event.dispatch.apply(t,arguments):void 0}),u=(e=(e||"").match(L)||[""]).length;u--;)p=v=(s=Et.exec(e[u])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=x.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=x.event.special[p]||{},l=x.extend({type:p,origType:v,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&x.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=c[p])||((d=c[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(p,a)),f.add&&(f.add.call(t,l),l.handler.guid||(l.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,l):d.push(l),x.event.global[p]=!0)},remove:function(t,e,n,r,i){var o,a,s,c,u,l,f,d,p,h,v,m=Z.hasData(t)&&Z.get(t);if(m&&(c=m.events)){for(u=(e=(e||"").match(L)||[""]).length;u--;)if(p=v=(s=Et.exec(e[u])||[])[1],h=(s[2]||"").split(".").sort(),p){for(f=x.event.special[p]||{},d=c[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;o--;)l=d[o],!i&&v!==l.origType||n&&n.guid!==l.guid||s&&!s.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(d.splice(o,1),l.selector&&d.delegateCount--,f.remove&&f.remove.call(t,l));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(t,h,m.handle)||x.removeEvent(t,p,m.handle),delete c[p])}else for(p in c)x.event.remove(t,p+e[u],n,r,!0);x.isEmptyObject(c)&&Z.remove(t,"handle events")}},dispatch:function(t){var e,n,r,i,o,a,s=x.event.fix(t),c=new Array(arguments.length),u=(Z.get(this,"events")||{})[s.type]||[],l=x.event.special[s.type]||{};for(c[0]=s,e=1;e=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==t.type||!0!==u.disabled)){for(o=[],a={},n=0;n-1:x.find(i,this,null,[u]).length),a[i]&&o.push(r);o.length&&s.push({elem:u,handlers:o})}return u=this,c\x20\t\r\n\f]*)[^>]*)\/>/gi,Nt=/
diff --git a/resources/views/v1/debug.twig b/resources/views/v1/debug.twig
index 7ea035cdd7..e34ea72fff 100644
--- a/resources/views/v1/debug.twig
+++ b/resources/views/v1/debug.twig
@@ -9,6 +9,9 @@
or existing GitHub issue. It will generate a beautiful table that can
be used to quickly diagnose your problem.
+
+ If you copy/paste the box below into a GitHub issue it will generate a table. Please do not surround this text with backticks or quotes.
+