diff --git a/main/inc/lib/extra_field_value.lib.php b/main/inc/lib/extra_field_value.lib.php index 8cb9060a6e..4582f9313a 100755 --- a/main/inc/lib/extra_field_value.lib.php +++ b/main/inc/lib/extra_field_value.lib.php @@ -737,7 +737,7 @@ class ExtraFieldValue extends Model sf.extra_field_type = $extraFieldType ORDER BY item_id "; - + if ($last) { // If we want the last element instead of the first // This is useful in special cases where there might diff --git a/search.php b/search.php index 5c6dec70b9..43b214c99c 100644 --- a/search.php +++ b/search.php @@ -2,6 +2,7 @@ /* For licensing terms, see /license.txt */ use Chamilo\CoreBundle\Entity\ExtraFieldSavedSearch; + $cidReset = true; require_once 'main/inc/global.inc.php'; @@ -29,6 +30,14 @@ $extraFieldValueSession = new ExtraFieldValue('session'); $filter = false; $extraFieldValue = new ExtraFieldValue('user'); $wantStage = $extraFieldValue->get_values_by_handler_and_field_variable(api_get_user_id(), 'filiere_want_stage'); + +$diagnosisComplete = $extraFieldValue->get_values_by_handler_and_field_variable(api_get_user_id(), 'diagnosis_completed'); +if ($diagnosisComplete && isset($diagnosisComplete['value']) && $diagnosisComplete['value'] == 1 && !isset($_GET['result'])) { + Display::addFlash(Display::return_message(get_lang('SessionSearchSavedExplanation'))); + //header('Location:'.api_get_self().'?result=1'); + //exit; +} + $hide = true; if ($wantStage !== false) { $hide = $wantStage['value'] === 'yes'; @@ -72,13 +81,13 @@ $(document).ready(function() { } }); - $("#extra_domaine").parent().append( + /*$("#extra_domaine").parent().append( $("", { "class": "btn ajax btn-default", "href": "'.$url.'&field_variable=extra_domaine", "text": "'.get_lang('Order').'" }) - ); + );*/ $("#extra_theme").parent().append( $("", { @@ -227,53 +236,6 @@ $extraField = new ExtraField('user'); $userForm = new FormValidator('user_form', 'post', api_get_self()); $jqueryExtra = ''; -$htmlHeadXtra[] =''; - $panel = Display::panel(get_lang('FiliereExplanation'), '', '', '', '', 'filiere_panel'); $userForm->addHeader(Display::url(get_lang('Filiere'), '#', ['id'=> 'filiere']).''.$panel); $fieldsToShow = [ @@ -407,7 +369,7 @@ $extra = $extraFieldSession->addElements( api_get_user_id(), [], $filter, - true, + false, //tag as select $fieldsToShow, $fieldsToShow, $defaults, @@ -509,6 +471,7 @@ if ($userForm->validate()) { // Saving to user extra fields $extraFieldValue = new ExtraFieldValue('user'); $userData = $userForm->getSubmitValues(); + $userData['extra_diagnosis_completed'] = 1; $extraFieldValue->saveFieldValues($userData); // Saving to extra_field_saved_search @@ -622,7 +585,6 @@ if ($userForm->validate()) { } Display::addFlash(Display::return_message(get_lang('SessionSearchSavedExplanation'))); - Display::addFlash(Display::url(get_lang('ReturnToDiagnosis'), api_get_self(), ['class' => 'btn btn-primary'])); header('Location:'.api_get_self().'?result=1'); exit; } diff --git a/user_portal.php b/user_portal.php index da5a57a47f..0c8a01f814 100755 --- a/user_portal.php +++ b/user_portal.php @@ -233,6 +233,18 @@ if (!empty($_GET['history'])) { $historyClass = 'courses-history'; } $controller->tpl->assign('course_history_page', $historyClass); + +if (api_is_student()) { + $extraFieldValue = new ExtraFieldValue('user'); + $diagnosisComplete = $extraFieldValue->get_values_by_handler_and_field_variable( + api_get_user_id(), + 'diagnosis_completed' + ); + + if ($diagnosisComplete === false) { + Display::addFlash(Display::return_message(get_lang('DoDiagnosisNow'))); + } +} $controller->tpl->display_two_col_template(); // Deleting the session_id.