1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-01 12:24:28 +01:00

[ongoing] fix erb js controllers

This commit is contained in:
Sylvain 2018-11-19 16:52:48 +01:00
parent 185ea30db3
commit aac0e8125c
3 changed files with 43 additions and 35 deletions

View File

@ -12,7 +12,6 @@
* DS102: Remove unnecessary code created because of implicit returns * DS102: Remove unnecessary code created because of implicit returns
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/ */
'use strict'
Application.Controllers.controller('EventsController', ['$scope', '$state', 'Event', 'categoriesPromise', 'themesPromise', 'ageRangesPromise', Application.Controllers.controller('EventsController', ['$scope', '$state', 'Event', 'categoriesPromise', 'themesPromise', 'ageRangesPromise',
function ($scope, $state, Event, categoriesPromise, themesPromise, ageRangesPromise) { function ($scope, $state, Event, categoriesPromise, themesPromise, ageRangesPromise) {
@ -170,7 +169,7 @@ Application.Controllers.controller('ShowEventController', ['$scope', '$state', '
* Callback to delete the provided event (admins only) * Callback to delete the provided event (admins only)
* @param event {$resource} angular's Event $resource * @param event {$resource} angular's Event $resource
*/ */
$scope.deleteEvent = event => $scope.deleteEvent = function (event) {
dialogs.confirm({ dialogs.confirm({
resolve: { resolve: {
object () { object () {
@ -444,12 +443,12 @@ Application.Controllers.controller('ShowEventController', ['$scope', '$state', '
/** /**
* Return the URL allowing to share the current project on the Facebook social network * Return the URL allowing to share the current project on the Facebook social network
*/ */
$scope.shareOnFacebook = () => `https://www.facebook.com/share.php?u=${$state.href('app.public.events_show', { id: $scope.event.id }, { absolute: true }).replace('#', '%23')}` $scope.shareOnFacebook = function () { return `https://www.facebook.com/share.php?u=${$state.href('app.public.events_show', { id: $scope.event.id }, { absolute: true }).replace('#', '%23')}`; }
/** /**
* Return the URL allowing to share the current project on the Twitter social network * Return the URL allowing to share the current project on the Twitter social network
*/ */
$scope.shareOnTwitter = () => `https://twitter.com/intent/tweet?url=${encodeURIComponent($state.href('app.public.events_show', { id: $scope.event.id }, { absolute: true }))}&text=${encodeURIComponent($scope.event.title)}` $scope.shareOnTwitter = function () { return `https://twitter.com/intent/tweet?url=${encodeURIComponent($state.href('app.public.events_show', { id: $scope.event.id }, { absolute: true }))}&text=${encodeURIComponent($scope.event.title)}`; }
/** /**
* Return the textual description of the conditions applyable to the given price's category * Return the textual description of the conditions applyable to the given price's category
@ -498,8 +497,13 @@ Application.Controllers.controller('ShowEventController', ['$scope', '$state', '
* @param reservable_type {string} 'Event' * @param reservable_type {string} 'Event'
* @param user_id {number} the user's id (current or managed) * @param user_id {number} the user's id (current or managed)
*/ */
var getReservations = (reservable_id, reservable_type, user_id) => var getReservations = function (reservable_id, reservable_type, user_id) {
Reservation.query({ reservable_id, reservable_type, user_id }).$promise.then(reservations => $scope.reservations = reservations) Reservation.query({
reservable_id,
reservable_type,
user_id
}).$promise.then(function (reservations) { $scope.reservations = reservations })
};
/** /**
* Create an hash map implementing the Reservation specs * Create an hash map implementing the Reservation specs
@ -582,7 +586,7 @@ Application.Controllers.controller('ShowEventController', ['$scope', '$state', '
* Open a modal window which trigger the stripe payment process * Open a modal window which trigger the stripe payment process
* @param reservation {Object} to book * @param reservation {Object} to book
*/ */
var payByStripe = reservation => var payByStripe = function (reservation) {
$uibModal.open({ $uibModal.open({
templateUrl: '<%= asset_path "stripe/payment_modal.html" %>', templateUrl: '<%= asset_path "stripe/payment_modal.html" %>',
size: 'md', size: 'md',
@ -654,7 +658,7 @@ Application.Controllers.controller('ShowEventController', ['$scope', '$state', '
* Open a modal window which trigger the local payment process * Open a modal window which trigger the local payment process
* @param reservation {Object} to book * @param reservation {Object} to book
*/ */
var payOnSite = reservation => var payOnSite = function (reservation) {
$uibModal.open({ $uibModal.open({
templateUrl: '<%= asset_path "shared/valid_reservation_modal.html" %>', templateUrl: '<%= asset_path "shared/valid_reservation_modal.html" %>',
size: 'sm', size: 'sm',

View File

@ -30,10 +30,10 @@
* Requires : * Requires :
* - $scope.machine.machine_files_attributes = [] * - $scope.machine.machine_files_attributes = []
* - $state (Ui-Router) [ 'app.public.machines_list' ] * - $state (Ui-Router) [ 'app.public.machines_list' ]
/* */
class MachinesController { class MachinesController {
constructor ($scope, $state) { constructor ($scope, $state) {
/* /**
* For use with ngUpload (https://github.com/twilson63/ngUpload). * For use with ngUpload (https://github.com/twilson63/ngUpload).
* Intended to be the callback when the upload is done: any raised error will be stacked in the * Intended to be the callback when the upload is done: any raised error will be stacked in the
* $scope.alerts array. If everything goes fine, the user is redirected to the machines list. * $scope.alerts array. If everything goes fine, the user is redirected to the machines list.
@ -42,14 +42,14 @@ class MachinesController {
$scope.submited = function (content) { $scope.submited = function (content) {
if ((content.id == null)) { if ((content.id == null)) {
$scope.alerts = [] $scope.alerts = []
return angular.forEach(content, (v, k) => angular.forEach(content, function (v, k) {
angular.forEach(v, err => angular.forEach(function (v, err) {
$scope.alerts.push({ $scope.alerts.push({
msg: k + ': ' + err, msg: k + ': ' + err,
type: 'danger' type: 'danger'
}) })
) })
) })
} else { } else {
return $state.go('app.public.machines_list') return $state.go('app.public.machines_list')
} }
@ -58,7 +58,7 @@ class MachinesController {
/** /**
* Changes the current user's view, redirecting him to the machines list * Changes the current user's view, redirecting him to the machines list
*/ */
$scope.cancel = () => $state.go('app.public.machines_list') $scope.cancel = function () { $state.go('app.public.machines_list') }
/** /**
* For use with 'ng-class', returns the CSS class name for the uploads previews. * For use with 'ng-class', returns the CSS class name for the uploads previews.
@ -76,7 +76,7 @@ class MachinesController {
/** /**
* This will create a single new empty entry into the machine attachements list. * This will create a single new empty entry into the machine attachements list.
*/ */
$scope.addFile = () => $scope.machine.machine_files_attributes.push({}) $scope.addFile = function () { $scope.machine.machine_files_attributes.push({}) }
/** /**
* This will remove the given file from the machine attachements list. If the file was previously uploaded * This will remove the given file from the machine attachements list. If the file was previously uploaded
@ -124,14 +124,14 @@ const _reserveMachine = function (machine, e) {
templateUrl: '<%= asset_path "machines/training_reservation_modal.html" %>', templateUrl: '<%= asset_path "machines/training_reservation_modal.html" %>',
controller: ['$scope', '$uibModalInstance', '$state', function ($scope, $uibModalInstance, $state) { controller: ['$scope', '$uibModalInstance', '$state', function ($scope, $uibModalInstance, $state) {
$scope.machine = machine $scope.machine = machine
return $scope.cancel = () => $uibModalInstance.dismiss('cancel') return $scope.cancel = function () { $uibModalInstance.dismiss('cancel') }
} }
] }) ] })
// ... but does not have booked the training, tell him to register for a training session first // ... but does not have booked the training, tell him to register for a training session first
// unless all associated trainings are disabled // unless all associated trainings are disabled
} else { } else {
// if all trainings are disabled, just redirect the user to the reservation calendar // if all trainings are disabled, just redirect the user to the reservation calendar
if (machine.trainings.map(t => t.disabled).reduce((acc, val) => acc && val, true)) { if (machine.trainings.map(function (t) { return t.disabled }).reduce(function (acc, val) { return acc && val; }, true)) {
return _this.$state.go('app.logged.machines_reserve', { id: machine.slug }) return _this.$state.go('app.logged.machines_reserve', { id: machine.slug })
// otherwise open the information modal // otherwise open the information modal
} else { } else {
@ -187,7 +187,7 @@ Application.Controllers.controller('MachinesController', ['$scope', '$state', '_
/** /**
* Redirect the user to the machine details page * Redirect the user to the machine details page
*/ */
$scope.showMachine = machine => $state.go('app.public.machines_show', { id: machine.slug }) $scope.showMachine = function (machine) { $state.go('app.public.machines_show', { id: machine.slug }) }
/** /**
* Callback to book a reservation for the current machine * Callback to book a reservation for the current machine
@ -279,9 +279,9 @@ Application.Controllers.controller('ShowMachineController', ['$scope', '$state',
$scope.delete = function (machine) { $scope.delete = function (machine) {
// check the permissions // check the permissions
if ($scope.currentUser.role !== 'admin') { if ($scope.currentUser.role !== 'admin') {
return console.error(_t('unauthorized_operation')) console.error(_t('unauthorized_operation'))
} else { } else {
return dialogs.confirm({ dialogs.confirm({
resolve: { resolve: {
object () { object () {
return { return {
@ -291,11 +291,13 @@ Application.Controllers.controller('ShowMachineController', ['$scope', '$state',
} }
} }
} }
, () => // deletion confirmed , function () { // deletion confirmed
// delete the machine then redirect to the machines listing // delete the machine then redirect to the machines listing
machine.$delete(() => $state.go('app.public.machines_list') machine.$delete(
, error => growl.warning(_t('the_machine_cant_be_deleted_because_it_is_already_reserved_by_some_users'))) function () { $state.go('app.public.machines_list') },
) function (error) { growl.warning(_t('the_machine_cant_be_deleted_because_it_is_already_reserved_by_some_users')); console.error(error); }
)
});
} }
} }
@ -424,7 +426,7 @@ Application.Controllers.controller('ReserveMachineController', ['$scope', '$stat
/** /**
* Callback when a slot was successfully cancelled. Reset the slot style as 'ready to book' * Callback when a slot was successfully cancelled. Reset the slot style as 'ready to book'
*/ */
$scope.slotCancelled = () => $scope.markSlotAsRemoved($scope.selectedEvent) $scope.slotCancelled = function () { $scope.markSlotAsRemoved($scope.selectedEvent) }
/** /**
* Change the last selected slot's appearence to looks like 'currently looking for a new destination to exchange' * Change the last selected slot's appearence to looks like 'currently looking for a new destination to exchange'
@ -492,7 +494,7 @@ Application.Controllers.controller('ReserveMachineController', ['$scope', '$stat
$scope.updateMember = function () { $scope.updateMember = function () {
$scope.plansAreShown = false $scope.plansAreShown = false
$scope.selectedPlan = null $scope.selectedPlan = null
return Member.get({ id: $scope.ctrl.member.id }, member => $scope.ctrl.member = member) Member.get({ id: $scope.ctrl.member.id }, function (member) { $scope.ctrl.member = member; })
} }
/** /**
@ -509,7 +511,7 @@ Application.Controllers.controller('ReserveMachineController', ['$scope', '$stat
/** /**
* Switch the user's view from the reservation agenda to the plan subscription * Switch the user's view from the reservation agenda to the plan subscription
*/ */
$scope.showPlans = () => $scope.plansAreShown = true $scope.showPlans = function () { $scope.plansAreShown = true }
/** /**
* Add the provided plan to the current shopping cart * Add the provided plan to the current shopping cart
@ -559,7 +561,7 @@ Application.Controllers.controller('ReserveMachineController', ['$scope', '$stat
/** /**
* To use as callback in Array.prototype.filter to get only enabled plans * To use as callback in Array.prototype.filter to get only enabled plans
*/ */
$scope.filterDisabledPlans = plan => !plan.disabled $scope.filterDisabledPlans = function (plan) { return !plan.disabled }
/* PRIVATE SCOPE */ /* PRIVATE SCOPE */
@ -567,12 +569,12 @@ Application.Controllers.controller('ReserveMachineController', ['$scope', '$stat
* Kind of constructor: these actions will be realized first when the controller is loaded * Kind of constructor: these actions will be realized first when the controller is loaded
*/ */
const initialize = function () { const initialize = function () {
Availability.machine({ machineId: $stateParams.id }, availabilities => Availability.machine({ machineId: $stateParams.id }, function (availabilities) {
$scope.eventSources.push({ $scope.eventSources.push({
events: availabilities, events: availabilities,
textColor: 'black' textColor: 'black'
}) })
) })
if ($scope.currentUser.role !== 'admin') { if ($scope.currentUser.role !== 'admin') {
return $scope.ctrl.member = $scope.currentUser return $scope.ctrl.member = $scope.currentUser
@ -613,27 +615,29 @@ Application.Controllers.controller('ReserveMachineController', ['$scope', '$stat
* @param reservation {Object} * @param reservation {Object}
* @param user {Object} user associated with the slot * @param user {Object} user associated with the slot
*/ */
var updateMachineSlot = (slot, reservation, user) => var updateMachineSlot = function (slot, reservation, user) {
angular.forEach(reservation.slots, function (s) { angular.forEach(reservation.slots, function (s) {
if (slot.start.isSame(s.start_at)) { if (slot.start.isSame(s.start_at)) {
slot.id = s.id slot.id = s.id
return slot.user = user return slot.user = user
} }
}) })
}
/** /**
* Update the calendar's display to render the new attributes of the events * Update the calendar's display to render the new attributes of the events
*/ */
var updateCalendar = () => uiCalendarConfig.calendars.calendar.fullCalendar('rerenderEvents') var updateCalendar = function () { uiCalendarConfig.calendars.calendar.fullCalendar('rerenderEvents') }
/** /**
* Asynchronously fetch the events from the API and refresh the calendar's view with these new events * Asynchronously fetch the events from the API and refresh the calendar's view with these new events
*/ */
var refetchCalendar = () => var refetchCalendar = function () {
$timeout(function () { $timeout(function () {
uiCalendarConfig.calendars.calendar.fullCalendar('refetchEvents') uiCalendarConfig.calendars.calendar.fullCalendar('refetchEvents')
return uiCalendarConfig.calendars.calendar.fullCalendar('rerenderEvents') return uiCalendarConfig.calendars.calendar.fullCalendar('rerenderEvents')
}) })
}
// !!! MUST BE CALLED AT THE END of the controller // !!! MUST BE CALLED AT THE END of the controller
return initialize() return initialize()

View File

@ -30,7 +30,7 @@
* Requires : * Requires :
* - $scope.space.space_files_attributes = [] * - $scope.space.space_files_attributes = []
* - $state (Ui-Router) [ 'app.public.spaces_list' ] * - $state (Ui-Router) [ 'app.public.spaces_list' ]
/* */
class SpacesController { class SpacesController {
constructor ($scope, $state) { constructor ($scope, $state) {
/* /*