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