Skip to content

Commit

Permalink
Clean code, remove custom author code inside extra_field.lib.php
Browse files Browse the repository at this point in the history
  • Loading branch information
jmontoyaa committed Dec 21, 2020
1 parent 0e4d674 commit 444c185
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 59 deletions.
42 changes: 2 additions & 40 deletions main/inc/lib/extra_field.lib.php
Expand Up @@ -1155,7 +1155,6 @@ public function set_extra_fields_in_form(
'checkbox',
'extra_'.$field_details['variable'],
null,
//$field_details['display_text'].'<br />',
get_lang('Yes'),
$checkboxAttributes
);
Expand All @@ -1178,45 +1177,8 @@ public function set_extra_fields_in_form(
if (empty($defaultValueId)) {
$options[''] = get_lang('SelectAnOption');
}
$variable = $field_details['variable'];
$authors = ($variable == 'authors' || $variable == 'authorlpitem') ? true : false;
if ($authors == false) {
foreach ($field_details['options'] as $optionDetails) {
$options[$optionDetails['option_value']] = $optionDetails['display_text'];
}
} else {
if ($variable == 'authors') {
$conditions = [
'enabled' => 1,
'status' => COURSEMANAGER,
];
$teachers = UserManager::get_user_list($conditions);
foreach ($teachers as $teacher) {
$options[$teacher['id']] = $teacher['complete_name'];
}
} elseif ($variable == 'authorlpitem') {
$options = [];
$field = new ExtraField('user');
$authorLp = $field->get_handler_field_info_by_field_variable('authorlp');

$idExtraField = (int) isset($authorLp['id']) ? $authorLp['id'] : 0;
if ($idExtraField != 0) {
$extraFieldValueUser = new ExtraFieldValue('user');
$arrayExtraFieldValueUser = $extraFieldValueUser->get_item_id_from_field_variable_and_field_value(
$authorLp['variable'],
1,
true,
false,
true
);
if (!empty($arrayExtraFieldValueUser)) {
foreach ($arrayExtraFieldValueUser as $item) {
$teacher = api_get_user_info($item['item_id']);
$options[$teacher['id']] = $teacher['complete_name'];
}
}
}
}
foreach ($field_details['options'] as $optionDetails) {
$options[$optionDetails['option_value']] = $optionDetails['display_text'];
}

$form->addElement(
Expand Down
27 changes: 12 additions & 15 deletions main/inc/lib/myspace.lib.php
Expand Up @@ -76,29 +76,26 @@ public static function getAdminActions()
$field = new ExtraField('user');
$companyField = $field->get_handler_field_info_by_field_variable('company');
if (!empty($companyField)) {
$actions[] =
[
'url' => api_get_path(WEB_CODE_PATH).'mySpace/admin_view.php?display=company',
'content' => get_lang('UserByEntityReport'),
];
$actions[] = [
'url' => api_get_path(WEB_CODE_PATH).'mySpace/admin_view.php?display=company',
'content' => get_lang('UserByEntityReport'),
];
}
$field = new ExtraField('lp');
$authorsField = $field->get_handler_field_info_by_field_variable('authors');
if (!empty($authorsField)) {
$actions[] =
[
'url' => api_get_path(WEB_CODE_PATH).'mySpace/admin_view.php?display=learningPath',
'content' => get_lang('LpByAuthor'),
];
$actions[] = [
'url' => api_get_path(WEB_CODE_PATH).'mySpace/admin_view.php?display=learningPath',
'content' => get_lang('LpByAuthor'),
];
}
$field = new ExtraField('lp_item');
$authorsItemField = $field->get_handler_field_info_by_field_variable('authorlpitem');
if (!empty($authorsItemField)) {
$actions[] =
[
'url' => api_get_path(WEB_CODE_PATH).'mySpace/admin_view.php?display=learningPathByItem',
'content' => get_lang('LearningPathItemByAuthor'),
];
$actions[] = [
'url' => api_get_path(WEB_CODE_PATH).'mySpace/admin_view.php?display=learningPathByItem',
'content' => get_lang('LearningPathItemByAuthor'),
];
}

return Display::actions($actions, null);
Expand Down
5 changes: 5 additions & 0 deletions main/inc/lib/pear/HTML/QuickForm/select.php
Expand Up @@ -114,6 +114,11 @@ public function __construct(
}
}

public function setOptions($options)
{
$this->load($options);
}

/**
* Loads options from different types of data sources
*
Expand Down
4 changes: 1 addition & 3 deletions main/lp/lp_add_author.php
Expand Up @@ -158,9 +158,7 @@ function confirmation(name) {
'',
['style' => 'margin: 0px;']
);

$extraField['backTo'] = api_get_self().'?action=add_item&type=step&lp_id='.$lpId.'&'.api_get_cidreq();

$form->addHtml('<div id="doc_form" class="col-md-12 row">');
$extraFieldValue = new ExtraFieldValue('lp_item');
$form->addHeader(get_lang('LpByAuthor'));
Expand Down Expand Up @@ -305,7 +303,7 @@ function confirmation(name) {
Display::addFlash(Display::return_message(get_lang('PriceUpdated')));
$redirect = true;
} elseif (!empty($messages)) {
Display::addFlash(Display::return_message(get_lang('RegisteredAuthors')." ".$messages));
Display::addFlash(Display::return_message(get_lang('RegisteredAuthors').' '.$messages));
$redirect = true;
}

Expand Down
14 changes: 14 additions & 0 deletions main/lp/lp_edit.php
Expand Up @@ -270,6 +270,20 @@ function activate_end_date() {
['lp_icon', 'use_score_as_progress']
);

if ($form->hasElement('extra_authors')) {
/** @var HTML_QuickForm_select $author */
$author = $form->getElement('extra_authors');
$conditions = [
'enabled' => 1,
'status' => COURSEMANAGER,
];
$teachers = UserManager::get_user_list($conditions);
foreach ($teachers as $teacher) {
$options[$teacher['id']] = $teacher['complete_name'];
}
$author->setOptions($options);
}

$skillList = Skill::addSkillsToForm($form, ITEM_TYPE_LEARNPATH, $lpId);

// Submit button
Expand Down
3 changes: 2 additions & 1 deletion main/lp/lp_edit_item.php
Expand Up @@ -125,7 +125,8 @@ function confirmation(name) {
if ($authorLpField != null) {
$extraField['authorlp'] = $authorLpField;
}
echo $learnPath->build_action_menu(false,
echo $learnPath->build_action_menu(
false,
true,
false,
true,
Expand Down

0 comments on commit 444c185

Please sign in to comment.