Skip to content
Snippets Groups Projects
Commit 5f79e037 authored by Julian Dehne's avatar Julian Dehne
Browse files

Merge remote-tracking branch 'origin/single-user-project' into single-user-project

parents 661d91b8 5bf2ac3c
No related branches found
No related tags found
No related merge requests found
...@@ -8,6 +8,8 @@ import unipotsdam.gf.modules.project.Project; ...@@ -8,6 +8,8 @@ import unipotsdam.gf.modules.project.Project;
import unipotsdam.gf.modules.project.ProjectDAO; import unipotsdam.gf.modules.project.ProjectDAO;
import unipotsdam.gf.process.phases.Phase; import unipotsdam.gf.process.phases.Phase;
import unipotsdam.gf.process.phases.PhasesImpl; import unipotsdam.gf.process.phases.PhasesImpl;
import unipotsdam.gf.process.tasks.Progress;
import unipotsdam.gf.process.tasks.Task;
import unipotsdam.gf.process.tasks.TaskDAO; import unipotsdam.gf.process.tasks.TaskDAO;
import unipotsdam.gf.process.tasks.TaskName; import unipotsdam.gf.process.tasks.TaskName;
...@@ -58,6 +60,8 @@ public class GroupFormationProcess { ...@@ -58,6 +60,8 @@ public class GroupFormationProcess {
public void finalizeGroups( Project project, Group ... groups) { public void finalizeGroups( Project project, Group ... groups) {
groupfinding.persistGroups(Arrays.asList(groups), project); groupfinding.persistGroups(Arrays.asList(groups), project);
taskDAO.persistTeacherTask(project, TaskName.CLOSE_GROUP_FINDING_PHASE, Phase.GroupFormation); taskDAO.persistTeacherTask(project, TaskName.CLOSE_GROUP_FINDING_PHASE, Phase.GroupFormation);
Task task = new Task(TaskName.CLOSE_GROUP_FINDING_PHASE, project.getAuthorEmail(), project.getName(), Progress.FINISHED);
taskDAO.updateForUser(task);
taskDAO.persistMemberTask(project, TaskName.CONTACT_GROUP_MEMBERS, Phase.GroupFormation); taskDAO.persistMemberTask(project, TaskName.CONTACT_GROUP_MEMBERS, Phase.GroupFormation);
} }
......
...@@ -80,6 +80,7 @@ public class PhasesImpl implements IPhases { ...@@ -80,6 +80,7 @@ public class PhasesImpl implements IPhases {
switch (currentPhase) { switch (currentPhase) {
case CourseCreation: case CourseCreation:
// saving the state // saving the state
saveState(project, changeToPhase); saveState(project, changeToPhase);
break; break;
case GroupFormation: case GroupFormation:
......
...@@ -45,8 +45,12 @@ public class TaskDAO { ...@@ -45,8 +45,12 @@ public class TaskDAO {
task.setProjectName(vereinfachtesResultSet.getString("projectName")); task.setProjectName(vereinfachtesResultSet.getString("projectName"));
task.setGroupTask(vereinfachtesResultSet.getBoolean("groupTask")); task.setGroupTask(vereinfachtesResultSet.getBoolean("groupTask"));
task.setProgress(Progress.valueOf(vereinfachtesResultSet.getString("progress"))); task.setProgress(Progress.valueOf(vereinfachtesResultSet.getString("progress")));
task.setEventCreated(vereinfachtesResultSet.getLong("created")); try{
task.setDeadline(vereinfachtesResultSet.getLong("due")); task.setEventCreated(vereinfachtesResultSet.getTimestamp("created").getTime());
}catch(Exception e){ }
try{
task.setDeadline(vereinfachtesResultSet.getTimestamp("due").getTime());
}catch(Exception e){ }
task.setPhase(Phase.valueOf(vereinfachtesResultSet.getString("phase"))); task.setPhase(Phase.valueOf(vereinfachtesResultSet.getString("phase")));
task.setTaskName(TaskName.valueOf(vereinfachtesResultSet.getString("taskName"))); task.setTaskName(TaskName.valueOf(vereinfachtesResultSet.getString("taskName")));
task.setHasRenderModel(false); task.setHasRenderModel(false);
......
...@@ -353,6 +353,17 @@ body { ...@@ -353,6 +353,17 @@ body {
border-left-color:#F3A184; border-left-color:#F3A184;
} }
.card-finished{
max-width:400px;
text-align: center;
position:relative;
background:#fff;
padding:1em;
box-sizing:border-box;
margin-bottom:1em;
}
.inactive { .inactive {
color:#dedede; color:#dedede;
} }
......
...@@ -36,9 +36,24 @@ function fitObjectInTmpl(object){ ...@@ -36,9 +36,24 @@ function fitObjectInTmpl(object){
solveTaskWith: "", solveTaskWith: "",
helpLink: "", helpLink: "",
timeFrame: "", timeFrame: "",
taskData: object.taskData taskData: object.taskData,
taskProgress: ""
}; };
if (object.progress==="FINISHED"){
if(object.taskName.includes("CLOSE")){
result.taskProgress="FINISHED";
result.infoText=object.phase;
let created = new Date(object.eventCreated);
let deadline=new Date(object.deadline);
result.timeFrame="<p>"+created.getDate()+"."+(created.getMonth()+1)+"."+created.getFullYear() +
" bis "+deadline.getDate()+"."+(deadline.getMonth()+1)+"."+deadline.getFullYear()+"</p>";
return result;
}
}
if (object.taskType!=="INFO"){ if (object.taskType!=="INFO"){
if (object.groupTask===true){ if (object.groupTask===true){
result.taskType="grouptask" result.taskType="grouptask"
...@@ -188,7 +203,8 @@ function closePhase(phase, projectName){ ...@@ -188,7 +203,8 @@ function closePhase(phase, projectName){
"Cache-Control": "no-cache" "Cache-Control": "no-cache"
}, },
type: 'GET', type: 'GET',
success: function (response) { success: function () {
location.reload();
}, },
error: function(a){ error: function(a){
} }
......
...@@ -21,7 +21,13 @@ ...@@ -21,7 +21,13 @@
</div> </div>
<script id="taskTemplate" type="text/x-jQuery-tmpl"> <script id="taskTemplate" type="text/x-jQuery-tmpl">
{{if taskProgress === "FINISHED"}}
<div class="card-finished"><h4 class="icon closed">${infoText}</h4>
{{html timeFrame}}
</div>
{{else}}
<div class="card ${phase}"> <div class="card ${phase}">
<div class="col span_s_of_2 icon ${taskType}"> <div class="col span_s_of_2 icon ${taskType}">
</div> </div>
<div class="col span_l_of_2" id="${taskName}"> <div class="col span_l_of_2" id="${taskName}">
...@@ -29,7 +35,7 @@ ...@@ -29,7 +35,7 @@
<h4>${infoText}</h4> <h4>${infoText}</h4>
{{/if}} {{/if}}
{{if solveTaskWith}} {{if solveTaskWith}}
<button class='primary' onClick="${solveTaskWithLink}">${solveTaskWith}</button> <button class='primary' onClick='${solveTaskWithLink}'>${solveTaskWith}</button>
{{/if}} {{/if}}
{{if helpLink}} {{if helpLink}}
<div style="width:100%"><a href='${helpLink}'>Hier</a> bekommst du Hilfe.</div> <div style="width:100%"><a href='${helpLink}'>Hier</a> bekommst du Hilfe.</div>
...@@ -41,7 +47,8 @@ ...@@ -41,7 +47,8 @@
<div style="clear:left"></div> <div style="clear:left"></div>
</div> </div>
</div> </div>
</script> {{/if}}
</script>
</div> </div>
<footer:footer/> <footer:footer/>
</body> </body>
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
</div> </div>
<script id="taskTemplate" type="text/x-jQuery-tmpl"> <script id="taskTemplate" type="text/x-jQuery-tmpl">
<div class="card ${phase}"> <div class="card ${phase}">
<div class="col span_s_of_2 icon ${taskType}"> <div class="col span_s_of_2 icon ${taskType}">
</div> </div>
<div class="col span_l_of_2" id="${taskName}"> <div class="col span_l_of_2" id="${taskName}">
......
...@@ -132,8 +132,8 @@ CREATE TABLE `tasks` ( ...@@ -132,8 +132,8 @@ CREATE TABLE `tasks` (
`importance` varchar(100) DEFAULT NULL, `importance` varchar(100) DEFAULT NULL,
`progress` varchar(100) DEFAULT NULL, `progress` varchar(100) DEFAULT NULL,
`phase` varchar(100) DEFAULT NULL, `phase` varchar(100) DEFAULT NULL,
`created` mediumtext, `created` timestamp ,
`due` mediumtext, `due` timestamp ,
`taskMode2` varchar(100) DEFAULT NULL, `taskMode2` varchar(100) DEFAULT NULL,
`taskMode3` varchar(100) DEFAULT NULL, `taskMode3` varchar(100) DEFAULT NULL,
`taskMode` varchar(100) DEFAULT NULL `taskMode` varchar(100) DEFAULT NULL
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment