Add new extra fields see BT#14786

pull/3063/head
Julio Montoya 7 years ago
parent be6e478c18
commit c24d0c3ffe
  1. 78
      extrafield.php
  2. 95
      search.php

@ -0,0 +1,78 @@
<?php
require_once 'main/inc/global.inc.php';
$choices = [
'La semaine',
'Le week-end',
'Le matin',
'Le midi',
'Le soir',
];
$variables = [
'moment_de_disponibilite' => [
'type' => ExtraField::FIELD_TYPE_SELECT_MULTIPLE,
'title' => 'En général, je suis plutôt disponible',
'choices' => $choices,
],
'deja_sur_place' => [
'title' => 'Je suis déjà sur place /mon stage/mon emploi a déjà commencé',
'type' => ExtraField::FIELD_TYPE_CHECKBOX,
],
'outil_de_travail_ordinateur' => [
'title' => 'Un ordinateur fixe ou portable',
'type' => ExtraField::FIELD_TYPE_CHECKBOX,
],
'outil_de_travail_tablette' => [
'title' => 'Une tablette',
'type' => ExtraField::FIELD_TYPE_CHECKBOX,
],
'outil_de_travail_smartphone' => [
'title' => 'Un smartphone',
'type' => ExtraField::FIELD_TYPE_CHECKBOX,
],
'outil_de_travail_ordinateur_so' => [
'title' => 'Quel est le système d’exploitation ? ',
'type' => ExtraField::FIELD_TYPE_TEXT,
],
'outil_de_travail_tablette_so' => [
'title' => 'Quel est le système d’exploitation ? ',
'type' => ExtraField::FIELD_TYPE_TEXT,
],
'outil_de_travail_smartphone_so' => [
'title' => 'Quel est le système d’exploitation ? ',
'type' => ExtraField::FIELD_TYPE_TEXT,
],
'browser_platforme' => [
'type' => ExtraField::FIELD_TYPE_SELECT_MULTIPLE,
'title' => 'Pour travailler sur la plateforme, j’utilise le browser suivant:',
'choices' => ['Firefox', 'Chrome', 'Safari', 'Internet Explorer'],
],
'browser_platforme_autre' => [
'title' => 'Autre (préciser)',
'type' => ExtraField::FIELD_TYPE_TEXT,
],
'browser_platforme_version' => [
'title' => 'Quelle est la version ?',
'type' => ExtraField::FIELD_TYPE_TEXT,
],
];
$extraField = new ExtraField('user');
foreach ($variables as $variable => $data) {
$params = [
'variable' => $variable,
'field_type' => $data['type'],
'display_text' => $data['title'],
'visible_to_self' => true,
'visible_to_others' => false,
'changeable' => true,
'filter' => true,
];
if (isset($data['choices'])) {
$params['field_options'] = implode(';', $data['choices']);
}
$id = $extraField->save($params);
//$extraField->delete($id);
}

@ -260,7 +260,8 @@ $(document).ready(function() {
"#collapseFour",
"#collapseFive",
"#collapseSix",
"#collapseSeven"
"#collapseSeven",
"#collapseEight"
];
$.each(blocks, function( index, value ) {
@ -270,14 +271,7 @@ $(document).ready(function() {
$(value).collapse("hide");
});
/*$("#filiere_panel").hide();
$("#dispo_panel").hide();
$("#dispo_pendant_panel").hide();
$("#niveau_panel").hide();
$("#methode_panel").hide();
$("#themes_panel").hide();
$("#objectifs_panel").hide();*/
$("#filiere").on("click", function() {
$("#filiere_panel").toggle();
return false;
@ -303,6 +297,11 @@ $(document).ready(function() {
return false;
});
$("#enviroment").on("click", function() {
$("#enviroment_panel").toggle();
return false;
});
$("#themes").on("click", function() {
$("#themes_panel").toggle();
return false;
@ -377,7 +376,10 @@ $userForm->addButtonSave(get_lang('Save'), 'submit_partial[collapseOne]');
$userForm->addHtml('</div></div></div>');
$userForm->addHtml('<div class="panel panel-default">');
$userForm->addHtml('<div class="panel-heading"><a role="button" data-toggle="collapse" data-parent="#search_extrafield" href="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo">'.get_lang('DisponibiliteAvant').'</a></div>');
$userForm->addHtml(
'<div class="panel-heading"><a role="button" data-toggle="collapse" data-parent="#search_extrafield" href="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo">'.
get_lang('DisponibiliteAvant').'</a></div>'
);
$userForm->addHtml('<div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingTwo">');
$userForm->addHtml('<div class="panel-body"><p class="text-info">'.get_lang('DisponibiliteAvantExplanation').'</p>');
@ -412,6 +414,7 @@ foreach ($elements as $element) {
$fieldsToShow = [
'heures_disponibilite_par_semaine',
'moment_de_disponibilite'
];
$extra = $extraField->addElements(
@ -443,6 +446,7 @@ $fieldsToShow = [
'datedebutstage',
'datefinstage',
'je_ne_connais_pas_encore_mes_dates_de_stage',
'deja_sur_place',
'poursuiteapprentissagestage',
'heures_disponibilite_par_semaine_stage',
];
@ -613,8 +617,79 @@ $jqueryExtra .= $extra['jquery_ready_content'];
$userForm->addButtonSave(get_lang('Save'), 'submit_partial[collapseSeven]');
$userForm->addHtml('</div></div></div>');
// Enviroment
$userForm->addHtml('<div class="panel panel-default">');
$userForm->addHtml(
'<div class="panel-heading">
<a role="button" data-toggle="collapse" data-parent="#search_extrafield" href="#collapseEight" aria-expanded="true" aria-controls="collapseEight">'.
get_lang('MonEnvironnementDeTravail').'</a></div>');
$userForm->addHtml('<div id="collapseEight" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingEight">');
$userForm->addHtml('<div class="panel-body"><p class="text-info">'.get_lang('MonEnvironnementDeTravailExplanation').'</p>');
$fieldsToShow = [
'outil_de_travail_ordinateur',
'outil_de_travail_ordinateur_so',
'outil_de_travail_tablette',
'outil_de_travail_tablette_so',
'outil_de_travail_smartphone',
'outil_de_travail_smartphone_so',
];
$userForm->addLabel(null, get_lang('MonEnvironnementDeTravailExplanationIntro1'));
$extra = $extraField->addElements(
$userForm,
api_get_user_id(),
[],
$filter,
true,
$fieldsToShow,
$fieldsToShow,
[],
[],
false,
$forceShowFields //$forceShowFields = false
);
$userForm->addLabel(null, get_lang('MonEnvironnementDeTravailExplanationIntro2'));
$jqueryExtra .= $extra['jquery_ready_content'];
$fieldsToShow = [
'browser_platforme',
'browser_platforme_autre',
'browser_platforme_version',
];
$extra = $extraField->addElements(
$userForm,
api_get_user_id(),
[],
$filter,
true,
$fieldsToShow,
$fieldsToShow,
[],
[],
false,
$forceShowFields //$forceShowFields = false
);
$jqueryExtra .= $extra['jquery_ready_content'];
$userForm->addButtonSave(get_lang('Save'), 'submit_partial[collapseEight]');
$userForm->addHtml('</div></div></div>');
$userForm->addHtml('</div>');
$userForm->addHtml('</div>');
$htmlHeadXtra[] = '<script>
$(document).ready(function(){
'.$jqueryExtra.'

Loading…
Cancel
Save