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

Merge branch 'dev' for release 5.1.10

This commit is contained in:
Sylvain 2021-10-04 11:52:07 +02:00
commit 71161e433b
9 changed files with 42 additions and 20 deletions

View File

@ -1,17 +1,22 @@
# Changelog Fab-manager
## v5.1.10 2021 October 04
- Fix a bug: the image of the about page is not using the image set in backoffice
- Fix a bug: updated sassc to 2.4.0 to fix ruby runtime error on some CPU architectures (#270)
- Fix a security issue: prevent HTML code edition in projects, to prevent XSS vulnerability (#293)
## v5.1.9 2021 September 21
- Add a setting for the purchase and use of a prepaid pack is only possible for the user with a valid subscription
- Fix a bug: unable to show plan name in calendar reservations
- Fix a bug: book overlapping slot setting labal name
- Fix a bug: book overlapping slot setting label name
## v5.1.8 2021 September 13
- Improved stripe 3D secure payment on payment schedules
- Disable monthly payment for the subscription with interval 1 month
- Fix a bug: unable to show statistics module in nav menu after login
- Fix a bug: plans page show an error if admin dont create any plans
- Fix a bug: plans page show an error if admin don't create any plans
## v5.1.7 2021 August 24
@ -20,12 +25,12 @@
## v5.1.6 2021 August 6
- Adjuste packs pricing popover position
- Adjust packs pricing popover position
- Updated Norwegian language
- Updated addressable from 2.7.0 to 2.8.0
- Updated tar from 6.1.0 to 6.1.4
- Fix a bug: unable to generate avoir of wallet
- Fix a bug: manager cant reserve training for user
- Fix a bug: managers can't reserve trainings for users
## v5.1.5 2021 August 2
@ -66,6 +71,22 @@
- [TODO DEPLOY] `rails db:seed`
- [TODO DEPLOY] `rails fablab:maintenance:rebuild_stylesheet`
## v5.0.14 2021 September 30
- Fix a bug: unable to show plan name in calendar reservations
- Fix a bug: book overlapping slot setting labal name
## v5.0.13 2021 September 13
- Improved stripe 3D secure payment on payment schedules
- Disable monthly payment for the subscription with interval 1 month
- Fix a bug: unable to show statistics module in nav menu after login
- Fix a bug: plans page show an error if admin dont create any plans
## v5.0.12 2021 August 24
- Fix a bug: unable to show plans page
## v5.0.11 2021 August 6
- Fix a bug: unable to generate avoir of wallet

View File

@ -140,7 +140,7 @@ GEM
i18n (>= 1.6, < 2)
faraday (0.17.3)
multipart-post (>= 1.2, < 3)
ffi (1.15.1)
ffi (1.15.4)
foreman (0.87.0)
forgery (0.7.0)
friendly_id (5.1.0)
@ -341,7 +341,7 @@ GEM
rubyzip (>= 1.3.0)
rubyzip (2.3.0)
safe_yaml (1.0.5)
sassc (2.2.1)
sassc (2.4.0)
ffi (~> 1.9)
seed_dump (3.3.1)
activerecord (>= 4)

View File

@ -22,6 +22,7 @@
* in the various projects' admin controllers.
*
* Provides :
* - $scope.summernoteOptsProject
* - $scope.totalSteps
* - $scope.machines = [{Machine}]
* - $scope.components = [{Component}]
@ -42,7 +43,11 @@
* - $state (Ui-Router) [ 'app.public.projects_show', 'app.public.projects_list' ]
*/
class ProjectsController {
constructor ($scope, $state, Project, Machine, Member, Component, Theme, Licence, $document, Diacritics, dialogs, allowedExtensions, _t) {
constructor ($rootScope, $scope, $state, Project, Machine, Member, Component, Theme, Licence, $document, Diacritics, dialogs, allowedExtensions, _t) {
// remove codeview from summernote editor
$scope.summernoteOptsProject = angular.copy($rootScope.summernoteOpts);
$scope.summernoteOptsProject.toolbar[6][1].splice(1, 1);
// Retrieve the list of machines from the server
Machine.query().$promise.then(function (data) {
$scope.machines = data.map(function (d) {
@ -449,8 +454,8 @@ Application.Controllers.controller('ProjectsController', ['$scope', '$state', 'P
/**
* Controller used in the project creation page
*/
Application.Controllers.controller('NewProjectController', ['$scope', '$state', 'Project', 'Machine', 'Member', 'Component', 'Theme', 'Licence', '$document', 'CSRF', 'Diacritics', 'dialogs', 'allowedExtensions', '_t',
function ($scope, $state, Project, Machine, Member, Component, Theme, Licence, $document, CSRF, Diacritics, dialogs, allowedExtensions, _t) {
Application.Controllers.controller('NewProjectController', ['$rootScope', '$scope', '$state', 'Project', 'Machine', 'Member', 'Component', 'Theme', 'Licence', '$document', 'CSRF', 'Diacritics', 'dialogs', 'allowedExtensions', '_t',
function ($rootScope, $scope, $state, Project, Machine, Member, Component, Theme, Licence, $document, CSRF, Diacritics, dialogs, allowedExtensions, _t) {
CSRF.setMetaTags();
// API URL where the form will be posted
@ -468,7 +473,7 @@ Application.Controllers.controller('NewProjectController', ['$scope', '$state',
$scope.matchingMembers = [];
// Using the ProjectsController
return new ProjectsController($scope, $state, Project, Machine, Member, Component, Theme, Licence, $document, Diacritics, dialogs, allowedExtensions, _t);
return new ProjectsController($rootScope, $scope, $state, Project, Machine, Member, Component, Theme, Licence, $document, Diacritics, dialogs, allowedExtensions, _t);
}
]);
@ -509,7 +514,7 @@ Application.Controllers.controller('EditProjectController', ['$rootScope', '$sco
}
// Using the ProjectsController
return new ProjectsController($scope, $state, Project, Machine, Member, Component, Theme, Licence, $document, Diacritics, dialogs, allowedExtensions, _t);
return new ProjectsController($rootScope, $scope, $state, Project, Machine, Member, Component, Theme, Licence, $document, Diacritics, dialogs, allowedExtensions, _t);
};
// !!! MUST BE CALLED AT THE END of the controller

View File

@ -166,7 +166,7 @@ Application.Filters.filter('simpleText', [function () {
}]);
Application.Filters.filter('toTrusted', ['$sce', function ($sce) {
return text => $sce.trustAsHtml(text);
return text => $sce.getTrustedHtml(text);
}]);
Application.Filters.filter('planIntervalFilter', [function () {

View File

@ -49,7 +49,7 @@
required
bs-jasny-fileinput>
</span>
<a href="#" class="btn btn-danger fileinput-exists" data-dismiss="fileinput" translate>{{ 'app.shared.buttons.delete' }}</a>
<button class="btn btn-danger fileinput-exists" data-dismiss="fileinput" translate>{{ 'app.shared.buttons.delete' }}</button>
</div>
</div>
</div>

View File

@ -71,7 +71,7 @@
<label for="description" class="col-sm-2 control-label">{{ 'app.shared.project.description' | translate }} *</label>
<div class="col-sm-10">
<input type="hidden" name="project[description]" ng-value="project.description" />
<summernote ng-model="project.description" id="project_description" placeholder="" config="summernoteOpts" name="project[description]" required></summernote>
<summernote ng-model="project.description" id="project_description" placeholder="" config="summernoteOptsProject" name="project[description]" required></summernote>
<span class="help-block" ng-show="projectForm['project[description]'].$dirty && projectForm['project[description]'].$error.required" translate>{{ 'app.shared.project.description_is_required' }}</span>
</div>
</div>

View File

@ -279,9 +279,6 @@ a.label:focus,
}
.about-picture {
background: linear-gradient( rgba(255,255,255,0.12), rgba(255,255,255,0.13) ),
linear-gradient(<%=Stylesheet.primary_with_alpha(0.78)%>, <%=Stylesheet.primary_with_alpha(0.82)%>),
url('/about-fablab.jpg') no-repeat;
}
.social-icons > div:hover {
@ -289,7 +286,7 @@ a.label:focus,
color: $secondary-text-color;
}
.profile-top {
.profile-top, .about-picture {
background: linear-gradient( rgba(255,255,255,0.12), rgba(255,255,255,0.13) ),
linear-gradient(<%=Stylesheet.primary_with_alpha(0.78)%>, <%=Stylesheet.primary_with_alpha(0.82)%>),
url("<%=CustomAsset.get_url('profile-image-file') || '/about-fablab.jpg'%>") no-repeat;

View File

@ -1154,7 +1154,6 @@ en:
error_SETTING_locked: "Unable to update the setting: {SETTING} is locked. Please contact your system administrator."
an_error_occurred_saving_the_setting: "An error occurred while saving the setting. Please try again later."
book_overlapping_slots_info: "Allow / prevent the reservation of overlapping slots"
prevent_booking: "Prevent booking"
allow_booking: "Allow booking"
default_slot_duration: "Default duration for slots"
duration_minutes: "Duration (in minutes)"

View File

@ -1,6 +1,6 @@
{
"name": "fab-manager",
"version": "5.1.9",
"version": "5.1.10",
"description": "Fab-manager is the FabLab management solution. It provides a comprehensive, web-based, open-source tool to simplify your administrative tasks and your marker's projects.",
"keywords": [
"fablab",