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
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
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
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
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
Sylvain
baf8cfb487
iCalendar server api & db model
2019-11-27 17:05:19 +01:00
Sylvain
a9b1eabb2c
[poc] show google agenda events in the public calendar
2019-11-27 13:51:23 +01:00
Sylvain
eb3c78a61d
[poc] show google agenda events in the public calendar
2019-11-26 13:44:43 +01:00
Sylvain
68b17cbe9a
Ability to show the scheduled events in the admin calendar
2019-11-25 14:49:39 +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
Sylvain
1ed3eba129
[feature] export last connection date to members.xlsx
2019-10-29 11:09:17 +01:00
Sylvain
f94d8feba6
[feature] admin can delete an user
2019-10-29 09:59:21 +01:00
Sylvain
193e81e711
Merge branch 'uvsq' into dev
2019-09-30 15:34:21 +02:00
Sylvain
4deaf1f75a
[ongoing] import members from csv
2019-09-25 16:37:42 +02:00
Sylvain
a532efd198
upload csv file to the server through the API and save it on the disk
2019-09-24 17:42:50 +02:00
Sylvain
8eda1e673f
Merge remote-tracking branch 'origin/hotfixes' into dev
2019-09-24 14:43:14 +02:00
Nicolas Florentin
c49db3b512
fix api/reservations#index find statistic_profile_id from the user_id because user_id is not a column of reservations table anymore
2019-09-20 15:23:53 +02:00
Sylvain
1fa36d4029
renamed avoir_mode to payment_method
2019-09-17 14:48:06 +02:00
Sylvain
02d28e0b8c
improved accounting codes settings page (1 click saves all) + improved export file name
2019-09-16 14:39:47 +02:00
Sylvain
224b0d6dee
Merge branch 'sca' into dev
2019-09-12 12:53:56 +02:00
Sylvain
539eb08b89
ability to disable the online payments through an env var
2019-09-11 17:08:00 +02:00
Sylvain
d977838d52
fix tests according to changes for stripe SCA
2019-09-11 16:20:47 +02:00
Sylvain
f60d19fa27
allow reservations & subscriptions at price of zero
2019-09-11 11:51:04 +02:00
Sylvain
75f483a7a6
compute subscription price server-side for payments
2019-09-11 10:31:22 +02:00
Sylvain
ac0489a496
[bug] wallet usage is noted on subscription invoices even if wallet was not used + use payment confirm API for subscriptions only (sca)
2019-09-10 17:57:46 +02:00
Sylvain
4d0ac9b3ca
using stp_payment_intent_id instead of stp_invoice_id on new invoices
2019-09-10 16:45:45 +02:00
Sylvain
04f17d44d8
handle sca in js frontend
2019-09-10 12:46:02 +02:00
Sylvain
a96050a2e9
refactor payment process for sca
2019-09-10 11:46:14 +02:00
Sylvain
e9e27663cd
quick coding rules checking with rubocop
2019-09-09 18:04:31 +02:00
Nicolas Florentin
e94cf46fa4
ongoing work on sca stripe
2019-09-09 17:37:54 +02:00
Sylvain
510533e080
handle 2nd confirmation on server + display confirmation modal on the client
2019-09-05 17:17:51 +02:00
Sylvain
12447698f8
collect card details on the client & create a paymentIntent on the server
2019-09-05 16:17:02 +02:00
Sylvain
a0961314a4
[ongoing] upgrade stripe gem & api version to allow SCA
2019-09-05 11:03:22 +02:00
Sylvain
e32825675c
[ongoing] fixing accounting export service
2019-07-31 16:52:11 +02:00
Sylvain
12d8c65fa2
async generation of export and download cached csv using hidden iframe
2019-07-31 15:47:02 +02:00
Sylvain
fa6a54a422
export notifications
2019-07-31 12:37:31 +02:00
Sylvain
a7f68b59dd
connect the export modal to the api
2019-07-31 12:00:52 +02:00
Sylvain
f772bc3509
api endpoint and worker to export accounting data
2019-07-30 11:43:51 +02:00
Sylvain
f3c433883d
[bug] canceled reservation are not removed from statistics ( fix #133 )
2019-06-13 16:29:12 +02:00
Sylvain
a53c6e80e7
move invoice->operator to invoicing_profile + minor fixes to handle user deletion
2019-06-12 12:22:38 +02:00
Sylvain
86ded2b8d2
[ongoing] fixes for invoices pdf files
2019-06-11 16:56:11 +02:00
Sylvain
cfd33c3a52
migrate projects to statistic_profile
2019-06-06 16:34:53 +02:00
Sylvain
fe2a6f7120
migrate trainings to statistic_profile and adjust code
2019-06-06 12:00:21 +02:00
Sylvain
17fbd6b465
multiple fixes related to statistic_profile & invoicing_profile + fix users list while sorting by subscription
2019-06-05 12:11:51 +02:00
Sylvain
bd796bc588
fix SubscriptionsController - all tests passing
2019-06-05 07:58:49 +02:00
Sylvain
4c033614ae
[ongoing] migrate subscriptions & reservations to statistic_profile
2019-06-04 16:50:23 +02:00
Sylvain
52992ac9d5
move gender & birthday to statistic_profile
2019-06-04 13:33:00 +02:00
Sylvain
9ef2f142bd
link HistoryValue to InvoicingProfile + improved invoices tests
2019-06-03 16:51:43 +02:00
Sylvain
7ed97ef35a
link wallet & its transactions to invoicingprofile
2019-06-03 16:00:09 +02:00
Sylvain
6011f27268
finish moving organization & address to invoiving profile: fix create & edit user
2019-06-03 12:06:01 +02:00
Sylvain
a211ad39ff
moving organization & address to invoicingProfile + refactored doc about postgre
2019-05-29 14:28:14 +02:00
Sylvain
ffbca98276
[ongoing] fix api to use the invoicing_profile
2019-05-28 16:49:36 +02:00
Sylvain
dd4b6e2cb1
[ongoing] abuses management interface
2019-05-09 18:27:19 +02:00
Sylvain
26b901ebb5
[bug#131] Availabilities export report an erroneous number of reservations for machine availabilities
2019-05-07 12:24:51 +02:00
Sylvain
3b3e1af822
improved coupon filtering to allow pagination while filtering
2019-04-08 11:00:00 +02:00
Sylvain
44479b5597
allow filtering coupons list
2019-04-04 18:00:19 +02:00
Sylvain
9f8d24ec4f
paginate list of coupons
2019-04-04 17:28:29 +02:00
Sylvain
7a317b7e45
[bug] unable to add a file attachment to an event
2019-03-28 11:30:25 +01:00
Sylvain
c356f35f29
add operator_id to invoices
2019-03-18 11:11:09 +01:00
Sylvain
279a958e46
download accounting period archive through interface
2019-02-25 17:22:54 +01:00
Sylvain
6e274afe3b
accounting archive: insert code checksum and previous archive checksum
2019-01-31 12:19:50 +01:00
Sylvain
da672ea8b6
Merge branch 'dev' into host
2019-01-21 16:34:06 +01:00
Sylvain
da4c9cf26f
[bug] invalid translation of title in new partner modal + refactored plans controller
2019-01-21 16:27:59 +01:00
Sylvain
75eaf4d4d0
improved member autocompletion with multiple words + refactored members controller
2019-01-21 15:17:56 +01:00
Sylvain
62410da9e1
add test for member autocomplete
2019-01-21 11:49:35 +01:00
Sylvain
80aab9f17c
fixed: create event with custom price
2019-01-21 11:26:42 +01:00
Sylvain
c4b3c1eab5
[bug] unable to search in user autocomplete
2019-01-21 09:42:51 +01:00
Sylvain
65892684a8
fixed availabilities controller
2019-01-17 16:55:25 +01:00
Sylvain
5a09453ac2
refactored availabilities controller
2019-01-17 16:26:03 +01:00
Sylvain
da25e16c50
refactored events controller
2019-01-17 09:53:28 +01:00
Sylvain
0cd841da33
rubocop api controllers
...
TODO:
- events controller
- availabilies controller
- members controller
- plans controller
2019-01-16 16:28:25 +01:00
Sylvain
c6cf86fa5c
rubocop api controllers
2019-01-16 13:07:19 +01:00
Sylvain
eb69822ce0
Merge branch 'dev' into host
2019-01-14 15:00:55 +01:00
Sylvain
77797db2f1
display VAT rates history
2019-01-14 15:00:33 +01:00
Sylvain
a1ba272538
Merge branch 'dev' into host
2019-01-14 13:00:24 +01:00
Sylvain
f6e236aeb5
refactored roles methods to match ruby conventions
2019-01-14 12:57:31 +01:00
Sylvain
a2eb10331e
[ongoing] remove invoicing disabled per user
2019-01-10 16:50:54 +01:00
Sylvain
dafeb668e0
Merge branch 'dev' into us78
2019-01-09 12:07:47 +01:00
Sylvain
56829190d6
refactored invoices controller
2019-01-09 12:07:31 +01:00
Sylvain
ccff40b226
handle dates default values and limits in close period modal
2019-01-08 11:19:07 +01:00
Sylvain
12c25389fa
Merge branch 'dev' into us78
2019-01-08 09:56:22 +01:00
Sylvain
d4cddc92fb
code comments
2019-01-08 09:56:07 +01:00
Sylvain
d8c8e4f72f
set default dates in close modal pickers
2019-01-07 17:21:32 +01:00
Sylvain
5b13c59496
list existing closings in close period modal
2019-01-07 16:45:31 +01:00
Sylvain
d89f9e9301
close an accounting period from interface to db through api
2019-01-07 15:33:09 +01:00
Sylvain
b1b5edbfb4
Merge branch 'dev' into us78
2019-01-07 12:48:47 +01:00
Sylvain
4ab0b52294
rubocop controllers
2019-01-07 12:48:22 +01:00
Sylvain
4af3e19cd0
accounting periods API
2019-01-07 12:47:53 +01:00
Sylvain
9d831ef44a
rubocop code style
2018-12-27 14:55:55 +01:00
Sylvain
96e980e7b2
removed dead code + improved test suite
2018-12-27 14:53:11 +01:00
Sylvain
10e3d4c3e4
fix update setting from client
2018-12-27 14:15:58 +01:00
Sylvain
ed65976c41
[ongoing] save settings history
2018-12-17 16:02:02 +01:00
Sylvain
d01a93e0f0
[ongoing] members tests
2018-12-12 17:24:31 +01:00
Sylvain
f2eaf4e4e1
improved tests and bug fixes
2018-12-11 17:27:25 +01:00
Sylvain
ad69b647f7
fix reservation + subscription
2018-12-11 15:07:32 +01:00
Sylvain
7822ab4572
[ongoing] fix reservation processes
2018-12-10 17:20:23 +01:00
Sylvain
8e60545753
extend subscription and offer free days will keep track of previous subscription
2018-12-10 13:24:00 +01:00
Sylvain
bef3118649
[ongoing] refactor user.subscriptions to save history
...
TODO: - refactor subscription.save_with_payment (stripe)
- offer free days
- extend the subscription
- renew a subscription
- buy subscription + reservation
2018-12-06 18:26:01 +01:00
Sylvain
6794b12555
force gawk during elastic upgrade & rubocop
2018-12-03 15:10:04 +01:00
Sylvain
0aa75488fa
store and retrieve app version in package.json
2018-11-21 11:42:04 +01:00
Sylvain
6e56ac4286
javascript fixes
2018-11-21 11:32:50 +01:00
Sylvain
1e3066f6f4
Ability to parametrize machines order on the booking page
2018-09-18 15:30:54 +02:00
Sylvain
1b33f3c865
display the machine reservation user name to other members
2018-07-24 12:24:51 +02:00
Sylvain
77e218aa7e
fix test suite
...
- update VCR cassettes
- fix test fixtures to allow pass test suite at the end of the week
2017-12-14 16:40:01 +01:00
Sylvain
a5b718d981
fix tests with invoices
2017-12-14 15:52:34 +01:00
Sylvain
0b3192c3ab
[bug] subscription refund generate PDF with wrong dates
2017-12-13 13:16:32 +01:00
Sylvain
12c6cd2a70
Merge branch 'siteswapjuggler-master' into dev
...
also: align translations and mark missings
2017-11-20 11:43:40 +01:00