Index: lams_central/src/java/org/lamsfoundation/lams/web/qb/QbCollectionController.java =================================================================== diff -u -r636f1c43308b615f34cd583e0ccf3ae7d45b0aaa -r26ce32081def8b8d0a0e38f513100920d33dbef1 --- lams_central/src/java/org/lamsfoundation/lams/web/qb/QbCollectionController.java (.../QbCollectionController.java) (revision 636f1c43308b615f34cd583e0ccf3ae7d45b0aaa) +++ lams_central/src/java/org/lamsfoundation/lams/web/qb/QbCollectionController.java (.../QbCollectionController.java) (revision 26ce32081def8b8d0a0e38f513100920d33dbef1) @@ -31,9 +31,7 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.qb.model.QbCollection; import org.lamsfoundation.lams.qb.model.QbQuestion; import org.lamsfoundation.lams.qb.service.IQbService; @@ -55,9 +53,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; -import com.fasterxml.jackson.databind.node.JsonNodeFactory; -import com.fasterxml.jackson.databind.node.ObjectNode; - @Controller @RequestMapping("/qb/collection") public class QbCollectionController { @@ -93,8 +88,7 @@ model.addAttribute("availableOrganisations", qbService.getShareableWithOrganisations(collectionUid, getUserId())); model.addAttribute("questionCount", qbService.getCountCollectionQuestions(collectionUid, null)); - model.addAttribute("isQtiExportEnabled", - Configuration.getAsBoolean(ConfigurationKeys.QB_QTI_ENABLE)); + model.addAttribute("isQtiExportEnabled", Configuration.getAsBoolean(ConfigurationKeys.QB_QTI_ENABLE)); return "qb/collection"; } @@ -204,7 +198,13 @@ Collection collections = qbService.getUserCollections(getUserId()); name = name.trim(); for (QbCollection collection : collections) { - if (!collection.getUid().equals(collectionUid) && name.equalsIgnoreCase(collection.getName())) { + if (collection.getUid().equals(collectionUid)) { + if (collection.getUserId() == null) { + // can not change public collection name + return "false"; + } + } else if (name.equalsIgnoreCase(collection.getName())) { + // a collection with the same name already exists return "false"; } } Index: lams_central/web/qb/collection.jsp =================================================================== diff -u -r1b530a88ae6d3a1e553081b3d56117ec5ad3622a -r26ce32081def8b8d0a0e38f513100920d33dbef1 --- lams_central/web/qb/collection.jsp (.../collection.jsp) (revision 1b530a88ae6d3a1e553081b3d56117ec5ad3622a) +++ lams_central/web/qb/collection.jsp (.../collection.jsp) (revision 26ce32081def8b8d0a0e38f513100920d33dbef1) @@ -79,7 +79,8 @@