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">&amp;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">&amp;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

Reply via email to