Skip to content
Snippets Groups Projects
Commit ca10fde9 authored by Elmar Ludwig's avatar Elmar Ludwig Committed by David Siegfried
Browse files

partly fix broken SQL queries, re #1579

Merge request studip/studip!1008
parent 061434e7
No related branches found
No related tags found
No related merge requests found
......@@ -96,9 +96,8 @@ class Course_OverviewController extends AuthenticatedController
foreach ((array) $rule['attributes'] as $val) {
if ($val == 1) {
// Es gibt also Zusatzangaben. Nun noch überprüfen ob der Nutzer diese Angaben schon gemacht hat...
$count = DataField::countBySql("LEFT JOIN datafields_entries ON datafields_entries.datafield_id = datafields.datafield_id
WHERE datafield_id.object_type = 'usersemdata' AND datafields_entries.sec_range_id = ? AND datafields_entries.range_id = ?",
[$this->course_id, $GLOBALS['user']->id]
$count = DataField::countBySql("LEFT JOIN datafields_entries USING (datafield_id) WHERE object_type = ? AND sec_range_id = ? AND range_id = ?",
['usersemdata', $this->course_id, $GLOBALS['user']->id]
);
if (!$count) {
$show = true;
......
......@@ -59,8 +59,8 @@ class I18NStringDatafield extends I18NString
[$object_id[0], $object_id[1], $object_id[2]]
);
foreach ($this->lang as $lang => $value) {
if (mb_strlen($value)) {
DataField::create(
if (strlen($value)) {
DatafieldEntryModel::create(
[
'datafield_id' => $object_id[0],
'range_id' => $object_id[1],
......@@ -87,14 +87,15 @@ class I18NStringDatafield extends I18NString
public static function load($object_id, $table = '', $field = '', $base = null)
{
if (is_null($base)) {
$base = DataField::findOneBySQL(
$df = DatafieldEntryModel::findOneBySQL(
"`datafield_id` = ? AND `range_id` = ? AND `sec_range_id` = ? AND `lang` = ''",
$object_id
);
$base = $df->content;
}
$table = null;
$field = null;
return new self($base->content, self::fetchDataForField($object_id, $table, $field),
return new self($base, self::fetchDataForField($object_id, $table, $field),
compact('object_id', 'table', 'field'));
}
......
......@@ -296,12 +296,12 @@ class User extends AuthUserMd5 implements Range, PrivacyObject
public static function findByDatafield($datafield_id, $value)
{
return User::findMany(
SimpleCollection::createFromArray(
array_column(
DatafieldEntryModel::findBySQL(
'datafield_id = :datafield_id AND content = :value',
compact('datafield_id', 'value')
)
)->pluck('range_id')
),
'range_id')
);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment