1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-10 21:24:20 +01:00
Commit Graph

488 Commits

Author SHA1 Message Date
Sylvain
634da414f8 (feat) When a payment schedule is in error or canceled, ability to re-enable it with another payment method 2022-01-17 12:38:53 +01:00
Sylvain
d8568f47ad (bug) if a specialized VAT rate was defined when the VAT was disabled, the resulting VAT rate is wrong 2022-01-12 14:57:56 +01:00
Sylvain
a91610f530 Optimized multiple DB queries 2022-01-11 16:04:14 +01:00
Nicolas Florentin
217f2f3a3c bug fix: xlsx export are not corrupted anymore 2022-01-06 13:43:51 +01:00
Sylvain
f3f15a2b9d Ability to cancel a payement schedule from the interface 2022-01-03 17:13:35 +01:00
Sylvain
00b9bce587 export collected VAT by rate 2021-12-29 17:00:54 +01:00
Sylvain
16242d2127 frontend invoice configuration page uses multiVAT 2021-12-29 12:08:50 +01:00
Sylvain
9286738b69 add comments in complex VAT history function 2021-12-29 10:57:59 +01:00
Sylvain
44853930ed WIP: improve VatHistoryService 2021-12-28 19:42:04 +01:00
Du Peng
d52b8bde06 fix bug: accounting period export 2021-12-28 13:45:29 +01:00
Du Peng
0868cee6d9 fix bug: multi VAT setting no exsit 2021-12-28 13:45:29 +01:00
Du Peng
c5211e98e3 generate invoice with multi vat 2021-12-28 13:45:28 +01:00
Du Peng
5e8c90458b vat history service receive invoice item param 2021-12-28 13:45:28 +01:00
Vincent
934ac309a1 Merge branch 'dev' into 'spaces_multiprices'
# Conflicts:
#   CHANGELOG.md
2021-12-22 14:29:56 +00:00
Sylvain
61f432914c optimize payment schedules list loading 2021-12-21 17:27:51 +01:00
Sylvain
d6b30875a4 compute the price based on custom durations 2021-12-20 17:08:14 +01:00
Sylvain
1a672b0644 stave start date in subscription schedule 2021-10-18 15:19:58 +02:00
Sylvain
4c56dffc04 remove deprecated code and endpoints 2021-10-18 10:15:48 +02:00
Sylvain
fd39eaf2f1 fix renew subscription API
TODO:
- remove old endpoints
- bug in UI (start date invalid)
- fix tests
- payzen
2021-10-15 17:31:01 +02:00
Sylvain
315e899540 [WIP] fix tests 2021-10-14 18:20:10 +02:00
Sylvain
336a4b789c proceed with payment on subscription renewal 2021-10-13 17:39:39 +02:00
Sylvain
17a0baac7e refactored free subscription extending 2021-10-12 14:07:35 +02:00
Sylvain
2b088ff035 Merge branch 'extend_subscription' into dev 2021-10-07 18:04:38 +02:00
Sylvain
3663f8ab86 full stripe subscription code refacto
TODO: test
2021-10-06 17:09:35 +02:00
Sylvain
8b811a1b3e improved syntax 2021-10-06 08:56:16 +02:00
Du Peng
a9f431a6a2 fix bug: offer and extends subscription 2021-10-06 08:56:16 +02:00
Du Peng
235fd2e58a Merge branch 'buy_pack_for_plan_option' into dev 2021-09-21 18:01:54 +02:00
Du Peng
1c54e54c17 use plant.base_name instands of plan.name 2021-09-21 18:00:48 +02:00
Du Peng
f2dd1bbcd2 add an option Subscription valid for purchase and use of a prepaid pack 2021-09-20 19:43:05 +02:00
Du Peng
2973dec6a7 rewrite payment schedule workflow by stripe 2021-09-08 18:57:10 +02:00
Du Peng
d3bc26794c fix bug: cant generate avoir for wallet 2021-08-06 11:12:22 +02:00
Du Peng
524b2c97bb fix bug: statistic service cant run 2021-08-02 17:10:20 +02:00
Sylvain
95d8f1d204 [bug] do not include fully used packs in user's packs 2021-07-02 14:27:30 +02:00
Sylvain
520d3e0a74 remove warning duplicate constant declaration 2021-07-01 10:05:04 +02:00
Sylvain
6c326c7209 compute price according to prepaid hours
Also: handle prepaid hours decreasing when used
2021-06-30 10:53:05 +02:00
Sylvain
baf41588d3 packs summary component 2021-06-29 11:14:36 +02:00
Sylvain
f56b8eae75 admin can configure renew threshold 2021-06-29 09:07:11 +02:00
Sylvain
1aad4891c1 buy prepaid-pack a hours from modal 2021-06-28 18:17:11 +02:00
Sylvain
f16cbc44ff WIP: buy pack modal 2021-06-25 17:24:34 +02:00
Sylvain
1a65b97653 Merge branch 'dev' into prepaid 2021-06-24 17:15:17 +02:00
Sylvain
07017e4a49 [bug] stripe subscription generation fails if the user already has a subscription 2021-06-24 16:52:47 +02:00
Sylvain
8cc4811794 edit machines pricings 2021-06-22 17:56:13 +02:00
Sylvain
d7ba83f6a0 WIP: migrate machine pricing edition interface to react 2021-06-22 11:13:44 +02:00
Sylvain
d54f30e048 WIP: interface to configure packs 2021-06-21 17:39:48 +02:00
Sylvain
569be57a1f [bug] a message tells that creating a new plan fails, but it worked 2021-06-14 16:53:52 +02:00
Sylvain
27ac345588 remove reference to stripe in user creation workflow 2021-06-14 15:14:14 +02:00
Sylvain
13fae70277 test payzen endpoints 2021-06-09 18:48:51 +02:00
Sylvain
68f64cfc5c update the card for payment schedules 2021-06-04 18:26:20 +02:00
Sylvain
89adcf1a9d WIP: pay item 2021-06-03 16:25:42 +02:00
Sylvain
dc0a75e52d verify each deadlines on payzen for payment schedules 2021-06-03 12:22:37 +02:00
Sylvain
87cd41794e WIP: payzen subscription
TODO: retreive the payzen subscription from PayZen::Item
2021-06-02 20:07:53 +02:00
Sylvain
209bde9f28 refreshed all footprints in fixtures, all tests passing 2021-05-31 17:14:42 +02:00
Sylvain
d0011a10f0 check for slots restricted to subscribers at cart level 2021-05-31 15:39:56 +02:00
Sylvain
55b0e25ee9 generate footprints in a reproductible way 2021-05-31 12:53:28 +02:00
Sylvain
36e173fb43 test presence of footprint debug data 2021-05-31 12:19:28 +02:00
Sylvain
db58ee28c0 migration to object[]
TODO: fix invoices checksums
2021-05-31 11:52:53 +02:00
Sylvain
d942d46632 WIP: migration to object[]
TODO: fix running tests, fix front-end
2021-05-28 17:34:20 +02:00
Sylvain
6cd74ac33e remove references to PaymentSchedule.scheduled 2021-05-27 16:11:23 +02:00
Sylvain
5f5ec8dbb6 remove references to Invoice.invoiced 2021-05-27 15:58:55 +02:00
Sylvain
13f50c0e33 remove references to WalletService.transactable 2021-05-27 13:43:54 +02:00
Sylvain
b938232c19 Merge branch 'dev' into payzen 2021-05-25 14:06:30 +02:00
Sylvain
ecf80b0591 ability to set invoices as erroneous 2021-05-24 16:34:27 +02:00
Sylvain
c7a59c8cb7 WIP: refactoring to singularize the booking process
We need to achieve only one process for all booking, not one for subscription, one for reservations, etc.
Moreover we must store one object per invoice_item/payment_schedule_object and stop using Invoice.invoiced or PaymentSchedule.scheduled
2021-05-21 18:25:18 +02:00
Sylvain
66f81a975e WIP: array of items
Migration from cart_items:{reservation:{}, subscription:{}, ...}
to cart_items:{items:[{reservation:{}, ...}], ...}
2021-05-19 18:12:52 +02:00
Sylvain
1f9a7ba6cc fix debugging footprints 2021-05-17 17:04:52 +02:00
Sylvain
6bcd9f6fef Merge branch 'dev' into payzen 2021-05-17 15:07:41 +02:00
Sylvain
390f62fd41 [bug] the count of successfully updated events was not correct 2021-05-12 15:53:32 +02:00
Sylvain
e3187460ea create payment schedules on payzen
Also: make generic the creation of products on remote gateway
Also: make generic the call to gateway specific actions
2021-04-30 16:07:19 +02:00
Sylvain
dbdedadf8c fix price computation in front-end 2021-04-28 16:22:22 +02:00
Sylvain
d5f7bd7abd fix test Reservations::CreateTest
create subscription w/ the reservation if applicable
+ refactor payments_controller to factorize the on_*_success codes
2021-04-26 17:42:03 +02:00
Sylvain
53e9a1c4f2 fix running test create_as_admin_test
- do not create an empty payment gateway object if not needed
2021-04-26 12:00:07 +02:00
Sylvain
b9e8c8867c fix running test renew_as_admin_test 2021-04-26 11:40:26 +02:00
Sylvain
bc6ef8ef50 WIP: move backend code base to new architecture
- from stripe only to payment gateway abstract
- from reservation params style to unified cart_items

