Update of /var/cvs/contributions/didactor2/src/assessment/templates/assessment
In directory james.mmbase.org:/tmp/cvs-serv8270
Modified Files:
javascript.js.jsp matrix.div.jspx student.jspx
Log Message:
tried to reconstruct the feature of closing lessons
See also:
http://cvs.mmbase.org/viewcvs/contributions/didactor2/src/assessment/templates/assessment
Index: javascript.js.jsp
===================================================================
RCS file:
/var/cvs/contributions/didactor2/src/assessment/templates/assessment/javascript.js.jsp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- javascript.js.jsp 31 Jul 2008 14:52:35 -0000 1.2
+++ javascript.js.jsp 14 Aug 2008 14:07:22 -0000 1.3
@@ -16,10 +16,15 @@
}
}
-$(document).ready(function() {
- $(".col.problem").click(function() {
+var toggleExtra = function() {
$(document).find(".col.problem .extra").hide();
$(this).find(".extra").show();
+};
+
+$(document).ready(function() {
+ $(".col.problem").click(toggleExtra);
+ $("div.list").bind("mmsrCreated", function(a, r) {
+ $(r).click(toggleExtra);
});
});
Index: matrix.div.jspx
===================================================================
RCS file:
/var/cvs/contributions/didactor2/src/assessment/templates/assessment/matrix.div.jspx,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- matrix.div.jspx 13 Aug 2008 07:28:26 -0000 1.5
+++ matrix.div.jspx 14 Aug 2008 14:07:22 -0000 1.6
@@ -32,33 +32,76 @@
</div>
</span>
- <mm:node id="problem" />
+ <mm:node id="problem" number="${_node}" /> <!-- give current node an id, and
put it in the current cloud -->
<!-- And, per lesson, how much trouble it gave -->
<mm:node number="${education}">
- <mm:relatednodes type="learnblocks" path="posrel,learnblocks"
orderby="posrel.pos">
- <mm:node>
- <mm:import id="learnBlock"><mm:field
name="number"/></mm:import>
- </mm:node>
+ <mm:relatednodes
+ id="learnBlock"
+ type="learnblocks" path="posrel,learnblocks" orderby="posrel.pos">
+
+ <mm:size id="size" write="false" />
+ <span class="col" style="width: ${60 / size}%">
+
+ <!--
+ Create the relation problem-posrel->learnBlock if that does not
exist yet. The
+ 'position' field is abused to indicate how much trouble the
problem gave after this
+ lesson. Really, there should not have been used 'posrel' here.
Because _pos_rel is of
+ course for _position_, and is not some generic integer which can
be used for whatever one
+ likes.
+
+ Only for closed lessons, and the first open one.
+
+ _I_ did not come up with this.
+ -->
+ <mm:relation to="${user}" notfound="null">
+ <c:if test="${! empty _node or empty firstopenlesson}">
+ <c:if test="${empty _node}">
+ <mm:node node="learnBlock" id="firstopenlesson" />
+ </c:if>
<mm:node referid="problem">
- <mm:listrelationscontainer type="learnblocks" role="posrel">
- <mm:size id="problemItem" write="false"/>
- <c:if test="${problemItem eq 0}">
- <mm:createrelation source="problem"
destination="learnBlock" role="posrel" commitonclose="true">
- <mm:setfield name="pos">2</mm:setfield>
+ <mm:relation to="${learnBlock}" role="posrel" notfound="null">
+ <c:if test="${empty _node}">
+ <mm:cloud>
+ <!-- create the relation outside the transaction, because
it simply must happen, and immediately -->
+ <mm:context>
+ <mm:node number="${learnBlock}" id="source" />
+ <mm:node number="${problem}" id="dest" />
+ <mm:createrelation id="new" source="source"
destination="dest" role="posrel" commitonclose="true">
+ <!-- default value of how much trouble -->
+ <mm:setfield name="pos">4</mm:setfield>
</mm:createrelation>
+ </mm:context>
+ </mm:cloud>
+
</c:if>
- </mm:listrelationscontainer>
+ </mm:relation>
</mm:node>
+ </c:if>
+ </mm:relation>
+
+ <!-- now let the user _edit_ (if first 'open' lesson)
+ this relation, or only _see_ (if 'closed' lesson).
+ That is, inidcate how much trouble the problem is now causing.
+ -->
- <mm:size id="size" write="false" />
- <span class="col" style="width: ${60 / size}%">
<mm:listrelationscontainer type="problems" role="posrel">
<mm:addnode element="problems" number="${problem}" />
- <mm:listrelations>
- <mm:field name="pos">
- <mm:fieldinfo datatype="didactor_assessment_troubles"
type="input" />
- <mm:fieldinfo datatype="didactor_assessment_troubles"
type="errors" />
+ <mm:listrelations id="relation">
+ <mm:field name="pos" id="pos${relation}">
+ <mm:relation from="${learnBlock}" to="${user}" role="classrel">
+ <!--
+ This should make the 'trouble' readonly for already closed
lessons.
+ Sadly doesn't work very nicely becuase explicit datatypes
does not influence gui value.
+ Perhaps a bug.
+ But also a consequence of insisting to use posrel for
something which simply isn't.
+ I hate the people who 'designed' this.
+
+ <mm:fieldinfo field="pos"
datatype="didactor_assessment_troubles" type="${empty _node ? 'input' :
'guivalue'}" />
+ -->
+ <mm:fieldinfo field="pos${relation}"
datatype="didactor_assessment_troubles" type="input" />
+ <mm:fieldinfo field="pos${relation}"
datatype="didactor_assessment_troubles" type="errors" />
+ </mm:relation>
</mm:field>
</mm:listrelations>
</mm:listrelationscontainer>
Index: student.jspx
===================================================================
RCS file:
/var/cvs/contributions/didactor2/src/assessment/templates/assessment/student.jspx,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- student.jspx 8 Aug 2008 14:55:23 -0000 1.8
+++ student.jspx 14 Aug 2008 14:07:22 -0000 1.9
@@ -34,8 +34,15 @@
<!-- show the learnblocks -->
<mm:node number="${education}">
<span class="head problem">&nbsp;</span>
- <mm:relatednodes type="learnblocks" path="posrel,learnblocks"
orderby="posrel.pos" varStatus="status">
- <span class="head" style="width: ${60 / status.count}%"><mm:field
name="name" /></span>
+ <mm:relatednodes id="learnBlock" type="learnblocks"
path="posrel,learnblocks" orderby="posrel.pos" varStatus="status">
+ <mm:relation to="${user}" role="classrel" notfound="null">
+ <c:if test="${empty _node and empty firstopenlesson}">
+ <mm:node node="learnBlock" id="firstopenlesson" />
+ </c:if>
+ <span class="head ${empty _node ? '' : 'closed'}" style="width: ${60
/ status.count}%">
+ <mm:field name="name" node="learnBlock" />
+ </span>
+ </mm:relation>
</mm:relatednodes>
<span class="head delete">&nbsp;</span>
</mm:node>
@@ -62,7 +69,7 @@
</mm:listnodes>
<!--
- now links to the feed back pages
+ Now links to the feed back pages
-->
<div>
<span class="head problem">
@@ -84,7 +91,7 @@
<mm:present referid="feedback">
<mm:treefile
page="/assessment/feedback.jspx" objectlist="$includePath"
- referids="$referids,[EMAIL PROTECTED]"
+ referids="$referids,[EMAIL PROTECTED],[EMAIL PROTECTED]"
write="false"
>
<a href="${_}">
@@ -99,35 +106,41 @@
</div>
<!--
- Finally, the use is given the option to 'close' the last lesson
+ Finally, the user is given the option to 'close' the last open lesson
-->
<div>
<mm:import externid="step" />
+ <c:if test="${! empty firstopenlesson}">
+
<jsp:directive.include file="evaluationtest.jspf" />
<mm:treefile page="/assessment/closelesson.jsp"
objectlist="$includePath"
- referids="$referids"
write="false"
>
<form name="closelessonform" action="${_}" method="post">
<input type="submit" class="formbutton"
value="${di:translate('assessment.back_to_lesson')}" />
- <mm:node number="lesson" notfound="skip">
+ <input type="hidden" name="coachmode" value="false" />
+ <input type="hidden" name="lesson" value="${firstopenlesson}" />
+ <mm:node referid="firstopenlesson">
<mm:related path="posrel,problems,posrel,people" max="1"
constraints="people.number=$user">
- <input type="submit" class="formbutton"
value="${di:translate('assessment.close_and_send_to_coach')}" />
+ <di:translate key="assessment.close_and_send_to_coach"
arg0="${firstopenlesson.name}">
+ <input type="submit" class="formbutton" value="${_}" />
+ </di:translate>
</mm:related>
</mm:node>
- <input type="submit" class="formbutton"
value="${di:translate('assessment.close_and_send_to_coach')}" />
</form>
+
<mm:node number="$assessment_evaluationtest" notfound="skip">
</mm:node>
</mm:treefile>
+ </c:if>
</div>
</div>
</div>
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs