From bf1cdca7766a6da28015f2600b4f991e17894356 Mon Sep 17 00:00:00 2001
From: pabois <pierreandre.boissinot@noesya.coop>
Date: Thu, 9 Jun 2022 11:07:01 +0200
Subject: [PATCH] close #434

---
 app/controllers/admin/education/programs_controller.rb    | 2 +-
 app/models/education/program.rb                           | 2 ++
 app/views/admin/education/programs/_form.html.erb         | 3 +++
 app/views/admin/education/programs/show.html.erb          | 8 ++++++++
 app/views/admin/education/programs/static.html.erb        | 2 ++
 config/locales/education/en.yml                           | 7 +++++--
 config/locales/education/fr.yml                           | 3 +++
 .../20220609085535_add_training_infos_to_program.rb       | 6 ++++++
 db/schema.rb                                              | 4 +++-
 9 files changed, 33 insertions(+), 4 deletions(-)
 create mode 100644 db/migrate/20220609085535_add_training_infos_to_program.rb

diff --git a/app/controllers/admin/education/programs_controller.rb b/app/controllers/admin/education/programs_controller.rb
index f7baa608a..230760853 100644
--- a/app/controllers/admin/education/programs_controller.rb
+++ b/app/controllers/admin/education/programs_controller.rb
@@ -100,7 +100,7 @@ class Admin::Education::ProgramsController < Admin::Education::ApplicationContro
 
   def program_params
     params.require(:education_program).permit(
-      :name, :short_name, :slug, :level, :capacity, :continuing, :description, :published,
+      :name, :short_name, :slug, :level, :capacity, :continuing, :initial, :apprenticeship, :description, :published,
       :featured_image, :featured_image_delete, :featured_image_infos, :featured_image_alt, :featured_image_credit,
       :prerequisites, :objectives, :presentation, :registration, :pedagogy, :content,
       :evaluation, :accessibility, :pricing, :contacts, :opportunities, :results, :other,  :main_information,
diff --git a/app/models/education/program.rb b/app/models/education/program.rb
index 1b7aec093..6606cc0a8 100644
--- a/app/models/education/program.rb
+++ b/app/models/education/program.rb
@@ -4,6 +4,7 @@
 #
 #  id                    :uuid             not null, primary key
 #  accessibility         :text
+#  apprenticeship        :boolean
 #  capacity              :integer
 #  contacts              :text
 #  content               :text
@@ -13,6 +14,7 @@
 #  evaluation            :text
 #  featured_image_alt    :string
 #  featured_image_credit :text
+#  initial               :boolean
 #  level                 :integer
 #  name                  :string
 #  objectives            :text
diff --git a/app/views/admin/education/programs/_form.html.erb b/app/views/admin/education/programs/_form.html.erb
index 84e03451d..457d08531 100644
--- a/app/views/admin/education/programs/_form.html.erb
+++ b/app/views/admin/education/programs/_form.html.erb
@@ -23,7 +23,10 @@
           </div>
           <div class="col-lg-6">
             <%= f.input :capacity %>
+            <legend class="col-form-label pt-0 mb-1"><%= t('education.program.registration_scheme') %></legend>
+            <%= f.input :initial %>
             <%= f.input :continuing %>
+            <%= f.input :apprenticeship %>
           </div>
         </div>
       <% end %>
diff --git a/app/views/admin/education/programs/show.html.erb b/app/views/admin/education/programs/show.html.erb
index 799a76b17..1699cb9e8 100644
--- a/app/views/admin/education/programs/show.html.erb
+++ b/app/views/admin/education/programs/show.html.erb
@@ -32,10 +32,18 @@
             <%= Education::Program.human_attribute_name('capacity') %>
           </h3>
           <p><%= @program.capacity %></p>
+          <h3 class="h5 mt-4">
+            <%= Education::Program.human_attribute_name('initial') %>
+          </h3>
+          <p><%= t @program.initial %></p>
           <h3 class="h5 mt-4">
             <%= Education::Program.human_attribute_name('continuing') %>
           </h3>
           <p><%= t @program.continuing %></p>
+          <h3 class="h5 mt-4">
+            <%= Education::Program.human_attribute_name('apprenticeship') %>
+          </h3>
+          <p><%= t @program.apprenticeship %></p>
           <% if @program.schools.any? %>
             <h3 class="h5 mt-4">
               <%= Education::Program.human_attribute_name('schools') %>
diff --git a/app/views/admin/education/programs/static.html.erb b/app/views/admin/education/programs/static.html.erb
index b2ee21bcd..42f521033 100644
--- a/app/views/admin/education/programs/static.html.erb
+++ b/app/views/admin/education/programs/static.html.erb
@@ -50,6 +50,8 @@ roles:
 roles: []
 <% end %>
 continuing: <%= @about.continuing %>
+initial: <%= @about.initial %>
+apprenticeship: <%= @about.apprenticeship %>
 <%
 [
   :accessibility,
diff --git a/config/locales/education/en.yml b/config/locales/education/en.yml
index a2820dde0..e931202a9 100644
--- a/config/locales/education/en.yml
+++ b/config/locales/education/en.yml
@@ -35,16 +35,18 @@ en:
         ects: ECTS
       education/program:
         accessibility: Accessibilité
+        apprenticeship: Apprenticeship
         capacity: Capacity
         contacts: Contacts
-        continuing: Formation continue
+        continuing: Continuing training
         description: Meta Description
-        duration: Durée
+        duration: Duration
         diploma: Diploma
         ects: Crédits ECTS
         evaluation: Modalités d’évaluation
         featured_image: Featured image
         featured_image_alt: Alt text
+        initial: Initial training
         level: Level
         main_information: Main information
         name: Name
@@ -108,6 +110,7 @@ en:
         admission:
           label: Admission
           hint: How to register.
+      registration_scheme: Registration scheme
     roles:
       one: Role
       other: Roles
diff --git a/config/locales/education/fr.yml b/config/locales/education/fr.yml
index a19423c10..21cb53f3c 100644
--- a/config/locales/education/fr.yml
+++ b/config/locales/education/fr.yml
@@ -35,6 +35,7 @@ fr:
         ects: Crédits ECTS
       education/program:
         accessibility: Accessibilité
+        apprenticeship: Apprentissage
         capacity: Capacité
         contacts: Contacts
         continuing: Formation continue
@@ -45,6 +46,7 @@ fr:
         evaluation: Modalités d’évaluation
         featured_image: Image à la une
         featured_image_alt: Texte alternatif
+        initial: Formation initiale
         level: Niveau
         main_information: Informations essentielles
         name: Nom
@@ -108,6 +110,7 @@ fr:
         admission:
           label: Admission
           hint: Modalités administratives d'accès à la formation.
+      registration_scheme: Régime d'inscription
     roles:
       one: Rôle
       other: Rôles
diff --git a/db/migrate/20220609085535_add_training_infos_to_program.rb b/db/migrate/20220609085535_add_training_infos_to_program.rb
new file mode 100644
index 000000000..d27b8ddd0
--- /dev/null
+++ b/db/migrate/20220609085535_add_training_infos_to_program.rb
@@ -0,0 +1,6 @@
+class AddTrainingInfosToProgram < ActiveRecord::Migration[6.1]
+  def change
+    add_column :education_programs, :initial, :boolean
+    add_column :education_programs, :apprenticeship, :boolean
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 45ca2a503..cfc5d60d1 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 2022_05_30_094714) do
+ActiveRecord::Schema.define(version: 2022_06_09_085535) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "pgcrypto"
@@ -462,6 +462,8 @@ ActiveRecord::Schema.define(version: 2022_05_30_094714) do
     t.text "featured_image_credit"
     t.uuid "diploma_id"
     t.string "short_name"
+    t.boolean "initial"
+    t.boolean "apprenticeship"
     t.index ["diploma_id"], name: "index_education_programs_on_diploma_id"
     t.index ["parent_id"], name: "index_education_programs_on_parent_id"
     t.index ["university_id"], name: "index_education_programs_on_university_id"
-- 
GitLab