Commit Graph

127 Commits

Author SHA1 Message Date
Patrick Gansterer 1798aad5e2 Use decimal to store number of billed/received units 2022-02-18 12:46:31 +01:00
Patrick Gansterer 87fe9ccdb1 Add model for BankGateway 2022-02-18 10:09:15 +01:00
Patrick Gansterer 7e60ce6ce2 Add BankAccount to SupplierCategory 2022-02-18 10:09:15 +01:00
Patrick Gansterer 19efd68c5f
Add support for ActiveStorage (PR #852) 2022-01-31 08:44:53 +01:00
Patrick Gansterer 38193e43a9 Add missing migration file and translations after 7d5155b 2021-03-05 11:31:57 +01:00
Patrick Gansterer ea2862fdef Run rubocop --fix-layout and remove encoding comments 2021-03-02 09:12:19 +01:00
Florian Lentsch a96dbd563b Migrations for new `received` order state (s. #779) 2021-02-05 12:05:23 +01:00
Patrick Gansterer 00bb10d14a Fix CreateStockEvents migration for DBs without Delivery and/or StockTaking 2020-09-07 13:55:48 +02:00
Patrick Gansterer 74531f90c7 Add Rails release to ActiveRecord::Migration 2020-09-05 14:40:11 +02:00
Patrick Gansterer 785313ac23 Make StockEvent a base class for Delivery and StockTaking
This helps to share code between the two entities and allows easier
extensions in the future.
2020-09-05 13:52:18 +02:00
Patrick Gansterer a5582e9542 Rename Delivery.delivered_on to date
This aligns it with column names of StockTaking and us to use inheritance
in a next step to share common code between the entities.
2020-09-05 13:52:18 +02:00
Patrick Gansterer 3a6276aece Ensure that the article_id is set for every article_price
This addresses the TODO from dc92de771e.
2020-09-04 12:29:17 +02:00
Patrick Gansterer 5f60844a13 Change supplier_id of stock orders to NULL 2020-09-04 12:26:19 +02:00
Patrick Gansterer 4c567fece1 Add transport costs to Order 2020-08-07 00:52:43 +02:00
Patrick Gansterer 8cb70d819e Change ordergroup default in FinancialTransaction to NULL
The AllowEmtpyOrdergroupInFinancialTransaction migration only changed the
possibility to store NULL values, but did not set the default to NULL.
2020-08-07 00:36:46 +02:00
Patrick Gansterer d52315287d Use the correct Unicode character in MarkAsDeletedWithName 2020-07-31 21:44:46 +02:00
Patrick Gansterer 6b400b4f96 Increase choices size for polls
MariaDB/MySQL stores the array as serialized string, so the current
limit of 255 is too small to store all choices.
2020-07-31 21:43:56 +02:00
Patrick Gansterer d90d188dbf Add SupplierCategory
This allows the categorization of suppliers. For a better reporting
it is necessary to split the expenses of the invoices.
E.g. we want to be able to generate independent sums of general cost
like the rent or electricity and the cost of the bought articles.
2020-07-30 17:46:07 +02:00
Patrick Gansterer fc22a97f52 Nullify deliveries and orders depending on an invoice (#718) 2020-07-29 15:12:48 +02:00
Patrick Gansterer 1a49bee42d Adopt model to allow FinancialTransaction without an ordergroup
This will allow us to add accounting for the foodcoop itself, to support
listing for spendings independent of the order (e.g. rent, electricity).
2020-07-29 11:43:31 +02:00
Patrick Gansterer 7657b05787 Add links plugin
This can be used to link to external services related to the foodcoop.
With the indirect mode it is possible to implement a secure login to other
services. In that case Foodsoft will send a HTTP GET request and redirect
the user to the returned Location header. This allows the generation of
a one-time login URL.
A typical use-case would be that a workgroup, which is responsible for
the email account, does not need to share the login credentials and can
use a link within the Foodsoft instead.
2020-07-29 11:25:04 +02:00
Patrick Gansterer e16f03eebf Add reference_calculator 2020-07-29 11:02:58 +02:00
Patrick Gansterer b6f5295267 Add created_by user to Task 2020-04-11 00:04:49 +02:00
Patrick Gansterer 17059a8104 Adopt model to reference GroupOrder in generated FinancialTransaction 2020-03-17 09:38:44 +01:00
Patrick Gansterer d476993321 Add polls plugin 2020-02-24 14:27:22 +01:00
Patrick Gansterer ff76fa60c0 Allow deletion of financial transactions 2019-11-01 20:56:00 +01:00
Patrick Gansterer f8148e7d30 Store message receivers in a new table instead of in a serializied value 2019-10-29 13:40:11 +01:00
wvengen 99ecb75c83 Add required column for Doorkeeper 5 2019-04-03 17:08:38 +00:00
Patrick Gansterer c955a6ee40 Add a printer job queue via the printer plugin 2019-02-05 23:32:20 +01:00
wvengen fd96b6ccc1
Prepare for API v1 (PR #570) 2018-10-13 20:16:35 +02:00
Patrick Gansterer 0bb0536903 Add short name to FinancialTransactionType 2018-10-12 13:33:41 +02:00
Patrick Gansterer f0a55fb951 Add model and views for bank accounts 2018-10-11 22:29:15 +02:00
Patrick Gansterer ac11ba1cc1 Add pickups role 2018-01-25 18:09:29 +01:00
Patrick Gansterer e7657b987f Update model to support financial transactions #367
This change introduces two new data types to group the financial
transactions. Now every transaction has a "type", which itself belongs
to a "class".
Types should be used add structured information to an transaction, instead
of writing it into the notice textfield. E.g. this could be used to have
different types depending on the source of money (cash vs. bank transfer).
Classes are shown as different columns in the tables and will be uses to
group transactions of specific types. They should be used if not the whole
amount of ordergroup should be used to order food. E.g. if there is a
deposit or membership fee, which is independent of the normal credit.
This will allow us to implement additional features based on classes in
the future. E.g. the sum of transactions in the "membership fee" class
must be positive to allow food orders or show a big warning if it is bellow
a certain value.
2017-12-09 11:51:23 +01:00
Patrick Gansterer dc94e98138 Add folders to the documents plugin 2017-11-21 10:12:13 +01:00
Patrick Gansterer 53bb096046 Add FinancialLinks
For now this is only usefull for plugins, since there is no UI.
2017-10-28 20:17:16 +02:00
Patrick Gansterer 564492afe4 Add an option to automatically finish an order 2017-10-12 21:14:29 +02:00
Patrick Gansterer c3927e4013 Enable documents plugin by default 2017-10-12 20:46:39 +02:00
Patrick Gansterer f509f85327 Save the timestamp of the last mail to supplier and confirm resending it 2017-10-11 23:48:27 +02:00
Patrick Gansterer 97abcabffa Log mail delivery errors to database and add an UI for it 2017-10-02 16:02:39 +02:00
Patrick Gansterer c6731b4e4f Add IBAN field to supplier and user model 2017-01-21 22:43:48 +01:00
Patrick Gansterer 749791bb7a Add possibility to add an attachment to an invoice #345 2016-05-06 15:04:58 +02:00
wvengen 8d5467ab7c Merge pull request #355 from foodcoop1040/expeted_delivery_date
Add expected delivery date
2016-05-04 17:42:29 +02:00
Patrick Gansterer f286dd6053 Add pickup date
This additional date helps users to find the correct order if the time
between end and pickup varies a lot.
2016-04-29 15:28:05 +02:00
wvengen b067808937 Merge pull request #404 from foodcoop1040/ordergroup_break
Add break to ordergroup
2016-03-11 13:48:57 +01:00
Patrick Gansterer 9c4d9d5c20 Add stock group order
This allows us to add additional items to an order, which do not belong
a specific user, but will be put into stock. The benefit of this change
is that we use the same order for ordergroups and stock.
2016-03-11 13:15:16 +01:00
Patrick Gansterer 253512eb51 Add break to ordergroup
In some foodcoops it is possible that ordergroups make a break. During that
they e.g. pay reduced or no membership fees and do not need to do work for
the foodcoop. This new fields make this visible to all members.
2016-03-08 04:38:13 +01:00
Patrick Gansterer b05ac2ab64 Add deleted_at for User
Do not remove the user from the database. Mark as deleted instead.
2016-03-04 19:03:52 +01:00
Patrick Gansterer 4e35e2d58e Add handling for message reply via email
If the reply_email_domain configuration is set the messages plugin will
use unique Reply-To addresses for every email. They contain enough
information to reconstruct the message context and a hash to avoid
user forgery and spam.
A mail transfer agent must be configured to call the new rake task
foodsoft:parse_reply_email for incoming mails. The rake task requires
the receipt of the mail in the RECIPIENT variable and the raw message
via standard input. An example invocation would look like:
rake foodsoft:parse_reply_email RECIPIENT=f.1.1.HASH < test.eml
2016-03-04 18:11:27 +01:00
Patrick Gansterer 1315103a7d Add role_invoices
This new role allows users to create invoices without role_finance. Users
can then only modify their own created invoices until somebody with the
role_finance sets the paid_on value.
2016-03-04 16:06:02 +01:00