TODO: fix not passing tests,
subscriptions/renew_as_admin_test.rb fails because InvoiceItem(9).amount = nil
2021-04-23 17:54:59 +02:00
Sylvain
94cbcd3236 refactor to use the new price computation system based on ShoppingCart 2021-04-23 12:52:06 +02:00
Sylvain
e456ddc7c9 WIP: refactor the price computation system 2021-04-22 19:24:08 +02:00
Sylvain
26dfbef5e1 WIP: refactor models to use payment_gateway_objects 2021-04-21 17:38:06 +02:00
Sylvain
434ec9c205 refactored Invoices to get rid of stripe references 2021-04-20 17:22:53 +02:00
Sylvain
a897d37b2d improved footprint debug process 2021-04-16 16:03:10 +02:00
Sylvain
343b2f7d23 refactor code related to archiving 2021-04-16 10:34:02 +02:00
Sylvain
1bbb8c3965 move the architecture from stripe-only to gateway-generic 2021-04-15 17:01:52 +02:00
Sylvain
1749dea0e2 fix tests 2021-03-23 12:32:59 +01:00
Sylvain
a5b3728f8c [bug] various fixes on accouting exports
- accounting exports may ignore some invoices for the first and last days
- file caching for accounring exports is not used
2021-03-22 17:42:54 +01:00
Sylvain
e9185bd402 [bug] recurring availabilities are not restricted to subscribers 2021-03-22 10:43:45 +01:00
Sylvain
d7056f0adc fix footprints checking for payment schedule items 2021-02-23 14:04:42 +01:00
Sylvain
305e462011 on stripe subscription renew: cancel subscription after the last deadline 2021-02-22 11:28:52 +01:00
Sylvain
c478ade85c fix admin operations on subscriptions w/ schedules 2021-02-10 17:24:03 +01:00
Sylvain
ecb23c02b9 fix extend susbcription w/ payment schedule 2021-02-10 13:32:13 +01:00
Sylvain
f3ad59d33a fix cancel schedule 2021-02-09 16:26:09 +01:00
Sylvain
ff0c69fc58 stripe card update + cancel subscription 2021-02-09 15:44:56 +01:00
Sylvain
d1584604b3 fix a rounding error with coupons 2021-02-08 15:42:45 +01:00
Sylvain
0e7226c85c handle stripe requires_action 2021-02-08 15:28:47 +01:00
Sylvain
eddf23622d Merge branch 'dev' into monthly-payment 2021-02-02 17:17:15 +01:00
Sylvain
588b8050db [bug] when an event is modified, the member's reservations does not reflect the new event date 2021-02-02 15:52:55 +01:00
Sylvain
163976b988 WIP: error handling for card payments on later deadlines 2021-01-27 17:24:10 +01:00
Sylvain
8d08100166 WIP: schedules management inerface 2021-01-27 13:59:41 +01:00
Sylvain
def0778a4d basic inteface to retrieve payment schedules 2021-01-25 17:42:30 +01:00
Sylvain
01a0612a4b fix create invoice for each due date 2021-01-25 14:37:07 +01:00
Sylvain
26636254bd generate the invoices for each schedule item and notify if something goes wrong 2021-01-25 13:05:27 +01:00
Sylvain
ecdec70755 WIP: generate invoices for each payment schedule item 2021-01-20 17:00:23 +01:00
Sylvain
8adb569891 fix payment schedule total 2021-01-20 13:47:29 +01:00
Sylvain
37af665991 save subcription id in payment schedule item 2021-01-04 17:03:44 +01:00
Sylvain
8b13ae45ac all tests passing 2021-01-04 16:26:52 +01:00
Sylvain
dc00df4afc fix stripe subscription w/ coupon + wallet 2020-12-30 12:19:33 +01:00
Sylvain
b8319a5124 handle percent coupons w/ stripe subscriptions 2020-12-30 10:17:39 +01:00
Sylvain
fba5f57a1c handle wallet transaction w/ stripe subscription 2020-12-29 18:55:00 +01:00
Sylvain
abe1619392 fix book reservation+subscription 2020-12-29 11:27:59 +01:00
Sylvain
feeed2f450 fix take a reservation + subscription
FIXME:
ActionView::Template::Error (undefined method `iso8601' for nil:NilClass)
Callstack:
  app/views/api/reservations/show.json.jbuilder:40:in `_app_views_api_reservations_show_json_jbuilder'
  app/controllers/api/payments_controller.rb:91:in `confirm_payment_schedule'
2020-12-28 18:30:27 +01:00
Sylvain
65277800e2 fix creation subcription on stripe 2020-12-23 16:25:24 +01:00
Sylvain
f661428db2 better error handling in stripe::subscription creation process 2020-12-23 15:29:56 +01:00
Sylvain
bbf88846dd refactored Invoice & PaymentSchedule to use inheritance 2020-12-22 14:43:08 +01:00
Sylvain
6fa9780ad5 refactor chainable/footprint protected models to use inheritance 2020-12-22 09:53:41 +01:00
Sylvain
d3a41903cd WIP: exclude invoice_id from footprint in payment_schedule_item 2020-12-21 17:37:58 +01:00
Sylvain
609d19e5d1 refactored subscription process + renew (update) subscription/ offre free days 2020-12-21 16:12:34 +01:00
Sylvain
a4131e4d5c fixed new reservation process 2020-12-21 12:02:59 +01:00
Sylvain
40c78974b8 refactoring of reservation:pay_and_save
TODO: debug with tests,
refactor subscription:pay_and_save on the same template
2020-12-16 18:33:43 +01:00
Sylvain
908ccf5bab handle reservations+subscription w/ schedule
integration testing for payment schedule
debug reservation process
2020-12-14 17:42:23 +01:00
Sylvain
c3c881d2a8 process the schedule to the stripe subscription
- only for subscriptions for now
- TODO: reservations (see app/services/reservations/reserv.rb:13)
2020-12-09 16:47:51 +01:00
Sylvain
5941446a72 fixes for card payment 2020-12-02 14:28:41 +01:00
Sylvain
34a9084501 pass payment method to the ruby service 2020-11-23 11:48:44 +01:00
Sylvain
a56112a47f using stripe api 2020-11-17 16:23:55 +01:00
Sylvain
678af0de1f using stripe api + improved ui + ui to configure schedules reference
TODO: as an admin, I can select if payment_method = (stripe || local)
2020-11-16 16:37:40 +01:00
Sylvain
b5504d2342 create stripe subscription with all data 2020-11-12 16:44:55 +01:00
Sylvain
ed5b90cbdc add stp_product_id to all items that can be scheduled 2020-11-12 12:14:51 +01:00
Sylvain
78847bdb4b WIP: create subscription on stripe 2020-11-10 17:02:21 +01:00
Sylvain
7833b0924b add other cart items to the first schedule 2020-11-05 14:55:06 +01:00
Sylvain
b0afa02f1d use cart directive on the plan subscription page
+ fix payment schedule compute
+ fix price for monthly-payments plans in plan-card
+ TODO: valid_reservation_modal.html
+ TODO: Stripe processing
2020-11-04 16:22:31 +01:00
Sylvain
7d37174b51 [bug] when a cash coupon was used, an invalid amount is shown in the statistics 2020-11-04 15:53:40 +01:00
Sylvain
21bd1312bc compute payment schedule + basic display 2020-11-03 16:50:11 +01:00
Sylvain
19fb816d36 Enhanced rake task to create fixtures for test cases 2020-07-22 09:45:20 +02:00
Sylvain
7bf06ff23e debug footprints 2020-07-21 19:25:21 +02:00
Sylvain
a83a42c70c [bug] Health API is broken if ElasticSearch is not present 2020-07-01 15:13:44 +02:00
Sylvain
e288f66997 use search index to speed up projects searches 2020-06-23 17:06:59 +02:00
Sylvain
23338eb36d refactored project search using service 2020-06-23 15:45:38 +02:00
Sylvain
40dd39304e enable/disable statistics module fomr the UI 2020-06-17 12:20:51 +02:00
Sylvain
24155bc009 ability to lock settings from the env vars 2020-06-15 13:20:48 +02:00
Sylvain
4b8504f531 fix tests 2020-06-10 11:52:54 +02:00
Sylvain
88208627c9 read stripe_public_key from the db 2020-06-10 11:02:30 +02:00
Sylvain
9ff0a06029 many sidekiq fixes 2020-06-09 18:51:57 +02:00
Sylvain
a70668f52a sync members on stripe after keys update 2020-06-09 14:27:18 +02:00
Sylvain
06b5da9df8 configure online payment from the UI 2020-06-08 17:42:59 +02:00
Sylvain
f78eb10c75 use openlab_app_secret from db w/ openlab_ruby gem 2020-06-08 15:17:56 +02:00
Sylvain
88f2fb3749 secure the settings API (read) + read the openlab settings from the db 2020-06-08 15:08:07 +02:00
Sylvain
0d211e2e31 configure google recaptcha from UI 2020-05-27 16:35:30 +02:00
Sylvain
628a0f3bc3 configure facebook_app_id from the UI 2020-05-27 12:29:51 +02:00
Sylvain
2d628d8826 disable the invoicing module from the UI config panel 2020-05-26 18:07:07 +02:00
Sylvain
537743a740 configure the plans module from the admin UI 2020-05-26 15:39:28 +02:00
Sylvain
6cc6bba7ce refactored app to gather spaces module status from the settings 2020-05-26 13:59:40 +02:00
Sylvain
01017f3012 fix setting.get for boolean 2020-05-25 16:47:06 +02:00
Sylvain
98c63e8327 [bug] managers do not see the name of the user who reserved a slot 2020-05-25 16:35:21 +02:00
Sylvain
ba4c39ca99 use slot duration from the db setting 2020-05-25 12:55:01 +02:00
Sylvain
f80eb230ca refactored code to use Setting.get 2020-05-25 12:54:19 +02:00
Sylvain
bf57587301 [bug] recurrent availabilities do not keep the custom duration 2020-05-25 11:03:31 +02:00
Sylvain
18e2b032ae fix import users from csv 2020-05-19 11:45:51 +02:00
Sylvain
ca7a50bacc [bug] admin's members list shows the same members multiple times 2020-05-13 10:59:16 +02:00
Sylvain
7e1edef8a0 [bug] when an admin logs on the subscription page, his view is broken
Also: Prevent admins from leaving their dedicated group
2020-05-13 08:37:49 +02:00
Sylvain
06502cde33 [bug] accounting periods totals are wrong for periods closed after 2019-08-01 2020-05-11 10:10:52 +02:00
Sylvain
47a0fca481 show all availabilities to managers 2020-05-06 12:56:12 +02:00
Sylvain
be23cf27c3 use Price.compute to generate invoice items 2020-05-06 12:43:47 +02:00
Sylvain
6aa7ba89e8 manager's notifications 2020-04-29 15:34:30 +02:00
Sylvain
5312c13d3f [manager] manage agenda + book machines for himself&others 2020-04-27 12:12:29 +02:00
Sylvain
e1a8646e5f inteface to add/remove/edit managers 2020-04-22 10:09:16 +02:00
Sylvain
2ca5c8c50f managers interface 2020-04-21 17:24:22 +02:00
Sylvain
ff75a96ecc Ability to define, per availability, a custom duration for the reservation slots 2020-04-15 18:08:02 +02:00
Sylvain
a4cd6e4dc7 [bug] unable to access health endpoint 2020-04-07 15:19:41 +02:00
Sylvain
f24d94b979 set correct invoicing_profile_id for refund invoice during wallet credit 2020-04-01 17:58:32 +02:00
Sylvain
3917d6042c [bug] no statistics for subscriptions (#196)
+ [bug] issing translation for subscriptions statistics > duration
2020-04-01 17:25:55 +02:00
Sylvain
705bedc25c [bug] crediting a wallet w/ refund invoice prevent statistics generation (#196) 2020-04-01 12:51:18 +02:00
Sylvain
570f61c5df [bug] report error on invalid encoding in members import 2020-03-31 16:53:30 +02:00
Du Peng
b3313d3e75 update rails to 5.1.7 2020-03-25 12:35:07 +01:00
Sylvain
6b63483fcc fix an issue with the health endpoint 2020-02-26 12:00:51 +01:00
Sylvain
b7dda83060 Merge branch 'edit_event_recurrent' into dev 2020-02-11 15:43:29 +01:00
Du Peng
c3965b28cf remove rebocop disable 2020-02-03 10:53:54 +01:00
Du Peng
05073d5a28 fix bug for update event recurrent 2020-01-30 12:03:50 +01:00
Sylvain
fd0f49f132 rubocop: ruby syntax 2020-01-29 17:50:06 +01:00
Sylvain
5b97ef03a9 rubocop: ruby syntax 2020-01-29 17:49:05 +01:00
Du Peng
35d9bec8a5 update event recurrent 2020-01-29 17:20:19 +01:00
Du Peng
de02bb1c72 update all attributes of event 2020-01-28 18:34:32 +01:00
Du Peng
b1419271e6 edit event recurrent in progress 2020-01-27 18:21:46 +01:00
Sylvain
656a603d6c customize home page css 2020-01-27 17:10:29 +01:00
Sylvain
97660924cb fix typo and wording 2020-01-21 11:16:49 +01:00
Du Peng
3c26c6d4bd disable add plan with reserve slot in the past 2020-01-20 16:17:10 +01:00
Du Peng
0143c3d495 allow admin reserve machine/space in the past time 2020-01-20 16:17:10 +01:00
Sylvain
7929d3b198 detailled view of collected data in fabanalytics 2020-01-15 12:48:55 +01:00
Sylvain
059096c2dd privacy option for fab-analytics 2020-01-15 10:46:04 +01:00
Sylvain
bb48a13f83 health endpoint & automated version check 2020-01-14 14:33:00 +01:00
Sylvain
64764e5498 check version on hub & [ongoing] health endpoint 2020-01-13 17:05:53 +01:00
Sylvain
54be21729b batch delete periodic events 2020-01-07 17:18:49 +01:00
Sylvain
f778ee9016 fix syntax + add missing translations 2020-01-07 10:44:29 +01:00
Nicolas Florentin
62c979cfc0 members filters, translations for other languages are still needed 2019-12-20 15:47:42 +01:00
Sylvain
60755a2c2a Merge remote-tracking branch 'origin/fix-time-now' into dev 2019-12-03 15:51:22 +01:00
Sylvain
64fe68b2b0 icalendar source sync: create/update/delete ical events 2019-12-03 12:16:07 +01:00
Sylvain
cca6b14f58 import events asyncronously from icalendar 2019-12-02 15:53:24 +01:00
Nicolas Florentin
77cf8c8218 replaces almost all Time.now by DateTime.current 2019-12-02 11:57:25 +01:00
Sylvain
36eba99808 [bug] report errors on admin creation 2019-12-02 10:39:42 +01:00
Sylvain
bbd613f2a5 compute right nb of free seats for event reservation
also: copy nb_total_places to n+1 instances when creating recurrent
availabilities
2019-11-25 10:30:12 +01:00
Sylvain
9ec736e6b5 delete recursive slots 2019-11-18 17:29:51 +01:00
Sylvain
26738563bd create reccursive events 2019-11-18 11:50:20 +01:00
Sylvain
a60a39ff9e [ongoing] create multiple availabilities according to UI 2019-11-13 12:13:22 +01:00
Nicolas Florentin
12b9155b43 try to fix edge cases of VatHistoryService, related to issue #156 2019-10-29 15:20:25 +01:00
Sylvain
fdcec06345 CVE-2019-16892 + #49
- updated rubyzip to fix a security issue
- updated axlsx and file writing method as a possible fix for #49
2019-10-21 16:11:49 +02:00