Blocking work list item for the student if he's not subscribed see BT#6615

1.9.x
Julio Montoya 12 years ago
parent b0e020cf40
commit 37f6995c9c
  1. 8
      main/work/add_user.php
  2. 22
      main/work/work.lib.php
  3. 2
      main/work/work.php

@ -45,7 +45,10 @@ $error_message = null;
switch ($action) {
case 'add':
$data = getUserToWork($userId, $workId, api_get_course_int_id());
if (empty($data)) {
addUserToWork($userId, $workId, api_get_course_int_id());
}
$url = api_get_path(WEB_CODE_PATH).'work/add_user.php?id='.$workId;
header('Location: '.$url);
exit;
@ -66,10 +69,12 @@ Display :: display_header(null);
echo Display::page_subheader(get_lang('UsersAdded'));
$items = getAllUserToWork($workId, api_get_course_int_id());
$usersAdded = array();
if (!empty($items)) {
echo '<div class="well">';
foreach ($items as $data) {
$myUserId = $data['user_id'];
$usersAdded[] = $myUserId;
$userInfo = api_get_user_info($myUserId);
$url = api_get_path(WEB_CODE_PATH).'work/add_user.php?action=delete&id='.$workId.'&user_id='.$myUserId;
$link = Display::url(get_lang('Delete'), $url);
@ -84,6 +89,9 @@ echo Display::page_subheader(get_lang('UserToAdd'));
if (!empty($userList)) {
echo '<div class="well">';
foreach ($userList as $user) {
if (in_array($user['user_id'], $usersAdded)) {
continue;
}
$userName = api_get_person_name($user['firstname'], $user['lastname']);
$url = api_get_path(WEB_CODE_PATH).'work/add_user.php?action=add&id='.$workId.'&user_id='.$user['user_id'];
$link = Display::url(get_lang('Add'), $url);

@ -493,6 +493,7 @@ function display_student_publications_list($id, $my_folder_data, $work_parents,
$group_id = api_get_group_id();
if (is_array($work_parents)) {
foreach ($work_parents as $work_parent) {
$sql_select_directory = "SELECT
@ -812,6 +813,16 @@ function display_student_publications_list($id, $my_folder_data, $work_parents,
FROM $work_table w INNER JOIN $user_table u ON w.user_id = u.user_id
WHERE w.c_id = $course_id AND w.parent_id = ".$work_data['id']." AND w.active IN (0, 1)";*/
} else {
if (ADD_DOCUMENT_TO_WORK) {
$subscribedUsers = getAllUserToWork($work_data['id'], $course_id);
if (!empty($subscribedUsers)) {
if (!in_array(api_get_user_id(), $subscribedUsers)) {
continue;
}
}
}
$cant_files = get_count_work($work_data['id'], api_get_user_id());
/*
$user_filter = "user_id = ".api_get_user_id()." AND ";
@ -2216,6 +2227,15 @@ function getAllUserToWork($workId, $courseId)
return Database::select('*', $table, array('where' => $params));
}
function userAddedToWork($userId, $workId, $courseId)
{
/*$table = Database::get_course_table(TABLE_STUDENT_PUBLICATION_REL_USER);
$params = array(
'user_id = ? and work_id = ? and c_id = ?' => array($userId, $workId, $courseId)
);
$result = Database::select('count(*)', $table, array('where' => $params));*/
}
function deleteUserToWork($userId, $workId, $courseId)
{
@ -2226,3 +2246,5 @@ function deleteUserToWork($userId, $workId, $courseId)
Database::delete($table, $params);
}

@ -788,6 +788,8 @@ switch ($action) {
echo $table->toHtml();
echo '</div>';
} else {
display_student_publications_list($work_id, $my_folder_data, $work_parents, $origin, $add_query, null);
}

Loading…
Cancel
Save