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 { ...@@ -498,6 +498,7 @@ public class QItemQueriesDAO {
sb.append(itemDbRef).append(".type.type "); sb.append(itemDbRef).append(".type.type ");
appendAsc(sb, asc); appendAsc(sb, asc);
break; break;
case "mark":
case "marks": case "marks":
sb.append("marks"); sb.append("marks");
appendAsc(sb, asc); appendAsc(sb, asc);
......
...@@ -188,7 +188,7 @@ public abstract class AbstractItemListController extends FormBasicController ...@@ -188,7 +188,7 @@ public abstract class AbstractItemListController extends FormBasicController
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.lastModified)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.lastModified));
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.keywords)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.keywords));
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.coverage)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.coverage));
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.additionalInfos)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.additionalInformations));
if (getSecurityCallback().canUseTaxonomy()) { if (getSecurityCallback().canUseTaxonomy()) {
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.taxonomyLevel)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.taxonomyLevel));
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.taxonomyPath)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.taxonomyPath));
......
...@@ -85,7 +85,7 @@ public class QuestionItemDataModel extends DefaultFlexiTableDataSourceModel<Item ...@@ -85,7 +85,7 @@ public class QuestionItemDataModel extends DefaultFlexiTableDataSourceModel<Item
case topic: return item.getTopic(); case topic: return item.getTopic();
case keywords: return item.getKeywords(); case keywords: return item.getKeywords();
case coverage: return item.getCoverage(); case coverage: return item.getCoverage();
case additionalInfos: return item.getAdditionalInformations(); case additionalInformations: return item.getAdditionalInformations();
case creationDate: return item.getCreationDate(); case creationDate: return item.getCreationDate();
case lastModified: return item.getLastModified(); case lastModified: return item.getLastModified();
case taxonomyLevel: return item.getTaxonomyLevelName(); case taxonomyLevel: return item.getTaxonomyLevelName();
...@@ -130,7 +130,7 @@ public class QuestionItemDataModel extends DefaultFlexiTableDataSourceModel<Item ...@@ -130,7 +130,7 @@ public class QuestionItemDataModel extends DefaultFlexiTableDataSourceModel<Item
topic("general.topic"), topic("general.topic"),
keywords("general.keywords"), keywords("general.keywords"),
coverage("general.coverage"), coverage("general.coverage"),
additionalInfos("general.additional.informations"), additionalInformations("general.additional.informations"),
creationDate("technical.creation"), creationDate("technical.creation"),
lastModified("technical.lastModified"), lastModified("technical.lastModified"),
taxonomyLevel("classification.taxonomy.level"), taxonomyLevel("classification.taxonomy.level"),
...@@ -164,7 +164,7 @@ public class QuestionItemDataModel extends DefaultFlexiTableDataSourceModel<Item ...@@ -164,7 +164,7 @@ public class QuestionItemDataModel extends DefaultFlexiTableDataSourceModel<Item
@Override @Override
public boolean sortable() { public boolean sortable() {
return true; return this != editable;
} }
@Override @Override
......
...@@ -55,6 +55,7 @@ import org.olat.modules.qpool.QuestionType; ...@@ -55,6 +55,7 @@ import org.olat.modules.qpool.QuestionType;
import org.olat.modules.qpool.model.QItemType; import org.olat.modules.qpool.model.QItemType;
import org.olat.modules.qpool.model.QuestionItemImpl; import org.olat.modules.qpool.model.QuestionItemImpl;
import org.olat.modules.qpool.model.SearchQuestionItemParams; 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.Taxonomy;
import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; import org.olat.modules.taxonomy.TaxonomyCompetenceTypes;
import org.olat.modules.taxonomy.TaxonomyLevel; import org.olat.modules.taxonomy.TaxonomyLevel;
...@@ -234,6 +235,36 @@ public class QItemQueriesDAOTest extends OlatTestCase { ...@@ -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 @Test
public void getItemsByAuthor() { public void getItemsByAuthor() {
//create an author with 2 items //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