Commit 2a8f1490 authored by Florian Fittkau's avatar Florian Fittkau

moving now possible again

parent 59663f29
......@@ -70,7 +70,7 @@ class BootStrap {
sprintOne.due_date = new Date()
def userStory = new UserStory("V-2", "Volltextsuche im GIS")
userStory.description = "Volltextsuche im GIS ermglichen"
userStory.description = "Volltextsuche im GIS ermöglichen"
userStory.author = ffi
userStory.points = 2
userStory.status = UserStoryStatus.OPEN
......
......@@ -17,8 +17,12 @@ class BacklogController {
def sprints = projects[0].sprints
def sprintUserStories = sprints.iterator().next().userstories
backlogUserStories = backlogUserStories.sort()
sprintUserStories = sprintUserStories.sort()
sprints.each {
backlogUserStories.removeAll(it.userstories)
}
backlogUserStories.sort()
sprintUserStories.sort()
render(view: "index", model: [projects: projects,
sprints: sprints,
......
......@@ -41,14 +41,12 @@ class UserStoryController {
def sprint = projects[0].sprints.iterator().next()
if (to == "sprintbacklog") {
backlog.removeFromUserstories(userStory)
sprint.addToUserstories(userStory)
userStory.status = UserStoryStatus.OPEN
userStory.assignedToSprint = sprint
}
if (to == "backlog") {
sprint.removeFromUserstories(userStory)
backlog.addToUserstories(userStory)
userStory.status = UserStoryStatus.IN_BACKLOG
userStory.assignedToSprint = null
}
......
......@@ -2,6 +2,7 @@ package scrumboard
class ProductBacklog {
List userstories
static hasMany = [ userstories: UserStory ]
static belongsTo = [project: Project]
......
......@@ -4,6 +4,7 @@ class Sprint {
String name
Date due_date
List userstories
static hasMany = [ userstories: UserStory ]
static belongsTo = Project
......
......@@ -29,9 +29,9 @@ class UserStory implements Comparable {
}
UserStory(User user, ProductBacklog productBacklog) {
this.shortId = "Type in your short identifier"
this.title = "Type in your title"
this.description = "Type in your description"
this.shortId = ""
this.title = ""
this.description = ""
this.status = UserStoryStatus.IN_BACKLOG
this.color = Color.DEFAULT
this.author = user
......
......@@ -52,15 +52,15 @@
<div id="columnsprintbacklogfour" class="column">
<g:noteUserStory userStories="${sprintUserStories}" columnindex="3" columnlength="4" productBacklog="true" />
</div>
<div id="dialog-addSprint" title="Create new sprint">
<form>
<fieldset>
<label for="name">Name</label>
<input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
</div>
</div>
<div id="dialog-addSprint" title="Create new sprint">
<form id="addSprintForm">
<fieldset>
<label for="name">Name</label>
<input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
</div>
<div id="dialog-showUserStory" title="Show User Story">
......@@ -91,8 +91,13 @@ $(function() {
var bValid = true;
allFields.removeClass( "ui-state-error" );
if ( bValid ) {
var param = $("#addSprintForm").serialize()
$.ajax({
url: "/scrumboard/sprint/create?" + param
}).done(function ( data ) {
$( this ).dialog( "close" );
});
$( this ).dialog( "close" );
}
},
Cancel: function() {
......
......@@ -24,10 +24,10 @@
<r:layoutResources />
</head>
<body>
<h1 class="center"><img alt="Scrumboard"
<div><h1><img alt="Scrumboard"
src="${resource(dir: 'images', file: 'logo.png')}"
style='text-align: left;' width='200px' /> for <g:select name="projects"
from="${projects}"/></h1>
from="${projects}"/></h1></div>
<hr style="color: #315fa0;">
<g:layoutBody/>
......
#backloglabel {
position:absolute;
left:19%;
top:10%;
top:100px;
z-index:0;
}
#sprintbacklogOnSprintlabel {
position:absolute;
left:8%;
top:10%;
top:100px;
z-index:0;
}
......@@ -16,7 +16,7 @@
position:absolute;
color: #315fa0;
left:47%;
top:10%;
top:100px;
z-index:0;
}
......@@ -24,14 +24,14 @@
position:absolute;
color: #315fa0;
left:25%;
top:10%;
top:100px;
z-index:0;
}
#opensprintlabel {
position:absolute;
left:37%;
top:10%;
top:100px;
z-index:0;
}
......@@ -39,14 +39,14 @@
position:absolute;
color: #315fa0;
left:50%;
top:10%;
top:100px;
z-index:0;
}
#inprogresssprintlabel {
position:absolute;
left:62%;
top:10%;
top:100px;
z-index:0;
}
......@@ -54,58 +54,58 @@
position:absolute;
color: #315fa0;
left:75%;
top:10%;
top:100px;
z-index:0;
}
#donesprintlabel {
position:absolute;
left:87%;
top:10%;
top:100px;
z-index:0;
}
#sprintbackloglabel {
position:absolute;
left:68%;
top:10%;
top:100px;
z-index:0;
}
#columnbacklogone {
position:absolute;
left:5px;
top:15%;
top:150px;
}
#columnbacklogtwo {
position:absolute;
left:210px;
top:15%;
top:150px;
}
#columnbacklogthree {
position:absolute;
left:420px;
top:15%;
top:150px;
}
#columnbacklogfour {
position:absolute;
left:630px;
top:15%;
top:150px;
}
#columnopensprintone {
position:absolute;
left:500px;
top:15%;
top:150px;
}
#columnopensprinttwo {
position:absolute;
left:710px;
top:15%;
top:150px;
}
.column {
......@@ -123,61 +123,61 @@
#columnsprintbacklogOnSprintone {
position:absolute;
left:5px;
top:15%;
top:150px;
}
#columnsprintbacklogOnSprinttwo {
position:absolute;
left:210px;
top:15%;
top:150px;
}
#columnsprintbacklogone {
position:absolute;
left:955px;
top:15%;
top:150px;
}
#columnsprintbacklogtwo {
position:absolute;
left:1160px;
top:15%;
top:150px;
}
#columninprogresssprintone {
position:absolute;
left:975px;
top:15%;
top:150px;
}
#columninprogresssprinttwo {
position:absolute;
left:1180px;
top:15%;
top:150px;
}
#columnsprintbacklogthree {
position:absolute;
left:1370px;
top:15%;
top:150px;
}
#columnsprintbacklogfour {
position:absolute;
left:1580px;
top:15%;
top:150px;
}
#columndonesprintone {
position:absolute;
left:1470px;
top:15%;
top:150px;
}
#columndonesprinttwo {
position:absolute;
left:1680px;
top:15%;
top:150px;
}
.ui-widget-header {
......
......@@ -12,7 +12,7 @@ h1, h2, h3, h4, h5, h6 {
html {
background-image:url('/scrumboard/images/whiteboard.png');
background-repeat:no-repeat;
background-repeat:repeat-y;
background-size:100% 100%;
//filter: progid:DXImageTransform.Microsoft.gradient(startColorStr = '#aaaaaa', EndColorStr = '#dddddd');
height: 100%;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment