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

557 Commits

Author SHA1 Message Date
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
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
Sylvain
35ce577651 [bug] subscription page shows the groups without any active plans
[bug] cart price inconsistently updated after a subscription
[feature] plans page for managers
2020-04-29 10:57:32 +02:00
Sylvain
18895b6a85 manager can create memebrs & credit wallets 2020-04-28 15:34:17 +02:00
Sylvain
3e177b5177 managers events views 2020-04-28 12:48:03 +02:00
Sylvain
102709246f basic access to members management for managers 2020-04-27 17:48:13 +02:00
Sylvain
8c610ea336 [managers] trainings management 2020-04-27 17:28:11 +02:00
Sylvain
69c8d7c678 manager can change existing reservations 2020-04-27 12:58:55 +02:00
Sylvain
5312c13d3f [manager] manage agenda + book machines for himself&others 2020-04-27 12:12:29 +02:00
Sylvain
c30ae8179e fix groups and tags in manager creation + helpers to get users w/ role partner|manager 2020-04-22 10:46:46 +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
f88472eeb3 Interface to manage partners 2020-04-21 16:47:35 +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
de9c224a92 improved version check
- use referer from client when available
- save uuid returned by hub
- send uuid to hub on version check
- check the version on each startup to prevent wrong sync
- also: do not save a setting on API update if it has not changed
2020-04-07 17:53:19 +02:00
Sylvain
3dc8d66c63 remove dead code of WebhooksController 2020-03-30 15:29:48 +02:00
Sylvain
2bbce711d9 fix stylesheet view 2020-03-25 12:35:08 +01:00
Sylvain
a44bf85014 Merge branch 'slot_is_only_subscriptions' into dev 2020-03-02 16:27:26 +01:00
Sylvain
11ccaa73b6 Merge remote-tracking branch 'origin/disable_wallet_option' into dev 2020-03-02 15:47:14 +01:00
Sylvain
5186d6b22c behavior of FEATURE_TOUR_DISPLAY 2020-03-02 11:17:28 +01:00
Sylvain
6b63483fcc fix an issue with the health endpoint 2020-02-26 12:00:51 +01:00
Sylvain
d833f6d812 harmonize Fab-manager trademark syntax 2020-02-26 10:19:43 +01:00
Sylvain
5b46edd748 welcome tour + save completed tours in database 2020-02-18 17:36:45 +01:00
Du Peng
908275d171 add disable wallet option 2020-02-12 18:15:44 +01:00
Sylvain
b7dda83060 Merge branch 'edit_event_recurrent' into dev 2020-02-11 15:43:29 +01:00
Du Peng
74cc69d1bd Ability to configure reservation slot restrict for plans 2020-02-07 17:37:00 +01:00
Du Peng
35d9bec8a5 update event recurrent 2020-01-29 17:20:19 +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
b85c7ac00b admin set its customized html template for the home page & can reset it to factory value 2020-01-22 11:53:40 +01:00
Sylvain
c214ae3beb Merge branch 'dev' of git.sleede.com:projets/fab-manager into dev 2020-01-15 12:49:07 +01:00
Sylvain
7929d3b198 detailled view of collected data in fabanalytics 2020-01-15 12:48:55 +01:00
Du Peng
db29673a4c remove twitter api for get latest tweet 2020-01-15 12:34:51 +01:00
Sylvain
1f3d9cf88d display upgrade infos directly on the interface 2020-01-14 17:12:36 +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
Nicolas Florentin
62c979cfc0 members filters, translations for other languages are still needed 2019-12-20 15:47:42 +01:00
Sylvain
d21f616283 [ongoing] refactoring i18n keys 2019-12-16 16:54:40 +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
5215d0643d Merge branch 'ics' of git.sleede.com:projets/fab-manager into ics 2019-12-03 09:56:37 +01:00
Sylvain
22be9f6a08 display external calendars list in public calendar + pull availabilities 2019-12-02 16:49:20 +01:00
Sylvain
cca6b14f58 import events asyncronously from icalendar 2019-12-02 15:53:24 +01:00
Sylvain
55d2c88134 delete & sync ical sources 2019-12-02 12:19:30 +01:00
Nicolas Florentin
77cf8c8218 replaces almost all Time.now by DateTime.current 2019-12-02 11:57:25 +01:00
Sylvain
f72ae98109 do not show title if calendar is configured to hide them 2019-11-27 17:50:38 +01:00
Sylvain
85d17d62f3 fix events endpoint 2019-11-27 17:44:01 +01:00
Sylvain
97d93cd622 added a name to imported calendar 2019-11-27 17:39:19 +01:00