Rev 1310 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ page import="jomm.utils.MessageResources" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<jsp:useBean id="CourseUnitsForm" type="pt.estgp.estgweb.web.form.courseunits.CourseUnitsForm" scope="request"/>
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<script>
<%
if (CourseUnitsForm.isShowNewWorkForm())
{
%>
$(document).ready(function(){
$('#myModal').modal({
show: 'true'
});
});
<%
}
%>
$(document).ready(function(){
setTimeout("hideWorkDesc()",100);
setTimeout("disableWorksDisabled()",200);
});
function hideWorkDesc()
{
$(".workdesc").hide();
}
function disableWorksDisabled()
{
$(".workDisabled").addClass("disabledItem");
}
</script>
<div class="panel panel-default">
<div class="panel-heading clearfix">
<bean:message key="courseunit.works"/>
<baco:canManage name="CourseUnitView">
<button type="button" class="btn btn-success pull-right" data-toggle="modal" data-target="#myModal"><span class="glyphicon glyphicon-plus"></span> <bean:message key="new"/> </button>
<%--<a class="btn btn-success pull-right" href="javascript:showOrHideOne('assignements')"><span class="glyphicon glyphicon-plus"></span> <bean:message key="new"/> </a>--%>
</baco:canManage>
</div>
<div class="panel-body">
<baco:canManage name="CourseUnitView">
<%--
<%
String visibility = "";
if (CourseUnitsForm.isShowNewWorkForm())
visibility = Globals.VISIBLE;
else
visibility = Globals.HIDDEN;
request.setAttribute("visibility", visibility);
%>--%>
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog" >
<div class="modal-dialog" data-width="760" style="display: block; width: 760px; margin-top: 50px;" aria-hidden="false">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title"><bean:message key="course.unit.work"/></h1>
</div>
<div class="modal-body">
<html:errors/>
<jomm:messages/>
<html:form styleClass="form-horizontal" action="/user/courseUnitControllerFromHome" enctype="multipart/form-data">
<input type="hidden" name="dispatch" value="createAssignement">
<html:hidden property="courseUnitView.id"/>
<html:hidden property="courseUnitAssignementView.id"/>
<div class="form-group">
<label class="control-label col-sm-2" for="title"><bean:message key="courseunit.title"/></label>
<div class="col-sm-10">
<html:text styleId="title" styleClass="form-control" property="courseUnitAssignementView.title"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="date"><bean:message key="courseunit.assignement.deliver.date"/></label>
<div class="col-sm-8">
<div class='input-group date datetimepicker' >
<html:text styleClass="form-control" property="courseUnitAssignementView.deliverDate" styleId="date" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
<div class="col-sm-2">
<button type="button" class="btn btn-danger" onClick="CourseUnitsForm.deliverDate.value=null"><span class="glyphicon glyphicon-remove"></span></button>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="type"><bean:message key="courseunit.assignement.deliver.type"/></label>
<div class="col-sm-10">
<html:select styleId="type" styleClass="form-control" property="courseUnitAssignementView.deliverType">
<html:option value="file" key="courseunit.assignement.deliver.type.file"/>
<html:option value="nofile" key="courseunit.assignement.deliver.type.nofile"/>
</html:select>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="permission"><bean:message key="courseunit.assignement.deliver.late.permission"/></label>
<div class="col-sm-10">
<html:select styleId="permission" styleClass="form-control" property="courseUnitAssignementView.lateDelivers">
<html:option value="true" key="yes"/>
<html:option value="false" key="no"/>
</html:select>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="desc"><bean:message key="courseunit.description"/></label>
<div class="col-sm-10">
<html:textarea styleId="desc" styleClass="form-control" property="courseUnitAssignementView.description"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="fileA"><bean:message key="courseunit.assignement.file"/></label>
<div class="col-sm-10">
<html:file styleId="fileA" styleClass="form-control" property="uploadFile"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="status"><bean:message key="courseunit.status"/></label>
<div class="col-sm-10">
<html:select styleId="status" styleClass="form-control" property="courseUnitAssignementView.status">
<html:option value="true">
<bean:message key="status.active"/>
</html:option>
<html:option value="false">
<bean:message key="status.inactive"/>
</html:option>
</html:select>
</div>
</div>
<button type="button" class="btn btn-success" onclick="this.form.submit()"><bean:message key="confirm"/></button>
<button type="button" class="btn btn-danger" data-dismiss="modal"><bean:message key="cancel"/></button>
</html:form>
</div>
</div>
</div>
</div>
</baco:canManage>
<logic:notEmpty name="CourseUnitView" property="courseUnitAssignements">
<table id="myTable" class="tablesorterfiltered">
<thead>
<tr>
<th><bean:message key="saveDate"/></th>
<th><bean:message key="courseunit.title"/></th>
<th><bean:message key="courseunit.assignement.file"/></th>
<th><bean:message key="courseunit.assignement.deliver.date"/></th>
<th><bean:message key="courseunit.assignement.deliver.late.permission"/></th>
<th><bean:message key="courseunit.assignement.deliver.type"/></th>
<baco:canManage name="CourseUnitView">
<%
request.setAttribute("colspanAssignement",6);
%>
<th><bean:message key="courseunit.status"/></th>
<th><bean:message key="courseunit.assignement.delivers"/></th>
<th class="filter-false" data-sorter="false" colspan="3"><bean:message key="manage"/></th>
</baco:canManage>
<baco:isStudentOfCourseUnit courseUnitId="${CourseUnitView.id}">
<%
request.setAttribute("colspanAssignement",8);
%>
<th><bean:message key="courseunit.assignement.deliver"/></th>
<th><bean:message key="courseunit.assignement.deliver.time"/></th>
<th><bean:message key="courseunit.assignement.deliver.grade"/></th>
<th><bean:message key="courseunit.assignement.deliver.obs"/></th>
</baco:isStudentOfCourseUnit>
</tr>
</thead>
<tbody>
<logic:iterate id="work" name="CourseUnitView" property="courseUnitAssignements" type="pt.estgp.estgweb.domain.views.CourseUnitAssignementView">
<%
String disabledClass = "";
if(!work.isStatus())
{
disabledClass = "workDisabled";
}
%>
<tr>
<td class="<%=disabledClass%>" align="right">
<a >${work.formatedSaveDate}</a>
</td>
<td class="<%=disabledClass%>">
<a href="javascript:showOrHideOne('assignement${work.id}')">${work.title}</a>
<div style="padding:5px;border:1px solid gray" class="workdesc" id="assignement${work.id}" style="<%=Globals.HIDDEN%>">
${work.formatedDescription}
</div>
</td>
<td class="<%=disabledClass%>">
<logic:notEmpty name="work" property="workFile">
<a target="_blank" href="<%=request.getContextPath()%>/repositoryStream/${work.workFile}">${work.repositoryFile.lastVersion.name} (${work.repositoryFile.lastVersion.sizeKb} Kb)</a>
</logic:notEmpty>
</td>
<%
String deliverDateStyleClass;
if(work.isActive())
deliverDateStyleClass = "active";
else
deliverDateStyleClass = "inactive";
%>
<td class="<%=deliverDateStyleClass%> number <%=disabledClass%>">
${work.deliverDate}
</td>
<td class="<%=disabledClass%>">
<logic:equal value="true" name="work" property="lateDelivers">
<bean:message key="yes"/>
</logic:equal>
<logic:notEqual value="true" name="work" property="lateDelivers">
<bean:message key="no"/>
</logic:notEqual>
</td>
<td class="<%=disabledClass%>">
<bean:message key="courseunit.assignement.deliver.type.${work.deliverType}"/>
</td>
<baco:canManage name="CourseUnitView">
<td class="<%=disabledClass%>">
<logic:equal value="true" name="work" property="status">
<bean:message key="status.active"/>
</logic:equal>
<logic:notEqual value="true" name="work" property="status">
<bean:message key="status.inactive"/>
</logic:notEqual>
</td>
<td class="number <%=disabledClass%>">
<logic:greaterThan value="0" name="work" property="delivers">
<html:link action="/user/startLoadCourseUnitAssignementFromHome?courseUnitAssignementView.id=${work.id}">${work.delivers}</html:link>
</logic:greaterThan>
<logic:equal value="0" name="work" property="delivers">
${work.delivers}
</logic:equal>
</td>
<td>
<html:link styleClass="btn btn-default btn-sm" action="/user/startEditCourseUnitWorksFromHome?courseUnitAssignementView.id=${work.id}&courseUnitView.id=${CourseUnitView.id}">
<span class="glyphicon glyphicon-pencil"></span>
</html:link>
</td>
<td>
<logic:equal value="true" name="work" property="status">
<a class="btn btn-success btn-sm" href="<%=request.getContextPath()%>/user/startValidateInvalidateCourseUnitWorksFromHome.do?courseUnitAssignementView.id=${work.id}">
<span class="glyphicon glyphicon-ok-circle"></span>
</a>
</logic:equal>
<logic:notEqual value="true" name="work" property="status">
<a class="btn btn-warning btn-sm" href="<%=request.getContextPath()%>/user/startValidateInvalidateCourseUnitWorksFromHome.do?courseUnitAssignementView.id=${work.id}">
<span class="glyphicon glyphicon-ban-circle"></span>
</a>
</logic:notEqual>
</td>
<%
String confirmDelete = MessageResources.getMessage(request, "courseunitwork.confirm.delete");
request.setAttribute("confirmDelete", confirmDelete);
%>
<td>
<logic:equal value="0" name="work" property="delivers">
<html:link styleClass="btn btn-danger btn-sm" onclick="return confirm('${confirmDelete}')" action="/user/startDeleteCourseUnitWorksFromHome?courseUnitAssignementView.id=${work.id}">
<span class="glyphicon glyphicon-remove"></span>
</html:link>
</logic:equal>
<logic:notEqual value="0" name="work" property="delivers">
<%--<bean:message key="delete"/>--%>
</logic:notEqual>
</td>
</baco:canManage>
<baco:isStudentOfCourseUnit courseUnitId="${CourseUnitView.id}">
<td nowrap="nowrap">
<%
if(work.canDeliver(request))
{
%>
<html:form action="/user/courseUnitControllerFromHome" enctype="multipart/form-data">
<input type="hidden" name="dispatch" value="deliverWork">
<html:hidden property="courseUnitAssignementView.id" value="${work.id}"/>
<html:hidden property="courseUnitView.id" value="${CourseUnitView.id}"/>
<html:file property="uploadFile"/>
<logic:notEmpty name="work" property="courseUnitDeliverableView">
<input type="submit" value="<bean:message key="replace"/>"/>
</logic:notEmpty>
<logic:empty name="work" property="courseUnitDeliverableView">
<input type="submit" value="<bean:message key="courseunit.assignement.deliver"/>"/>
</logic:empty>
</html:form>
<%
}
%>
</td>
<logic:empty name="work" property="courseUnitDeliverableView">
<td class="statusWARNING">
<bean:message key="courseunit.assignement.deliver.time.no"/>
</td>
</logic:empty>
<logic:notEmpty name="work" property="courseUnitDeliverableView">
<logic:equal name="work" property="lateDeliver" value="true">
<td class="statusERROR">
<bean:message key="courseunit.assignement.deliver.time.late"/>
</td>
</logic:equal>
<logic:notEqual name="work" property="lateDeliver" value="true">
<td class="statusOK">
<bean:message key="courseunit.assignement.deliver.time.ok"/>
</td>
</logic:notEqual>
</logic:notEmpty>
<td>
${work.courseUnitDeliverableView.grade}
</td>
<td>
${work.courseUnitDeliverableView.obs}
</td>
</baco:isStudentOfCourseUnit>
<logic:notEmpty name="work" property="courseUnitDeliverableView">
<td>
<a target="_blank" href="<%=request.getContextPath()%>/repositoryStream/${work.courseUnitDeliverableView.fileStreamId}"><bean:message key="courseunit.assignement.deliver.version"/> (${work.courseUnitDeliverableView.deliverDateStr})</a>
</td>
</logic:notEmpty>
</tr>
</logic:iterate>
</tbody>
</table>
</logic:notEmpty>
<logic:empty name="CourseUnitView" property="courseUnitAssignements">
<bean:message key="courseunit.works.zero"/>
</logic:empty>
</div>
</div>