mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-02-19 13:54:25 +01:00
Ability to parametrize machines order on the booking page
This commit is contained in:
parent
a26e8edf19
commit
1e3066f6f4
@ -2,10 +2,12 @@
|
||||
|
||||
## next release
|
||||
|
||||
- Ability to parametrize machines order on the booking page
|
||||
- Fix a bug: rake task fablab:fix:categories_slugs bash interpretation error
|
||||
- Fix a bug: file inputs filled with long filenames render improperly with an overflow
|
||||
- Fix a bug: title concordance radio buttons render improperly on smaller screens
|
||||
- [TODO DEPLOY] `rake fablab:fix:categories_slugs`
|
||||
- [TODO DEPLOY] `rake db:seed`
|
||||
|
||||
## v2.6.5 2018 July 24
|
||||
|
||||
|
@ -53,6 +53,7 @@ Application.Controllers.controller "SettingsController", ["$scope", 'Setting', '
|
||||
$scope.secondColorSetting = { name: 'secondary_color', value: settingsPromise.secondary_color }
|
||||
$scope.fablabName = { name: 'fablab_name', value: settingsPromise.fablab_name }
|
||||
$scope.nameGenre = { name: 'name_genre', value: settingsPromise.name_genre }
|
||||
$scope.machinesSortBy = { name: 'machines_sort_by', value: settingsPromise.machines_sort_by }
|
||||
$scope.cguFile = cguFile.custom_asset
|
||||
$scope.cgvFile = cgvFile.custom_asset
|
||||
$scope.customLogo = logoFile.custom_asset
|
||||
|
@ -1159,7 +1159,8 @@ angular.module('application.router', ['ui.router']).
|
||||
'reminder_delay',
|
||||
'visibility_yearly',
|
||||
'visibility_others',
|
||||
'display_name_enable'
|
||||
'display_name_enable',
|
||||
'machines_sort_by'
|
||||
]").$promise
|
||||
]
|
||||
cguFile: ['CustomAsset', (CustomAsset) ->
|
||||
|
@ -314,4 +314,29 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default m-t-lg">
|
||||
<div class="panel-heading">
|
||||
<span class="font-sbold" translate>{{ 'settings.elements_ordering' }}</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h3 class="m-l" translate>{{ 'settings.machines_order' }}</h3>
|
||||
<div class="form-group m-l">
|
||||
<label for="machinesSortBy" class="control-label m-r" translate>{{ 'settings.display_machines_sorted_by' }}</label>
|
||||
<select id="machinesSortBy"
|
||||
class="form-control"
|
||||
ng-model="machinesSortBy.value">
|
||||
<option value="default" translate>{{ 'settings.sort_by.default' }}</option>
|
||||
<option value="name" translate>{{ 'settings.sort_by.name' }}</option>
|
||||
<option value="created_at" translate>{{ 'settings.sort_by.created_at' }}</option>
|
||||
<option value="updated_at" translate>{{ 'settings.sort_by.updated_at' }}</option>
|
||||
</select>
|
||||
<button name="button" class="btn btn-warning m-t" ng-click="save(machinesSortBy)" translate>{{ 'save' }}</button>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -4,7 +4,12 @@ class API::MachinesController < API::ApiController
|
||||
respond_to :json
|
||||
|
||||
def index
|
||||
@machines = Machine.includes(:machine_image, :plans)
|
||||
sort_by = Setting.find_by(name: 'machines_sort_by').value || 'default'
|
||||
if sort_by === 'default'
|
||||
@machines = Machine.includes(:machine_image, :plans)
|
||||
else
|
||||
@machines = Machine.includes(:machine_image, :plans).order(sort_by)
|
||||
end
|
||||
end
|
||||
|
||||
def show
|
||||
|
@ -35,7 +35,8 @@ class Setting < ActiveRecord::Base
|
||||
space_explications_alert
|
||||
visibility_yearly
|
||||
visibility_others
|
||||
display_name_enable )
|
||||
display_name_enable
|
||||
machines_sort_by )
|
||||
}
|
||||
|
||||
after_update :update_stylesheet if :value_changed?
|
||||
|
@ -661,6 +661,15 @@ en:
|
||||
display_machine_reservation_user_name: "Display the full name of the user who booked a machine slot"
|
||||
display_name: "Display the name"
|
||||
display_name_enable: "name display"
|
||||
machines_sort_by: "machines display order"
|
||||
elements_ordering: "Elements ordering"
|
||||
machines_order: "Machines order"
|
||||
display_machines_sorted_by: "Display machines sorted by"
|
||||
sort_by:
|
||||
default: "Default"
|
||||
name: "Name"
|
||||
created_at: "Creation date"
|
||||
updated_at: "Last update date"
|
||||
|
||||
open_api_clients:
|
||||
add_new_client: "Create new API client"
|
||||
|
@ -661,6 +661,15 @@ es:
|
||||
display_machine_reservation_user_name: "Mostrar el nombre del usuario que ha reservado una maquina"
|
||||
display_name: "Mostrar el nombre"
|
||||
display_name_enable: "la visualización del nombre"
|
||||
machines_sort_by: "del orden de visualización de las máquinas"
|
||||
elements_ordering: "Orden de visualización de los elementos"
|
||||
machines_order: "Orden de las máquinas"
|
||||
display_machines_sorted_by: "Ver máquinas ordenadas por"
|
||||
sort_by:
|
||||
default: "Defecto"
|
||||
name: "Nombre"
|
||||
created_at: "Fecha de creación"
|
||||
updated_at: "Fecha de actualización"
|
||||
|
||||
open_api_clients:
|
||||
add_new_client: "Crear un nuevo cliente de API"
|
||||
|
@ -661,6 +661,15 @@ fr:
|
||||
display_machine_reservation_user_name: "Afficher le nom de l'utilisateur ayant réservé une machine"
|
||||
display_name: "Afficher le nom"
|
||||
display_name_enable: "l'affichage du nom"
|
||||
machines_sort_by: "l'odre d'affichage des machines"
|
||||
elements_ordering: "Ordre d'affichage des éléments"
|
||||
machines_order: "Ordre des machines"
|
||||
display_machines_sorted_by: "Afficher les machines triées par"
|
||||
sort_by:
|
||||
default: "Défaut"
|
||||
name: "Nom"
|
||||
created_at: "Date de création"
|
||||
updated_at: "Date de mise à jour"
|
||||
|
||||
open_api_clients:
|
||||
add_new_client: "Créer un compte client"
|
||||
|
@ -661,6 +661,15 @@ pt:
|
||||
display_machine_reservation_user_name: "TODO"
|
||||
display_name: "TODO"
|
||||
display_name_enable: "TODO"
|
||||
machines_sort_by: "TODO"
|
||||
elements_ordering: "TODO"
|
||||
machines_order: "TODO"
|
||||
display_machines_sorted_by: "TODO"
|
||||
sort_by:
|
||||
default: "TODO"
|
||||
name: "Nome"
|
||||
created_at: "TODO"
|
||||
updated_at: "TODO"
|
||||
|
||||
open_api_clients:
|
||||
add_new_client: "Criar novo cliente de API"
|
||||
|
@ -419,6 +419,12 @@ unless Setting.find_by(name: 'display_name_enable').try(:value)
|
||||
setting.save
|
||||
end
|
||||
|
||||
unless Setting.find_by(name: 'machines_sort_by').try(:value)
|
||||
setting = Setting.find_or_initialize_by(name: 'machines_sort_by')
|
||||
setting.value = 'default'
|
||||
setting.save
|
||||
end
|
||||
|
||||
if StatisticCustomAggregation.count == 0
|
||||
# available reservations hours for machines
|
||||
machine_hours = StatisticType.find_by(key: 'hour', statistic_index_id: 2)
|
||||
|
7
test/fixtures/settings.yml
vendored
7
test/fixtures/settings.yml
vendored
@ -246,3 +246,10 @@ setting_32:
|
||||
value: false
|
||||
created_at: 2018-07-24 11:45:31.512710000 Z
|
||||
updated_at: 2018-07-24 11:45:31.512710000 Z
|
||||
|
||||
setting_33:
|
||||
id: 33
|
||||
name: machines_sort_by
|
||||
value: default
|
||||
created_at: 2018-09-18 15:09:48.176240000 Z
|
||||
updated_at: 2018-09-18 15:09:48.176240000 Z
|
||||
|
Loading…
x
Reference in New Issue
Block a user