Update of
/var/cvs/contributions/didactor2/src/assessment/java/nl/didactor/component/assessment
In directory
james.mmbase.org:/tmp/cvs-serv29296/java/nl/didactor/component/assessment
Modified Files:
LessonChecker.java
Log Message:
finished wait for feedback option
See also:
http://cvs.mmbase.org/viewcvs/contributions/didactor2/src/assessment/java/nl/didactor/component/assessment
Index: LessonChecker.java
===================================================================
RCS file:
/var/cvs/contributions/didactor2/src/assessment/java/nl/didactor/component/assessment/LessonChecker.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- LessonChecker.java 4 Dec 2008 16:13:01 -0000 1.2
+++ LessonChecker.java 4 Dec 2008 16:34:28 -0000 1.3
@@ -24,7 +24,7 @@
* Functionality are made accessible to front-end jsps using (node) functions
(see e.g. people.xml).
*
- * @version $Id: LessonChecker.java,v 1.2 2008/12/04 16:13:01 michiel Exp $
+ * @version $Id: LessonChecker.java,v 1.3 2008/12/04 16:34:28 michiel Exp $
*/
public class LessonChecker {
@@ -159,7 +159,20 @@
@Required @Name("lesson") Node
lesson) {
Node classRel = getClassRel(lesson, user);
- return classRel.countRelatedNodes("popfeedback") > 0;
+ Cloud cloud = user.getCloud();
+ if (cloud.hasNodeManager("popfeedback")) {
+ NodeList feedbacks = classRel.getRelatedNodes("popfeedback");
+ if (feedbacks.size() > 0 && !
"".equals(feedbacks.get(0).getStringValue("text").trim())) return true;
+ }
+ if (cloud.hasNodeManager("shouts")) {
+ NodeQuery q = Queries.createRelatedNodesQuery(user,
cloud.getNodeManager("shouts"), "posrel", "destination");
+ Queries.addConstraint(q, Queries.createConstraint(q, "reference",
Queries.getOperator("="), lesson));
+ org.mmbase.storage.search.Constraint c =
Queries.createConstraint(q, "from", Queries.getOperator("="), user);
+ q.setInverse(c, true);
+ Queries.addConstraint(q, c);
+ if (Queries.count(q) > 0) return true;
+ }
+ return false;
}
@@ -175,7 +188,9 @@
Node education = lesson.getRelatedNodes("educations", "posrel",
"source").getNode(0);
wtf.put("education", education);
boolean needsFeedback =
Casting.toBoolean(getComponent().getSetting("needs_feedback_to_close_next_lesson",
user.getCloud(), wtf));
- if (! needsFeedback) return true;
+ if (! needsFeedback) {
+ return true;
+ }
List<Node> lessons = getLessons(education);
int i = lessons.indexOf(lesson);
if (i == 0) return true;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs