Skip to content

Commit

Permalink
Merge branch 'dev' for release 6.3.7
Browse files Browse the repository at this point in the history
  • Loading branch information
gnepud committed Dec 28, 2023
2 parents b75751c + 01a1403 commit 3023668
Show file tree
Hide file tree
Showing 146 changed files with 5,896 additions and 392 deletions.
57 changes: 41 additions & 16 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,34 @@
# Changelog Fab-manager

## v6.3.7 2023 December 28

- Fix a bug: unable to show wallet payment mean for invoice
- Fix a bug: PayZen amount of subscription compute error for Coupon validity per user = forever
- Fix a bug: unable to create Stripe coupon with duration = forever
- improvement: remove show_username_in_admin_list setting
- improvement: show invoice payment method in accounting line
- [TODO DEPLOY] `rails fablab:setup:build_accounting_lines`
- [TODO DEPLOY] `rails fablab:fix:stripe_coupon_duration`

## v6.3.6 2023 December 6

- fix a bug: fix event service
- updates translations

## v6.3.5 2023 December 4

- fix a bug: user was not able to reserve at the same time of an event with pre-registration invalidated
- fix a bug: avoids crash if invoicing_profile has no address associated to it
- improvement: improves how pay_zen transactions are matched with payment_schedule_items
- improvement: improves rrule of pay_zen subscriptions
- improvement: better text contrast on customizable colors. Good for accessibility.
- Improvement: set the number of new attempts available in case the payment is rejected to 1 for PayZen

## v6.3.4 2023 November 23

- fix a bug: wrong amount when pay a reservation with payment schedule
- fix regresion on PaymentScheduleItemWorker from v6.3.2
- fix a bug: regression on PaymentScheduleItemWorker from v6.3.2
- fix a bug: event.pre_registration_end_date (was set to beginning_of_day instead of end_of_day)

## v6.3.3 2023 November 14

Expand All @@ -29,7 +54,7 @@

- Fix a bug: fix all failing tasks of rake task file chain.rake
- Fix a bug: file_size_validator.rb was broken since ruby v3, see https://github.com/rails/rails/issues/41270
- improvement: pre-registration event reservations ilimit places
- improvement: pre-registration event reservations limit places
- improvement: add including_deleted_users param for open api users
- decreases sidekiq concurrency from 25 to 5, 25 is too much and consumes memory for nothing
- do not log Notifications#polling action anymore, by default, can be enable via env variable ENABLE_NOTIFICATIONS_POLLING_LOGGING=true
Expand All @@ -52,7 +77,7 @@

## v6.1.2 2023 October 2

- Fix a bug: minor pb (exception raised) when bot hit api/projects#search without beeing authenticated
- Fix a bug: minor pb (exception raised) when bot hit api/projects#search without being authenticated
- Fix a bug: minor pb (exception raised) when a bot or unauthenticated user hit api/auth_providers actions
- Fix a bug: when calling .to_json on an "avoir", there was a bug because order_number delegates on invoice which can be nil, it was causing errors in notifications rendering
- Fix a bug: when getting status of users/subscriptions export
Expand All @@ -78,9 +103,9 @@
- Cancel payment schedule subscription after update the payment mean
- admin can see reservations of a member
- Fix a bug: unable to update card for payment schedule
- Fix a bug: user is_allow_contact is actived by default
- Fix a bug: unbale to export projects
- Fix a bug: unbale to update card bank of payment schedule
- Fix a bug: user is_allow_contact is active by default
- Fix a bug: unable to export projects
- Fix a bug: unable to update card bank of payment schedule
- Feature: family compte for event
- Feature: pre-registration event
- [TODO DEPLOY] `rails db:seed`
Expand Down Expand Up @@ -145,7 +170,7 @@

- Improved projects list filter
- Fix a bug: unable to refresh machine/space/training calender after pay an reservation
- Fix a bug: Accouning Line in duplicate
- Fix a bug: Accounting Line in duplicate
- Fix a bug: displays "my orders" link only if store module is active
- [TODO DEPLOY] `rails fablab:setup:build_accounting_lines`

Expand All @@ -154,7 +179,7 @@
- Fix a bug: OpenAPI accounting gateway_object_id missing error
- Fix a bug: unable to modify the price of prepaid pack
- Fix a bug: notification type missing
- Fix critical bug: Incorrect amount calculation when paying monthly subcription with a wallet for PayZen
- Fix critical bug: Incorrect amount calculation when paying monthly subscription with a wallet for PayZen

