Skip to content
Snippets Groups Projects
Commit 1d1cc060 authored by srosse's avatar srosse
Browse files

OO-4428: make sure all sort key works in question pool table

parent 21ef04ff
No related branches found
No related tags found
No related merge requests found
......@@ -498,6 +498,7 @@ public class QItemQueriesDAO {
sb.append(itemDbRef).append(".type.type ");
appendAsc(sb, asc);
break;
case "mark":
case "marks":
sb.append("marks");
appendAsc(sb, asc);
......
......@@ -188,7 +188,7 @@ public abstract class AbstractItemListController extends FormBasicController
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.lastModified));
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.keywords));
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.coverage));
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.additionalInfos));
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.additionalInformations));
if (getSecurityCallback().canUseTaxonomy()) {
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.taxonomyLevel));
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.taxonomyPath));
......
......@@ -85,7 +85,7 @@ public class QuestionItemDataModel extends DefaultFlexiTableDataSourceModel<Item
case topic: return item.getTopic();
case keywords: return item.getKeywords();
case coverage: return item.getCoverage();
case additionalInfos: return item.getAdditionalInformations();
case additionalInformations: return item.getAdditionalInformations();
case creationDate: return item.getCreationDate();
case lastModified: return item.getLastModified();
case taxonomyLevel: return item.getTaxonomyLevelName();
......@@ -130,7 +130,7 @@ public class QuestionItemDataModel extends DefaultFlexiTableDataSourceModel<Item
topic("general.topic"),
keywords("general.keywords"),
coverage("general.coverage"),
additionalInfos("general.additional.informations"),
additionalInformations("general.additional.informations"),
creationDate("technical.creation"),
lastModified("technical.lastModified"),
taxonomyLevel("classification.taxonomy.level"),
......@@ -164,7 +164,7 @@ public class QuestionItemDataModel extends DefaultFlexiTableDataSourceModel<Item
@Override
public boolean sortable() {
return true;
return this != editable;
}
@Override
......
......@@ -55,6 +55,7 @@ import org.olat.modules.qpool.QuestionType;
import org.olat.modules.qpool.model.QItemType;
import org.olat.modules.qpool.model.QuestionItemImpl;
import org.olat.modules.qpool.model.SearchQuestionItemParams;
import org.olat.modules.qpool.ui.QuestionItemDataModel;
import org.olat.modules.taxonomy.Taxonomy;
import org.olat.modules.taxonomy.TaxonomyCompetenceTypes;
import org.olat.modules.taxonomy.TaxonomyLevel;
......@@ -234,6 +235,36 @@ public class QItemQueriesDAOTest extends OlatTestCase {
}
}
/**
* Check if all the queries works with the order by used
* by the main table in question pool.
*/
@Test
public void getItemsOfCollection_orderByColumns() {
//create a collection with 2 items
Identity id = JunitTestHelper.createAndPersistIdentityAsUser("Coll-Onwer-3c-" + UUID.randomUUID().toString());
QuestionItemCollection coll = collectionDao.createCollection("NGC collection 3c", id);
QuestionItem item = questionDao.createAndPersist(null, "NGC 92", QTIConstants.QTI_12_FORMAT, Locale.GERMAN.getLanguage(), null, null, null, qItemType);
collectionDao.addItemToCollection(item, singletonList(coll));
dbInstance.commit();//check if it's alright
SearchQuestionItemParams params = new SearchQuestionItemParams(id, null, Locale.ENGLISH);
params.setCollection(coll);
//test order by
for(QuestionItemDataModel.Cols order: QuestionItemDataModel.Cols.values()) {
if(order.sortable()) {
SortKey sortAsc = new SortKey(order.name(), true);
List<QuestionItemView> ascOrderedItems = qItemQueriesDao.getItems(params, 0, -1, sortAsc);
Assert.assertNotNull(ascOrderedItems);
SortKey sortDesc = new SortKey(order.name(), false);
List<QuestionItemView> descOrderedItems = qItemQueriesDao.getItems(params, 0, -1, sortDesc);
Assert.assertNotNull(descOrderedItems);
}
}
}
@Test
public void getItemsByAuthor() {
//create an author with 2 items
......
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