1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-02-01 21:52:19 +01:00

allow active/disactive a training to show in training lists

This commit is contained in:
Peng DU 2016-07-14 12:18:24 +02:00
parent 503e8fc95f
commit 1529e4b14e
8 changed files with 34 additions and 5 deletions

View File

@ -371,7 +371,7 @@ angular.module('application.router', ['ui.router']).
controller: 'TrainingsController'
resolve:
trainingsPromise: ['Training', (Training)->
Training.query().$promise
Training.query({ public_page: true }).$promise
]
translations: [ 'Translations', (Translations) ->
Translations.query(['app.public.trainings_list']).$promise

View File

@ -92,6 +92,24 @@
</div>
</div>
<div class="form-group">
<label for="training[public_page]" class="control-label col-sm-2" translate>
{{ 'public_page' }}
</label>
<div class="col-sm-10">
<input bs-switch
ng-model="training.public_page"
name="training[public_page]"
type="checkbox"
class="form-control"
switch-on-text="{{ 'yes' | translate }}"
switch-off-text="{{ 'no' | translate }}"
switch-animate="true"/>
<input type="hidden" name="training[public_page]" value="{{training.public_page}}">
</div>
</div>
</div> <!-- ./panel-body -->
<div class="panel-footer no-padder">

View File

@ -7,6 +7,9 @@ class API::TrainingsController < API::ApiController
def index
@requested_attributes = params[:requested_attributes]
@trainings = policy_scope(Training)
if params[:public_page]
@trainings = @trainings.where(public_page: true)
end
if attribute_requested?(@requested_attributes, 'availabilities')
@trainings = @trainings.includes(:availabilities => [:slots => [:reservation => [:user => [:profile, :trainings]]]]).order('availabilities.start_at DESC')
@ -62,6 +65,6 @@ class API::TrainingsController < API::ApiController
end
def training_params
params.require(:training).permit(:id, :name, :description, :machine_ids, :plan_ids, :nb_total_places, training_image_attributes: [:attachment], machine_ids: [], plan_ids: [])
params.require(:training).permit(:id, :name, :description, :machine_ids, :plan_ids, :nb_total_places, :public_page, training_image_attributes: [:attachment], machine_ids: [], plan_ids: [])
end
end

View File

@ -1,4 +1,4 @@
json.extract! @training, :id, :name, :description, :machine_ids, :nb_total_places
json.extract! @training, :id, :name, :description, :machine_ids, :nb_total_places, :public_page
json.training_image @training.training_image.attachment.large.url if @training.training_image
json.availabilities @training.availabilities.order('start_at DESC') do |a|
json.id a.id

View File

@ -220,6 +220,7 @@ en:
validate_your_training: "Validate your training"
associated_machines: "Associated machines"
number_of_tickets: "Number of tickets"
public_page: "Show in training lists"
user_admin:
# partial form to edit/create an user (admin view)
@ -291,4 +292,4 @@ en:
no_projects: "No projects"
author: "Author"
collaborator: "Collaborator"
private_profile: "Private profile"
private_profile: "Private profile"

View File

@ -220,6 +220,7 @@ fr:
validate_your_training: "Valider votre formation"
associated_machines: "Machines associées"
number_of_tickets: "Nombre de places"
public_page: "Afficher dans la liste de formation"
user_admin:
# formulaire partiel d'édition/création utilisateur (vue admin)

View File

@ -0,0 +1,5 @@
class AddPublicPageToTraining < ActiveRecord::Migration
def change
add_column :trainings, :public_page, :boolean, default: true
end
end

View File

@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20160630140204) do
ActiveRecord::Schema.define(version: 20160714095018) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -592,6 +592,7 @@ ActiveRecord::Schema.define(version: 20160630140204) do
t.integer "nb_total_places"
t.string "slug", limit: 255
t.text "description"
t.boolean "public_page", default: true
end
add_index "trainings", ["slug"], name: "index_trainings_on_slug", unique: true, using: :btree