Commit Graph

548 Commits

Author SHA1 Message Date
Patrick Gansterer 602f663245 Add UI to show and create financial transactions for the foodcoop 2020-07-29 11:43:45 +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 e16f03eebf Add reference_calculator 2020-07-29 11:02:58 +02:00
wvengen b96ce06d94
API v1 financial_transactions endpoints (#627) 2020-07-25 14:18:59 +00:00
Patrick Gansterer 5a9cc811c9 Add download for articles 2020-06-22 16:35:22 +02:00
Patrick Gansterer b6f5295267 Add created_by user to Task 2020-04-11 00:04:49 +02:00
Patrick Gansterer a3946ed3d4 Add missing authorization for InvoicesController 2020-04-11 00:04:35 +02:00
Patrick Gansterer a3defc5463 Add FinacialTransaction create_collection for ordergroup custom fields
Custom fields of an ordergroup can set financial_transaction_source to
true, to act as an source for a new collection of FinacialTransaction.

A typical usecase would be a variable membership fee, which will be stored
in a custom field on the ordergroup. When a new membership period begins
a collection with all membership fees can be created with one click.
2020-03-23 17:40:18 +01:00
Patrick Gansterer d73c206e29 Fix copy operation for stock orders
Stock orders have the supplier_id set to zero, which will be ignored
in the url-method by rails. Only use the order_id to fix this.
2020-03-23 17:20:21 +01:00
Patrick Gansterer 3fb3fa409b Limit financial overview items to speed up loading
If a foodcoop does not use the balancing feature the list of unfinished
orders will be very long and needs a significant amount of time to load.
2020-03-23 16:29:30 +01:00
Patrick Gansterer ab912877c3 Fix query in HomeController::ordergroup 2020-03-23 16:23:13 +01:00
Patrick Gansterer e606f606da Convert configuration parameters to Hash for passing to FoodsoftConfig
This is required for compatibility with Rails 5.0.
2020-03-23 16:18:58 +01:00
Patrick Gansterer ecb4a8a4ba Add method to close all invoices with an invoice direct
When the charge_members_manually option is active there is no need for an
explicit balancing step. This new function allows to close_direct all
orders which have an assigned invoice, which is usually indication enough
to find orders which can be closed finally.
2020-02-28 12:17:27 +01:00
Patrick Gansterer 5d84156bd8 Add BankAccountConnector to implement bank import methods in plugins 2020-02-24 14:30:03 +01:00
Patrick Gansterer 640e230d88 Fix usage of task_params in TasksController 2020-02-18 19:06:26 +01:00
Patrick Gansterer 341f86d98e Fix invoice redirect 2020-02-18 19:02:34 +01:00
Patrick Gansterer 9babb6cfe9 Fix rendering of financial transaction types sums 2019-11-11 13:57:06 +01:00
Patrick Gansterer eb8241cf04 Fix rescue in Admin::MailDeliveryStatusController#destroy 2019-11-11 11:11:33 +01:00
Patrick Gansterer e498f9cb58 Add default roles for users
Some foodcoops want to give some roles to every member by default,
without adding every users to a workgroup.
2019-11-04 11:39:33 +01:00
Patrick Gansterer ff76fa60c0 Allow deletion of financial transactions 2019-11-01 20:56:00 +01:00
Patrick Gansterer 260ef90f6b Add option to create a financial_link when creating financial_transaction
If multiple financial transaction belong to a bank transaction, it
is sometimes easier to create them as a collection and add the bank
transaction instead of adding all financial transaction to a link
created via a bank transaction.
2019-10-30 22:27:18 +01:00
Patrick Gansterer c559a31a9e Fix and clean up bank account translations for English and German 2019-10-30 12:42:41 +01:00
Patrick Gansterer 1550eedb5a Add additional eager loading annotations 2019-10-30 11:53:44 +01:00
Patrick Gansterer 39aff78f11 Remove protected_attributes gem
We do not enforce the rules, so removing it and switching the existing
annotations to strong_parameters does not make our situation worse.
2019-10-29 18:09:24 +01:00
Patrick Gansterer d4ab0a055f Fix "Cannot infer root key from collection type." in UserController 2019-10-29 17:46:04 +01:00
Patrick Gansterer 8e2ca5e7d7 Add automatic generation of financial transactions and links 2019-10-29 13:52:56 +01:00
Patrick Gansterer 2100c738af Change deprecated *_filter methods to *_action 2019-10-29 09:41:01 +01:00
JuliusR 71bdf3bfcc Allow to copy articles (PR #673, #541) 2019-10-14 07:25:34 +00:00
JuliusR 2d0a81c92d Fix and cleanup stock takings (PR #667) 2019-05-14 14:24:41 +00:00
wvengen e9be38b3e9 Add OAuth scopes
https://github.com/foodcoops/foodsoft/issues/582#issuecomment-442513237
2019-04-03 17:20:44 +00:00
wvengen 25deefced1 Move setting availability to sync method 2019-03-24 22:14:10 +01:00
Patrick Gansterer 5dab748fe3 Move sending of PDF into new ActiveSupport::Concern 2019-02-02 12:30:42 +01:00
Patrick Gansterer 52323b98b8 Fix create_collection in FinancialTransactionsController 2019-01-17 20:27:43 +01:00
Patrick Gansterer 71fd6f2a24 Add CSV download for ordergroups 2019-01-15 04:50:32 +01:00
Patrick Gansterer 389f205a6b Add set_balance to FinancialTransactions#new_collection (fixes #438)
A new checkbox will allow user to set the balance to a given ABSOLUTE value
in addition to changing it by a RELATIVE value. This can be used if the
balance is tracked outside of foodsoft and should be syncroniced or for
setting the balance to zero for multiple ordergroups.
2019-01-15 04:44:16 +01:00
Patrick Gansterer 8c6d48da86 Avoid ActionView::MissingTemplate occurred in sessions#new
Some browser request /:foodcoop/login with the HTTP-Accept-Header set
to "image/webp,image/*;q=0.8", which leads to an internal server error
due to a not existing template. Call respond_to to allow only html and
respond with the correct "406 Not Acceptable" HTTP status code.
2019-01-15 04:18:47 +01:00
wvengen 554be093b9 API v1 navigation endpoint 2018-10-13 20:41:47 +02:00
wvengen 9c5a5d9492 API v1 config endpoint 2018-10-13 20:41:47 +02:00
wvengen 110c7cc3e9 API v1 user endpoint 2018-10-13 20:41:47 +02:00
wvengen fd96b6ccc1
Prepare for API v1 (PR #570) 2018-10-13 20:16:35 +02:00
Patrick Gansterer 4eef0f07d5 Fix internal server error at invoices 2018-10-12 15:47:16 +02:00
Patrick Gansterer 903086ab97 Add import route for bank_transactions 2018-10-12 15:47:02 +02:00
Patrick Gansterer 707501e3f8 Add edit functionality for financial links 2018-10-12 13:18:23 +02:00
Patrick Gansterer f0a55fb951 Add model and views for bank accounts 2018-10-11 22:29:15 +02:00
Patrick Gansterer 66e9629858 Fix balancing with financial_transaction_types 2018-06-11 15:54:18 +02:00
Patrick Gansterer ac11ba1cc1 Add pickups role 2018-01-25 18:09:29 +01:00
Patrick Gansterer 209ad615b4 Add view to sort orders by pickup day 2017-12-09 12:56:34 +01:00
Patrick Gansterer dae4d075fe Add UI to manage the financial transaction types and classes 2017-12-09 11:51:23 +01:00
Patrick Gansterer 924f346b4c Show the financial transaction type if there are more than one type #367 2017-12-09 11:51:23 +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 47e4a9afdf Show only 2 tasks of the same periodic_task_group at dashboard 2017-10-28 20:17:45 +02:00
Patrick Gansterer ad96159336 Sort the task at dashboard by due_date 2017-10-28 20:17:45 +02: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 6989e2f4f7 Add view for unpaid invoices 2017-10-26 21:27:26 +02:00
Patrick Gansterer 564492afe4 Add an option to automatically finish an order 2017-10-12 21:14:29 +02:00
Patrick Gansterer 7d112516a1 Fix error code when opening an invalid group order 2017-10-12 01:28:26 +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 f27bbc2ffa Add a button to send the order to the supplier 2017-10-10 23:45:37 +02:00
Patrick Gansterer b4ce8c31cc Use only the HTML format during rendering of error responses 2017-10-10 20:24:50 +02:00
Patrick Gansterer 8fe633fc42 Include nested objects in database queries of Finance::BaseController 2017-10-02 19:06:39 +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 01950b48a1 Add Discourse SSO to allow login into Discourse via Foodsoft 2017-10-01 00:48:05 +02:00
Patrick Gansterer 52dc7b1387 Raise a RoutingError for unknown foodcoop in multi_coop_installs
This gives the correct error code for request to files in the root
folder (e.g. /apple-touch-icon.png), which do not exist.
2017-09-25 10:16:03 +02:00
Patrick Gansterer 0edc780ec7 Add Discourse plugin 2017-09-22 13:58:00 +02:00
Patrick Gansterer f8662c9184 Redirect to root_url of default_scope when no slug is given 2017-08-29 23:40:48 +02:00
Patrick Gansterer 329ac66cf1 Show only undeleted users in user select input fields (PR #486) 2017-08-21 11:27:02 +02:00
Patrick Gansterer c6297f2864 Sort workgroups of tasks by name 2017-08-20 01:08:47 +02:00
Patrick Gansterer c312bd5ebd Fall back to default_scope if an invalid foodcoop is provided
Before this change foodsoft redirect to the last active foodcoop, when
an invalid foodcoop is provided. After this change the default_scope
will be used all the time to avoid data disclosure.
2017-07-08 00:09:42 +02:00
Patrick Gansterer 8ed87730a8 Fix listing of shared suppliers 2017-03-04 13:17:46 +01:00
wvengen be287cf67e Fix new stock article failing 2016-05-20 21:30:56 +02: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 6a7b0ae409 Fix sync ignored article count 2016-04-16 21:15:53 +02:00
wvengen 4433a665e4 Merge pull request #421 from foodcoop1040/edit_links
Add page to edit deliveries and orders linked to an invoice
2016-03-11 13:39:27 +01:00
Patrick Gansterer efb929e64f Allow editing of linked deliveries and orders at invoice 2016-03-11 13:23:13 +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 e16a0fb336 Add config option to disable the invites
Some foodcoops require that an admin adds all users to have more control
over the users.
2016-03-06 13:56:33 +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 4cae94eff9 Sort Task index 2016-03-04 17:14:43 +01:00
Patrick Gansterer 9ae7c05a89 Create next tasks directly after creating a periodic task 2016-03-04 17:13:16 +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
Patrick Gansterer 273969ac90 Change sort order of ordergroups to ascending
Since we sort usually sort list ascending it seams strange to do this
different for ordergroups. So align the sort order with the other lists.
2016-03-04 15:59:35 +01:00
Patrick Gansterer 460cf1e82c Change relationship of invoices #390
This change will allow us to have invoices for more than one order/delivery
in the future. There are no UI changes for now.
2016-03-04 15:55:39 +01:00
Patrick Gansterer 3d6f908102 Add created_by to invoice and show it 2016-02-24 00:39:07 +01:00
wvengen a03789e048 Add optional boxfill phase to orders 2015-11-13 18:10:46 +01:00
wvengen c1413ff817 Allow clearing default order schedule 2015-10-23 14:53:01 +02:00
wvengen 9efa9d5d43 Handle errors using Gaffe 2015-07-21 00:08:17 +02:00
wvengen b07e855235 Make compatible with Ruby 2.0 2015-06-05 15:35:19 +02:00
wvengen ec03d579d0 Merge branch 'feature/edit-recurring-task'
Conflicts:
	config/locales/en.yml
2015-05-08 20:10:23 +02:00
wvengen a00e7c94be Rework user-interface for editing recurring tasks 2015-05-08 17:39:20 +02:00
Robert a8a434ef7b Move due date according to delta 2015-05-01 21:31:06 +02:00
Robert fd51b07e21 Allow editing recurring task groups, basic functionality for #152 2015-05-01 21:14:16 +02:00
wvengen aa7a2a31ae Bundle update & restructure tests (RSpec 3) 2015-04-25 17:14:37 +02:00
wvengen 5d47171b76 Improve upload error handling 2015-04-17 18:44:38 +02:00
wvengen c30ec67548 Allow synchronising units when uploading 2015-04-11 02:52:57 +02:00
wvengen 4d1e102f47 Checkbox to remove articles not in upload 2015-04-11 02:52:57 +02:00
wvengen 6ce1b7f928 Handle errors in upload and sync form 2015-04-11 02:52:57 +02:00
wvengen d5a7f6a074 Move file import logic to model 2015-04-11 02:52:57 +02:00
wvengen 16e9210035 Fix title of new upload screen 2015-04-11 02:52:57 +02:00