Angabe ob ein Projekt abgeschlossen ist, in XML Output eingefügt (Ticket #1456)
git-svn-id: https://svn.libreccm.org/ccm/trunk@1968 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
7367e90b05
commit
042c95fb14
|
|
@ -6,7 +6,6 @@ import com.arsdigita.web.URL;
|
||||||
import com.arsdigita.web.Web;
|
import com.arsdigita.web.Web;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
|
@ -36,8 +35,7 @@ public class Paginator {
|
||||||
final int pageSize) {
|
final int pageSize) {
|
||||||
final String pageNumberStr = request.getParameter(PAGE_NUMBER);
|
final String pageNumberStr = request.getParameter(PAGE_NUMBER);
|
||||||
if (pageNumberStr == null) {
|
if (pageNumberStr == null) {
|
||||||
logger.debug("No pageNumber parameter in request setting page number"
|
logger.debug("No pageNumber parameter in request setting page number to 1.");
|
||||||
+ " to 1.");
|
|
||||||
pageNumber = 1;
|
pageNumber = 1;
|
||||||
} else {
|
} else {
|
||||||
pageNumber = Integer.parseInt(pageNumberStr);
|
pageNumber = Integer.parseInt(pageNumberStr);
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@ import com.arsdigita.cms.contenttypes.GenericPerson;
|
||||||
import com.arsdigita.cms.contenttypes.SciProject;
|
import com.arsdigita.cms.contenttypes.SciProject;
|
||||||
import com.arsdigita.cms.contenttypes.SciProjectConfig;
|
import com.arsdigita.cms.contenttypes.SciProjectConfig;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
@ -24,7 +27,6 @@ public class SciProjectExtraXmlGenerator
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
super.generateXML(item, element, state);
|
super.generateXML(item, element, state);
|
||||||
|
|
||||||
if (listMode) {
|
|
||||||
if (!(item instanceof SciProject)) {
|
if (!(item instanceof SciProject)) {
|
||||||
throw new IllegalArgumentException(
|
throw new IllegalArgumentException(
|
||||||
"This ExtraXMLGenerator supports items of type "
|
"This ExtraXMLGenerator supports items of type "
|
||||||
|
|
@ -32,6 +34,11 @@ public class SciProjectExtraXmlGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
final SciProject project = (SciProject) item;
|
final SciProject project = (SciProject) item;
|
||||||
|
final Element finished = element.newChildElement("finished");
|
||||||
|
finished.setText(getFinishedValue(project));
|
||||||
|
|
||||||
|
if (listMode) {
|
||||||
|
|
||||||
final GenericOrganizationalUnitPersonCollection members = project.getPersons();
|
final GenericOrganizationalUnitPersonCollection members = project.getPersons();
|
||||||
|
|
||||||
final Element membersElem = element.newChildElement("members");
|
final Element membersElem = element.newChildElement("members");
|
||||||
|
|
@ -43,6 +50,62 @@ public class SciProjectExtraXmlGenerator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getFinishedValue(final SciProject project) {
|
||||||
|
final Date endDate = project.getEnd();
|
||||||
|
if (endDate == null) {
|
||||||
|
return "false";
|
||||||
|
}
|
||||||
|
|
||||||
|
final Calendar endCal = new GregorianCalendar();
|
||||||
|
endCal.setTime(endDate);
|
||||||
|
final int endYear = endCal.get(Calendar.YEAR);
|
||||||
|
final int endMonth = endCal.get(Calendar.MONTH);
|
||||||
|
final int endDay = endCal.get(Calendar.DAY_OF_MONTH);
|
||||||
|
|
||||||
|
final Calendar nowCal = new GregorianCalendar();
|
||||||
|
final int nowYear = nowCal.get(Calendar.YEAR);
|
||||||
|
final int nowMonth = nowCal.get(Calendar.MONTH);
|
||||||
|
final int nowDay = nowCal.get(Calendar.DAY_OF_MONTH);
|
||||||
|
|
||||||
|
if (nowYear > endYear) {
|
||||||
|
return "true";
|
||||||
|
} else if (nowMonth > endMonth) {
|
||||||
|
return "true";
|
||||||
|
} else if (nowDay > endDay) {
|
||||||
|
return "true";
|
||||||
|
} else {
|
||||||
|
return "false";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createFinishedElem(final SciProject project, final Element parent) {
|
||||||
|
final Element finished = parent.newChildElement("finished");
|
||||||
|
final Date endDate = project.getEnd();
|
||||||
|
|
||||||
|
if (endDate == null) {
|
||||||
|
finished.setText("false");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final Calendar endCal = new GregorianCalendar();
|
||||||
|
endCal.setTime(endDate);
|
||||||
|
final Date end = new GregorianCalendar(endCal.get(Calendar.YEAR),
|
||||||
|
endCal.get(Calendar.MONTH),
|
||||||
|
endCal.get(Calendar.DAY_OF_MONTH)).getTime();
|
||||||
|
final Date todayDate = Calendar.getInstance().getTime();
|
||||||
|
|
||||||
|
if (todayDate.before(end)) {
|
||||||
|
finished.setText("false");
|
||||||
|
} else {
|
||||||
|
finished.setText("true");
|
||||||
|
}
|
||||||
|
/*if (end.after(todayDate)) {
|
||||||
|
finished.setText("true");
|
||||||
|
} else {
|
||||||
|
finished.setText("false");
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTabConfig() {
|
public String getTabConfig() {
|
||||||
final SciProjectConfig config = SciProject.getConfig();
|
final SciProjectConfig config = SciProject.getConfig();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue