Skip to content

Commit aa537d6

Browse files
plukasewbjones86
authored andcommitted
SAM-2905: Consolidate selectIndex*.jsp files (sakaiproject#2723)
1 parent 60f0964 commit aa537d6

File tree

3 files changed

+47
-342
lines changed

3 files changed

+47
-342
lines changed

samigo/samigo-app/src/webapp/jsf/index/mainIndex.jsp

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@
2424
SelectActionListener listener = new SelectActionListener();
2525
listener.processAction(null);
2626
%>
27-
<%@ include file="../select/selectIndex_noHeader.jsp"%>
27+
<%@ include file="../select/selectIndex_content.jsp"%>
2828
</h:panelGroup>
2929
</f:view>

samigo/samigo-app/src/webapp/jsf/select/selectIndex.jsp

100755100644
+26-326
Original file line numberDiff line numberDiff line change
@@ -1,331 +1,31 @@
1-
<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8" language="java" %>
1+
<%--
2+
~ /**
3+
~ * Copyright (c) 2016, The Apereo Foundation
4+
~ *
5+
~ * Licensed under the Educational Community License, Version 2.0 (the "License");
6+
~ * you may not use this file except in compliance with the License.
7+
~ * You may obtain a copy of the License at
8+
~ *
9+
~ * http://opensource.org/licenses/ecl2
10+
~ *
11+
~ * Unless required by applicable law or agreed to in writing, software
12+
~ * distributed under the License is distributed on an "AS IS" BASIS,
13+
~ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
~ * See the License for the specific language governing permissions and
15+
~ * limitations under the License.
16+
~ */
17+
--%>
18+
19+
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" language="java" %>
220
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
321
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
422
<%@ taglib uri="http://www.sakaiproject.org/samigo" prefix="samigo" %>
5-
<!DOCTYPE html
6-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
7-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
8-
9-
<!-- $Id$
10-
<%--
11-
***********************************************************************************
12-
*
13-
* Copyright (c) 2004, 2005, 2006 The Sakai Foundation.
14-
*
15-
* Licensed under the Educational Community License, Version 2.0 (the "License");
16-
* you may not use this file except in compliance with the License.
17-
* You may obtain a copy of the License at
18-
*
19-
* http://www.opensource.org/licenses/ECL-2.0
20-
*
21-
* Unless required by applicable law or agreed to in writing, software
22-
* distributed under the License is distributed on an "AS IS" BASIS,
23-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24-
* See the License for the specific language governing permissions and
25-
* limitations under the License.
26-
*
27-
**********************************************************************************/
28-
--%>
29-
-->
30-
<f:view>
31-
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
32-
<head><%= request.getAttribute("html.head") %>
33-
<title><h:outputText value="#{selectIndexMessages.page_title}" /></title>
34-
</head>
35-
<body onload="<%= request.getAttribute("html.body.onload") %>">
36-
37-
<!-- IF A SECURE DELIVERY MODULES ARE AVAILABLE, INJECT THEIR INITIAL HTML FRAGMENTS HERE -->
38-
<h:outputText value="#{select.secureDeliveryHTMLFragments}" escape="false" />
39-
40-
<!--JAVASCRIPT -->
41-
<script type="text/JavaScript">
42-
var linksDisabled = 'false';
43-
function disableLinks(clickedLink){
44-
//alert("clickedLink id = " + clickedLink.id);
45-
if (linksDisabled == 'false') {
46-
linksDisabled = 'true';
47-
//alert("document.links.length" + document.links.length);
48-
var linkIds = new Array();
49-
for (var i=0; i < document.links.length; i++){
50-
//alert("document.links[" + i + "].id=" + document.links[i].id);
51-
linkIds[i] = document.links[i].id;
52-
}
53-
54-
for (var i=0; i < linkIds.length; i++){
55-
if (linkIds[i].indexOf('selectIndexForm') >= 0) {
56-
//alert("disabling..." + linkIds[i]);
57-
if (linkIds[i] != clickedLink.id) {
58-
//alert("disabling..." + linkIds[i]);
59-
var obj = document.getElementById(linkIds[i]);
60-
var onclick = obj.getAttribute("onclick");
61-
if(onclick != null)
62-
{
63-
obj.setAttribute('onclick_back', onclick);
64-
obj.setAttribute('onclick', "void(0);");
65-
}
66-
obj.removeAttribute('href');
67-
}
68-
}
69-
}
70-
}
71-
else {
72-
//alert('linksDisabled == true');
73-
var onclick = clickedLink.getAttribute("onclick");
74-
if(onclick != null)
75-
{
76-
clickedLink.setAttribute('onclick_back', onclick);
77-
clickedLink.setAttribute('onclick', "void(0);");
78-
}
79-
clickedLink.removeAttribute('href');
80-
}
81-
}
82-
</script>
83-
84-
<!-- content... -->
85-
<div class="portletBody container-fluid">
86-
<div class="page-header">
87-
<h1>
88-
<h:outputText value="#{selectIndexMessages.page_heading}"/>
89-
</h1>
90-
</div>
91-
92-
<h:form id="selectIndexForm">
93-
<!-- SELECT -->
94-
<div class="submission-container">
95-
<h2>
96-
<h:outputText value="#{selectIndexMessages.take_assessment}" />
97-
</h2>
98-
99-
<div>
100-
<h:outputText rendered="#{select.isThereAssessmentToTake eq 'true'}" value="#{selectIndexMessages.take_assessment_notes}" />
101-
<h:outputText rendered="#{select.isThereAssessmentToTake eq 'false'}" value="#{selectIndexMessages.take_assessment_notAvailable}" />
102-
</div>
103-
104-
<%--
105-
sorting actions for table:
106-
107-
* Sort by: Title
108-
* Sort by: Date Due
109-
--%>
110-
<!-- SELECT TABLE -->
111-
<div class="tier2">
112-
<h:dataTable id="selectTable" value="#{select.takeableAssessments}" var="takeable" styleClass="table table-striped" summary="#{selectIndexMessages.sum_availableAssessment}">
113-
<h:column headerClass="assessmentTitleHeader">
114-
<f:facet name="header">
115-
<h:outputText value="#{selectIndexMessages.title} " />
116-
</f:facet>
117-
118-
<h:commandLink title="#{selectIndexMessages.t_takeAssessment}" id="takeAssessment" action="beginAssessment" onmouseup="disableLinks(this);">
119-
<f:param name="publishedId" value="#{takeable.assessmentId}" />
120-
<f:param name="actionString" value="takeAssessment"/>
121-
<f:actionListener
122-
type="org.sakaiproject.tool.assessment.ui.listener.delivery.BeginDeliveryActionListener" />
123-
<h:outputText value="#{takeable.assessmentTitle}" escape="false"/>
124-
</h:commandLink>
125-
<h:outputText value="#{selectIndexMessages.assessment_updated_need_resubmit}" rendered="#{takeable.assessmentUpdatedNeedResubmit}" styleClass="validate" />
126-
<h:outputText value="#{selectIndexMessages.assessment_updated}" rendered="#{takeable.assessmentUpdated}" styleClass="validate" />
127-
</h:column>
128-
<h:column headerClass="assessmentTimeLimitHeader">
129-
<f:facet name="header">
130-
<h:panelGroup>
131-
<h:outputText value="#{selectIndexMessages.t_time_limit} " styleClass="currentSort" />
132-
</h:panelGroup>
133-
</f:facet>
134-
135-
<h:outputText value="#{takeable.timeLimit_hour} #{selectIndexMessages.hour} #{takeable.timeLimit_minute} #{selectIndexMessages.minutes}" styleClass="currentSort" rendered="#{takeable.timeLimit_hour != 0 && takeable.timeLimit_minute != 0}" escape="false"/>
136-
<h:outputText value="#{takeable.timeLimit_hour} #{selectIndexMessages.hour}" styleClass="currentSort" rendered="#{takeable.timeLimit_hour != 0 && takeable.timeLimit_minute == 0}" escape="false"/>
137-
<h:outputText value="#{takeable.timeLimit_minute} #{selectIndexMessages.minutes}" styleClass="currentSort" rendered="#{takeable.timeLimit_hour == 0 && takeable.timeLimit_minute != 0}" escape="false"/>
138-
<h:outputText value="#{selectIndexMessages.na}" styleClass="currentSort" rendered="#{takeable.timeLimit_hour == 0 && takeable.timeLimit_minute == 0}" escape="false"/>
139-
140-
</h:column>
141-
<h:column headerClass="assessmentDueDateHeader">
142-
<f:facet name="header">
143-
<h:outputText value="#{selectIndexMessages.date_due} " />
144-
</f:facet>
145-
<h:outputText value="#{selectIndexMessages.na}" rendered="#{takeable.dueDate == null}" />
146-
<h:outputText value="#{takeable.dueDateString}" style="color: red;" rendered="#{takeable.pastDue}">
147-
</h:outputText>
148-
<h:outputText value="#{takeable.dueDateString}" rendered="#{!takeable.pastDue}">
149-
</h:outputText>
150-
</h:column>
151-
</h:dataTable>
152-
</div></div>
153-
154-
<!-- SUBMITTED ASSESMENTS -->
155-
<h2>
156-
<h:outputText value="#{selectIndexMessages.submitted_assessments}" />
157-
</h2>
158-
<div class="info-text">
159-
<h:outputText rendered="#{select.isThereAssessmentToReview eq 'true'}" value="#{selectIndexMessages.review_assessment_notes}" />
160-
</div>
161-
162-
<div class="panel panel-default">
163-
<div class="panel-heading">
164-
<h:commandLink
165-
id="all"
166-
value="#{selectIndexMessages.review_assessment_all}" rendered="#{select.isThereAssessmentToReview eq 'true' && select.displayAllAssessments == 1}" onmouseup="disableLinks(this);submit();">
167-
<f:param name="selectSubmissions" value="2" />
168-
<f:actionListener type="org.sakaiproject.tool.assessment.ui.listener.select.SelectActionListener" />
169-
</h:commandLink>
170-
<h:outputText value="&#160; | &#160;" escape="false" />
171-
<h:outputText value="#{selectIndexMessages.review_assessment_all}" rendered="#{select.displayAllAssessments == 2}" />
172-
<h:outputText value="&#160; | &#160;" escape="false" />
173-
<h:commandLink
174-
id="some"
175-
value="#{selectIndexMessages.review_assessment_recorded}"
176-
rendered="#{select.isThereAssessmentToReview eq 'true' && select.displayAllAssessments == 2}"
177-
onmouseup="disableLinks(this);submit();">
178-
<f:param name="selectSubmissions" value="1" />
179-
<f:actionListener type="org.sakaiproject.tool.assessment.ui.listener.select.SelectActionListener" />
180-
</h:commandLink>
181-
<h:outputText value="#{selectIndexMessages.review_assessment_recorded}" rendered="#{select.displayAllAssessments == 1}" />
182-
</div>
23+
<%@ taglib uri="http://sakaiproject.org/jsf/sakai" prefix="sakai" %>
18324

184-
<!-- REVIEW TABLE -->
185-
<%--
186-
sorting actions for table:
187-
188-
* Sort by: Grade
189-
* Sort by: Raw Score
190-
* Sort by: Statistics
191-
* Sort by: Submitted
192-
* Sort by: Time
193-
* Sort by: Title
194-
--%>
195-
<div class="table-responsive">
196-
<h:dataTable styleClass="table table-striped" id="reviewTable" value="#{select.reviewableAssessments}" var="reviewable" summary="#{selectIndexMessages.sum_submittedAssessment}">
197-
198-
<%-- TITLE --%>
199-
<h:column>
200-
<f:facet name="header">
201-
<h:panelGroup>
202-
<h:outputText value="#{selectIndexMessages.title} " styleClass="currentSort" />
203-
</h:panelGroup>
204-
</f:facet>
205-
206-
<h:outputText value="#{reviewable.assessmentTitle}" styleClass="currentSort" rendered="#{reviewable.isRecordedAssessment}" escape="false"/>
207-
<h:outputText value="#{selectIndexMessages.asterisk}" rendered="#{reviewable.isRecordedAssessment && reviewable.feedback == 'show' && !reviewable.isAssessmentRetractForEdit && reviewable.hasAssessmentBeenModified && select.warnUserOfModification}" styleClass="validate"/>
208-
<h:outputText value="#{selectIndexMessages.asterisk_2}" rendered="#{reviewable.isRecordedAssessment && reviewable.isAssessmentRetractForEdit}" styleClass="validate" />
209-
210-
</h:column>
211-
212-
<!-- STATS creating separate column for stats -->
213-
<h:column>
214-
<f:facet name="header">
215-
<h:panelGroup>
216-
<h:outputText value="#{selectIndexMessages.stats}" styleClass="currentSort" />
217-
</h:panelGroup>
218-
</f:facet>
219-
<h:panelGroup>
220-
<h:commandLink title="#{selectIndexMessages.t_histogram}" id="histogram" action="#{delivery.getOutcome}" immediate="true"
221-
rendered="#{reviewable.feedback eq 'show' && reviewable.feedbackComponentOption == '2' && reviewable.statistics && !reviewable.hasRandomDrawPart && !reviewable.isAssessmentRetractForEdit && reviewable.isRecordedAssessment}" onmouseup="disableLinks(this);">
222-
<f:param name="publishedAssessmentId" value="#{reviewable.assessmentId}" />
223-
<f:param name="hasNav" value="false"/>
224-
<f:param name="allSubmissions" value="true" />
225-
<f:param name="actionString" value="reviewAssessment"/>
226-
<f:param name="isFromStudent" value="true"/>
227-
<f:actionListener type="org.sakaiproject.tool.assessment.ui.listener.evaluation.HistogramListener" />
228-
<h:outputText value="#{selectIndexMessages.stats} "/>
229-
</h:commandLink>
230-
</h:panelGroup>
231-
<h:outputText value="#{selectIndexMessages.not_applicable}" styleClass="currentSort" rendered="#{(reviewable.feedback eq 'na' || reviewable.feedbackComponentOption == '1' || reviewable.isAssessmentRetractForEdit || !reviewable.statistics) && reviewable.isRecordedAssessment}" />
232-
</h:column>
233-
<!-- created separate column for statistics -->
234-
235-
<%-- Recorded SCORE --%>
236-
<h:column>
237-
<f:facet name="header">
238-
<h:panelGroup>
239-
<h:outputText value="#{selectIndexMessages.recorded_score}" styleClass="currentSort" />
240-
</h:panelGroup>
241-
</f:facet>
242-
243-
<h:outputText value="#{reviewable.roundedRawScore} " styleClass="currentSort" rendered="#{reviewable.showScore eq 'show' && reviewable.isRecordedAssessment && !reviewable.isAssessmentRetractForEdit}" />
244-
<h:outputText value="" rendered="#{!reviewable.isRecordedAssessment && reviewable.showScore eq 'show' && !reviewable.isAssessmentRetractForEdit}"/>
245-
<h:outputText value="#{selectIndexMessages.highest_score}" rendered="#{(reviewable.multipleSubmissions eq 'true' && reviewable.isRecordedAssessment && reviewable.scoringOption eq '1' && (reviewable.showScore eq 'show' || reviewable.showScore eq 'blank')) && !reviewable.isAssessmentRetractForEdit}"/>
246-
<h:outputText value="#{selectIndexMessages.last_score}" rendered="#{(reviewable.multipleSubmissions eq 'true' && reviewable.isRecordedAssessment && reviewable.scoringOption eq '2' && (reviewable.showScore eq 'show' || reviewable.showScore eq 'blank')) && !reviewable.isAssessmentRetractForEdit}"/>
247-
<h:outputText value="#{selectIndexMessages.average_score}" rendered="#{(reviewable.multipleSubmissions eq 'true' && reviewable.isRecordedAssessment && reviewable.scoringOption eq '4' && (reviewable.showScore eq 'show' || reviewable.showScore eq 'blank')) && !reviewable.isAssessmentRetractForEdit}"/>
248-
<h:outputText value="#{selectIndexMessages.not_applicable}" styleClass="currentSort" rendered="#{(reviewable.showScore eq 'na' || reviewable.isAssessmentRetractForEdit) && reviewable.isRecordedAssessment}" />
249-
</h:column>
250-
251-
<%-- FEEDBACK DATE --%>
252-
<h:column>
253-
<f:facet name="header">
254-
<h:panelGroup>
255-
<h:outputText value="#{selectIndexMessages.feedback_date}" styleClass="currentSort" />
256-
</h:panelGroup>
257-
</f:facet>
258-
259-
<h:outputText value="#{reviewable.feedbackDateString}" styleClass="currentSort" rendered="#{reviewable.feedbackComponentOption == '2' && reviewable.feedbackDelivery eq '2' && !reviewable.isAssessmentRetractForEdit && reviewable.isRecordedAssessment}" />
260-
<h:outputText value="#{selectIndexMessages.immediate}" styleClass="currentSort" rendered="#{reviewable.feedbackComponentOption == '2' && (reviewable.feedbackDelivery eq '1' || reviewable.feedbackDelivery eq '4') && !reviewable.isAssessmentRetractForEdit && reviewable.isRecordedAssessment}" />
261-
<h:outputText value="#{selectIndexMessages.not_applicable}" styleClass="currentSort" rendered="#{(reviewable.feedbackComponentOption == '1' || reviewable.feedbackDelivery==null || reviewable.feedbackDelivery eq '3' || reviewable.isAssessmentRetractForEdit) && reviewable.isRecordedAssessment}" />
262-
263-
<!-- mustansar -->
264-
<h:commandLink title="#{selectIndexMessages.t_reviewAssessment}" action="#{delivery.getOutcome}" immediate="true"
265-
rendered="#{reviewable.feedback == 'show' && reviewable.feedbackComponentOption == '2' && !reviewable.isAssessmentRetractForEdit && select.displayAllAssessments != '1' && !reviewable.isRecordedAssessment }" onmouseup="disableLinks(this);">
266-
<f:param name="publishedId" value="#{reviewable.assessmentId}" />
267-
<f:param name="assessmentGradingId" value="#{reviewable.assessmentGradingId}" />
268-
<f:param name="nofeedback" value="false"/>
269-
<f:param name="actionString" value="reviewAssessment"/>
270-
<f:actionListener type="org.sakaiproject.tool.assessment.ui.listener.delivery.BeginDeliveryActionListener" />
271-
<f:actionListener type="org.sakaiproject.tool.assessment.ui.listener.delivery.DeliveryActionListener" />
272-
<h:outputText styleClass="currentSort" value="#{commonMessages.feedback}" rendered="#{reviewable.isRecordedAssessment && select.displayAllAssessments != '1' }" escape="false"/>
273-
<h:outputText value="#{commonMessages.feedback}" rendered="#{!reviewable.isRecordedAssessment }" escape="false"/>
274-
</h:commandLink>
275-
<!-- mustansar -->
276-
</h:column>
277-
278-
<%-- SCORE --%>
279-
<h:column rendered="#{select.displayAllAssessments != '1'}">
280-
<f:facet name="header">
281-
<h:panelGroup>
282-
<h:outputText value="#{selectIndexMessages.individual_score}" styleClass="currentSort" />
283-
</h:panelGroup>
284-
</f:facet>
285-
286-
<h:outputText value="#{reviewable.roundedRawScore} " rendered="#{(reviewable.showScore eq 'show' && !reviewable.isAssessmentRetractForEdit) && !reviewable.isRecordedAssessment}" />
287-
<h:outputText value="#{selectIndexMessages.not_applicable}" rendered="#{(reviewable.showScore eq 'na' || reviewable.isAssessmentRetractForEdit) && !reviewable.isRecordedAssessment}" />
288-
</h:column>
289-
290-
<%-- TIME --%>
291-
<h:column rendered="#{select.displayAllAssessments != '1'}">
292-
<f:facet name="header">
293-
<h:panelGroup>
294-
<h:outputText value="#{selectIndexMessages.time} " styleClass="currentSort" />
295-
</h:panelGroup>
296-
</f:facet>
297-
298-
<h:panelGroup>
299-
<h:outputText id="timeElapse" value="#{reviewable.timeElapse}" styleClass="currentSort" rendered="#{reviewable.isRecordedAssessment}" />
300-
<h:outputText value="#{reviewable.timeElapse}" rendered="#{!reviewable.isRecordedAssessment}" />
301-
</h:panelGroup>
302-
</h:column>
303-
304-
<%-- SUBMITTED --%>
305-
<h:column rendered="#{select.displayAllAssessments != '1'}" >
306-
<f:facet name="header">
307-
<h:panelGroup>
308-
<h:outputText value="#{selectIndexMessages.submitted} " styleClass="currentSort" />
309-
</h:panelGroup>
310-
</f:facet>
311-
312-
<h:outputText value="#{reviewable.submissionDateString}" styleClass="currentSort" rendered="#{reviewable.isRecordedAssessment}" />
313-
<h:outputText value="#{reviewable.submissionDateString}" rendered="#{!reviewable.isRecordedAssessment}" />
314-
</h:column>
315-
316-
</h:dataTable>
317-
318-
<br/>
319-
320-
<h:panelGrid>
321-
<h:outputText value="#{selectIndexMessages.asterisk} #{selectIndexMessages.has_been_modified}" rendered="#{select.hasAnyAssessmentBeenModified && select.warnUserOfModification}" styleClass="validate"/>
322-
<h:outputText value="#{selectIndexMessages.asterisk_2} #{selectIndexMessages.currently_being_edited}" rendered="#{select.hasAnyAssessmentRetractForEdit}" styleClass="validate"/>
323-
</h:panelGrid>
25+
<!DOCTYPE html
26+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
27+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
32428

325-
</div></div>
326-
</h:form>
327-
</div>
328-
<!-- end content -->
329-
</body>
330-
</html>
331-
</f:view>
29+
<f:view>
30+
<%@ include file="../select/selectIndex_content.jsp"%>
31+
</f:view>

0 commit comments

Comments
 (0)