Rename visible to visible_to_self + add visible_to_other setting see BT#11741

ofaj
jmontoyaa 9 years ago
parent c0b590a36a
commit 0aecbbeaac
  1. 2
      app/Migrations/Schema/V111/Version111.php
  2. 6
      main/inc/ajax/model.ajax.php
  3. 88
      main/inc/lib/extra_field.lib.php
  4. 6
      main/inc/lib/extra_field_value.lib.php
  5. 8
      main/inc/lib/usermanager.lib.php
  6. 16
      main/social/profile.php
  7. 65
      src/Chamilo/CoreBundle/Entity/ExtraField.php
  8. 10
      src/Chamilo/CoreBundle/Entity/Repository/ExtraFieldValuesRepository.php

@ -270,7 +270,6 @@ class Version111 extends AbstractMigrationChamilo
$this->addSql("INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('show_link_ticket_notification', NULL, 'radio', 'Platform', 'false', 'ShowLinkTicketNotificationTitle', 'ShowLinkTicketNotificationComment', NULL, NULL, 0)");
$this->addSql("INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, access_url) VALUES ('sso_authentication_subclass', NULL, 'textfield', 'Security', '', 'SSOSubclassTitle', 'SSOSubclassComment', 1)");
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('ticket_allow_student_add', 'true', 'Yes'), ('ticket_allow_student_add', 'false', 'No')");
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('ticket_allow_category_edition', 'true', 'Yes'), ('ticket_allow_category_edition', 'false', 'No')");
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('ticket_send_warning_to_all_admins', 'true', 'Yes'), ('ticket_send_warning_to_all_admins', 'false', 'No')");
@ -315,6 +314,7 @@ class Version111 extends AbstractMigrationChamilo
$this->addSql('DELETE FROM settings_options WHERE variable = "visio_use_rtmpt"');
$this->addSql('DELETE FROM course_module WHERE name = "conference"');
$this->addSql('ALTER TABLE c_student_publication_assignment CHANGE add_to_calendar add_to_calendar INT NOT NULL;');
$this->addSql('ALTER TABLE extra_field ADD visible_to_others TINYINT(1) DEFAULT NULL, CHANGE visible visible_to_self TINYINT(1) DEFAULT NULL');
}
/**

@ -1475,7 +1475,8 @@ switch ($action) {
'variable',
'field_type',
'changeable',
'visible',
'visible_to_self',
'visible_to_others',
'filter',
'field_order',
);
@ -1494,7 +1495,8 @@ switch ($action) {
$item['display_text'] = ExtraField::translateDisplayName($item['variable'], $item['displayText']);
$item['field_type'] = $obj->get_field_type_by_id($item['fieldType']);
$item['changeable'] = $item['changeable'] ? $checkIcon : $timesIcon;
$item['visible'] = $item['visible'] ? $checkIcon : $timesIcon;
$item['visible_to_self'] = $item['visibleToSelf'] ? $checkIcon : $timesIcon;
$item['visible_to_others'] = $item['visibleToOthers'] ? $checkIcon : $timesIcon;
$item['filter'] = $item['filter'] ? $checkIcon : $timesIcon;
$new_result[] = $item;
}

@ -15,7 +15,8 @@ class ExtraField extends Model
'display_text',
'default_value',
'field_order',
'visible',
'visible_to_self',
'visible_to_others',
'changeable',
'filter',
'extra_field_type',
@ -193,8 +194,11 @@ class ExtraField extends Model
case 'changeable':
$sidx = 'e.changeable';
break;
case 'visible':
$sidx = 'e.visible';
case 'visible_to_self':
$sidx = 'e.visibleToSelf';
break;
case 'visible_to_others':
$sidx = 'e.visibleToOthers';
break;
case 'filter':
$sidx = 'e.filter';
@ -842,7 +846,7 @@ class ExtraField extends Model
}
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
continue;
}
@ -862,7 +866,7 @@ class ExtraField extends Model
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
@ -880,7 +884,7 @@ class ExtraField extends Model
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
@ -907,7 +911,7 @@ class ExtraField extends Model
$field_details['display_text']
);
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
@ -953,7 +957,7 @@ class ExtraField extends Model
$field_details['display_text']
);
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
@ -1123,7 +1127,7 @@ class ExtraField extends Model
*/
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze('extra_' . $field_details['variable']);
}
}
@ -1141,7 +1145,7 @@ class ExtraField extends Model
array('multiple' => 'multiple', 'id' => 'extra_'.$field_details['variable'])
);
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze('extra_'.$field_details['variable']);
}
}
@ -1149,7 +1153,7 @@ class ExtraField extends Model
case ExtraField::FIELD_TYPE_DATE:
$form->addDatePicker('extra_'.$field_details['variable'], $field_details['display_text']);
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze('extra_'.$field_details['variable']);
}
}
@ -1167,7 +1171,7 @@ class ExtraField extends Model
$form->setDefaults($defaults);
}
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze('extra_'.$field_details['variable']);
}
}
@ -1249,7 +1253,7 @@ class ExtraField extends Model
);
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze('extra_'.$field_details['variable']);
}
}
@ -1375,7 +1379,7 @@ EOF;
api_get_timezones(),
''
);
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
@ -1409,7 +1413,7 @@ EOF;
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze('extra_'.$field_details['variable']);
}
break;
@ -1428,7 +1432,7 @@ EOF;
get_lang('MobilePhoneNumberWrong'),
'mobile_phone_number'
);
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze('extra_'.$field_details['variable']);
}
break;
@ -1445,7 +1449,7 @@ EOF;
$form->applyFilter('extra_'.$field_details['variable'], 'intval');
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
@ -1492,7 +1496,7 @@ EOF;
);
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
@ -1512,7 +1516,7 @@ EOF;
$form->applyFilter('extra_'.$field_details['variable'], 'floatval');
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
@ -1551,7 +1555,7 @@ EOF;
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
@ -1574,7 +1578,7 @@ EOF;
$form->applyFilter('extra_' . $field_details['variable'], 'stripslashes');
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_' . $field_details['variable']
);
@ -1591,7 +1595,7 @@ EOF;
'stripslashes'
);
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_' . $field_details['variable']
);
@ -1606,7 +1610,7 @@ EOF;
$form->applyFilter('extra_' . $field_details['variable'], 'stripslashes');
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_' . $field_details['variable']
);
@ -1623,7 +1627,7 @@ EOF;
'stripslashes'
);
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_' . $field_details['variable']
);
@ -1643,7 +1647,7 @@ EOF;
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
if ($field_details['visible_to_self'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
@ -1831,7 +1835,8 @@ EOF;
get_lang('FieldLabel'),
get_lang('Type'),
get_lang('FieldChangeability'),
get_lang('Visibility'),
get_lang('VisibleToSelf'),
get_lang('VisibleToOthers'),
get_lang('Filter'),
get_lang('FieldOrder'),
get_lang('Actions')
@ -1872,8 +1877,15 @@ EOF;
'sortable' => 'true',
),
array(
'name' => 'visible',
'index' => 'visible',
'name' => 'visible_to_self',
'index' => 'visible_to_self',
'width' => '40',
'align' => 'left',
'sortable' => 'true',
),
array(
'name' => 'visible_to_others',
'index' => 'visible_to_others',
'width' => '40',
'align' => 'left',
'sortable' => 'true',
@ -1995,10 +2007,15 @@ EOF;
array('id' => 'default_value')
);
$group = array();
$group[] = $form->createElement('radio', 'visible', null, get_lang('Yes'), 1);
$group[] = $form->createElement('radio', 'visible', null, get_lang('No'), 0);
$form->addGroup($group, '', get_lang('Visible'), null, false);
$group = array();
$group[] = $form->createElement('radio', 'visible_to_self', null, get_lang('Yes'), 1);
$group[] = $form->createElement('radio', 'visible_to_self', null, get_lang('No'), 0);
$form->addGroup($group, '', get_lang('VisibleToSelf'), null, false);
$group = array();
$group[] = $form->createElement('radio', 'visible_to_others', null, get_lang('Yes'), 1);
$group[] = $form->createElement('radio', 'visible_to_others', null, get_lang('No'), 0);
$form->addGroup($group, '', get_lang('VisibleToOthers'), null, false);
$group = array();
$group[] = $form->createElement('radio', 'changeable', null, get_lang('Yes'), 1);
@ -2027,7 +2044,8 @@ EOF;
$defaults['field_options'] = $option->get_field_options_by_field_to_string($id);
$form->addButtonUpdate(get_lang('Modify'));
} else {
$defaults['visible'] = 0;
$defaults['visible_to_self'] = 0;
$defaults['visible_to_others'] = 0;
$defaults['changeable'] = 0;
$defaults['filter'] = 0;
$form->addButtonCreate(get_lang('Add'));
@ -2091,7 +2109,7 @@ JAVASCRIPT;
{
$fields = $this->get_all(
array(
'visible = ? AND filter = ?' => array(1, 1)
'visible_to_self = ? AND filter = ?' => array(1, 1)
),
'display_text'
);
@ -2468,7 +2486,7 @@ JAVASCRIPT;
$fields = $this->get_all();
foreach ($fields as $field) {
if ($field['visible'] != '1') {
if ($field['visible_to_self'] != '1') {
continue;
}

@ -104,7 +104,7 @@ class ExtraFieldValue extends Model
// Parse params.
foreach ($extraFields as $fieldDetails) {
if ($fieldDetails['visible'] != 1) {
if ($fieldDetails['visible_to_self'] != 1) {
continue;
}
@ -651,7 +651,7 @@ class ExtraFieldValue extends Model
";
if ($filterByVisibility) {
$visibility = intval($visibility);
$sql .= " AND visible = $visibility ";
$sql .= " AND visible_to_self = $visibility ";
}
$sql .= " ORDER BY id";
@ -966,7 +966,7 @@ class ExtraFieldValue extends Model
if ($onlyVisibleFields) {
$queryBuilder->andWhere(
$queryBuilder->expr()->eq('f.visible', true)
$queryBuilder->expr()->eq('f.visibleToSelf', true)
);
}

@ -2000,7 +2000,7 @@ class UserManager
$extraFieldType = EntityExtraField::USER_FIELD_TYPE;
$sqlf = "SELECT * FROM $t_uf WHERE extra_field_type = $extraFieldType ";
if (!$all_visibility) {
$sqlf .= " AND visible = 1 ";
$sqlf .= " AND visible_to_self = 1 ";
}
if (!is_null($field_filter)) {
$field_filter = intval($field_filter);
@ -2020,7 +2020,7 @@ class UserManager
3 => empty($rowf['display_text']) ? '' : $rowf['display_text'],
4 => $rowf['default_value'],
5 => $rowf['field_order'],
6 => $rowf['visible'],
6 => $rowf['visible_to_self'],
7 => $rowf['changeable'],
8 => $rowf['filter'],
9 => array(),
@ -2220,7 +2220,7 @@ class UserManager
$field_filter = intval($field_filter);
$filter_cond .= " AND filter = $field_filter ";
}
$sql .= " AND f.visible = 1 $filter_cond ";
$sql .= " AND f.visible_to_self = 1 $filter_cond ";
} else {
if (isset($field_filter)) {
$field_filter = intval($field_filter);
@ -2307,7 +2307,7 @@ class UserManager
WHERE f.variable = '$field_variable' ";
if (!$all_visibility) {
$sql .= " AND f.visible = 1 ";
$sql .= " AND f.visible_to_self = 1 ";
}
$sql .= " AND extra_field_type = ".EntityExtraField::USER_FIELD_TYPE;

@ -353,7 +353,13 @@ if ($show_full_profile) {
break;
}
if ($extraFieldInfo['visible'] != 1) {
// if is not visible skip
if ($extraFieldInfo['visible_to_self'] != 1) {
continue;
}
// if is not visible to others skip also
if ($extraFieldInfo['visible_to_others'] != 1) {
continue;
}
@ -523,8 +529,8 @@ if ($show_full_profile) {
}
// Block Social Course
$my_courses = null;
// COURSES LIST
if (is_array($list)) {
// Courses without sessions
@ -538,7 +544,6 @@ if ($show_full_profile) {
}
}
$social_course_block .= $my_courses;
//$social_course_block = Display::panel($my_courses, get_lang('MyCourses'));
}
// Block Social Sessions
@ -555,7 +560,7 @@ if ($show_full_profile) {
}
// Productions
$production_list = UserManager::build_production_list($user_id);
$production_list = UserManager::build_production_list($user_id);
// Images uploaded by course
$file_list = '';
@ -684,13 +689,12 @@ $tpl->assign('social_course_block', $social_course_block);
$tpl->assign('social_group_info_block', $social_group_info_block);
$tpl->assign('social_rss_block', $social_rss_block);
$tpl->assign('social_skill_block', SocialManager::getSkillBlock($my_user_id));
$tpl->assign('sessionList', $social_session_block);
$tpl->assign('session_list', $social_session_block);
$tpl->assign('invitations', $listInvitations);
$tpl->assign('social_right_information', $socialRightInformation);
$tpl->assign('social_auto_extend_link', $socialAutoExtendLink);
$formModalTpl = new Template();
//$formModalTpl->assign('messageForm', MessageManager::generate_message_form('send_message'));
$formModalTpl->assign('invitation_form', MessageManager::generate_invitation_form('send_invitation'));
$formModals = $formModalTpl->fetch('default/social/form_modals.tpl');

@ -80,9 +80,16 @@ class ExtraField extends BaseAttribute
/**
* @var boolean
*
* @ORM\Column(name="visible", type="boolean", nullable=true, unique=false)
* @ORM\Column(name="visible_to_self", type="boolean", nullable=true, unique=false)
*/
protected $visible;
protected $visibleToSelf;
/**
* @var boolean
*
* @ORM\Column(name="visible_to_others", type="boolean", nullable=true, unique=false)
*/
protected $visibleToOthers;
/**
* @var boolean
@ -246,22 +253,22 @@ class ExtraField extends BaseAttribute
return $this;
}
/**
/**
* @return boolean
*/
public function isVisible()
public function isChangeable()
{
return $this->visible;
return $this->changeable;
}
/**
* @param boolean $visible
* @param boolean $changeable
*
* @return $this
*/
public function setVisible($visible)
public function setChangeable($changeable)
{
$this->visible = $visible;
$this->changeable = $changeable;
return $this;
}
@ -269,19 +276,19 @@ class ExtraField extends BaseAttribute
/**
* @return boolean
*/
public function isChangeable()
public function isFilter()
{
return $this->changeable;
return $this->filter;
}
/**
* @param boolean $changeable
* @param boolean $filter
*
* @return $this
*/
public function setChangeable($changeable)
public function setFilter($filter)
{
$this->changeable = $changeable;
$this->filter = $filter;
return $this;
}
@ -289,19 +296,37 @@ class ExtraField extends BaseAttribute
/**
* @return boolean
*/
public function isFilter()
public function isVisibleToSelf()
{
return $this->filter;
return $this->visibleToSelf;
}
/**
* @param boolean $filter
*
* @return $this
* @param boolean $visibleToSelf
* @return ExtraField
*/
public function setFilter($filter)
public function setVisibleToSelf($visibleToSelf)
{
$this->filter = $filter;
$this->visibleToSelf = $visibleToSelf;
return $this;
}
/**
* @return boolean
*/
public function isVisibleToOthers()
{
return $this->visibleToOthers;
}
/**
* @param boolean $visibleToOthers
* @return ExtraField
*/
public function setVisibleToOthers($visibleToOthers)
{
$this->visibleToOthers = $visibleToOthers;
return $this;
}

@ -13,9 +13,8 @@ use \Doctrine\ORM\Query\Expr\Join;
*/
class ExtraFieldValuesRepository extends EntityRepository
{
/**
* Get the extra field values for visible extra fields
* Get the extra field values for visible extra fields
* @param int $extraFieldType The type of extra field
* @param int $itemId The item ID
* @return \Doctrine\ORM\QueryBuilder
@ -35,11 +34,10 @@ class ExtraFieldValuesRepository extends EntityRepository
$queryBuilder->expr()->andX(
$queryBuilder->expr()->eq('f.extraFieldType', intval($extraFieldType)),
$queryBuilder->expr()->eq('fv.itemId', intval($itemId)),
$queryBuilder->expr()->eq('f.visible', true)
$queryBuilder->expr()->eq('f.visibleToSelf', true)
)
);
)
;
return $queryBuilder->getQuery()->getResult();
}
}

Loading…
Cancel
Save