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

483 Commits

Author SHA1 Message Date
Sylvain
ae039cdd0c ordering categories 2021-06-08 17:00:52 +02:00
Sylvain
e1e446ab3f API+ interface to CRUD plan categories 2021-06-08 16:43:43 +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
431ea28448 WIP: payzen recurring payments 2021-06-01 12:20:02 +02:00
Sylvain
d942d46632 WIP: migration to object[]
TODO: fix running tests, fix front-end
2021-05-28 17:34:20 +02:00
Sylvain
5f5ec8dbb6 remove references to Invoice.invoiced 2021-05-27 15:58:55 +02:00
Sylvain
c79078c8e1 Merge branch 'dev' into payzen 2021-05-26 14:00:51 +02:00
Sylvain
413bb57c38 [bug] zero-decimal currencies w/ stripe 2021-05-26 13:38:16 +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
6bcd9f6fef Merge branch 'dev' into payzen 2021-05-17 15:07:41 +02:00
Sylvain
7ac119d4cf [bug] invoices are not generated in test/development if the configured locale is composed
Eg. If locale is fr-CA, it was crashing. If locale was only fr, is was working.
Now, composed locales print the watermark using the base locale and
hour_minute format is fetched from the base locale
2021-05-12 17:23:42 +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
5f47624d4e WIP: create payment schedule w/ payzen 2021-04-29 17:10:02 +02:00
Sylvain
23e38238c8 fix payment on site modal in case of payment schedule 2021-04-28 17:25:42 +02:00
Sylvain
3dc686840c front adaptation to cartItems
fix payzen customer cart creation
TODO: refactor the payOnSite modals
2021-04-27 17:18:20 +02:00
Sylvain
e75259734c fix test Subscriptions::CreateAsAdminTest
user_id must be read from [:cart_items][:customer_id]
2021-04-27 13:51:23 +02:00
Sylvain
1bf091081b fix test Reservations::CreateAsAdminTest
create subscription from POST api/reservation if the parameter subscription.plan_id is provided
+ cart_items are not wrapped in a reservation object
2021-04-26 18:27:35 +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
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
1bbb8c3965 move the architecture from stripe-only to gateway-generic 2021-04-15 17:01:52 +02:00
Sylvain
ddd1ac52d6 save reservation|subscription to db after payment 2021-04-14 17:56:10 +02:00
Sylvain
4d3ead310d do not run StripeWorker tasks is the gateway is not enabled 2021-04-14 12:18:37 +02:00
Sylvain
4e512dda45 validate the payment server side 2021-04-13 17:16:05 +02:00
Sylvain
ef7dcd37d8 retreive the formToken from PZ API 2021-04-12 12:16:12 +02:00
Sylvain
fd5c3a87ce rename /api/payment to /api/stripe
other payment gateways will have their own separate endpoints
2021-04-12 10:45:41 +02:00
Sylvain
23032c405b WIP: create the formToken server-side 2021-04-09 17:17:58 +02:00
Sylvain
422acdd162 safely configure and test payzen keys 2021-04-02 17:16:27 +02:00
Sylvain
30830b56fd PayZen REST API wrapper ruby + live test keys while configuring 2021-04-01 18:20:26 +02:00
Sylvain
c25e54a6af save & retreive stripe settings 2021-03-30 15:56:36 +02:00
Sylvain
7099f1f317 address required
- Ability to set the address as a mandatory field
- The address is new requested when creating an account
- The profile completion page is less fuzzy for people landing on it without enabled SSO
2021-03-23 11:49:05 +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
a74c5d4c95 WIP: plan description 2021-03-03 17:21:11 +01:00
Sylvain
120c9144bb [security] restrict allowed keys when creating/updating credits 2021-02-24 11:11:18 +01:00
Sylvain
16bb4bc76d WIP: payment schedules dashboard 2021-02-09 17:18:33 +01:00
Sylvain
ff0c69fc58 stripe card update + cancel subscription 2021-02-09 15:44:56 +01:00
Sylvain
b0ef9e097d WIP: stripe update card 2021-02-09 12:09:26 +01:00
Sylvain
0e7226c85c handle stripe requires_action 2021-02-08 15:28:47 +01:00
Sylvain
58af40b8b9 enlight api for cashing checks 2021-02-08 08:56:01 +01:00
Sylvain
b5cdea513d confirm check cashing api 2021-02-04 17:51:16 +01:00
Sylvain
def0778a4d basic inteface to retrieve payment schedules 2021-01-25 17:42:30 +01:00
Sylvain
8b13ae45ac all tests passing 2021-01-04 16:26:52 +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
609d19e5d1 refactored subscription process + renew (update) subscription/ offre free days 2020-12-21 16:12:34 +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
ccff463165 test subscription with schedule by user 2020-12-15 15:48:13 +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
8e8fc9b682 validate reservation/subscription after payment schedule creation 2020-12-08 17:30:33 +01:00
Sylvain
1d64c517c9 create stripe's paymentIntent
associate the paymentMethod (the card) with the customer (the user)
for futur usages in subscriptions
2020-12-08 12:26:03 +01:00
Sylvain
5941446a72 fixes for card payment 2020-12-02 14:28:41 +01:00
Sylvain
6c39191efa allow payment with stripe-modal react component 2020-12-02 10:06:18 +01:00
Sylvain
34a9084501 pass payment method to the ruby service 2020-11-23 11:48:44 +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
78847bdb4b WIP: create subscription on stripe 2020-11-10 17:02:21 +01:00
Sylvain
21bd1312bc compute payment schedule + basic display 2020-11-03 16:50:11 +01:00
Sylvain
5f93e6d3be plan creation: set if it allows monthly payments 2020-10-27 13:06:37 +01:00
Sylvain
13bc5334cc ability to configure until when the events are shown on the home page 2020-09-29 09:39:32 +02:00
Sylvain
30b3a794d3 [bug] managers cannot see passed events 2020-09-29 08:40:07 +02:00
Sylvain
5eae1c74a8 [bug] Unable to access the invoices section if the stripe key was not set or incorrect 2020-07-01 12:15:45 +02:00
Sylvain
5f0a9ed572 remove dead code 2020-06-29 15:12:32 +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
7140571d63 filter & search projets from postgres 2020-06-23 11:19:20 +02:00
Sylvain
1a6cd356bf WIP: using postgres for full-text search in projects 2020-06-22 16:28:05 +02:00
Sylvain
5e8aeb928c fix refactoring issue in /api/open_api_clients 2020-06-15 17:07:28 +02:00
Sylvain
24155bc009 ability to lock settings from the env vars 2020-06-15 13:20:48 +02:00
Sylvain
42872ab107 configure wallet from UI 2020-06-15 12:44:43 +02:00
Sylvain
78518e17fb read stripe_currency from the UI
We prevent the currency from being changed if any stripe payment was made, because a stripe user cannot made pay with different currencies. If we try to charge a user with a different currency than the currency he used for a previous payment, this will fail; so we must prevent this case
2020-06-10 16:37:11 +02:00
Sylvain
82d6677cff read stripe_api_key from db 2020-06-10 11:33:03 +02:00
Sylvain
9ff0a06029 many sidekiq fixes 2020-06-09 18:51:57 +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
5c152412db test mime type of a file
use marcel to test mime types
updated mimemagic
2020-06-03 16:25:13 +02:00
Sylvain
743f3e510a WIP: Test the mime type of a file 2020-06-03 15:33:04 +02:00
Sylvain
ebe602ad1c WIP: enforce mime type checking for uploads 2020-06-02 19:18:57 +02:00
Sylvain
434c211ccf configure the features tour display mode from the UI 2020-05-27 18:49:53 +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
acefc325f6 configure events_in_calendar form the UI panel 2020-05-25 17:36:53 +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
37901e4153 [bug] users promoted to the administrator role are not in the admin group 2020-05-12 15:30:57 +02:00
Sylvain
1fdea63828 correct some errors due to Price.compute refactoring 2020-05-11 10:56:23 +02:00
Sylvain
be23cf27c3 use Price.compute to generate invoice items 2020-05-06 12:43:47 +02:00
Sylvain
19de8ca319 fix: manager can offer slot to other users 2020-05-06 09:58:15 +02:00
Sylvain
2d8df2c1cd Ability to promote a user to a higher role (member > manager > admin) 2020-05-05 11:28:04 +02:00
Sylvain
d8a289e825 fixes change role API 2020-05-04 18:34:26 +02:00