Verschiedene BugFixes
git-svn-id: https://svn.libreccm.org/ccm/trunk@1320 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
16bb369677
commit
1ec33ceaaf
|
|
@ -132,7 +132,7 @@ public class PersonalProjects implements ContentGenerator {
|
||||||
private void processProjects(final List<SciProject> projects,
|
private void processProjects(final List<SciProject> projects,
|
||||||
final List<SciProject> currentProjects,
|
final List<SciProject> currentProjects,
|
||||||
final List<SciProject> finishedProjects) {
|
final List<SciProject> finishedProjects) {
|
||||||
final Calendar today = new GregorianCalendar();
|
final Calendar today = new GregorianCalendar();
|
||||||
final Date todayDate = today.getTime();
|
final Date todayDate = today.getTime();
|
||||||
for (SciProject project : projects) {
|
for (SciProject project : projects) {
|
||||||
if ((project.getEnd() != null)
|
if ((project.getEnd() != null)
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,9 @@ import com.arsdigita.domain.DataObjectNotFoundException;
|
||||||
import com.arsdigita.persistence.DataObject;
|
import com.arsdigita.persistence.DataObject;
|
||||||
import com.arsdigita.persistence.OID;
|
import com.arsdigita.persistence.OID;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -89,7 +91,7 @@ public class SciProject extends GenericOrganizationalUnit {
|
||||||
public void setBegin(Date begin) {
|
public void setBegin(Date begin) {
|
||||||
set(BEGIN, begin);
|
set(BEGIN, begin);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getBeginSkipMonth() {
|
public Boolean getBeginSkipMonth() {
|
||||||
final Object value = get(BEGIN_SKIP_MONTH);
|
final Object value = get(BEGIN_SKIP_MONTH);
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
|
|
@ -98,11 +100,11 @@ public class SciProject extends GenericOrganizationalUnit {
|
||||||
return (Boolean) value;
|
return (Boolean) value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBeginSkipMonth(final Boolean skipMonth) {
|
public void setBeginSkipMonth(final Boolean skipMonth) {
|
||||||
set(BEGIN_SKIP_MONTH, skipMonth);
|
set(BEGIN_SKIP_MONTH, skipMonth);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getBeginSkipDay() {
|
public Boolean getBeginSkipDay() {
|
||||||
final Object value = get(BEGIN_SKIP_DAY);
|
final Object value = get(BEGIN_SKIP_DAY);
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
|
|
@ -111,19 +113,33 @@ public class SciProject extends GenericOrganizationalUnit {
|
||||||
return (Boolean) value;
|
return (Boolean) value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBeginSkipDay(final Boolean skipDay) {
|
public void setBeginSkipDay(final Boolean skipDay) {
|
||||||
set(BEGIN_SKIP_DAY, skipDay);
|
set(BEGIN_SKIP_DAY, skipDay);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getEnd() {
|
public Date getEnd() {
|
||||||
return (Date) get(END);
|
if (get(END) != null) {
|
||||||
|
final Date endDate = (Date) get(END);
|
||||||
|
final Calendar end = new GregorianCalendar();
|
||||||
|
end.setTime(endDate);
|
||||||
|
if (getEndSkipDay() && (end.get(Calendar.DAY_OF_MONTH) == 1)) {
|
||||||
|
end.add(Calendar.MONTH, 1);
|
||||||
|
end.add(Calendar.DAY_OF_MONTH, -1);
|
||||||
|
|
||||||
|
return end.getTime();
|
||||||
|
} else {
|
||||||
|
return (Date) get(END);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return (Date) get(END);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEnd(Date end) {
|
public void setEnd(Date end) {
|
||||||
set(END, end);
|
set(END, end);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getEndSkipMonth() {
|
public Boolean getEndSkipMonth() {
|
||||||
final Object value = get(END_SKIP_MONTH);
|
final Object value = get(END_SKIP_MONTH);
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
|
|
@ -132,11 +148,11 @@ public class SciProject extends GenericOrganizationalUnit {
|
||||||
return (Boolean) value;
|
return (Boolean) value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEndSkipMonth(final Boolean skipMonth) {
|
public void setEndSkipMonth(final Boolean skipMonth) {
|
||||||
set(END_SKIP_MONTH, skipMonth);
|
set(END_SKIP_MONTH, skipMonth);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getEndSkipDay() {
|
public Boolean getEndSkipDay() {
|
||||||
final Object value = get(END_SKIP_DAY);
|
final Object value = get(END_SKIP_DAY);
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
|
|
@ -145,7 +161,7 @@ public class SciProject extends GenericOrganizationalUnit {
|
||||||
return (Boolean) value;
|
return (Boolean) value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEndSkipDay(final Boolean skipDay) {
|
public void setEndSkipDay(final Boolean skipDay) {
|
||||||
set(END_SKIP_DAY, skipDay);
|
set(END_SKIP_DAY, skipDay);
|
||||||
}
|
}
|
||||||
|
|
@ -182,26 +198,25 @@ public class SciProject extends GenericOrganizationalUnit {
|
||||||
set(FUNDING_VOLUME, fundingVolume);
|
set(FUNDING_VOLUME, fundingVolume);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*Method is not use commented out.
|
/*Method is not use commented out.
|
||||||
* @Override
|
* @Override
|
||||||
public boolean hasContacts() {
|
public boolean hasContacts() {
|
||||||
boolean result = false;
|
boolean result = false;
|
||||||
|
|
||||||
final DataQuery query =
|
final DataQuery query =
|
||||||
SessionManager.getSession().retrieveQuery(
|
SessionManager.getSession().retrieveQuery(
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfContactsOfSciProject");
|
"com.arsdigita.cms.contenttypes.getIdsOfContactsOfSciProject");
|
||||||
query.setParameter("project", getID());
|
query.setParameter("project", getID());
|
||||||
|
|
||||||
if (query.size() > 0) {
|
if (query.size() > 0) {
|
||||||
result = true;
|
result = true;
|
||||||
} else {
|
} else {
|
||||||
result = false;
|
result = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
query.close();
|
query.close();
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -212,140 +227,139 @@ public class SciProject extends GenericOrganizationalUnit {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
/*public boolean hasMembers(final boolean merge,
|
/*public boolean hasMembers(final boolean merge,
|
||||||
final SciProjectMemberStatus status) {
|
final SciProjectMemberStatus status) {
|
||||||
String queryName;
|
String queryName;
|
||||||
|
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case ALL:
|
case ALL:
|
||||||
queryName =
|
queryName =
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfMembersOfSciProject";
|
"com.arsdigita.cms.contenttypes.getIdsOfMembersOfSciProject";
|
||||||
break;
|
break;
|
||||||
case ACTIVE:
|
case ACTIVE:
|
||||||
queryName =
|
queryName =
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfActiveMembersOfSciProject";
|
"com.arsdigita.cms.contenttypes.getIdsOfActiveMembersOfSciProject";
|
||||||
break;
|
break;
|
||||||
case ASSOCIATED:
|
case ASSOCIATED:
|
||||||
queryName =
|
queryName =
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfAssociatedMembersOfSciProject";
|
"com.arsdigita.cms.contenttypes.getIdsOfAssociatedMembersOfSciProject";
|
||||||
break;
|
break;
|
||||||
case FORMER:
|
case FORMER:
|
||||||
queryName =
|
queryName =
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfFormerMembersOfSciProject";
|
"com.arsdigita.cms.contenttypes.getIdsOfFormerMembersOfSciProject";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
queryName = "";
|
queryName = "";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
final DataQuery query = SessionManager.getSession().retrieveQuery(
|
final DataQuery query = SessionManager.getSession().retrieveQuery(
|
||||||
queryName);
|
queryName);
|
||||||
query.setParameter("project", getID());
|
query.setParameter("project", getID());
|
||||||
|
|
||||||
if (query.size() > 0) {
|
if (query.size() > 0) {
|
||||||
query.close();
|
query.close();
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
if (merge) {
|
if (merge) {
|
||||||
query.close();
|
query.close();
|
||||||
DataQuery projectsQuery =
|
DataQuery projectsQuery =
|
||||||
SessionManager.getSession().retrieveQuery(
|
SessionManager.getSession().retrieveQuery(
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfSubProjectsOfSciProject");
|
"com.arsdigita.cms.contenttypes.getIdsOfSubProjectsOfSciProject");
|
||||||
projectsQuery.setParameter("project", getID());
|
projectsQuery.setParameter("project", getID());
|
||||||
|
|
||||||
if (query.size() > 0) {
|
if (query.size() > 0) {
|
||||||
BigDecimal projectId;
|
BigDecimal projectId;
|
||||||
boolean result = false;
|
boolean result = false;
|
||||||
while (projectsQuery.next()) {
|
while (projectsQuery.next()) {
|
||||||
projectId = (BigDecimal) projectsQuery.get(
|
projectId = (BigDecimal) projectsQuery.get(
|
||||||
"projectId");
|
"projectId");
|
||||||
result = hasMembers(projectId, merge, status);
|
result = hasMembers(projectId, merge, status);
|
||||||
|
|
||||||
if (result) {
|
if (result) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
projectsQuery.close();
|
projectsQuery.close();
|
||||||
return result;
|
return result;
|
||||||
} else {
|
} else {
|
||||||
projectsQuery.close();
|
projectsQuery.close();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
query.close();
|
query.close();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
/*private boolean hasMembers(final BigDecimal projectId,
|
/*private boolean hasMembers(final BigDecimal projectId,
|
||||||
final boolean merge,
|
final boolean merge,
|
||||||
final SciProjectMemberStatus status) {
|
final SciProjectMemberStatus status) {
|
||||||
String queryName;
|
String queryName;
|
||||||
|
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case ALL:
|
case ALL:
|
||||||
queryName =
|
queryName =
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfMembersOfSciProject";
|
"com.arsdigita.cms.contenttypes.getIdsOfMembersOfSciProject";
|
||||||
break;
|
break;
|
||||||
case ACTIVE:
|
case ACTIVE:
|
||||||
queryName =
|
queryName =
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfActiveMembersOfSciProject";
|
"com.arsdigita.cms.contenttypes.getIdsOfActiveMembersOfSciProject";
|
||||||
break;
|
break;
|
||||||
case ASSOCIATED:
|
case ASSOCIATED:
|
||||||
queryName =
|
queryName =
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfAssociatedMembersOfProject";
|
"com.arsdigita.cms.contenttypes.getIdsOfAssociatedMembersOfProject";
|
||||||
break;
|
break;
|
||||||
case FORMER:
|
case FORMER:
|
||||||
queryName =
|
queryName =
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfFormerMembersOfSciProject";
|
"com.arsdigita.cms.contenttypes.getIdsOfFormerMembersOfSciProject";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
queryName = "";
|
queryName = "";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
final DataQuery query = SessionManager.getSession().retrieveQuery(
|
final DataQuery query = SessionManager.getSession().retrieveQuery(
|
||||||
queryName);
|
queryName);
|
||||||
query.setParameter("project", projectId);
|
query.setParameter("project", projectId);
|
||||||
|
|
||||||
if (query.size() > 0) {
|
if (query.size() > 0) {
|
||||||
query.close();
|
query.close();
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
if (merge) {
|
if (merge) {
|
||||||
query.close();
|
query.close();
|
||||||
DataQuery subProjectsQuery =
|
DataQuery subProjectsQuery =
|
||||||
SessionManager.getSession().retrieveQuery(
|
SessionManager.getSession().retrieveQuery(
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfSubProjectsOfSciProject");
|
"com.arsdigita.cms.contenttypes.getIdsOfSubProjectsOfSciProject");
|
||||||
subProjectsQuery.setParameter("project", projectId);
|
subProjectsQuery.setParameter("project", projectId);
|
||||||
|
|
||||||
if (query.size() > 0) {
|
if (query.size() > 0) {
|
||||||
BigDecimal subprojectId;
|
BigDecimal subprojectId;
|
||||||
boolean result = false;
|
boolean result = false;
|
||||||
while (subProjectsQuery.next()) {
|
while (subProjectsQuery.next()) {
|
||||||
subprojectId = (BigDecimal) subProjectsQuery.get(
|
subprojectId = (BigDecimal) subProjectsQuery.get(
|
||||||
"projectId");
|
"projectId");
|
||||||
result = hasMembers(subprojectId, merge, status);
|
result = hasMembers(subprojectId, merge, status);
|
||||||
|
|
||||||
if (result) {
|
if (result) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
subProjectsQuery.close();
|
subProjectsQuery.close();
|
||||||
return result;
|
return result;
|
||||||
} else {
|
} else {
|
||||||
subProjectsQuery.close();
|
subProjectsQuery.close();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
query.close();
|
query.close();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ExtraXMLGenerator> getExtraXMLGenerators() {
|
public List<ExtraXMLGenerator> getExtraXMLGenerators() {
|
||||||
final List<ExtraXMLGenerator> generators = super.getExtraXMLGenerators();
|
final List<ExtraXMLGenerator> generators = super.getExtraXMLGenerators();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue