Portfolio: Add course config portfolio_number_items and portfolio_number_comments - refs BT#18201

pull/4368/head
Angel Fernando Quiroz Campos 3 years ago
parent 10fba18ae9
commit 0583dc8952
  1. 6
      main/course_info/infocours.php
  2. 77
      main/inc/lib/PortfolioController.php
  3. 2
      main/inc/lib/course.lib.php

@ -1015,6 +1015,12 @@ if ($allowPortfolioTool) {
get_lang('MaxScore') => [
$form->createElement('number', 'portfolio_max_score', get_lang('MaxScore'), ['step' => 'any', 'min' => 0]),
],
get_lang('RequiredNumberOfItems') => [
$form->createElement('number', 'portfolio_number_items', '', ['step' => '1', 'min' => 0]),
],
get_lang('RequiredNumberOfComments') => [
$form->createElement('number', 'portfolio_number_comments', '', ['step' => '1', 'min' => 0]),
],
$form->addButtonSave(get_lang('SaveSettings'), 'submit_save', true),
];

@ -1879,17 +1879,48 @@ class PortfolioController
$content .= $frmStudent->returnForm();
}
$content .= Display::page_subheader2(get_lang('PortfolioItems')).PHP_EOL;
$totalNumberOfItems = $tblItems->get_total_number_of_items();
$totalNumberOfComments = $tblComments->get_total_number_of_items();
$requiredNumberOfItems = (int) api_get_course_setting('portfolio_number_items');
$requiredNumberOfComments = (int) api_get_course_setting('portfolio_number_comments');
$itemsSubtitle = '';
if ($requiredNumberOfItems > 0) {
$itemsSubtitle = sprintf(
get_lang('XAddedYRequired'),
$totalNumberOfItems,
$requiredNumberOfItems
);
}
$content .= Display::page_subheader2(
get_lang('PortfolioItems'),
$itemsSubtitle
).PHP_EOL;
if ($tblItems->get_total_number_of_items() > 0) {
if ($totalNumberOfItems > 0) {
$content .= $tblItems->return_table().PHP_EOL;
} else {
$content .= Display::return_message(get_lang('NoItemsInYourPortfolio'), 'warning');
}
$content .= Display::page_subheader2(get_lang('PortfolioCommentsMade')).PHP_EOL;
$commentsSubtitle = '';
if ($tblComments->get_total_number_of_items() > 0) {
if ($requiredNumberOfComments > 0) {
$commentsSubtitle = sprintf(
get_lang('XAddedYRequired'),
$totalNumberOfComments,
$requiredNumberOfComments
);
}
$content .= Display::page_subheader2(
get_lang('PortfolioCommentsMade'),
$commentsSubtitle
).PHP_EOL;
if ($totalNumberOfComments > 0) {
$content .= $tblComments->return_table().PHP_EOL;
} else {
$content .= Display::return_message(get_lang('YouHaveNotCommented'), 'warning');
@ -1953,17 +1984,47 @@ class PortfolioController
$itemsHtml = $this->getItemsInHtmlFormatted($items);
$commentsHtml = $this->getCommentsInHtmlFormatted($comments);
$pdfContent .= Display::page_subheader2(get_lang('PortfolioItems'));
$totalNumberOfItems = count($itemsHtml);
$totalNumberOfComments = count($commentsHtml);
$requiredNumberOfItems = (int) api_get_course_setting('portfolio_number_items');
$requiredNumberOfComments = (int) api_get_course_setting('portfolio_number_comments');
if (count($itemsHtml) > 0) {
$itemsSubtitle = '';
$commentsSubtitle = '';
if ($requiredNumberOfItems > 0) {
$itemsSubtitle = sprintf(
get_lang('XAddedYRequired'),
$totalNumberOfItems,
$requiredNumberOfItems
);
}
if ($requiredNumberOfComments > 0) {
$commentsSubtitle = sprintf(
get_lang('XAddedYRequired'),
$totalNumberOfComments,
$requiredNumberOfComments
);
}
$pdfContent .= Display::page_subheader2(
get_lang('PortfolioItems'),
$itemsSubtitle
);
if ($totalNumberOfItems > 0) {
$pdfContent .= implode(PHP_EOL, $itemsHtml);
} else {
$pdfContent .= Display::return_message(get_lang('NoItemsInYourPortfolio'), 'warning');
}
$pdfContent .= Display::page_subheader2(get_lang('PortfolioCommentsMade'));
$pdfContent .= Display::page_subheader2(
get_lang('PortfolioCommentsMade'),
$commentsSubtitle
);
if (count($commentsHtml) > 0) {
if ($totalNumberOfComments > 0) {
$pdfContent .= implode(PHP_EOL, $commentsHtml);
} else {
$pdfContent .= Display::return_message(get_lang('YouHaveNotCommented'), 'warning');

@ -5843,6 +5843,8 @@ class CourseManager
$courseSettings[] = 'qualify_portfolio_item';
$courseSettings[] = 'qualify_portfolio_comment';
$courseSettings[] = 'portfolio_max_score';
$courseSettings[] = 'portfolio_number_items';
$courseSettings[] = 'portfolio_number_comments';
}
if (api_get_configuration_value('lp_show_max_progress_or_average_enable_course_level_redefinition')) {

Loading…
Cancel
Save