Commit graph

116 commits

Author SHA1 Message Date
Philipp Rothmann
8eda266340 feat(messages): add html formatting to messages
This commit allows users to use the trix editor to send
messages with basic formatting and attachements.

* add active storage
* add actiontext
* add richtext field to messages
* add imageprocessing for message attachements
* add html email layout and adjust translations to use html urls
2023-02-10 12:28:40 +01:00
fb8ccfea4a rails up to 7.0and ruby to 2.7.2
mv lib to app/lib due to upgrade

removing concerns from autoload path

resolve zeitwerk issues

make foodsoft run for dev on rails 7 and ruby 2.7

fix mail file permission bug

fix database_config

fix articles controller test ActiveModell::Error

bump Gemfile.lock
2023-01-17 16:35:04 +01:00
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
7d5155bef6 Add option to ignore financial transaction when calculating the balance 2021-02-17 14:07:03 +01:00
Florian Lentsch
8e12b15c88 On #805: Turn bigint IDs back into normal integers
see https://stackoverflow.com/questions/44390225/how-to-turn-off-bigint-primary-keys-in-rails-5-1
and https://edgeguides.rubyonrails.org/5_1_release_notes.html#active-record-notable-changes
2021-02-07 13:03:27 +01:00
Florian Lentsch
a96dbd563b Migrations for new received order state (s. #779) 2021-02-05 12:05:23 +01:00
Florian Lentsch
64113ab7f6 Closes #805 - updated db/schema.rb to Rails 5.2 dump 2021-02-05 11:30:19 +01: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
4c567fece1 Add transport costs to Order 2020-08-07 00:52:43 +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
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
wvengen
8c8b42c2b2 Fix schema issue 2020-07-25 15:57:53 +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
5b04b65cd8 Run db:schema:dump with MariaDB
Most of the recent schema changes have been made with SQLite. Since we
recommend MariaDB for production use, our schema should match the database.
2019-11-13 11:40:17 +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
Patrick Gansterer
9b307f735a Fix financial_links table in schema.rb 2018-10-15 22:40:25 +02: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
9e0ec35e9c Fix schema version (closes foodcoops/foodsoft#425) 2016-03-30 20:27:00 +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