aboutsummaryrefslogtreecommitdiff
path: root/lib/models/DatafieldEntryModel.class.php
diff options
context:
space:
mode:
authorElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2023-01-30 17:26:03 +0000
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2023-01-30 17:26:03 +0000
commit2a8091c0f8e625a70e72dbe6438a74af14451978 (patch)
tree318c7d4b107c6f464259a8a00fb21c8ed96ad07a /lib/models/DatafieldEntryModel.class.php
parent3e9cceedbaf74ff06ca6c9a87f7275f740595550 (diff)
fix findByModel() for object_type "sem" and "inst", re #2104
Merge request studip/studip!1366
Diffstat (limited to 'lib/models/DatafieldEntryModel.class.php')
-rw-r--r--lib/models/DatafieldEntryModel.class.php11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/models/DatafieldEntryModel.class.php b/lib/models/DatafieldEntryModel.class.php
index 882b37e..e1c2406 100644
--- a/lib/models/DatafieldEntryModel.class.php
+++ b/lib/models/DatafieldEntryModel.class.php
@@ -130,7 +130,16 @@ class DatafieldEntryModel extends SimpleORMap implements PrivacyObject
$params[':one_datafield_id'] = $datafield_id;
}
- if ($object_type === 'studycourse') {
+ if ($object_type === 'sem' || $object_type === 'inst') {
+ // find datafields by status (int)
+ $query .= " AND (object_class = :object_class OR object_class IS NULL) ORDER BY priority";
+ $params = array_merge($params, [
+ ':range_id' => (string) $range_id,
+ ':sec_range_id' => (string) $sec_range_id,
+ ':object_type' => $object_type,
+ ':object_class' => (int) $object_class
+ ]);
+ } else if ($object_type === 'studycourse') {
$query .= " AND (LOCATE(:object_class, object_class) OR LOCATE('all', object_class)) ORDER BY priority";
$params = array_merge($params,[
':range_id' => (string) $range_id,