Sylvain
1b5bb662ac
(bug) unable to edit OIDC provider
2022-06-06 11:40:53 +02:00
Du Peng
798941c349
edit organization custom field in member's dashboard profile
2022-05-11 16:57:44 +02:00
Du Peng
3e34b3c7a7
add user validation required setting, user proof of identity upload and organization custom field
2022-05-11 16:57:44 +02:00
Sylvain
302c55755e
(ui) admin edit user: use new user-profile-form component
2022-05-10 10:23:43 +02:00
Sylvain
040858ac1f
(ui) refactored profile-completion screen to use more accurate messages
2022-05-09 14:58:26 +02:00
Sylvain
aae1a5c20e
(api) rename user related models to use the _attributes naming convention
2022-05-04 14:12:48 +02:00
Sylvain
6ec6a8c4c9
(api) save which data is really mapped from the sso
2022-05-04 14:05:36 +02:00
vincent
4c6942eba4
merge
2022-05-04 13:02:40 +02:00
Sylvain
07578b5826
(ui)(api) configure data mapping for openid
2022-05-04 12:28:48 +02:00
Sylvain
c85281b29f
(api) automatically configure the openID response_type
2022-05-04 12:28:48 +02:00
Sylvain
6c46e5ec81
(api) automatically configure some openID parameters: redirect_uri, display, response_mode
2022-05-04 12:28:48 +02:00
Sylvain
2c2f8fdcc5
(api) openid provider configuration api
2022-05-04 12:16:38 +02:00
Sylvain
056a982d68
(bug) return auth provider mappings from the API
2022-05-04 12:16:38 +02:00
Sylvain
b4e53d2039
(db) table to save OpenID connect configuration
...
Also refactored OAuth2Mapping to allow usage with any types of providers
2022-05-04 12:16:38 +02:00
vincent
3f4714861b
Add description to plan category
2022-05-04 11:16:51 +02:00
Du Peng
08b072e33c
Fix a bug: unable to show machine availability slot for admin
2022-04-05 14:21:19 +02:00
Sylvain
0c51aff748
(feat) OAuth2 scopes are now configurable from the interface
...
Previously, scopes were supported through OAUTH2_SCOPE since v5.3.1.
BREAKING CHANGE: update your oauth2 provider configuration if you need scopes support
2022-03-22 16:40:09 +01:00
Sylvain
c031f099a5
Merge branch 'oauth2' into dev
2022-01-17 12:46:07 +01:00
Sylvain
634da414f8
(feat) When a payment schedule is in error or canceled, ability to re-enable it with another payment method
2022-01-17 12:38:53 +01:00
Sylvain
051b56b72f
send notifications on payment schedules error/canceled by gateway
2022-01-11 12:37:06 +01:00
Sylvain
af62a8446e
fix wrong file names
2022-01-11 11:32:02 +01:00
Sylvain
9922812111
Ability to select "bank transfer" as the payment mean for a payment schedule
2022-01-05 15:58:33 +01:00
Sylvain
f3f15a2b9d
Ability to cancel a payement schedule from the interface
2022-01-03 17:13:35 +01:00
Sylvain
effe5c7ba9
optimized the load time of the payment schedules list
...
From now, we no longer retrieve the client_secret directly from the API/list but from a specialized component which ask API/get_item.
This highly decrease the laod time needed to fetch API/list
2022-01-03 11:24:08 +01:00
Sylvain
6091cec82e
api endpoint to create prices
2021-12-21 14:18:03 +01:00
Sylvain
6dc2e8e41e
modelise space object from API in TS
2021-12-21 09:51:40 +01:00
Sylvain
5ebc1017d2
save prices duration in db
2021-12-20 15:47:57 +01:00
Sylvain
3fb9850786
[bug] unable to bind sso to Profile.bithday or Profile.gender
2021-12-20 14:07:25 +01:00
Sylvain
4c56dffc04
remove deprecated code and endpoints
2021-10-18 10:15:48 +02:00
Sylvain
fd39eaf2f1
fix renew subscription API
...
TODO:
- remove old endpoints
- bug in UI (start date invalid)
- fix tests
- payzen
2021-10-15 17:31:01 +02:00
Sylvain
70f0e21543
move free extend modal to react
2021-10-11 18:50:53 +02:00
Sylvain
e646eb8cb5
extend subscription UI
2021-10-08 19:14:47 +02:00
Du Peng
1c54e54c17
use plant.base_name instands of plan.name
2021-09-21 18:00:48 +02:00
Sylvain
10aaf0042c
integration of packs-summary
2021-06-29 15:59:57 +02:00
Sylvain
baf41588d3
packs summary component
2021-06-29 11:14:36 +02:00
Sylvain
bbb1aca4fb
display validity for each pack
2021-06-28 12:24:31 +02:00
Sylvain
f16cbc44ff
WIP: buy pack modal
2021-06-25 17:24:34 +02:00
Sylvain
0345d22582
delete & disable packs
2021-06-24 17:59:05 +02:00
Sylvain
d54f30e048
WIP: interface to configure packs
2021-06-21 17:39:48 +02:00
Sylvain
99792e8610
WIP: migrate machine card to react
2021-06-15 17:34:12 +02:00
Sylvain
e184bf3d3c
filter plans y duration
2021-06-10 14:06:53 +02:00
Sylvain
a416f8c7ae
transactional bulk update + better error handling while configuring the payment gateway
2021-06-10 10:39:42 +02:00
Sylvain
05882b3743
display list of plans grouped by category
2021-06-09 13:03:58 +02:00
Sylvain
4ca16c2688
associate plan w/ category
2021-06-08 17:26:40 +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
81bc22c494
front-end adaptation for interacting with new object[] API
...
Also: [bug] handle not onnected users on subscription page
- fix showing an error message when no gateway is selected
2021-06-01 11:01:38 +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
13f50c0e33
remove references to WalletService.transactable
2021-05-27 13:43:54 +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
2a7a7fd614
[bug] the event themes are not kept when editing the event again
2021-05-12 14:54:56 +02:00
Sylvain
5f47624d4e
WIP: create payment schedule w/ payzen
2021-04-29 17:10:02 +02:00
Sylvain
aaf36dcc0a
reserve events w/ payzen
...
we cannot use the <cart> directive because the layout is too much different
2021-04-29 16:29:35 +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
ddd1ac52d6
save reservation|subscription to db after payment
2021-04-14 17:56:10 +02:00
Sylvain
ef7dcd37d8
retreive the formToken from PZ API
2021-04-12 12:16:12 +02:00
Sylvain
23032c405b
WIP: create the formToken server-side
2021-04-09 17:17:58 +02:00
Sylvain
667f6f6229
show recapitulative of payzen settings
2021-04-06 17:47:47 +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
e38228ae7e
prevent notification crash on nil reservation
2021-03-29 10:19:37 +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
16bb4bc76d
WIP: payment schedules dashboard
2021-02-09 17:18:33 +01:00
Sylvain
b0ef9e097d
WIP: stripe update card
2021-02-09 12:09:26 +01:00
Sylvain
b5cdea513d
confirm check cashing api
2021-02-04 17:51:16 +01:00
Sylvain
d22d011a10
show more results for the payment schedules interface
2021-02-04 15:47:11 +01:00
Sylvain
163976b988
WIP: error handling for card payments on later deadlines
2021-01-27 17:24:10 +01:00
Sylvain
8d08100166
WIP: schedules management inerface
2021-01-27 13:59:41 +01:00
Sylvain
def0778a4d
basic inteface to retrieve payment schedules
2021-01-25 17:42:30 +01:00
Sylvain
26636254bd
generate the invoices for each schedule item and notify if something goes wrong
2021-01-25 13:05:27 +01:00
Sylvain
e5439901d6
fix generate payment schedule pdf + send by mail
...
TODO: total amount does not match with sum of all lines
- generate invoices for each PS-item
- interface to access the payment schedules
2021-01-19 16:47:51 +01:00
Sylvain
728ae4310c
improved testing of payment schedules + some fixes
...
TODO: fix the test
rails test test/integration/reservations/create_test.rb
Reservations::CreateTest#test_user_reserves_a_machine_and_renew_a_subscription_with_payment_schedule_and_coupon_and_wallet [test/integration/reservations/create_test.rb:841]
Minitest::Assertion: Expected: "stripe"
Actual: nil
2020-12-30 18:43:33 +01:00
Sylvain
dc00df4afc
fix stripe subscription w/ coupon + wallet
2020-12-30 12:19:33 +01:00
Sylvain
f661428db2
better error handling in stripe::subscription creation process
2020-12-23 15:29:56 +01:00
Sylvain
b5504d2342
create stripe subscription with all data
2020-11-12 16:44:55 +01:00
Sylvain
21bd1312bc
compute payment schedule + basic display
2020-11-03 16:50:11 +01:00
Sylvain
7084e88d2d
display monthly price for compatible plans
2020-11-02 12:29:08 +01:00
Sylvain
465fe8e913
show link to pdf in component
2020-11-02 11:16:13 +01:00
Sylvain
4f877ab05d
react coponent: plan-card + extracted scss from stylesheet.rb into themes/
2020-10-29 15:53:29 +01:00
Sylvain
5f93e6d3be
plan creation: set if it allows monthly payments
2020-10-27 13:06:37 +01:00
Sylvain
6fa9347c75
fix training reservation calendar
2020-10-05 12:54:37 +02:00
Sylvain
d701260fae
fix spaces reservation calendar
2020-10-05 12:12:22 +02:00
Sylvain
5a0185dd48
fix machine reservation calendar
2020-09-30 16:32:01 +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
dbda82ac9b
notify after members sync on stripe
2020-06-09 15:06:46 +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
2082f1e11c
fix avatar refresh on update
2020-06-03 10:21:13 +02:00
Sylvain
075b642cc8
remove useless & broken item_url(...) methods
2020-06-02 11:37:24 +02:00
Sylvain
fdc2f60ff5
[bug] when a new account is created through the sign-up modal, the role is not reported in the StatisticProfile ( #196 )
...
Also: if a member was deleted the /api/members/mapping will raise an error
2020-05-18 16:23:53 +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
3319e68526
Auto-adjusts text colors based on the selected theme colors
2020-05-04 13:20:57 +02:00
Sylvain
29e7ac2f08
[bug] background image of the profile is not shown and wrong menu hover color
2020-05-04 12:10:13 +02:00
Sylvain
881cc97e8d
The invoices list displays the operator in case of offline payment
2020-05-04 10:56:27 +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
e1a8646e5f
inteface to add/remove/edit managers
2020-04-22 10:09:16 +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
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
07b21f5094
Merge branch 'book_slot_at_same_time' into dev
2020-03-02 15:52:05 +01:00
Sylvain
1a7d7258d8
[bug] in some cases, bogus admin notification on profile completed
2020-03-02 10:20:10 +01:00
Sylvain
5b46edd748
welcome tour + save completed tours in database
2020-02-18 17:36:45 +01:00
Du Peng
b559d10b87
improve slot is only subscription
2020-02-12 12:58:17 +01:00
Du Peng
760109de05
fix bug: cant reserve formation slot
2020-02-11 13:21:25 +01:00
Du Peng
74cc69d1bd
Ability to configure reservation slot restrict for plans
2020-02-07 17:37:00 +01:00
Du Peng
7c86adde4b
Ability to configure allowing or preventing member book a machine/formation/event slot if he already have a reservation the same day at the same time
2020-02-05 16:53:47 +01:00
Sylvain
6aa3c0caeb
Notify all admins on the creation of a refund invoice
2019-12-09 11:55:31 +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
cca6b14f58
import events asyncronously from icalendar
2019-12-02 15:53:24 +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
1182822d8b
show correct seats nb in canceled reservation
2019-11-25 10:45:54 +01:00
Sylvain
ce366beaa2
display that an event reservation was canceled
...
also: fixed transtions files
2019-11-21 11:15:05 +01:00
Sylvain
9ec736e6b5
delete recursive slots
2019-11-18 17:29:51 +01:00
Sylvain
927479733b
migrated links to /users/auth from GET to POST
...
see https://github.com/omniauth/omniauth/wiki/Resolving-CVE-2015-9284 for more info
2019-10-02 14:37:47 +02:00
Sylvain
ff5de97c92
import new users from CSV and view results in app
...
TODO:
- update users though CSV
2019-09-26 17:05:57 +02:00
Sylvain
4deaf1f75a
[ongoing] import members from csv
2019-09-25 16:37:42 +02:00
Sylvain
e7bb41f38d
[ongoing] import users from csv file: admin inteface
2019-09-24 12:21:19 +02:00
Sylvain
1fa36d4029
renamed avoir_mode to payment_method
2019-09-17 14:48:06 +02:00
Sylvain
aef4cc49f2
fixes accounting codes setting + improved error handling
2019-09-17 13:00:25 +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
4d0ac9b3ca
using stp_payment_intent_id instead of stp_invoice_id on new invoices
2019-09-10 16:45:45 +02:00
Sylvain
bebb3354fb
[bug] ( #140 ) VAT rate is erronous in invoices
2019-08-14 10:56:30 +02:00
Sylvain
92d79bc9c7
[bug] ( #140 ) VAT rate is erronous in invoices
2019-08-14 10:54:23 +02:00
Sylvain
a7f68b59dd
connect the export modal to the api
2019-07-31 12:00:52 +02:00
Sylvain
3d3be70e29
[bug] newly generated refund is displayed as broken
2019-07-29 12:25:46 +02:00
Sylvain
a778b1063a
enhance ruby syntax
2019-07-29 12:17:57 +02:00
Sylvain
0714878bca
[bug] unable to generate a refund
2019-07-29 12:07:22 +02:00
Sylvain
ddbb492ace
[bug] abuses reports are not notified to admins
2019-06-26 12:55:38 +02:00
Sylvain
d0cd5a90d2
handle deleted users in notifications
2019-06-12 15:49:35 +02:00
Sylvain
ddce997e12
display data collection purpose on each input field + fix notifications on deleted user
2019-06-12 15:34:03 +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
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
660a8abe8b
fix statistic_profile
2019-06-05 12:24:01 +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
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
142e07f3c9
update code to use invoicingprofile
2019-05-29 12:01:24 +02:00
Sylvain
ffbca98276
[ongoing] fix api to use the invoicing_profile
2019-05-28 16:49:36 +02:00
Sylvain
7bbea22e76
display reports in interface
2019-05-21 11:49:50 +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
162a56250a
notify users after privacy policy update + hide undefined content
2019-04-25 11:40:26 +02:00
Sylvain
c0c9b2a980
privacy policy: fixed admin view after update + display last update date
2019-04-23 12:58:01 +02:00
Sylvain
7a2fc7c42e
[ongoing] save as draft or publish
2019-04-18 15:57:56 +02:00
Sylvain
43ff06c35d
fixed and improved translations
2019-04-18 11:35:09 +02:00
Sylvain
9f8d24ec4f
paginate list of coupons
2019-04-04 17:28:29 +02:00
Sylvain
c223bd99ea
add loader while archive is not ready
2019-04-04 12:55:21 +02:00
Sylvain
c786ba6edb
notify user about archiving
2019-04-04 11:37:23 +02:00
Sylvain
93ff761e64
[bug] Error :syntax when using quote in event category name
2019-04-02 16:19:23 +02:00
Sylvain
7a317b7e45
[bug] unable to add a file attachment to an event
2019-03-28 11:30:25 +01:00
Sylvain
2ac0336adb
Merge branch 'dev' into host
2019-03-25 16:17:23 +01:00
Sylvain
5cdaa014ef
[security] updated devise + updated rails
2019-03-25 14:57:48 +01:00
Sylvain
8530a6f655
superadmin + fixed free space notification
2019-03-20 16:49:38 +01:00
Sylvain
03c0c0d4fb
close periods at 1 year minus 1 day + fix alert reminder transalation
2019-03-18 14:45:21 +01:00
Sylvain
7b0824a4a3
notify admins when no accounting period closed for 1 year
2019-03-18 14:33:30 +01:00
Sylvain
b940ae0327
display complete info set on accounting archives
2019-03-11 16:11:49 +01:00
Sylvain
9854a4b965
prevent memory saturation with periodic checks
2019-02-26 15:18:19 +01:00
Sylvain
cf23fae73c
Merge branch 'dev' into host
2019-02-14 16:35:38 +01:00
Sylvain
7b573dd37f
restored deprecated notification
2019-02-14 13:05:09 +01:00
Sylvain
2ba3890325
display records integrity status
2019-02-12 16:00:36 +01:00
Sylvain
da672ea8b6
Merge branch 'dev' into host
2019-01-21 16:34:06 +01:00
Sylvain
75eaf4d4d0
improved member autocompletion with multiple words + refactored members controller
2019-01-21 15:17:56 +01:00
Sylvain
d2c4773ac9
[bug] unable to delete an admin who has changed a setting
2019-01-16 17:09:27 +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
5e8172af35
Merge branch 'dev' into us78
2019-01-09 16:28:36 +01:00
Sylvain
5ab0333176
rubocop invoice & avoir
2019-01-09 16:28:23 +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
f2eaf4e4e1
improved tests and bug fixes
2018-12-11 17:27:25 +01:00
Sylvain
6794b12555
force gawk during elastic upgrade & rubocop
2018-12-03 15:10:04 +01:00
Sylvain
7afe62522f
refactor User.as_json to use jbuilder template
2018-07-04 14:05:44 +02:00
Sylvain
639610dc7a
[bug] unable to display profiles of users whom any reservation is associated with a deleted object
2017-11-13 11:15:33 +01:00
Sylvain
1c8d362f11
ability to disable space
2017-10-11 14:58:38 +02:00
Sylvain
c67360771a
ability to disable machine
2017-10-11 12:10:05 +02:00
Sylvain
4752fce762
disable required training modal for machines associated with disabled trainings
2017-10-10 18:12:07 +02:00
Sylvain
05d9e62dd2
ability to disabled training
2017-10-10 17:16:43 +02:00