Portfolio: Add course setting to allow qualify - refs BT#18201

pull/3766/head^2
Angel Fernando Quiroz Campos 5 years ago
parent 9a6e05da37
commit fe40faba12
  1. 23
      main/course_info/infocours.php
  2. 14
      main/inc/lib/PortfolioController.php
  3. 6
      main/inc/lib/course.lib.php
  4. 8
      main/portfolio/index.php
  5. 4
      main/template/default/portfolio/view.html.twig

@ -922,6 +922,29 @@ $form->addPanelOption(
$globalGroup
);
if (api_get_configuration_value('allow_portfolio_tool')) {
$globalGroup = [
get_lang('QualifyPortfolioItems') => [
$form->createElement('radio', 'qualify_portfolio_item', null, get_lang('Yes'), 1),
$form->createElement('radio', 'qualify_portfolio_item', null, get_lang('No'), 2),
],
get_lang('QualifyPortfolioComments') => [
$form->createElement('radio', 'qualify_portfolio_comment', null, get_lang('Yes'), 1),
$form->createElement('radio', 'qualify_portfolio_comment', null, get_lang('No'), 2),
],
get_lang('MaxScore') => [
$form->createElement('number', 'portfolio_max_score', get_lang('MaxScore'), ['step' => 'any', 'min' => 0]),
],
$form->addButtonSave(get_lang('SaveSettings'), 'submit_save', true),
];
$form->addPanelOption(
'portfolio',
Display::return_icon('wiki_task.png', get_lang('Portfolio')).PHP_EOL.get_lang('Portfolio'),
$globalGroup
);
}
// Plugin course settings
$appPlugin = new AppPlugin();
$appPlugin->add_course_settings_form($form);

@ -670,9 +670,9 @@ class PortfolioController
);
}
if ($this->course) {
if ($this->course && '1' === api_get_course_setting('qualify_portfolio_comment')) {
$commentActions .= Display::url(
Display::return_icon('evaluation.png', get_lang('Qualify')),
Display::return_icon('evaluation.png', get_lang('QualifyThisPortfolioComment')),
$this->baseUrl.http_build_query(
[
'action' => 'qualify',
@ -1823,7 +1823,10 @@ class PortfolioController
$itemContent = $this->generateItemContent($item);
$form->addLabel(get_lang('Content'), $itemContent);
$form->addNumeric('score', get_lang('QualifyNumeric'));
$form->addNumeric(
'score',
[get_lang('QualifyNumeric'), null, ' / '.api_get_course_setting('portfolio_max_score')]
);
$form->addButtonSave(get_lang('QualifyThisPortfolioItem'));
if ($form->validate()) {
@ -1889,7 +1892,10 @@ class PortfolioController
$form->addHtml($commentContext);
$form->addUserAvatar('user', get_lang('Author'));
$form->addLabel(get_lang('Comment'), $comment->getContent());
$form->addNumeric('score', get_lang('QualifyNumeric'));
$form->addNumeric(
'score',
[get_lang('QualifyNumeric'), null, '/ '.api_get_course_setting('portfolio_max_score')]
);
$form->addButtonSave(get_lang('QualifyThisPortfolioComment'));
if ($form->validate()) {

@ -5882,6 +5882,12 @@ class CourseManager
$courseSettings[] = 'lp_return_link';
}
if (api_get_configuration_value('allow_portfolio_tool')) {
$courseSettings[] = 'qualify_portfolio_item';
$courseSettings[] = 'qualify_portfolio_comment';
$courseSettings[] = 'portfolio_max_score';
}
if (!empty($pluginCourseSettings)) {
$courseSettings = array_merge(
$courseSettings,

@ -193,6 +193,10 @@ switch ($action) {
}
if ($httpRequest->query->has('item')) {
if ('1' !== api_get_course_setting('qualify_portfolio_item')) {
api_not_allowed(true);
}
/** @var Portfolio $item */
$item = $em->find(
Portfolio::class,
@ -205,6 +209,10 @@ switch ($action) {
$controller->qualifyItem($item);
} elseif ($httpRequest->query->has('comment')) {
if ('1' !== api_get_course_setting('qualify_portfolio_comment')) {
api_not_allowed(true);
}
/** @var Portfolio $item */
$comment = $em->find(
PortfolioComment::class,

@ -30,9 +30,9 @@
{{ 'copy.png'|img(22, 'CopyToStudentPortfolio'|get_lang) }}
</a>
{% if item.course %}
{% if item.course and '1' == 'qualify_portfolio_item'|api_get_course_setting %}
<a href="{{ baseurl ~ {'action':'qualify', 'item':item.id}|url_encode }}">
{{ 'new_portfolio_evaluation.png'|img(22, 'Qualify'|get_lang) }}
{{ 'new_portfolio_evaluation.png'|img(22, 'QualifyThisPortfolioItem'|get_lang) }}
</a>
{% endif %}
{% endif %}

Loading…
Cancel
Save