## v6.0.6 2023 May 4

Expand Down Expand Up @@ -245,7 +270,7 @@
- Ability to restrict machine availabilities per plan
- Ability to configure a prior period for each reservation type to prevent booking (#440)
- Admins cannot select the date when creating a refund invoice anymore
- Fix a bug: JS date is initalialized 1 day before in negative timezones (#445)
- Fix a bug: JS date is initialized 1 day before in negative timezones (#445)
- Fix a bug: user's profile field gender is now marked as required
- Fix a bug: logical sequence of invoices references is broken, when using the store module or the payments schedules
- Fix a bug: refund invoices may generate duplicates in invoices references
Expand Down Expand Up @@ -281,11 +306,11 @@
- OpenAPI reservation endpoint will return details for the reserved slots
- Display info messages if the user cannot buy prepaid packs
- Fix a bug: some OpenAPI endpoints struggle and expire with timeout
- Fix a bug: OpenAPI events endpoint documentation does not refect the returned data
- Fix a bug: OpenAPI events endpoint documentation does not reflect the returned data
- Fix a bug: members can't change/cancel their reservations
- Fix a bug: admin events view should default to the list tab
- Fix a bug: event creation form should not allow setting multiple times the same price category
- Fix a bug: MAX_SIZE env varibles should not be quoted (#438)
- Fix a bug: MAX_SIZE env variables should not be quoted (#438)
- Fix a bug: unable to add OIDC scopes without discovery
- [BREAKING CHANGE] GET `open_api/v1/events` will necessarily be paginated
- [BREAKING CHANGE] GET `open_api/v1/invoices` will necessarily be paginated
Expand Down Expand Up @@ -324,7 +349,7 @@
- Automatically cancel trainings with insufficient attendees
- Check SCSS syntax before saving home page style
- Use Time instead of DateTime objects
- Fix a bug: missing statististics subtypes
- Fix a bug: missing statistics subtypes
- Fix a bug: wrong times in admin/event monitoring
- Fix a bug: daylight saving time is ignored and result in wrong dates and/or times when dealing around the DST day
- Fix a bug: date shift in event creation/update
Expand Down Expand Up @@ -359,7 +384,7 @@
- Fix a bug: invalid duration for machine/spaces reservations in statistics, when using slots of not 1 hour
- Fix a bug: invalid month in date format
- Fix a bug: do not show theme and age-range fields in event form if no options were set
- Fix a bug: do not show catgory select in plan form if no options were set
- Fix a bug: do not show category select in plan form if no options were set
- Fix a bug: new setups doesn't log
- [TODO DEPLOY] `rails db:seed`
- [TODO DEPLOY] `rails fablab:es:build_stats` THEN `rails fablab:maintenance:regenerate_statistics[2014,1]`
Expand Down Expand Up @@ -398,7 +423,7 @@
## v5.6.3 2023 January 9

- Fix a bug: unable to build the docker image (yarn error extracting tar content of undefined failed)
- Fix a security issue: logged users but non-admins can access to analytics data throught the API
- Fix a security issue: logged users but non-admins can access to analytics data through the API

## v5.6.2 2023 January 9

Expand Down Expand Up @@ -440,15 +465,15 @@
- OpenAPI endpoint to fetch accounting data
- Add reservation deadline parameter (#414)
- Verify current password at server side when changing password
- Password strengh indicator
- Password strength indicator
- Updated OpenAPI documentation
- Updated OpenID Connect documentation
- OpenAPI users endpoint offer ability to filter by created_after
- OpenAPI users endpoint return first name, last name, gender, organization and address
- Default accounting codes and labels if not set
- Active serving static files from the `/public` folder by default from rails
- Display custom error message if the PDF invoice is not found
- Report subsription mismatch with user's group
- Report subscription mismatch with user's group
- Added sentry for error reporting
- Report details of the due for invoices related to a payment schedule
- Migrated plan/machine/space/event forms to react
Expand Down
1 change: 1 addition & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -532,6 +532,7 @@ GEM
PLATFORMS
x86_64-darwin-20
x86_64-darwin-21
x86_64-darwin-23
x86_64-linux

DEPENDENCIES
Expand Down
5 changes: 2 additions & 3 deletions app/frontend/src/javascript/components/form/form-input.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,10 @@ export const FormInput = <TFieldValues extends FieldValues, TInputType>({ id, re
return num;
}
if (type === 'date') {
const date: Date = new Date(value + 'T00:00:00');
if (Number.isNaN(date) && nullable) {
if (Number.isNaN(value) && nullable) {
return null;
}
return date;
return value;
}
setCharacterCount(value?.length || 0);
return value;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,13 +204,13 @@ const SupportingDocumentsTypesList: React.FC<SupportingDocumentsTypesListProps>
<p>{t('app.admin.settings.account.supporting_documents_types_list.supporting_documents_type_info')}</p>
<FabAlert level="warning">
<HtmlTranslate trKey="app.admin.settings.account.supporting_documents_types_list.no_groups_info" />
<FabButton onClick={addGroup}>{t('app.admin.settings.account.supporting_documents_types_list.create_groups')}</FabButton>
<FabButton onClick={addGroup} className="is-secondary">{t('app.admin.settings.account.supporting_documents_types_list.create_groups')}</FabButton>
</FabAlert>
</div>

<div className="title">
<h3>{t('app.admin.settings.account.supporting_documents_types_list.supporting_documents_type_title')}</h3>
<FabButton onClick={addType}>{t('app.admin.settings.account.supporting_documents_types_list.add_type')}</FabButton>
<FabButton onClick={addType} className="is-secondary">{t('app.admin.settings.account.supporting_documents_types_list.add_type')}</FabButton>
</div>

<SupportingDocumentsTypeModal isOpen={modalIsOpen}
Expand Down Expand Up @@ -279,7 +279,7 @@ const SupportingDocumentsTypesList: React.FC<SupportingDocumentsTypesListProps>
<div className="types-list">
<div className="title">
<h3>{t('app.admin.settings.account.supporting_documents_types_list.supporting_documents_type_title')}</h3>
<FabButton onClick={addType}>{t('app.admin.settings.account.supporting_documents_types_list.add_type')}</FabButton>
<FabButton onClick={addType} className='is-secondary'>{t('app.admin.settings.account.supporting_documents_types_list.add_type')}</FabButton>
</div>

<SupportingDocumentsTypeModal isOpen={modalIsOpen}
Expand Down
3 changes: 2 additions & 1 deletion app/frontend/src/javascript/controllers/admin/invoices.js
Original file line number Diff line number Diff line change
Expand Up @@ -824,11 +824,12 @@ Application.Controllers.controller('InvoicesController', ['$scope', '$state', 'I
* @param [concat] {boolean} if true, the result will be append to $scope.invoices instead of being affected
*/
const invoiceSearch = function (concat) {
const date = $scope.searchInvoice.date ? $scope.searchInvoice.date.toISOString().slice(0, 10) : null;
Invoice.list({
query: {
number: $scope.searchInvoice.reference,
customer: $scope.searchInvoice.name,
date: $scope.searchInvoice.date,
date,
order_by: $scope.orderInvoice,
page: $scope.page,
size: INVOICES_PER_PAGE
Expand Down
3 changes: 0 additions & 3 deletions app/frontend/src/javascript/controllers/admin/members.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,9 +165,6 @@ Application.Controllers.controller('AdminMembersController', ['$scope', '$sce',

if ($scope.enableUserValidationRequired) { $scope.member.memberFilters.push('not_validated'); }

// should we display the username in the list?
$scope.displayUsername = (settingsPromise.show_username_in_admin_list === 'true');

// Admins ordering/sorting. Default: not sorted
$scope.orderAdmin = null;

Expand Down
2 changes: 1 addition & 1 deletion app/frontend/src/javascript/directives/cart.js
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,7 @@ Application.Directives.directive('cart', ['$rootScope', '$uibModal', 'dialogs',
const validateSameTimeReservations = function (slot, callback) {
let sameTimeReservations = $scope.settings.overlapping_categories.split(',').map(function (k) {
return _.filter($scope.user[k], function (sr) {
return !sr.canceled_at && (
return !sr.canceled_at && !(sr.reservable_type === 'Event' && (sr.is_valid === false)) && (
slot.start.isSame(sr.start_at) ||
(slot.end.isAfter(sr.start_at) && slot.end.isBefore(sr.end_at)) ||
(slot.start.isAfter(sr.start_at) && slot.start.isBefore(sr.end_at)) ||
Expand Down
3 changes: 1 addition & 2 deletions app/frontend/src/javascript/models/setting.ts
Original file line number Diff line number Diff line change
Expand Up @@ -219,8 +219,7 @@ export const registrationSettings = [
] as const;

export const adminSettings = [
'feature_tour_display',
'show_username_in_admin_list'
'feature_tour_display'
] as const;

export const pricingSettings = [
Expand Down
4 changes: 2 additions & 2 deletions app/frontend/src/javascript/router.js
Original file line number Diff line number Diff line change
Expand Up @@ -1037,7 +1037,7 @@ angular.module('application.router', ['ui.router'])
groupsPromise: ['Group', function (Group) { return Group.query().$promise; }],
tagsPromise: ['Tag', function (Tag) { return Tag.query().$promise; }],
authProvidersPromise: ['AuthProvider', function (AuthProvider) { return AuthProvider.query().$promise; }],
settingsPromise: ['Setting', function (Setting) { return Setting.query({ names: "['feature_tour_display', 'user_validation_required', 'show_username_in_admin_list']" }).$promise; }]
settingsPromise: ['Setting', function (Setting) { return Setting.query({ names: "['feature_tour_display', 'user_validation_required']" }).$promise; }]
}
})
.state('app.admin.members_new', {
Expand Down Expand Up @@ -1198,7 +1198,7 @@ angular.module('application.router', ['ui.router'])
"'link_name', 'home_content', 'home_css', 'phone_required', 'upcoming_events_shown', 'public_agenda_module'," +
"'renew_pack_threshold', 'pack_only_for_subscription', 'overlapping_categories', 'public_registrations'," +
"'extended_prices_in_same_day', 'recaptcha_site_key', 'recaptcha_secret_key', 'user_validation_required', " +
"'user_validation_required_list', 'machines_module', 'user_change_group', 'show_username_in_admin_list', " +
"'user_validation_required_list', 'machines_module', 'user_change_group', " +
"'store_module', 'machine_reservation_deadline', 'training_reservation_deadline', 'event_reservation_deadline', " +
"'space_reservation_deadline', 'reservation_context_feature']"
}).$promise;
Expand Down
2 changes: 0 additions & 2 deletions app/frontend/src/stylesheets/app.buttons.scss
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
outline: 0;
text-transform: uppercase;

//border: 3px solid $yellow;
//background-color: $yellow;
&:hover {
background-color: white;
}
Expand Down
4 changes: 2 additions & 2 deletions app/frontend/src/stylesheets/app.colors.scss
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
background-color: $brand-light;
}

//.bg-red { background-color: $red; color: white; }
//.bg-red-dark { background-color: $red-dark; }
.bg-red { background-color: var(--main); color: var(--main-text-color); }
.bg-red-dark { background-color: var(--main-dark); color: var(--main-text-color); }
//.bg-yellow { background-color: $yellow !important; }
.bg-token {
background-color: rgba(230, 208, 137, 0.49);
Expand Down
11 changes: 10 additions & 1 deletion app/frontend/src/stylesheets/app.components.scss
Original file line number Diff line number Diff line change
Expand Up @@ -396,8 +396,13 @@
vertical-align: bottom;

&.label-icon {
width: 2.8rem;
height: 2.8rem;
display: inline-flex;
justify-content: center;
align-items: center;
font-size: rem-calc(22);
padding: 4px 9px 1px 10px;
color: var(--main-text-color);
}
}
}
Expand Down Expand Up @@ -702,3 +707,7 @@ input[type=date].form-control {
margin-bottom: 0;
}
}

.medium-editor-anchor-preview a:hover {
color: #ffffff;
}
13 changes: 1 addition & 12 deletions app/frontend/src/stylesheets/app.nav.scss
Original file line number Diff line number Diff line change
Expand Up @@ -501,26 +501,15 @@
}

#nav {
// border-right: 1px solid $red-dark;
.nav {
//background-color: $red;
> li {
> a {
padding: 13px 17px;
font-weight: 600;
color: white;

&:hover,
&:focus, &.active {
//background-color: $red-light;
color: white;
}
color: var(--main-text-color);

&.active {
border-left: 3px solid;

// #870003;

}
}
}
Expand Down
Loading

0 comments on commit 3023668

Please sign in to comment.