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

504 Commits

Author SHA1 Message Date
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
82260d8c62 [bug] invalid currency in notifications for locales with region 2021-05-14 11:57:52 +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
eddf23622d Merge branch 'dev' into monthly-payment 2021-02-02 17:17:15 +01:00
Sylvain
1c22d3a62a keep backward compatible openapi errors 2021-02-02 11:28:31 +01:00
Sylvain
30e9f6febf OpenAPI endpoints to create/update/show/delete machines 2021-02-01 17:43:15 +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
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
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
45013be950 configure default_host & default_protocol from env
reverts 478a6c40 (partially) & b2434864
2020-06-02 18:29:24 +02:00
Sylvain
478a6c409d define default_protocol & default_host from the UI + fix email_from + various minor fixes 2020-06-01 17:32:32 +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
6c1a500ffa add the url of our website into the endpoint 2020-05-18 17:10:04 +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
Sylvain
06a5bff084 [ongoing] change user role 2020-05-04 18:32:25 +02:00
Sylvain
3319e68526 Auto-adjusts text colors based on the selected theme colors 2020-05-04 13:20:57 +02:00